@lidofinance/lido-app-ui 1.4.0 → 1.6.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 (978) hide show
  1. package/dist/cjs/accordion/Accordion.cjs +17 -12
  2. package/dist/cjs/accordion/Accordion.cjs.map +1 -1
  3. package/dist/cjs/badge/Badge.cjs +6 -3
  4. package/dist/cjs/badge/Badge.cjs.map +1 -1
  5. package/dist/cjs/banner/Banner.cjs +14 -8
  6. package/dist/cjs/banner/Banner.cjs.map +1 -1
  7. package/dist/cjs/button/Button.cjs +11 -6
  8. package/dist/cjs/button/Button.cjs.map +1 -1
  9. package/dist/cjs/card/Card.cjs +4 -2
  10. package/dist/cjs/card/Card.cjs.map +1 -1
  11. package/dist/cjs/checkbox/Checkbox.cjs +12 -8
  12. package/dist/cjs/checkbox/Checkbox.cjs.map +1 -1
  13. package/dist/cjs/counter/Counter.cjs +4 -2
  14. package/dist/cjs/counter/Counter.cjs.map +1 -1
  15. package/dist/cjs/data-list/DataList.cjs +7 -3
  16. package/dist/cjs/data-list/DataList.cjs.map +1 -1
  17. package/dist/cjs/data-list/DataListRow.cjs +27 -18
  18. package/dist/cjs/data-list/DataListRow.cjs.map +1 -1
  19. package/dist/cjs/hooks/useOutsideClick.cjs +2 -2
  20. package/dist/cjs/hooks/useOutsideClick.cjs.map +1 -1
  21. package/dist/cjs/icon-button/IconButton.cjs +7 -4
  22. package/dist/cjs/icon-button/IconButton.cjs.map +1 -1
  23. package/dist/cjs/icons/TokenIcon.cjs +2 -2
  24. package/dist/cjs/icons/components/base/IconAdd.cjs +4 -5
  25. package/dist/cjs/icons/components/base/IconAdd.cjs.map +1 -1
  26. package/dist/cjs/icons/components/base/IconAdjust.cjs +4 -5
  27. package/dist/cjs/icons/components/base/IconAdjust.cjs.map +1 -1
  28. package/dist/cjs/icons/components/base/IconArrowDown.cjs +4 -5
  29. package/dist/cjs/icons/components/base/IconArrowDown.cjs.map +1 -1
  30. package/dist/cjs/icons/components/base/IconArrowLeft.cjs +4 -5
  31. package/dist/cjs/icons/components/base/IconArrowLeft.cjs.map +1 -1
  32. package/dist/cjs/icons/components/base/IconArrowNarrowDownLeft.cjs +28 -0
  33. package/dist/cjs/icons/components/base/IconArrowNarrowDownLeft.cjs.map +1 -0
  34. package/dist/cjs/icons/components/base/IconArrowNarrowUpRight.cjs +4 -5
  35. package/dist/cjs/icons/components/base/IconArrowNarrowUpRight.cjs.map +1 -1
  36. package/dist/cjs/icons/components/base/IconArrowRight.cjs +3 -3
  37. package/dist/cjs/icons/components/base/IconArrowUp.cjs +4 -5
  38. package/dist/cjs/icons/components/base/IconArrowUp.cjs.map +1 -1
  39. package/dist/cjs/icons/components/base/IconBell.cjs +4 -5
  40. package/dist/cjs/icons/components/base/IconBell.cjs.map +1 -1
  41. package/dist/cjs/icons/components/base/IconBolt.cjs +4 -5
  42. package/dist/cjs/icons/components/base/IconBolt.cjs.map +1 -1
  43. package/dist/cjs/icons/components/base/IconBox.cjs +4 -5
  44. package/dist/cjs/icons/components/base/IconBox.cjs.map +1 -1
  45. package/dist/cjs/icons/components/base/IconCalendar.cjs +28 -0
  46. package/dist/cjs/icons/components/base/IconCalendar.cjs.map +1 -0
  47. package/dist/cjs/icons/components/base/IconCheck.cjs +3 -3
  48. package/dist/cjs/icons/components/base/IconChevronDown.cjs +3 -3
  49. package/dist/cjs/icons/components/base/IconChevronLeft.cjs +28 -0
  50. package/dist/cjs/icons/components/base/IconChevronLeft.cjs.map +1 -0
  51. package/dist/cjs/icons/components/base/IconChevronRight.cjs +4 -5
  52. package/dist/cjs/icons/components/base/IconChevronRight.cjs.map +1 -1
  53. package/dist/cjs/icons/components/base/IconChevronUp.cjs +3 -3
  54. package/dist/cjs/icons/components/base/IconChevronsUpDown.cjs +4 -5
  55. package/dist/cjs/icons/components/base/IconChevronsUpDown.cjs.map +1 -1
  56. package/dist/cjs/icons/components/base/IconCircleStar.cjs +5 -6
  57. package/dist/cjs/icons/components/base/IconCircleStar.cjs.map +1 -1
  58. package/dist/cjs/icons/components/base/IconCloudDownload.cjs +4 -5
  59. package/dist/cjs/icons/components/base/IconCloudDownload.cjs.map +1 -1
  60. package/dist/cjs/icons/components/base/IconCloudUpload.cjs +4 -5
  61. package/dist/cjs/icons/components/base/IconCloudUpload.cjs.map +1 -1
  62. package/dist/cjs/icons/components/base/IconComponent.cjs +4 -5
  63. package/dist/cjs/icons/components/base/IconComponent.cjs.map +1 -1
  64. package/dist/cjs/icons/components/base/IconConfirmed.cjs +4 -5
  65. package/dist/cjs/icons/components/base/IconConfirmed.cjs.map +1 -1
  66. package/dist/cjs/icons/components/base/IconCopy.cjs +5 -6
  67. package/dist/cjs/icons/components/base/IconCopy.cjs.map +1 -1
  68. package/dist/cjs/icons/components/base/IconCross.cjs +3 -3
  69. package/dist/cjs/icons/components/base/IconDashboard.cjs +4 -5
  70. package/dist/cjs/icons/components/base/IconDashboard.cjs.map +1 -1
  71. package/dist/cjs/icons/components/base/IconDay.cjs +4 -5
  72. package/dist/cjs/icons/components/base/IconDay.cjs.map +1 -1
  73. package/dist/cjs/icons/components/base/IconDownload.cjs +5 -6
  74. package/dist/cjs/icons/components/base/IconDownload.cjs.map +1 -1
  75. package/dist/cjs/icons/components/base/IconExclamation.cjs +4 -4
  76. package/dist/cjs/icons/components/base/IconFilter.cjs +4 -5
  77. package/dist/cjs/icons/components/base/IconFilter.cjs.map +1 -1
  78. package/dist/cjs/icons/components/base/IconFreeze.cjs +28 -0
  79. package/dist/cjs/icons/components/base/IconFreeze.cjs.map +1 -0
  80. package/dist/cjs/icons/components/base/IconGem.cjs +4 -5
  81. package/dist/cjs/icons/components/base/IconGem.cjs.map +1 -1
  82. package/dist/cjs/icons/components/base/IconHourglass.cjs +4 -5
  83. package/dist/cjs/icons/components/base/IconHourglass.cjs.map +1 -1
  84. package/dist/cjs/icons/components/base/IconInfo.cjs +5 -5
  85. package/dist/cjs/icons/components/base/IconKeyRound.cjs +4 -5
  86. package/dist/cjs/icons/components/base/IconKeyRound.cjs.map +1 -1
  87. package/dist/cjs/icons/components/base/IconLightning.cjs +4 -5
  88. package/dist/cjs/icons/components/base/IconLightning.cjs.map +1 -1
  89. package/dist/cjs/icons/components/base/IconLink.cjs +5 -6
  90. package/dist/cjs/icons/components/base/IconLink.cjs.map +1 -1
  91. package/dist/cjs/icons/components/base/IconListCheck.cjs +4 -5
  92. package/dist/cjs/icons/components/base/IconListCheck.cjs.map +1 -1
  93. package/dist/cjs/icons/components/base/IconLoaderCircle.cjs +4 -4
  94. package/dist/cjs/icons/components/base/IconLockKeyhole.cjs +4 -5
  95. package/dist/cjs/icons/components/base/IconLockKeyhole.cjs.map +1 -1
  96. package/dist/cjs/icons/components/base/IconLogout.cjs +28 -0
  97. package/dist/cjs/icons/components/base/IconLogout.cjs.map +1 -0
  98. package/dist/cjs/icons/components/base/IconMenu.cjs +28 -0
  99. package/dist/cjs/icons/components/base/IconMenu.cjs.map +1 -0
  100. package/dist/cjs/icons/components/base/IconMinus.cjs +4 -5
  101. package/dist/cjs/icons/components/base/IconMinus.cjs.map +1 -1
  102. package/dist/cjs/icons/components/base/IconNight.cjs +4 -5
  103. package/dist/cjs/icons/components/base/IconNight.cjs.map +1 -1
  104. package/dist/cjs/icons/components/base/IconPause.cjs +28 -0
  105. package/dist/cjs/icons/components/base/IconPause.cjs.map +1 -0
  106. package/dist/cjs/icons/components/base/IconPlus.cjs +4 -5
  107. package/dist/cjs/icons/components/base/IconPlus.cjs.map +1 -1
  108. package/dist/cjs/icons/components/base/IconPriceDown.cjs +3 -3
  109. package/dist/cjs/icons/components/base/IconPriceUp.cjs +3 -3
  110. package/dist/cjs/icons/components/base/IconRemove.cjs +4 -5
  111. package/dist/cjs/icons/components/base/IconRemove.cjs.map +1 -1
  112. package/dist/cjs/icons/components/base/IconRotate.cjs +4 -5
  113. package/dist/cjs/icons/components/base/IconRotate.cjs.map +1 -1
  114. package/dist/cjs/icons/components/base/IconSearch.cjs +4 -5
  115. package/dist/cjs/icons/components/base/IconSearch.cjs.map +1 -1
  116. package/dist/cjs/icons/components/base/IconShield.cjs +5 -5
  117. package/dist/cjs/icons/components/base/IconSpinner.cjs +4 -4
  118. package/dist/cjs/icons/components/base/IconStar.cjs +4 -5
  119. package/dist/cjs/icons/components/base/IconStar.cjs.map +1 -1
  120. package/dist/cjs/icons/components/base/IconTrash.cjs +4 -5
  121. package/dist/cjs/icons/components/base/IconTrash.cjs.map +1 -1
  122. package/dist/cjs/icons/components/base/IconUser.cjs +32 -0
  123. package/dist/cjs/icons/components/base/IconUser.cjs.map +1 -0
  124. package/dist/cjs/icons/components/base/IconWallet.cjs +30 -0
  125. package/dist/cjs/icons/components/base/IconWallet.cjs.map +1 -0
  126. package/dist/cjs/icons/components/base/IconWarning.cjs +3 -3
  127. package/dist/cjs/icons/components/base/iconsMap.cjs +18 -0
  128. package/dist/cjs/icons/components/base/iconsMap.cjs.map +1 -1
  129. package/dist/cjs/icons/components/chains/Avalanche.cjs +4 -4
  130. package/dist/cjs/icons/components/chains/Base.cjs +4 -4
  131. package/dist/cjs/icons/components/chains/Bitcoin.cjs +4 -4
  132. package/dist/cjs/icons/components/chains/Ethereum.cjs +9 -9
  133. package/dist/cjs/icons/components/chains/Mantle.cjs +4 -4
  134. package/dist/cjs/icons/components/chains/{MegaETH.cjs → MegaEth.cjs} +10 -10
  135. package/dist/cjs/icons/components/chains/{MegaETH.cjs.map → MegaEth.cjs.map} +1 -1
  136. package/dist/cjs/icons/components/chains/Metamask.cjs +6 -6
  137. package/dist/cjs/icons/components/chains/Monad.cjs +4 -4
  138. package/dist/cjs/icons/components/chains/Optimism.cjs +4 -4
  139. package/dist/cjs/icons/components/chains/Plasma.cjs +4 -4
  140. package/dist/cjs/icons/components/chains/Robinhood.cjs +4 -4
  141. package/dist/cjs/icons/components/chains/iconsMap.cjs +2 -2
  142. package/dist/cjs/icons/components/chains/iconsMap.cjs.map +1 -1
  143. package/dist/cjs/icons/components/protocols/Aave.cjs +5 -5
  144. package/dist/cjs/icons/components/protocols/Aura.cjs +10 -10
  145. package/dist/cjs/icons/components/protocols/Aura.cjs.map +1 -1
  146. package/dist/cjs/icons/components/protocols/Axis.cjs +4 -4
  147. package/dist/cjs/icons/components/protocols/Balancer.cjs +7 -7
  148. package/dist/cjs/icons/components/protocols/{CAP.cjs → Cap.cjs} +10 -10
  149. package/dist/cjs/icons/components/protocols/{CAP.cjs.map → Cap.cjs.map} +1 -1
  150. package/dist/cjs/icons/components/protocols/Ethena.cjs +12 -12
  151. package/dist/cjs/icons/components/protocols/Ethena.cjs.map +1 -1
  152. package/dist/cjs/icons/components/protocols/EtherFi.cjs +10 -10
  153. package/dist/cjs/icons/components/protocols/EtherFi.cjs.map +1 -1
  154. package/dist/cjs/icons/components/protocols/Fluid.cjs +5 -5
  155. package/dist/cjs/icons/components/protocols/Kelp.cjs +6 -6
  156. package/dist/cjs/icons/components/protocols/Kelp.cjs.map +1 -1
  157. package/dist/cjs/icons/components/protocols/Maple.cjs +7 -7
  158. package/dist/cjs/icons/components/protocols/Mellow.cjs +6 -6
  159. package/dist/cjs/icons/components/protocols/Morpho.cjs +7 -7
  160. package/dist/cjs/icons/components/protocols/Nethermind.cjs +5 -5
  161. package/dist/cjs/icons/components/protocols/PendleDark.cjs +14 -14
  162. package/dist/cjs/icons/components/protocols/PendleDark.cjs.map +1 -1
  163. package/dist/cjs/icons/components/protocols/PendleLight.cjs +14 -14
  164. package/dist/cjs/icons/components/protocols/PendleLight.cjs.map +1 -1
  165. package/dist/cjs/icons/components/protocols/Resolv.cjs +9 -9
  166. package/dist/cjs/icons/components/protocols/Spark.cjs +10 -10
  167. package/dist/cjs/icons/components/protocols/Spark.cjs.map +1 -1
  168. package/dist/cjs/icons/components/protocols/Strata.cjs +4 -4
  169. package/dist/cjs/icons/components/protocols/Tenor.cjs +4 -4
  170. package/dist/cjs/icons/components/protocols/Treehouse.cjs +14 -14
  171. package/dist/cjs/icons/components/protocols/Treehouse.cjs.map +1 -1
  172. package/dist/cjs/icons/components/protocols/Twyne.cjs +4 -4
  173. package/dist/cjs/icons/components/protocols/Uniswap.cjs +15 -15
  174. package/dist/cjs/icons/components/protocols/Uniswap.cjs.map +1 -1
  175. package/dist/cjs/icons/components/protocols/Veda.cjs +5 -5
  176. package/dist/cjs/icons/components/protocols/iconsMap.cjs +4 -4
  177. package/dist/cjs/icons/components/protocols/iconsMap.cjs.map +1 -1
  178. package/dist/cjs/icons/components/token/{TokenAUSD.cjs → TokenAUsd.cjs} +7 -7
  179. package/dist/cjs/icons/components/token/{TokenAUSD.cjs.map → TokenAUsd.cjs.map} +1 -1
  180. package/dist/cjs/icons/components/token/{TokenAAVE.cjs → TokenAave.cjs} +8 -8
  181. package/dist/cjs/icons/components/token/{TokenAAVE.cjs.map → TokenAave.cjs.map} +1 -1
  182. package/dist/cjs/icons/components/token/{TokenBTC.cjs → TokenBtc.cjs} +7 -7
  183. package/dist/cjs/icons/components/token/{TokenBTC.cjs.map → TokenBtc.cjs.map} +1 -1
  184. package/dist/cjs/icons/components/token/{TokenCAP.cjs → TokenCap.cjs} +10 -10
  185. package/dist/cjs/icons/components/token/{TokenCAP.cjs.map → TokenCap.cjs.map} +1 -1
  186. package/dist/cjs/icons/components/token/{TokenDOT.cjs → TokenDot.cjs} +7 -7
  187. package/dist/cjs/icons/components/token/{TokenDOT.cjs.map → TokenDot.cjs.map} +1 -1
  188. package/dist/cjs/icons/components/token/{TokenDVstETH.cjs → TokenDvstEth.cjs} +36 -36
  189. package/dist/cjs/icons/components/token/{TokenDVstETH.cjs.map → TokenDvstEth.cjs.map} +1 -1
  190. package/dist/cjs/icons/components/token/{TokenEarnETH.cjs → TokenEarnEth.cjs} +22 -22
  191. package/dist/cjs/icons/components/token/{TokenEarnETH.cjs.map → TokenEarnEth.cjs.map} +1 -1
  192. package/dist/cjs/icons/components/token/{TokenEarnUSD.cjs → TokenEarnUsd.cjs} +21 -21
  193. package/dist/cjs/icons/components/token/{TokenEarnUSD.cjs.map → TokenEarnUsd.cjs.map} +1 -1
  194. package/dist/cjs/icons/components/token/TokenEth.cjs +9 -9
  195. package/dist/cjs/icons/components/token/{TokenFLEX.cjs → TokenFlex.cjs} +89 -89
  196. package/dist/cjs/icons/components/token/{TokenFLEX.cjs.map → TokenFlex.cjs.map} +1 -1
  197. package/dist/cjs/icons/components/token/{TokenFrxUSD.cjs → TokenFrxUsd.cjs} +7 -7
  198. package/dist/cjs/icons/components/token/{TokenFrxUSD.cjs.map → TokenFrxUsd.cjs.map} +1 -1
  199. package/dist/cjs/icons/components/token/{TokenGG.cjs → TokenGg.cjs} +11 -11
  200. package/dist/cjs/icons/components/token/{TokenGG.cjs.map → TokenGg.cjs.map} +1 -1
  201. package/dist/cjs/icons/components/token/{TokenHUMA.cjs → TokenHuma.cjs} +18 -18
  202. package/dist/cjs/icons/components/token/{TokenHUMA.cjs.map → TokenHuma.cjs.map} +1 -1
  203. package/dist/cjs/icons/components/token/{TokenIPOR.cjs → TokenIpor.cjs} +40 -40
  204. package/dist/cjs/icons/components/token/{TokenIPOR.cjs.map → TokenIpor.cjs.map} +1 -1
  205. package/dist/cjs/icons/components/token/{TokenLDO.cjs → TokenLdo.cjs} +9 -9
  206. package/dist/cjs/icons/components/token/{TokenLDO.cjs.map → TokenLdo.cjs.map} +1 -1
  207. package/dist/cjs/icons/components/token/{TokenLlETH.cjs → TokenLlEth.cjs} +13 -13
  208. package/dist/cjs/icons/components/token/{TokenLlETH.cjs.map → TokenLlEth.cjs.map} +1 -1
  209. package/dist/cjs/icons/components/token/TokenMellowPoints.cjs +11 -11
  210. package/dist/cjs/icons/components/token/TokenMellowPoints.cjs.map +1 -1
  211. package/dist/cjs/icons/components/token/{TokenMORPHO.cjs → TokenMorpho.cjs} +10 -10
  212. package/dist/cjs/icons/components/token/{TokenMORPHO.cjs.map → TokenMorpho.cjs.map} +1 -1
  213. package/dist/cjs/icons/components/token/{TokenMsUSD.cjs → TokenMsUsd.cjs} +7 -7
  214. package/dist/cjs/icons/components/token/{TokenMsUSD.cjs.map → TokenMsUsd.cjs.map} +1 -1
  215. package/dist/cjs/icons/components/token/{TokenOBOL.cjs → TokenObol.cjs} +19 -19
  216. package/dist/cjs/icons/components/token/{TokenOBOL.cjs.map → TokenObol.cjs.map} +1 -1
  217. package/dist/cjs/icons/components/token/{TokenPTSrUSDe.cjs → TokenPtSrUsde.cjs} +15 -15
  218. package/dist/cjs/icons/components/token/{TokenPTSrUSDe.cjs.map → TokenPtSrUsde.cjs.map} +1 -1
  219. package/dist/cjs/icons/components/token/{TokenPyUSD.cjs → TokenPyUsd.cjs} +9 -9
  220. package/dist/cjs/icons/components/token/{TokenPyUSD.cjs.map → TokenPyUsd.cjs.map} +1 -1
  221. package/dist/cjs/icons/components/token/{TokenRsETH.cjs → TokenRsEth.cjs} +26 -26
  222. package/dist/cjs/icons/components/token/{TokenRsETH.cjs.map → TokenRsEth.cjs.map} +1 -1
  223. package/dist/cjs/icons/components/token/{TokenSpUSDG.cjs → TokenSpUsdg.cjs} +16 -16
  224. package/dist/cjs/icons/components/token/{TokenSpUSDG.cjs.map → TokenSpUsdg.cjs.map} +1 -1
  225. package/dist/cjs/icons/components/token/{TokenSrUSDe.cjs → TokenSrUsde.cjs} +9 -9
  226. package/dist/cjs/icons/components/token/{TokenSrUSDe.cjs.map → TokenSrUsde.cjs.map} +1 -1
  227. package/dist/cjs/icons/components/token/{TokenSSV.cjs → TokenSsv.cjs} +9 -9
  228. package/dist/cjs/icons/components/token/{TokenSSV.cjs.map → TokenSsv.cjs.map} +1 -1
  229. package/dist/cjs/icons/components/token/TokenSteth.cjs +12 -12
  230. package/dist/cjs/icons/components/token/{TokenStrETH.cjs → TokenStrEth.cjs} +48 -48
  231. package/dist/cjs/icons/components/token/{TokenStrETH.cjs.map → TokenStrEth.cjs.map} +1 -1
  232. package/dist/cjs/icons/components/token/{TokenSyrupUSDC.cjs → TokenSyrupUsdc.cjs} +8 -8
  233. package/dist/cjs/icons/components/token/{TokenSyrupUSDC.cjs.map → TokenSyrupUsdc.cjs.map} +1 -1
  234. package/dist/cjs/icons/components/token/{TokenSyrupUSDG.cjs → TokenSyrupUsdg.cjs} +8 -8
  235. package/dist/cjs/icons/components/token/{TokenSyrupUSDG.cjs.map → TokenSyrupUsdg.cjs.map} +1 -1
  236. package/dist/cjs/icons/components/token/{TokenSyrupUSDT.cjs → TokenSyrupUsdt.cjs} +7 -7
  237. package/dist/cjs/icons/components/token/{TokenSyrupUSDT.cjs.map → TokenSyrupUsdt.cjs.map} +1 -1
  238. package/dist/cjs/icons/components/token/{TokenTREE.cjs → TokenTree.cjs} +7 -7
  239. package/dist/cjs/icons/components/token/{TokenTREE.cjs.map → TokenTree.cjs.map} +1 -1
  240. package/dist/cjs/icons/components/token/{TokenUSDC.cjs → TokenUsdc.cjs} +9 -9
  241. package/dist/cjs/icons/components/token/{TokenUSDC.cjs.map → TokenUsdc.cjs.map} +1 -1
  242. package/dist/cjs/icons/components/token/{TokenUSDe.cjs → TokenUsde.cjs} +8 -8
  243. package/dist/cjs/icons/components/token/{TokenUSDe.cjs.map → TokenUsde.cjs.map} +1 -1
  244. package/dist/cjs/icons/components/token/{TokenUSDG.cjs → TokenUsdg.cjs} +8 -8
  245. package/dist/cjs/icons/components/token/{TokenUSDG.cjs.map → TokenUsdg.cjs.map} +1 -1
  246. package/dist/cjs/icons/components/token/{TokenUSDM.cjs → TokenUsdm.cjs} +9 -9
  247. package/dist/cjs/icons/components/token/{TokenUSDM.cjs.map → TokenUsdm.cjs.map} +1 -1
  248. package/dist/cjs/icons/components/token/{TokenUSDT.cjs → TokenUsdt.cjs} +7 -7
  249. package/dist/cjs/icons/components/token/{TokenUSDT.cjs.map → TokenUsdt.cjs.map} +1 -1
  250. package/dist/cjs/icons/components/token/{TokenUSDY.cjs → TokenUsdy.cjs} +7 -7
  251. package/dist/cjs/icons/components/token/{TokenUSDY.cjs.map → TokenUsdy.cjs.map} +1 -1
  252. package/dist/cjs/icons/components/token/{TokenWETH.cjs → TokenWEth.cjs} +14 -14
  253. package/dist/cjs/icons/components/token/{TokenWETH.cjs.map → TokenWEth.cjs.map} +1 -1
  254. package/dist/cjs/icons/components/token/TokenWsteth.cjs +12 -12
  255. package/dist/cjs/icons/components/token/{TokenYFI.cjs → TokenYfi.cjs} +7 -7
  256. package/dist/cjs/icons/components/token/{TokenYFI.cjs.map → TokenYfi.cjs.map} +1 -1
  257. package/dist/cjs/icons/components/token/iconsMap.cjs +74 -74
  258. package/dist/cjs/icons/components/token/iconsMap.cjs.map +1 -1
  259. package/dist/cjs/icons/components/wallets/{Bitget.cjs → BitGet.cjs} +5 -5
  260. package/dist/cjs/icons/components/wallets/{Bitget.cjs.map → BitGet.cjs.map} +1 -1
  261. package/dist/cjs/icons/components/wallets/Browser.cjs +4 -4
  262. package/dist/cjs/icons/components/wallets/Ledger.cjs +4 -4
  263. package/dist/cjs/icons/components/wallets/{OKX.cjs → Okx.cjs} +7 -7
  264. package/dist/cjs/icons/components/wallets/{OKX.cjs.map → Okx.cjs.map} +1 -1
  265. package/dist/cjs/icons/components/wallets/WalletConnect.cjs +4 -4
  266. package/dist/cjs/icons/components/wallets/WalletsMetamask.cjs +15 -15
  267. package/dist/cjs/icons/components/wallets/iconsMap.cjs +4 -4
  268. package/dist/cjs/icons/components/wallets/iconsMap.cjs.map +1 -1
  269. package/dist/cjs/identicon/Identicon.cjs +13 -7
  270. package/dist/cjs/identicon/Identicon.cjs.map +1 -1
  271. package/dist/cjs/index.cjs +102 -84
  272. package/dist/cjs/index.cjs.map +1 -1
  273. package/dist/cjs/input/Input.cjs +21 -14
  274. package/dist/cjs/input/Input.cjs.map +1 -1
  275. package/dist/cjs/message-box/MessageBox.cjs +12 -7
  276. package/dist/cjs/message-box/MessageBox.cjs.map +1 -1
  277. package/dist/cjs/modal/Modal.cjs +27 -16
  278. package/dist/cjs/modal/Modal.cjs.map +1 -1
  279. package/dist/cjs/notification/Notification.cjs +17 -8
  280. package/dist/cjs/notification/Notification.cjs.map +1 -1
  281. package/dist/cjs/radio-button/RadioButton.cjs +12 -8
  282. package/dist/cjs/radio-button/RadioButton.cjs.map +1 -1
  283. package/dist/cjs/rich-input/RichInput.cjs +30 -21
  284. package/dist/cjs/rich-input/RichInput.cjs.map +1 -1
  285. package/dist/cjs/section-title/SectionTitle.cjs +14 -9
  286. package/dist/cjs/section-title/SectionTitle.cjs.map +1 -1
  287. package/dist/cjs/segmented-control/Segment.cjs +8 -5
  288. package/dist/cjs/segmented-control/Segment.cjs.map +1 -1
  289. package/dist/cjs/segmented-control/SegmentCard.cjs +18 -10
  290. package/dist/cjs/segmented-control/SegmentCard.cjs.map +1 -1
  291. package/dist/cjs/segmented-control/SegmentedControl.cjs +16 -11
  292. package/dist/cjs/segmented-control/SegmentedControl.cjs.map +1 -1
  293. package/dist/cjs/segmented-control/SegmentedControlCard.cjs +16 -11
  294. package/dist/cjs/segmented-control/SegmentedControlCard.cjs.map +1 -1
  295. package/dist/cjs/slider/Slider.cjs +16 -13
  296. package/dist/cjs/slider/Slider.cjs.map +1 -1
  297. package/dist/cjs/small-card/SmallCard.cjs +18 -10
  298. package/dist/cjs/small-card/SmallCard.cjs.map +1 -1
  299. package/dist/cjs/stat-item/StatItem.cjs +21 -13
  300. package/dist/cjs/stat-item/StatItem.cjs.map +1 -1
  301. package/dist/cjs/switch/Switch.cjs +12 -8
  302. package/dist/cjs/switch/Switch.cjs.map +1 -1
  303. package/dist/cjs/tabs/Tab.cjs +6 -4
  304. package/dist/cjs/tabs/Tab.cjs.map +1 -1
  305. package/dist/cjs/tabs/Tabs.cjs +16 -11
  306. package/dist/cjs/tabs/Tabs.cjs.map +1 -1
  307. package/dist/cjs/tag/Tag.cjs +9 -5
  308. package/dist/cjs/tag/Tag.cjs.map +1 -1
  309. package/dist/cjs/text-link/TextLink.cjs +6 -3
  310. package/dist/cjs/text-link/TextLink.cjs.map +1 -1
  311. package/dist/cjs/token-amount/TokenAmount.cjs +12 -6
  312. package/dist/cjs/token-amount/TokenAmount.cjs.map +1 -1
  313. package/dist/cjs/token-selector/TokenSelector.cjs +52 -33
  314. package/dist/cjs/token-selector/TokenSelector.cjs.map +1 -1
  315. package/dist/cjs/tooltip/Tooltip.cjs +13 -10
  316. package/dist/cjs/tooltip/Tooltip.cjs.map +1 -1
  317. package/dist/cjs/tx-status/TxStatus.cjs +25 -17
  318. package/dist/cjs/tx-status/TxStatus.cjs.map +1 -1
  319. package/dist/cjs/typography/Typography.cjs +11 -9
  320. package/dist/cjs/typography/Typography.cjs.map +1 -1
  321. package/dist/esm/accordion/Accordion.mjs +5 -0
  322. package/dist/esm/accordion/Accordion.mjs.map +1 -1
  323. package/dist/esm/badge/Badge.mjs +3 -0
  324. package/dist/esm/badge/Badge.mjs.map +1 -1
  325. package/dist/esm/banner/Banner.mjs +6 -0
  326. package/dist/esm/banner/Banner.mjs.map +1 -1
  327. package/dist/esm/button/Button.mjs +5 -0
  328. package/dist/esm/button/Button.mjs.map +1 -1
  329. package/dist/esm/card/Card.mjs +2 -0
  330. package/dist/esm/card/Card.mjs.map +1 -1
  331. package/dist/esm/checkbox/Checkbox.mjs +4 -0
  332. package/dist/esm/checkbox/Checkbox.mjs.map +1 -1
  333. package/dist/esm/counter/Counter.mjs +2 -0
  334. package/dist/esm/counter/Counter.mjs.map +1 -1
  335. package/dist/esm/data-list/DataList.mjs +5 -1
  336. package/dist/esm/data-list/DataList.mjs.map +1 -1
  337. package/dist/esm/data-list/DataListRow.mjs +10 -1
  338. package/dist/esm/data-list/DataListRow.mjs.map +1 -1
  339. package/dist/esm/icon-button/IconButton.mjs +3 -0
  340. package/dist/esm/icon-button/IconButton.mjs.map +1 -1
  341. package/dist/esm/icons/components/base/IconAdd.mjs +1 -2
  342. package/dist/esm/icons/components/base/IconAdd.mjs.map +1 -1
  343. package/dist/esm/icons/components/base/IconAdjust.mjs +1 -2
  344. package/dist/esm/icons/components/base/IconAdjust.mjs.map +1 -1
  345. package/dist/esm/icons/components/base/IconArrowDown.mjs +1 -2
  346. package/dist/esm/icons/components/base/IconArrowDown.mjs.map +1 -1
  347. package/dist/esm/icons/components/base/IconArrowLeft.mjs +1 -2
  348. package/dist/esm/icons/components/base/IconArrowLeft.mjs.map +1 -1
  349. package/dist/esm/icons/components/base/IconArrowNarrowDownLeft.mjs +24 -0
  350. package/dist/esm/icons/components/base/IconArrowNarrowDownLeft.mjs.map +1 -0
  351. package/dist/esm/icons/components/base/IconArrowNarrowUpRight.mjs +1 -2
  352. package/dist/esm/icons/components/base/IconArrowNarrowUpRight.mjs.map +1 -1
  353. package/dist/esm/icons/components/base/IconArrowUp.mjs +1 -2
  354. package/dist/esm/icons/components/base/IconArrowUp.mjs.map +1 -1
  355. package/dist/esm/icons/components/base/IconBell.mjs +1 -2
  356. package/dist/esm/icons/components/base/IconBell.mjs.map +1 -1
  357. package/dist/esm/icons/components/base/IconBolt.mjs +1 -2
  358. package/dist/esm/icons/components/base/IconBolt.mjs.map +1 -1
  359. package/dist/esm/icons/components/base/IconBox.mjs +1 -2
  360. package/dist/esm/icons/components/base/IconBox.mjs.map +1 -1
  361. package/dist/esm/icons/components/base/IconCalendar.mjs +24 -0
  362. package/dist/esm/icons/components/base/IconCalendar.mjs.map +1 -0
  363. package/dist/esm/icons/components/base/IconChevronLeft.mjs +24 -0
  364. package/dist/esm/icons/components/base/IconChevronLeft.mjs.map +1 -0
  365. package/dist/esm/icons/components/base/IconChevronRight.mjs +1 -2
  366. package/dist/esm/icons/components/base/IconChevronRight.mjs.map +1 -1
  367. package/dist/esm/icons/components/base/IconChevronsUpDown.mjs +1 -2
  368. package/dist/esm/icons/components/base/IconChevronsUpDown.mjs.map +1 -1
  369. package/dist/esm/icons/components/base/IconCircleStar.mjs +0 -1
  370. package/dist/esm/icons/components/base/IconCircleStar.mjs.map +1 -1
  371. package/dist/esm/icons/components/base/IconCloudDownload.mjs +1 -2
  372. package/dist/esm/icons/components/base/IconCloudDownload.mjs.map +1 -1
  373. package/dist/esm/icons/components/base/IconCloudUpload.mjs +1 -2
  374. package/dist/esm/icons/components/base/IconCloudUpload.mjs.map +1 -1
  375. package/dist/esm/icons/components/base/IconComponent.mjs +1 -2
  376. package/dist/esm/icons/components/base/IconComponent.mjs.map +1 -1
  377. package/dist/esm/icons/components/base/IconConfirmed.mjs +1 -2
  378. package/dist/esm/icons/components/base/IconConfirmed.mjs.map +1 -1
  379. package/dist/esm/icons/components/base/IconCopy.mjs +0 -1
  380. package/dist/esm/icons/components/base/IconCopy.mjs.map +1 -1
  381. package/dist/esm/icons/components/base/IconDashboard.mjs +1 -2
  382. package/dist/esm/icons/components/base/IconDashboard.mjs.map +1 -1
  383. package/dist/esm/icons/components/base/IconDay.mjs +1 -2
  384. package/dist/esm/icons/components/base/IconDay.mjs.map +1 -1
  385. package/dist/esm/icons/components/base/IconDownload.mjs +0 -1
  386. package/dist/esm/icons/components/base/IconDownload.mjs.map +1 -1
  387. package/dist/esm/icons/components/base/IconFilter.mjs +1 -2
  388. package/dist/esm/icons/components/base/IconFilter.mjs.map +1 -1
  389. package/dist/esm/icons/components/base/IconFreeze.mjs +24 -0
  390. package/dist/esm/icons/components/base/IconFreeze.mjs.map +1 -0
  391. package/dist/esm/icons/components/base/IconGem.mjs +1 -2
  392. package/dist/esm/icons/components/base/IconGem.mjs.map +1 -1
  393. package/dist/esm/icons/components/base/IconHourglass.mjs +1 -2
  394. package/dist/esm/icons/components/base/IconHourglass.mjs.map +1 -1
  395. package/dist/esm/icons/components/base/IconKeyRound.mjs +1 -2
  396. package/dist/esm/icons/components/base/IconKeyRound.mjs.map +1 -1
  397. package/dist/esm/icons/components/base/IconLightning.mjs +1 -2
  398. package/dist/esm/icons/components/base/IconLightning.mjs.map +1 -1
  399. package/dist/esm/icons/components/base/IconLink.mjs +0 -1
  400. package/dist/esm/icons/components/base/IconLink.mjs.map +1 -1
  401. package/dist/esm/icons/components/base/IconListCheck.mjs +1 -2
  402. package/dist/esm/icons/components/base/IconListCheck.mjs.map +1 -1
  403. package/dist/esm/icons/components/base/IconLockKeyhole.mjs +1 -2
  404. package/dist/esm/icons/components/base/IconLockKeyhole.mjs.map +1 -1
  405. package/dist/esm/icons/components/base/IconLogout.mjs +24 -0
  406. package/dist/esm/icons/components/base/IconLogout.mjs.map +1 -0
  407. package/dist/esm/icons/components/base/IconMenu.mjs +24 -0
  408. package/dist/esm/icons/components/base/IconMenu.mjs.map +1 -0
  409. package/dist/esm/icons/components/base/IconMinus.mjs +1 -2
  410. package/dist/esm/icons/components/base/IconMinus.mjs.map +1 -1
  411. package/dist/esm/icons/components/base/IconNight.mjs +1 -2
  412. package/dist/esm/icons/components/base/IconNight.mjs.map +1 -1
  413. package/dist/esm/icons/components/base/IconPause.mjs +24 -0
  414. package/dist/esm/icons/components/base/IconPause.mjs.map +1 -0
  415. package/dist/esm/icons/components/base/IconPlus.mjs +1 -2
  416. package/dist/esm/icons/components/base/IconPlus.mjs.map +1 -1
  417. package/dist/esm/icons/components/base/IconRemove.mjs +1 -2
  418. package/dist/esm/icons/components/base/IconRemove.mjs.map +1 -1
  419. package/dist/esm/icons/components/base/IconRotate.mjs +1 -2
  420. package/dist/esm/icons/components/base/IconRotate.mjs.map +1 -1
  421. package/dist/esm/icons/components/base/IconSearch.mjs +1 -2
  422. package/dist/esm/icons/components/base/IconSearch.mjs.map +1 -1
  423. package/dist/esm/icons/components/base/IconStar.mjs +1 -2
  424. package/dist/esm/icons/components/base/IconStar.mjs.map +1 -1
  425. package/dist/esm/icons/components/base/IconTrash.mjs +1 -2
  426. package/dist/esm/icons/components/base/IconTrash.mjs.map +1 -1
  427. package/dist/esm/icons/components/base/IconUser.mjs +28 -0
  428. package/dist/esm/icons/components/base/IconUser.mjs.map +1 -0
  429. package/dist/esm/icons/components/base/IconWallet.mjs +26 -0
  430. package/dist/esm/icons/components/base/IconWallet.mjs.map +1 -0
  431. package/dist/esm/icons/components/base/iconsMap.mjs +18 -0
  432. package/dist/esm/icons/components/base/iconsMap.mjs.map +1 -1
  433. package/dist/esm/icons/components/chains/{MegaETH.mjs → MegaEth.mjs} +3 -3
  434. package/dist/esm/icons/components/chains/{MegaETH.mjs.map → MegaEth.mjs.map} +1 -1
  435. package/dist/esm/icons/components/chains/iconsMap.mjs +2 -2
  436. package/dist/esm/icons/components/chains/iconsMap.mjs.map +1 -1
  437. package/dist/esm/icons/components/protocols/Aura.mjs +2 -2
  438. package/dist/esm/icons/components/protocols/Aura.mjs.map +1 -1
  439. package/dist/esm/icons/components/protocols/{CAP.mjs → Cap.mjs} +3 -3
  440. package/dist/esm/icons/components/protocols/{CAP.mjs.map → Cap.mjs.map} +1 -1
  441. package/dist/esm/icons/components/protocols/Ethena.mjs +4 -4
  442. package/dist/esm/icons/components/protocols/Ethena.mjs.map +1 -1
  443. package/dist/esm/icons/components/protocols/EtherFi.mjs +2 -2
  444. package/dist/esm/icons/components/protocols/EtherFi.mjs.map +1 -1
  445. package/dist/esm/icons/components/protocols/Kelp.mjs +2 -2
  446. package/dist/esm/icons/components/protocols/Kelp.mjs.map +1 -1
  447. package/dist/esm/icons/components/protocols/PendleDark.mjs +3 -3
  448. package/dist/esm/icons/components/protocols/PendleDark.mjs.map +1 -1
  449. package/dist/esm/icons/components/protocols/PendleLight.mjs +3 -3
  450. package/dist/esm/icons/components/protocols/PendleLight.mjs.map +1 -1
  451. package/dist/esm/icons/components/protocols/Spark.mjs +2 -2
  452. package/dist/esm/icons/components/protocols/Spark.mjs.map +1 -1
  453. package/dist/esm/icons/components/protocols/Treehouse.mjs +2 -2
  454. package/dist/esm/icons/components/protocols/Treehouse.mjs.map +1 -1
  455. package/dist/esm/icons/components/protocols/Uniswap.mjs +2 -2
  456. package/dist/esm/icons/components/protocols/Uniswap.mjs.map +1 -1
  457. package/dist/esm/icons/components/protocols/iconsMap.mjs +6 -6
  458. package/dist/esm/icons/components/protocols/iconsMap.mjs.map +1 -1
  459. package/dist/esm/icons/components/token/{TokenAUSD.mjs → TokenAUsd.mjs} +3 -3
  460. package/dist/esm/icons/components/token/{TokenAUSD.mjs.map → TokenAUsd.mjs.map} +1 -1
  461. package/dist/esm/icons/components/token/{TokenAAVE.mjs → TokenAave.mjs} +3 -3
  462. package/dist/esm/icons/components/token/{TokenAAVE.mjs.map → TokenAave.mjs.map} +1 -1
  463. package/dist/esm/icons/components/token/{TokenBTC.mjs → TokenBtc.mjs} +3 -3
  464. package/dist/esm/icons/components/token/{TokenBTC.mjs.map → TokenBtc.mjs.map} +1 -1
  465. package/dist/esm/icons/components/token/{TokenCAP.mjs → TokenCap.mjs} +3 -3
  466. package/dist/esm/icons/components/token/{TokenCAP.mjs.map → TokenCap.mjs.map} +1 -1
  467. package/dist/esm/icons/components/token/{TokenDOT.mjs → TokenDot.mjs} +3 -3
  468. package/dist/esm/icons/components/token/{TokenDOT.mjs.map → TokenDot.mjs.map} +1 -1
  469. package/dist/esm/icons/components/token/{TokenDVstETH.mjs → TokenDvstEth.mjs} +8 -8
  470. package/dist/esm/icons/components/token/{TokenDVstETH.mjs.map → TokenDvstEth.mjs.map} +1 -1
  471. package/dist/esm/icons/components/token/{TokenEarnETH.mjs → TokenEarnEth.mjs} +5 -5
  472. package/dist/esm/icons/components/token/{TokenEarnETH.mjs.map → TokenEarnEth.mjs.map} +1 -1
  473. package/dist/esm/icons/components/token/{TokenEarnUSD.mjs → TokenEarnUsd.mjs} +5 -5
  474. package/dist/esm/icons/components/token/{TokenEarnUSD.mjs.map → TokenEarnUsd.mjs.map} +1 -1
  475. package/dist/esm/icons/components/token/{TokenFLEX.mjs → TokenFlex.mjs} +20 -20
  476. package/dist/esm/icons/components/token/{TokenFLEX.mjs.map → TokenFlex.mjs.map} +1 -1
  477. package/dist/esm/icons/components/token/{TokenFrxUSD.mjs → TokenFrxUsd.mjs} +3 -3
  478. package/dist/esm/icons/components/token/{TokenFrxUSD.mjs.map → TokenFrxUsd.mjs.map} +1 -1
  479. package/dist/esm/icons/components/token/{TokenGG.mjs → TokenGg.mjs} +3 -3
  480. package/dist/esm/icons/components/token/{TokenGG.mjs.map → TokenGg.mjs.map} +1 -1
  481. package/dist/esm/icons/components/token/{TokenHUMA.mjs → TokenHuma.mjs} +6 -6
  482. package/dist/esm/icons/components/token/{TokenHUMA.mjs.map → TokenHuma.mjs.map} +1 -1
  483. package/dist/esm/icons/components/token/{TokenIPOR.mjs → TokenIpor.mjs} +9 -9
  484. package/dist/esm/icons/components/token/{TokenIPOR.mjs.map → TokenIpor.mjs.map} +1 -1
  485. package/dist/esm/icons/components/token/{TokenLDO.mjs → TokenLdo.mjs} +3 -3
  486. package/dist/esm/icons/components/token/{TokenLDO.mjs.map → TokenLdo.mjs.map} +1 -1
  487. package/dist/esm/icons/components/token/{TokenLlETH.mjs → TokenLlEth.mjs} +3 -3
  488. package/dist/esm/icons/components/token/{TokenLlETH.mjs.map → TokenLlEth.mjs.map} +1 -1
  489. package/dist/esm/icons/components/token/TokenMellowPoints.mjs +2 -2
  490. package/dist/esm/icons/components/token/TokenMellowPoints.mjs.map +1 -1
  491. package/dist/esm/icons/components/token/{TokenMORPHO.mjs → TokenMorpho.mjs} +3 -3
  492. package/dist/esm/icons/components/token/{TokenMORPHO.mjs.map → TokenMorpho.mjs.map} +1 -1
  493. package/dist/esm/icons/components/token/{TokenMsUSD.mjs → TokenMsUsd.mjs} +3 -3
  494. package/dist/esm/icons/components/token/{TokenMsUSD.mjs.map → TokenMsUsd.mjs.map} +1 -1
  495. package/dist/esm/icons/components/token/{TokenOBOL.mjs → TokenObol.mjs} +6 -6
  496. package/dist/esm/icons/components/token/{TokenOBOL.mjs.map → TokenObol.mjs.map} +1 -1
  497. package/dist/esm/icons/components/token/{TokenPTSrUSDe.mjs → TokenPtSrUsde.mjs} +5 -5
  498. package/dist/esm/icons/components/token/{TokenPTSrUSDe.mjs.map → TokenPtSrUsde.mjs.map} +1 -1
  499. package/dist/esm/icons/components/token/{TokenPyUSD.mjs → TokenPyUsd.mjs} +3 -3
  500. package/dist/esm/icons/components/token/{TokenPyUSD.mjs.map → TokenPyUsd.mjs.map} +1 -1
  501. package/dist/esm/icons/components/token/{TokenRsETH.mjs → TokenRsEth.mjs} +3 -3
  502. package/dist/esm/icons/components/token/{TokenRsETH.mjs.map → TokenRsEth.mjs.map} +1 -1
  503. package/dist/esm/icons/components/token/{TokenSpUSDG.mjs → TokenSpUsdg.mjs} +5 -5
  504. package/dist/esm/icons/components/token/{TokenSpUSDG.mjs.map → TokenSpUsdg.mjs.map} +1 -1
  505. package/dist/esm/icons/components/token/{TokenSrUSDe.mjs → TokenSrUsde.mjs} +3 -3
  506. package/dist/esm/icons/components/token/{TokenSrUSDe.mjs.map → TokenSrUsde.mjs.map} +1 -1
  507. package/dist/esm/icons/components/token/{TokenSSV.mjs → TokenSsv.mjs} +3 -3
  508. package/dist/esm/icons/components/token/{TokenSSV.mjs.map → TokenSsv.mjs.map} +1 -1
  509. package/dist/esm/icons/components/token/{TokenStrETH.mjs → TokenStrEth.mjs} +11 -11
  510. package/dist/esm/icons/components/token/{TokenStrETH.mjs.map → TokenStrEth.mjs.map} +1 -1
  511. package/dist/esm/icons/components/token/{TokenSyrupUSDC.mjs → TokenSyrupUsdc.mjs} +3 -3
  512. package/dist/esm/icons/components/token/{TokenSyrupUSDC.mjs.map → TokenSyrupUsdc.mjs.map} +1 -1
  513. package/dist/esm/icons/components/token/{TokenSyrupUSDG.mjs → TokenSyrupUsdg.mjs} +3 -3
  514. package/dist/esm/icons/components/token/{TokenSyrupUSDG.mjs.map → TokenSyrupUsdg.mjs.map} +1 -1
  515. package/dist/esm/icons/components/token/{TokenSyrupUSDT.mjs → TokenSyrupUsdt.mjs} +3 -3
  516. package/dist/esm/icons/components/token/{TokenSyrupUSDT.mjs.map → TokenSyrupUsdt.mjs.map} +1 -1
  517. package/dist/esm/icons/components/token/{TokenTREE.mjs → TokenTree.mjs} +3 -3
  518. package/dist/esm/icons/components/token/{TokenTREE.mjs.map → TokenTree.mjs.map} +1 -1
  519. package/dist/esm/icons/components/token/{TokenUSDC.mjs → TokenUsdc.mjs} +3 -3
  520. package/dist/esm/icons/components/token/{TokenUSDC.mjs.map → TokenUsdc.mjs.map} +1 -1
  521. package/dist/esm/icons/components/token/{TokenUSDe.mjs → TokenUsde.mjs} +3 -3
  522. package/dist/esm/icons/components/token/{TokenUSDe.mjs.map → TokenUsde.mjs.map} +1 -1
  523. package/dist/esm/icons/components/token/{TokenUSDG.mjs → TokenUsdg.mjs} +3 -3
  524. package/dist/esm/icons/components/token/{TokenUSDG.mjs.map → TokenUsdg.mjs.map} +1 -1
  525. package/dist/esm/icons/components/token/{TokenUSDM.mjs → TokenUsdm.mjs} +3 -3
  526. package/dist/esm/icons/components/token/{TokenUSDM.mjs.map → TokenUsdm.mjs.map} +1 -1
  527. package/dist/esm/icons/components/token/{TokenUSDT.mjs → TokenUsdt.mjs} +3 -3
  528. package/dist/esm/icons/components/token/{TokenUSDT.mjs.map → TokenUsdt.mjs.map} +1 -1
  529. package/dist/esm/icons/components/token/{TokenUSDY.mjs → TokenUsdy.mjs} +3 -3
  530. package/dist/esm/icons/components/token/{TokenUSDY.mjs.map → TokenUsdy.mjs.map} +1 -1
  531. package/dist/esm/icons/components/token/{TokenWETH.mjs → TokenWEth.mjs} +3 -3
  532. package/dist/esm/icons/components/token/{TokenWETH.mjs.map → TokenWEth.mjs.map} +1 -1
  533. package/dist/esm/icons/components/token/{TokenYFI.mjs → TokenYfi.mjs} +3 -3
  534. package/dist/esm/icons/components/token/{TokenYFI.mjs.map → TokenYfi.mjs.map} +1 -1
  535. package/dist/esm/icons/components/token/iconsMap.mjs +74 -74
  536. package/dist/esm/icons/components/token/iconsMap.mjs.map +1 -1
  537. package/dist/esm/icons/components/wallets/{Bitget.mjs → BitGet.mjs} +1 -1
  538. package/dist/esm/icons/components/wallets/{Bitget.mjs.map → BitGet.mjs.map} +1 -1
  539. package/dist/esm/icons/components/wallets/{OKX.mjs → Okx.mjs} +3 -3
  540. package/dist/esm/icons/components/wallets/{OKX.mjs.map → Okx.mjs.map} +1 -1
  541. package/dist/esm/icons/components/wallets/iconsMap.mjs +3 -3
  542. package/dist/esm/icons/components/wallets/iconsMap.mjs.map +1 -1
  543. package/dist/esm/identicon/Identicon.mjs +8 -2
  544. package/dist/esm/identicon/Identicon.mjs.map +1 -1
  545. package/dist/esm/index.mjs +52 -43
  546. package/dist/esm/index.mjs.map +1 -1
  547. package/dist/esm/input/Input.mjs +7 -0
  548. package/dist/esm/input/Input.mjs.map +1 -1
  549. package/dist/esm/message-box/MessageBox.mjs +5 -0
  550. package/dist/esm/message-box/MessageBox.mjs.map +1 -1
  551. package/dist/esm/modal/Modal.mjs +13 -2
  552. package/dist/esm/modal/Modal.mjs.map +1 -1
  553. package/dist/esm/notification/Notification.mjs +10 -1
  554. package/dist/esm/notification/Notification.mjs.map +1 -1
  555. package/dist/esm/radio-button/RadioButton.mjs +4 -0
  556. package/dist/esm/radio-button/RadioButton.mjs.map +1 -1
  557. package/dist/esm/rich-input/RichInput.mjs +9 -0
  558. package/dist/esm/rich-input/RichInput.mjs.map +1 -1
  559. package/dist/esm/section-title/SectionTitle.mjs +5 -0
  560. package/dist/esm/section-title/SectionTitle.mjs.map +1 -1
  561. package/dist/esm/segmented-control/Segment.mjs +3 -0
  562. package/dist/esm/segmented-control/Segment.mjs.map +1 -1
  563. package/dist/esm/segmented-control/SegmentCard.mjs +8 -0
  564. package/dist/esm/segmented-control/SegmentCard.mjs.map +1 -1
  565. package/dist/esm/segmented-control/SegmentedControl.mjs +6 -1
  566. package/dist/esm/segmented-control/SegmentedControl.mjs.map +1 -1
  567. package/dist/esm/segmented-control/SegmentedControlCard.mjs +6 -1
  568. package/dist/esm/segmented-control/SegmentedControlCard.mjs.map +1 -1
  569. package/dist/esm/slider/Slider.mjs +3 -0
  570. package/dist/esm/slider/Slider.mjs.map +1 -1
  571. package/dist/esm/small-card/SmallCard.mjs +8 -0
  572. package/dist/esm/small-card/SmallCard.mjs.map +1 -1
  573. package/dist/esm/stat-item/StatItem.mjs +8 -0
  574. package/dist/esm/stat-item/StatItem.mjs.map +1 -1
  575. package/dist/esm/switch/Switch.mjs +4 -0
  576. package/dist/esm/switch/Switch.mjs.map +1 -1
  577. package/dist/esm/tabs/Tab.mjs +2 -0
  578. package/dist/esm/tabs/Tab.mjs.map +1 -1
  579. package/dist/esm/tabs/Tabs.mjs +6 -1
  580. package/dist/esm/tabs/Tabs.mjs.map +1 -1
  581. package/dist/esm/tag/Tag.mjs +4 -0
  582. package/dist/esm/tag/Tag.mjs.map +1 -1
  583. package/dist/esm/text-link/TextLink.mjs +3 -0
  584. package/dist/esm/text-link/TextLink.mjs.map +1 -1
  585. package/dist/esm/token-amount/TokenAmount.mjs +8 -2
  586. package/dist/esm/token-amount/TokenAmount.mjs.map +1 -1
  587. package/dist/esm/token-selector/TokenSelector.mjs +20 -1
  588. package/dist/esm/token-selector/TokenSelector.mjs.map +1 -1
  589. package/dist/esm/tooltip/Tooltip.mjs +3 -0
  590. package/dist/esm/tooltip/Tooltip.mjs.map +1 -1
  591. package/dist/esm/tx-status/TxStatus.mjs +9 -1
  592. package/dist/esm/tx-status/TxStatus.mjs.map +1 -1
  593. package/dist/esm/typography/Typography.mjs +2 -0
  594. package/dist/esm/typography/Typography.mjs.map +1 -1
  595. package/dist/types/accordion/Accordion.d.ts +8 -1
  596. package/dist/types/accordion/Accordion.d.ts.map +1 -1
  597. package/dist/types/badge/Badge.d.ts +6 -1
  598. package/dist/types/badge/Badge.d.ts.map +1 -1
  599. package/dist/types/badge/index.d.ts +1 -1
  600. package/dist/types/badge/index.d.ts.map +1 -1
  601. package/dist/types/banner/Banner.d.ts +9 -1
  602. package/dist/types/banner/Banner.d.ts.map +1 -1
  603. package/dist/types/button/Button.d.ts +8 -1
  604. package/dist/types/button/Button.d.ts.map +1 -1
  605. package/dist/types/button/index.d.ts +1 -1
  606. package/dist/types/button/index.d.ts.map +1 -1
  607. package/dist/types/card/Card.d.ts +7 -2
  608. package/dist/types/card/Card.d.ts.map +1 -1
  609. package/dist/types/card/index.d.ts +1 -1
  610. package/dist/types/card/index.d.ts.map +1 -1
  611. package/dist/types/checkbox/Checkbox.d.ts +7 -0
  612. package/dist/types/checkbox/Checkbox.d.ts.map +1 -1
  613. package/dist/types/checkbox/index.d.ts +1 -1
  614. package/dist/types/checkbox/index.d.ts.map +1 -1
  615. package/dist/types/counter/Counter.d.ts +5 -1
  616. package/dist/types/counter/Counter.d.ts.map +1 -1
  617. package/dist/types/counter/index.d.ts +1 -1
  618. package/dist/types/counter/index.d.ts.map +1 -1
  619. package/dist/types/data-list/DataList.d.ts +7 -4
  620. package/dist/types/data-list/DataList.d.ts.map +1 -1
  621. package/dist/types/data-list/DataListRow.d.ts +11 -4
  622. package/dist/types/data-list/DataListRow.d.ts.map +1 -1
  623. package/dist/types/data-list/index.d.ts +2 -2
  624. package/dist/types/data-list/index.d.ts.map +1 -1
  625. package/dist/types/icon-button/IconButton.d.ts +6 -1
  626. package/dist/types/icon-button/IconButton.d.ts.map +1 -1
  627. package/dist/types/icon-button/index.d.ts +1 -1
  628. package/dist/types/icon-button/index.d.ts.map +1 -1
  629. package/dist/types/icons/components/base/IconAdd.d.ts.map +1 -1
  630. package/dist/types/icons/components/base/IconAdjust.d.ts.map +1 -1
  631. package/dist/types/icons/components/base/IconArrowDown.d.ts.map +1 -1
  632. package/dist/types/icons/components/base/IconArrowLeft.d.ts.map +1 -1
  633. package/dist/types/icons/components/base/IconArrowNarrowDownLeft.d.ts +3 -0
  634. package/dist/types/icons/components/base/IconArrowNarrowDownLeft.d.ts.map +1 -0
  635. package/dist/types/icons/components/base/IconArrowNarrowUpRight.d.ts.map +1 -1
  636. package/dist/types/icons/components/base/IconArrowUp.d.ts.map +1 -1
  637. package/dist/types/icons/components/base/IconBell.d.ts.map +1 -1
  638. package/dist/types/icons/components/base/IconBolt.d.ts.map +1 -1
  639. package/dist/types/icons/components/base/IconBox.d.ts.map +1 -1
  640. package/dist/types/icons/components/base/IconCalendar.d.ts +3 -0
  641. package/dist/types/icons/components/base/IconCalendar.d.ts.map +1 -0
  642. package/dist/types/icons/components/base/IconChevronLeft.d.ts +3 -0
  643. package/dist/types/icons/components/base/IconChevronLeft.d.ts.map +1 -0
  644. package/dist/types/icons/components/base/IconChevronRight.d.ts.map +1 -1
  645. package/dist/types/icons/components/base/IconChevronsUpDown.d.ts.map +1 -1
  646. package/dist/types/icons/components/base/IconCloudDownload.d.ts.map +1 -1
  647. package/dist/types/icons/components/base/IconCloudUpload.d.ts.map +1 -1
  648. package/dist/types/icons/components/base/IconComponent.d.ts.map +1 -1
  649. package/dist/types/icons/components/base/IconConfirmed.d.ts.map +1 -1
  650. package/dist/types/icons/components/base/IconDashboard.d.ts.map +1 -1
  651. package/dist/types/icons/components/base/IconDay.d.ts.map +1 -1
  652. package/dist/types/icons/components/base/IconFilter.d.ts.map +1 -1
  653. package/dist/types/icons/components/base/IconFreeze.d.ts +3 -0
  654. package/dist/types/icons/components/base/IconFreeze.d.ts.map +1 -0
  655. package/dist/types/icons/components/base/IconGem.d.ts.map +1 -1
  656. package/dist/types/icons/components/base/IconHourglass.d.ts.map +1 -1
  657. package/dist/types/icons/components/base/IconKeyRound.d.ts.map +1 -1
  658. package/dist/types/icons/components/base/IconLightning.d.ts.map +1 -1
  659. package/dist/types/icons/components/base/IconListCheck.d.ts.map +1 -1
  660. package/dist/types/icons/components/base/IconLockKeyhole.d.ts.map +1 -1
  661. package/dist/types/icons/components/base/IconLogout.d.ts +3 -0
  662. package/dist/types/icons/components/base/IconLogout.d.ts.map +1 -0
  663. package/dist/types/icons/components/base/IconMenu.d.ts +3 -0
  664. package/dist/types/icons/components/base/IconMenu.d.ts.map +1 -0
  665. package/dist/types/icons/components/base/IconMinus.d.ts.map +1 -1
  666. package/dist/types/icons/components/base/IconNight.d.ts.map +1 -1
  667. package/dist/types/icons/components/base/IconPause.d.ts +3 -0
  668. package/dist/types/icons/components/base/IconPause.d.ts.map +1 -0
  669. package/dist/types/icons/components/base/IconPlus.d.ts.map +1 -1
  670. package/dist/types/icons/components/base/IconRemove.d.ts.map +1 -1
  671. package/dist/types/icons/components/base/IconRotate.d.ts.map +1 -1
  672. package/dist/types/icons/components/base/IconSearch.d.ts.map +1 -1
  673. package/dist/types/icons/components/base/IconStar.d.ts.map +1 -1
  674. package/dist/types/icons/components/base/IconTrash.d.ts.map +1 -1
  675. package/dist/types/icons/components/base/IconUser.d.ts +3 -0
  676. package/dist/types/icons/components/base/IconUser.d.ts.map +1 -0
  677. package/dist/types/icons/components/base/IconWallet.d.ts +3 -0
  678. package/dist/types/icons/components/base/IconWallet.d.ts.map +1 -0
  679. package/dist/types/icons/components/base/iconsMap.d.ts +9 -0
  680. package/dist/types/icons/components/base/iconsMap.d.ts.map +1 -1
  681. package/dist/types/icons/components/base/index.d.ts +9 -0
  682. package/dist/types/icons/components/base/index.d.ts.map +1 -1
  683. package/dist/types/icons/components/chains/MegaEth.d.ts +3 -0
  684. package/dist/types/icons/components/chains/MegaEth.d.ts.map +1 -0
  685. package/dist/types/icons/components/chains/iconsMap.d.ts +1 -1
  686. package/dist/types/icons/components/chains/index.d.ts +1 -1
  687. package/dist/types/icons/components/protocols/Cap.d.ts +3 -0
  688. package/dist/types/icons/components/protocols/Cap.d.ts.map +1 -0
  689. package/dist/types/icons/components/protocols/Ethena.d.ts +1 -1
  690. package/dist/types/icons/components/protocols/Kelp.d.ts +1 -1
  691. package/dist/types/icons/components/protocols/iconsMap.d.ts +3 -3
  692. package/dist/types/icons/components/protocols/index.d.ts +3 -3
  693. package/dist/types/icons/components/token/TokenAUsd.d.ts +3 -0
  694. package/dist/types/icons/components/token/TokenAUsd.d.ts.map +1 -0
  695. package/dist/types/icons/components/token/TokenAave.d.ts +3 -0
  696. package/dist/types/icons/components/token/TokenAave.d.ts.map +1 -0
  697. package/dist/types/icons/components/token/TokenBtc.d.ts +3 -0
  698. package/dist/types/icons/components/token/TokenBtc.d.ts.map +1 -0
  699. package/dist/types/icons/components/token/TokenCap.d.ts +3 -0
  700. package/dist/types/icons/components/token/TokenCap.d.ts.map +1 -0
  701. package/dist/types/icons/components/token/TokenDot.d.ts +3 -0
  702. package/dist/types/icons/components/token/TokenDot.d.ts.map +1 -0
  703. package/dist/types/icons/components/token/TokenDvstEth.d.ts +3 -0
  704. package/dist/types/icons/components/token/TokenDvstEth.d.ts.map +1 -0
  705. package/dist/types/icons/components/token/TokenEarnEth.d.ts +3 -0
  706. package/dist/types/icons/components/token/TokenEarnEth.d.ts.map +1 -0
  707. package/dist/types/icons/components/token/TokenEarnUsd.d.ts +3 -0
  708. package/dist/types/icons/components/token/TokenEarnUsd.d.ts.map +1 -0
  709. package/dist/types/icons/components/token/TokenFlex.d.ts +3 -0
  710. package/dist/types/icons/components/token/TokenFlex.d.ts.map +1 -0
  711. package/dist/types/icons/components/token/TokenFrxUsd.d.ts +3 -0
  712. package/dist/types/icons/components/token/TokenFrxUsd.d.ts.map +1 -0
  713. package/dist/types/icons/components/token/TokenGg.d.ts +3 -0
  714. package/dist/types/icons/components/token/TokenGg.d.ts.map +1 -0
  715. package/dist/types/icons/components/token/TokenHuma.d.ts +3 -0
  716. package/dist/types/icons/components/token/TokenHuma.d.ts.map +1 -0
  717. package/dist/types/icons/components/token/TokenIpor.d.ts +3 -0
  718. package/dist/types/icons/components/token/TokenIpor.d.ts.map +1 -0
  719. package/dist/types/icons/components/token/TokenLdo.d.ts +3 -0
  720. package/dist/types/icons/components/token/TokenLdo.d.ts.map +1 -0
  721. package/dist/types/icons/components/token/TokenLlEth.d.ts +3 -0
  722. package/dist/types/icons/components/token/TokenLlEth.d.ts.map +1 -0
  723. package/dist/types/icons/components/token/TokenMorpho.d.ts +3 -0
  724. package/dist/types/icons/components/token/TokenMorpho.d.ts.map +1 -0
  725. package/dist/types/icons/components/token/TokenMsUsd.d.ts +3 -0
  726. package/dist/types/icons/components/token/TokenMsUsd.d.ts.map +1 -0
  727. package/dist/types/icons/components/token/TokenObol.d.ts +3 -0
  728. package/dist/types/icons/components/token/TokenObol.d.ts.map +1 -0
  729. package/dist/types/icons/components/token/TokenPtSrUsde.d.ts +3 -0
  730. package/dist/types/icons/components/token/TokenPtSrUsde.d.ts.map +1 -0
  731. package/dist/types/icons/components/token/TokenPyUsd.d.ts +3 -0
  732. package/dist/types/icons/components/token/TokenPyUsd.d.ts.map +1 -0
  733. package/dist/types/icons/components/token/TokenRsEth.d.ts +3 -0
  734. package/dist/types/icons/components/token/TokenRsEth.d.ts.map +1 -0
  735. package/dist/types/icons/components/token/TokenSpUsdg.d.ts +3 -0
  736. package/dist/types/icons/components/token/TokenSpUsdg.d.ts.map +1 -0
  737. package/dist/types/icons/components/token/TokenSrUsde.d.ts +3 -0
  738. package/dist/types/icons/components/token/TokenSrUsde.d.ts.map +1 -0
  739. package/dist/types/icons/components/token/TokenSsv.d.ts +3 -0
  740. package/dist/types/icons/components/token/TokenSsv.d.ts.map +1 -0
  741. package/dist/types/icons/components/token/TokenStrEth.d.ts +3 -0
  742. package/dist/types/icons/components/token/TokenStrEth.d.ts.map +1 -0
  743. package/dist/types/icons/components/token/TokenSyrupUsdc.d.ts +3 -0
  744. package/dist/types/icons/components/token/TokenSyrupUsdc.d.ts.map +1 -0
  745. package/dist/types/icons/components/token/TokenSyrupUsdg.d.ts +3 -0
  746. package/dist/types/icons/components/token/TokenSyrupUsdg.d.ts.map +1 -0
  747. package/dist/types/icons/components/token/TokenSyrupUsdt.d.ts +3 -0
  748. package/dist/types/icons/components/token/TokenSyrupUsdt.d.ts.map +1 -0
  749. package/dist/types/icons/components/token/TokenTree.d.ts +3 -0
  750. package/dist/types/icons/components/token/TokenTree.d.ts.map +1 -0
  751. package/dist/types/icons/components/token/TokenUsdc.d.ts +3 -0
  752. package/dist/types/icons/components/token/TokenUsdc.d.ts.map +1 -0
  753. package/dist/types/icons/components/token/TokenUsde.d.ts +3 -0
  754. package/dist/types/icons/components/token/TokenUsde.d.ts.map +1 -0
  755. package/dist/types/icons/components/token/TokenUsdg.d.ts +3 -0
  756. package/dist/types/icons/components/token/TokenUsdg.d.ts.map +1 -0
  757. package/dist/types/icons/components/token/TokenUsdm.d.ts +3 -0
  758. package/dist/types/icons/components/token/TokenUsdm.d.ts.map +1 -0
  759. package/dist/types/icons/components/token/TokenUsdt.d.ts +3 -0
  760. package/dist/types/icons/components/token/TokenUsdt.d.ts.map +1 -0
  761. package/dist/types/icons/components/token/TokenUsdy.d.ts +3 -0
  762. package/dist/types/icons/components/token/TokenUsdy.d.ts.map +1 -0
  763. package/dist/types/icons/components/token/TokenWEth.d.ts +3 -0
  764. package/dist/types/icons/components/token/TokenWEth.d.ts.map +1 -0
  765. package/dist/types/icons/components/token/TokenYfi.d.ts +3 -0
  766. package/dist/types/icons/components/token/TokenYfi.d.ts.map +1 -0
  767. package/dist/types/icons/components/token/iconsMap.d.ts +37 -37
  768. package/dist/types/icons/components/token/index.d.ts +37 -37
  769. package/dist/types/icons/components/wallets/{Bitget.d.ts → BitGet.d.ts} +1 -1
  770. package/dist/types/icons/components/wallets/BitGet.d.ts.map +1 -0
  771. package/dist/types/icons/components/wallets/Okx.d.ts +3 -0
  772. package/dist/types/icons/components/wallets/Okx.d.ts.map +1 -0
  773. package/dist/types/icons/components/wallets/iconsMap.d.ts +1 -1
  774. package/dist/types/icons/components/wallets/index.d.ts +2 -2
  775. package/dist/types/identicon/Identicon.d.ts +11 -3
  776. package/dist/types/identicon/Identicon.d.ts.map +1 -1
  777. package/dist/types/identicon/index.d.ts +1 -1
  778. package/dist/types/identicon/index.d.ts.map +1 -1
  779. package/dist/types/input/Input.d.ts +10 -0
  780. package/dist/types/input/Input.d.ts.map +1 -1
  781. package/dist/types/message-box/MessageBox.d.ts +8 -1
  782. package/dist/types/message-box/MessageBox.d.ts.map +1 -1
  783. package/dist/types/message-box/index.d.ts +1 -1
  784. package/dist/types/message-box/index.d.ts.map +1 -1
  785. package/dist/types/modal/Modal.d.ts +12 -4
  786. package/dist/types/modal/Modal.d.ts.map +1 -1
  787. package/dist/types/modal/index.d.ts +1 -1
  788. package/dist/types/modal/index.d.ts.map +1 -1
  789. package/dist/types/notification/Notification.d.ts +15 -6
  790. package/dist/types/notification/Notification.d.ts.map +1 -1
  791. package/dist/types/notification/index.d.ts +1 -1
  792. package/dist/types/notification/index.d.ts.map +1 -1
  793. package/dist/types/radio-button/RadioButton.d.ts +7 -0
  794. package/dist/types/radio-button/RadioButton.d.ts.map +1 -1
  795. package/dist/types/radio-button/index.d.ts +1 -1
  796. package/dist/types/radio-button/index.d.ts.map +1 -1
  797. package/dist/types/rich-input/RichInput.d.ts +11 -1
  798. package/dist/types/rich-input/RichInput.d.ts.map +1 -1
  799. package/dist/types/rich-input/index.d.ts +1 -1
  800. package/dist/types/rich-input/index.d.ts.map +1 -1
  801. package/dist/types/section-title/SectionTitle.d.ts +8 -1
  802. package/dist/types/section-title/SectionTitle.d.ts.map +1 -1
  803. package/dist/types/section-title/index.d.ts +1 -1
  804. package/dist/types/section-title/index.d.ts.map +1 -1
  805. package/dist/types/segmented-control/Segment.d.ts +6 -0
  806. package/dist/types/segmented-control/Segment.d.ts.map +1 -1
  807. package/dist/types/segmented-control/SegmentCard.d.ts +9 -0
  808. package/dist/types/segmented-control/SegmentCard.d.ts.map +1 -1
  809. package/dist/types/segmented-control/SegmentedControl.d.ts +9 -4
  810. package/dist/types/segmented-control/SegmentedControl.d.ts.map +1 -1
  811. package/dist/types/segmented-control/SegmentedControlCard.d.ts +9 -4
  812. package/dist/types/segmented-control/SegmentedControlCard.d.ts.map +1 -1
  813. package/dist/types/segmented-control/index.d.ts +4 -4
  814. package/dist/types/segmented-control/index.d.ts.map +1 -1
  815. package/dist/types/slider/Slider.d.ts +6 -0
  816. package/dist/types/slider/Slider.d.ts.map +1 -1
  817. package/dist/types/slider/index.d.ts +1 -1
  818. package/dist/types/slider/index.d.ts.map +1 -1
  819. package/dist/types/small-card/SmallCard.d.ts +11 -1
  820. package/dist/types/small-card/SmallCard.d.ts.map +1 -1
  821. package/dist/types/small-card/index.d.ts +1 -1
  822. package/dist/types/small-card/index.d.ts.map +1 -1
  823. package/dist/types/stat-item/StatItem.d.ts +10 -1
  824. package/dist/types/stat-item/StatItem.d.ts.map +1 -1
  825. package/dist/types/stat-item/index.d.ts +1 -1
  826. package/dist/types/stat-item/index.d.ts.map +1 -1
  827. package/dist/types/switch/Switch.d.ts +7 -0
  828. package/dist/types/switch/Switch.d.ts.map +1 -1
  829. package/dist/types/switch/index.d.ts +1 -1
  830. package/dist/types/switch/index.d.ts.map +1 -1
  831. package/dist/types/tabs/Tab.d.ts +5 -0
  832. package/dist/types/tabs/Tab.d.ts.map +1 -1
  833. package/dist/types/tabs/Tabs.d.ts +9 -4
  834. package/dist/types/tabs/Tabs.d.ts.map +1 -1
  835. package/dist/types/tabs/index.d.ts +2 -2
  836. package/dist/types/tabs/index.d.ts.map +1 -1
  837. package/dist/types/tag/Tag.d.ts +7 -1
  838. package/dist/types/tag/Tag.d.ts.map +1 -1
  839. package/dist/types/tag/index.d.ts +1 -1
  840. package/dist/types/tag/index.d.ts.map +1 -1
  841. package/dist/types/text-link/TextLink.d.ts +6 -1
  842. package/dist/types/text-link/TextLink.d.ts.map +1 -1
  843. package/dist/types/text-link/index.d.ts +1 -1
  844. package/dist/types/text-link/index.d.ts.map +1 -1
  845. package/dist/types/token-amount/TokenAmount.d.ts +9 -4
  846. package/dist/types/token-amount/TokenAmount.d.ts.map +1 -1
  847. package/dist/types/token-selector/TokenSelector.d.ts +17 -4
  848. package/dist/types/token-selector/TokenSelector.d.ts.map +1 -1
  849. package/dist/types/token-selector/index.d.ts +1 -1
  850. package/dist/types/token-selector/index.d.ts.map +1 -1
  851. package/dist/types/tooltip/Tooltip.d.ts +6 -1
  852. package/dist/types/tooltip/Tooltip.d.ts.map +1 -1
  853. package/dist/types/tooltip/index.d.ts +1 -1
  854. package/dist/types/tooltip/index.d.ts.map +1 -1
  855. package/dist/types/tx-status/TxStatus.d.ts +11 -4
  856. package/dist/types/tx-status/TxStatus.d.ts.map +1 -1
  857. package/dist/types/tx-status/index.d.ts +1 -1
  858. package/dist/types/tx-status/index.d.ts.map +1 -1
  859. package/dist/types/typography/Typography.d.ts +5 -1
  860. package/dist/types/typography/Typography.d.ts.map +1 -1
  861. package/package.json +3 -1
  862. package/dist/cjs/_virtual/UniqueIdGeneratorProvider.cjs +0 -8
  863. package/dist/cjs/_virtual/UniqueIdGeneratorProvider.cjs.map +0 -1
  864. package/dist/cjs/_virtual/context.cjs +0 -8
  865. package/dist/cjs/_virtual/context.cjs.map +0 -1
  866. package/dist/cjs/_virtual/index.cjs +0 -10
  867. package/dist/cjs/_virtual/index.cjs.map +0 -1
  868. package/dist/cjs/_virtual/index2.cjs +0 -8
  869. package/dist/cjs/_virtual/index2.cjs.map +0 -1
  870. package/dist/cjs/_virtual/useUniqueInlineId.cjs +0 -8
  871. package/dist/cjs/_virtual/useUniqueInlineId.cjs.map +0 -1
  872. package/dist/cjs/node_modules/@inline-svg-unique-id/react/lib/UniqueIdGeneratorProvider.cjs +0 -64
  873. package/dist/cjs/node_modules/@inline-svg-unique-id/react/lib/UniqueIdGeneratorProvider.cjs.map +0 -1
  874. package/dist/cjs/node_modules/@inline-svg-unique-id/react/lib/context.cjs +0 -34
  875. package/dist/cjs/node_modules/@inline-svg-unique-id/react/lib/context.cjs.map +0 -1
  876. package/dist/cjs/node_modules/@inline-svg-unique-id/react/lib/index.cjs +0 -42
  877. package/dist/cjs/node_modules/@inline-svg-unique-id/react/lib/index.cjs.map +0 -1
  878. package/dist/cjs/node_modules/@inline-svg-unique-id/react/lib/useUniqueInlineId.cjs +0 -83
  879. package/dist/cjs/node_modules/@inline-svg-unique-id/react/lib/useUniqueInlineId.cjs.map +0 -1
  880. package/dist/esm/_virtual/UniqueIdGeneratorProvider.mjs +0 -4
  881. package/dist/esm/_virtual/UniqueIdGeneratorProvider.mjs.map +0 -1
  882. package/dist/esm/_virtual/context.mjs +0 -4
  883. package/dist/esm/_virtual/context.mjs.map +0 -1
  884. package/dist/esm/_virtual/index.mjs +0 -6
  885. package/dist/esm/_virtual/index.mjs.map +0 -1
  886. package/dist/esm/_virtual/index2.mjs +0 -4
  887. package/dist/esm/_virtual/index2.mjs.map +0 -1
  888. package/dist/esm/_virtual/useUniqueInlineId.mjs +0 -4
  889. package/dist/esm/_virtual/useUniqueInlineId.mjs.map +0 -1
  890. package/dist/esm/node_modules/@inline-svg-unique-id/react/lib/UniqueIdGeneratorProvider.mjs +0 -60
  891. package/dist/esm/node_modules/@inline-svg-unique-id/react/lib/UniqueIdGeneratorProvider.mjs.map +0 -1
  892. package/dist/esm/node_modules/@inline-svg-unique-id/react/lib/context.mjs +0 -30
  893. package/dist/esm/node_modules/@inline-svg-unique-id/react/lib/context.mjs.map +0 -1
  894. package/dist/esm/node_modules/@inline-svg-unique-id/react/lib/index.mjs +0 -38
  895. package/dist/esm/node_modules/@inline-svg-unique-id/react/lib/index.mjs.map +0 -1
  896. package/dist/esm/node_modules/@inline-svg-unique-id/react/lib/useUniqueInlineId.mjs +0 -79
  897. package/dist/esm/node_modules/@inline-svg-unique-id/react/lib/useUniqueInlineId.mjs.map +0 -1
  898. package/dist/types/icons/components/chains/MegaETH.d.ts +0 -3
  899. package/dist/types/icons/components/chains/MegaETH.d.ts.map +0 -1
  900. package/dist/types/icons/components/protocols/CAP.d.ts +0 -3
  901. package/dist/types/icons/components/protocols/CAP.d.ts.map +0 -1
  902. package/dist/types/icons/components/token/TokenAAVE.d.ts +0 -3
  903. package/dist/types/icons/components/token/TokenAAVE.d.ts.map +0 -1
  904. package/dist/types/icons/components/token/TokenAUSD.d.ts +0 -3
  905. package/dist/types/icons/components/token/TokenAUSD.d.ts.map +0 -1
  906. package/dist/types/icons/components/token/TokenBTC.d.ts +0 -3
  907. package/dist/types/icons/components/token/TokenBTC.d.ts.map +0 -1
  908. package/dist/types/icons/components/token/TokenCAP.d.ts +0 -3
  909. package/dist/types/icons/components/token/TokenCAP.d.ts.map +0 -1
  910. package/dist/types/icons/components/token/TokenDOT.d.ts +0 -3
  911. package/dist/types/icons/components/token/TokenDOT.d.ts.map +0 -1
  912. package/dist/types/icons/components/token/TokenDVstETH.d.ts +0 -3
  913. package/dist/types/icons/components/token/TokenDVstETH.d.ts.map +0 -1
  914. package/dist/types/icons/components/token/TokenEarnETH.d.ts +0 -3
  915. package/dist/types/icons/components/token/TokenEarnETH.d.ts.map +0 -1
  916. package/dist/types/icons/components/token/TokenEarnUSD.d.ts +0 -3
  917. package/dist/types/icons/components/token/TokenEarnUSD.d.ts.map +0 -1
  918. package/dist/types/icons/components/token/TokenFLEX.d.ts +0 -3
  919. package/dist/types/icons/components/token/TokenFLEX.d.ts.map +0 -1
  920. package/dist/types/icons/components/token/TokenFrxUSD.d.ts +0 -3
  921. package/dist/types/icons/components/token/TokenFrxUSD.d.ts.map +0 -1
  922. package/dist/types/icons/components/token/TokenGG.d.ts +0 -3
  923. package/dist/types/icons/components/token/TokenGG.d.ts.map +0 -1
  924. package/dist/types/icons/components/token/TokenHUMA.d.ts +0 -3
  925. package/dist/types/icons/components/token/TokenHUMA.d.ts.map +0 -1
  926. package/dist/types/icons/components/token/TokenIPOR.d.ts +0 -3
  927. package/dist/types/icons/components/token/TokenIPOR.d.ts.map +0 -1
  928. package/dist/types/icons/components/token/TokenLDO.d.ts +0 -3
  929. package/dist/types/icons/components/token/TokenLDO.d.ts.map +0 -1
  930. package/dist/types/icons/components/token/TokenLlETH.d.ts +0 -3
  931. package/dist/types/icons/components/token/TokenLlETH.d.ts.map +0 -1
  932. package/dist/types/icons/components/token/TokenMORPHO.d.ts +0 -3
  933. package/dist/types/icons/components/token/TokenMORPHO.d.ts.map +0 -1
  934. package/dist/types/icons/components/token/TokenMsUSD.d.ts +0 -3
  935. package/dist/types/icons/components/token/TokenMsUSD.d.ts.map +0 -1
  936. package/dist/types/icons/components/token/TokenOBOL.d.ts +0 -3
  937. package/dist/types/icons/components/token/TokenOBOL.d.ts.map +0 -1
  938. package/dist/types/icons/components/token/TokenPTSrUSDe.d.ts +0 -3
  939. package/dist/types/icons/components/token/TokenPTSrUSDe.d.ts.map +0 -1
  940. package/dist/types/icons/components/token/TokenPyUSD.d.ts +0 -3
  941. package/dist/types/icons/components/token/TokenPyUSD.d.ts.map +0 -1
  942. package/dist/types/icons/components/token/TokenRsETH.d.ts +0 -3
  943. package/dist/types/icons/components/token/TokenRsETH.d.ts.map +0 -1
  944. package/dist/types/icons/components/token/TokenSSV.d.ts +0 -3
  945. package/dist/types/icons/components/token/TokenSSV.d.ts.map +0 -1
  946. package/dist/types/icons/components/token/TokenSpUSDG.d.ts +0 -3
  947. package/dist/types/icons/components/token/TokenSpUSDG.d.ts.map +0 -1
  948. package/dist/types/icons/components/token/TokenSrUSDe.d.ts +0 -3
  949. package/dist/types/icons/components/token/TokenSrUSDe.d.ts.map +0 -1
  950. package/dist/types/icons/components/token/TokenStrETH.d.ts +0 -3
  951. package/dist/types/icons/components/token/TokenStrETH.d.ts.map +0 -1
  952. package/dist/types/icons/components/token/TokenSyrupUSDC.d.ts +0 -3
  953. package/dist/types/icons/components/token/TokenSyrupUSDC.d.ts.map +0 -1
  954. package/dist/types/icons/components/token/TokenSyrupUSDG.d.ts +0 -3
  955. package/dist/types/icons/components/token/TokenSyrupUSDG.d.ts.map +0 -1
  956. package/dist/types/icons/components/token/TokenSyrupUSDT.d.ts +0 -3
  957. package/dist/types/icons/components/token/TokenSyrupUSDT.d.ts.map +0 -1
  958. package/dist/types/icons/components/token/TokenTREE.d.ts +0 -3
  959. package/dist/types/icons/components/token/TokenTREE.d.ts.map +0 -1
  960. package/dist/types/icons/components/token/TokenUSDC.d.ts +0 -3
  961. package/dist/types/icons/components/token/TokenUSDC.d.ts.map +0 -1
  962. package/dist/types/icons/components/token/TokenUSDG.d.ts +0 -3
  963. package/dist/types/icons/components/token/TokenUSDG.d.ts.map +0 -1
  964. package/dist/types/icons/components/token/TokenUSDM.d.ts +0 -3
  965. package/dist/types/icons/components/token/TokenUSDM.d.ts.map +0 -1
  966. package/dist/types/icons/components/token/TokenUSDT.d.ts +0 -3
  967. package/dist/types/icons/components/token/TokenUSDT.d.ts.map +0 -1
  968. package/dist/types/icons/components/token/TokenUSDY.d.ts +0 -3
  969. package/dist/types/icons/components/token/TokenUSDY.d.ts.map +0 -1
  970. package/dist/types/icons/components/token/TokenUSDe.d.ts +0 -3
  971. package/dist/types/icons/components/token/TokenUSDe.d.ts.map +0 -1
  972. package/dist/types/icons/components/token/TokenWETH.d.ts +0 -3
  973. package/dist/types/icons/components/token/TokenWETH.d.ts.map +0 -1
  974. package/dist/types/icons/components/token/TokenYFI.d.ts +0 -3
  975. package/dist/types/icons/components/token/TokenYFI.d.ts.map +0 -1
  976. package/dist/types/icons/components/wallets/Bitget.d.ts.map +0 -1
  977. package/dist/types/icons/components/wallets/OKX.d.ts +0 -3
  978. package/dist/types/icons/components/wallets/OKX.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.mjs","sources":["../../../src/switch/Switch.tsx"],"sourcesContent":["import { forwardRef, type InputHTMLAttributes, type ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport styles from './Switch.module.css'\n\nexport type SwitchProps = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'type'\n> & {\n label?: ReactNode\n}\n\nexport const Switch = forwardRef<HTMLInputElement, SwitchProps>(\n ({ label, className, disabled, ...rest }, ref) => (\n <label\n className={cn(styles.container, className, {\n [styles.containerDisabled]: disabled,\n })}\n >\n <span className={styles.control}>\n <input\n ref={ref}\n type='checkbox'\n role='switch'\n className={styles.input}\n disabled={disabled}\n {...rest}\n />\n <span className={styles.knob} />\n </span>\n {label ? (\n <span\n className={cn(styles.label, { [styles.labelDisabled]: disabled })}\n >\n {label}\n </span>\n ) : null}\n </label>\n ),\n)\n\nSwitch.displayName = 'Switch'\n"],"names":["Switch","forwardRef","_ref","ref","label","className","disabled","rest","_jsxs","cn","styles","container","containerDisabled","children","control","_jsx","type","role","input","knob","labelDisabled","displayName"],"mappings":";;;;;AAaO,MAAMA,MAAM,gBAAGC,UAAU,CAC9B,CAAAC,IAAA,EAA0CC,GAAG,KAAA;EAAA,IAA5C;IAAEC,KAAK;IAAEC,SAAS;IAAEC,QAAQ;IAAE,GAAGC,IAAAA;AAAK,GAAC,GAAAL,IAAA,CAAA;AAAA,EAAA,oBACtCM,IAAA,CAAA,OAAA,EAAA;IACEH,SAAS,EAAEI,EAAE,CAACC,MAAM,CAACC,SAAS,EAAEN,SAAS,EAAE;MACzC,CAACK,MAAM,CAACE,iBAAiB,GAAGN,QAAAA;AAC9B,KAAC,CAAE;AAAAO,IAAAA,QAAA,gBAEHL,IAAA,CAAA,MAAA,EAAA;MAAMH,SAAS,EAAEK,MAAM,CAACI,OAAQ;AAAAD,MAAAA,QAAA,gBAC9BE,GAAA,CAAA,OAAA,EAAA;AACEZ,QAAAA,GAAG,EAAEA,GAAI;AACTa,QAAAA,IAAI,EAAC,UAAU;AACfC,QAAAA,IAAI,EAAC,QAAQ;QACbZ,SAAS,EAAEK,MAAM,CAACQ,KAAM;AACxBZ,QAAAA,QAAQ,EAAEA,QAAS;QAAA,GACfC,IAAAA;OACL,CAAC,eACFQ,GAAA,CAAA,MAAA,EAAA;QAAMV,SAAS,EAAEK,MAAM,CAACS,IAAAA;AAAK,OAAE,CAAC,CAAA;AAAA,KAC5B,CAAC,EACNf,KAAK,gBACJW,GAAA,CAAA,MAAA,EAAA;AACEV,MAAAA,SAAS,EAAEI,EAAE,CAACC,MAAM,CAACN,KAAK,EAAE;QAAE,CAACM,MAAM,CAACU,aAAa,GAAGd,QAAAA;AAAS,OAAC,CAAE;AAAAO,MAAAA,QAAA,EAEjET,KAAAA;KACG,CAAC,GACL,IAAI,CAAA;AAAA,GACH,CAAC,CAAA;AAAA,CAEZ,EAAC;AAEDJ,MAAM,CAACqB,WAAW,GAAG,QAAQ;;;;"}
1
+ {"version":3,"file":"Switch.mjs","sources":["../../../src/switch/Switch.tsx"],"sourcesContent":["import { forwardRef, type InputHTMLAttributes, type ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport styles from './Switch.module.css'\n\nexport type SwitchDataTestId = {\n root?: string\n input?: string\n label?: string\n}\n\nexport type SwitchProps = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'type'\n> & {\n label?: ReactNode\n dataTestId?: SwitchDataTestId\n}\n\nexport const Switch = forwardRef<HTMLInputElement, SwitchProps>(\n ({ label, className, disabled, dataTestId, ...rest }, ref) => (\n <label\n className={cn(styles.container, className, {\n [styles.containerDisabled]: disabled,\n })}\n data-testid={dataTestId?.root}\n >\n <span className={styles.control}>\n <input\n ref={ref}\n type='checkbox'\n role='switch'\n className={styles.input}\n disabled={disabled}\n data-testid={dataTestId?.input}\n {...rest}\n />\n <span className={styles.knob} />\n </span>\n {label ? (\n <span\n className={cn(styles.label, { [styles.labelDisabled]: disabled })}\n data-testid={dataTestId?.label}\n >\n {label}\n </span>\n ) : null}\n </label>\n ),\n)\n\nSwitch.displayName = 'Switch'\n"],"names":["Switch","forwardRef","_ref","ref","label","className","disabled","dataTestId","rest","_jsxs","cn","styles","container","containerDisabled","root","children","control","_jsx","type","role","input","knob","labelDisabled","displayName"],"mappings":";;;;;AAoBO,MAAMA,MAAM,gBAAGC,UAAU,CAC9B,CAAAC,IAAA,EAAsDC,GAAG,KAAA;EAAA,IAAxD;IAAEC,KAAK;IAAEC,SAAS;IAAEC,QAAQ;IAAEC,UAAU;IAAE,GAAGC,IAAAA;AAAK,GAAC,GAAAN,IAAA,CAAA;AAAA,EAAA,oBAClDO,IAAA,CAAA,OAAA,EAAA;IACEJ,SAAS,EAAEK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAEP,SAAS,EAAE;MACzC,CAACM,MAAM,CAACE,iBAAiB,GAAGP,QAAAA;AAC9B,KAAC,CAAE;IACH,aAAaC,EAAAA,UAAU,EAAEO,IAAK;AAAAC,IAAAA,QAAA,gBAE9BN,IAAA,CAAA,MAAA,EAAA;MAAMJ,SAAS,EAAEM,MAAM,CAACK,OAAQ;AAAAD,MAAAA,QAAA,gBAC9BE,GAAA,CAAA,OAAA,EAAA;AACEd,QAAAA,GAAG,EAAEA,GAAI;AACTe,QAAAA,IAAI,EAAC,UAAU;AACfC,QAAAA,IAAI,EAAC,QAAQ;QACbd,SAAS,EAAEM,MAAM,CAACS,KAAM;AACxBd,QAAAA,QAAQ,EAAEA,QAAS;QACnB,aAAaC,EAAAA,UAAU,EAAEa,KAAM;QAAA,GAC3BZ,IAAAA;OACL,CAAC,eACFS,GAAA,CAAA,MAAA,EAAA;QAAMZ,SAAS,EAAEM,MAAM,CAACU,IAAAA;AAAK,OAAE,CAAC,CAAA;AAAA,KAC5B,CAAC,EACNjB,KAAK,gBACJa,GAAA,CAAA,MAAA,EAAA;AACEZ,MAAAA,SAAS,EAAEK,EAAE,CAACC,MAAM,CAACP,KAAK,EAAE;QAAE,CAACO,MAAM,CAACW,aAAa,GAAGhB,QAAAA;AAAS,OAAC,CAAE;MAClE,aAAaC,EAAAA,UAAU,EAAEH,KAAM;AAAAW,MAAAA,QAAA,EAE9BX,KAAAA;KACG,CAAC,GACL,IAAI,CAAA;AAAA,GACH,CAAC,CAAA;AAAA,CAEZ,EAAC;AAEDJ,MAAM,CAACuB,WAAW,GAAG,QAAQ;;;;"}
@@ -9,6 +9,7 @@ const Tab = /*#__PURE__*/forwardRef((_ref, ref) => {
9
9
  className,
10
10
  children,
11
11
  type = 'button',
12
+ dataTestId,
12
13
  ...rest
13
14
  } = _ref;
14
15
  return /*#__PURE__*/jsx("button", {
@@ -17,6 +18,7 @@ const Tab = /*#__PURE__*/forwardRef((_ref, ref) => {
17
18
  role: "tab",
18
19
  "aria-selected": active,
19
20
  className: cn(styles.tab, active && styles.active, className),
21
+ "data-testid": dataTestId?.root,
20
22
  ...rest,
21
23
  children: children
22
24
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.mjs","sources":["../../../src/tabs/Tab.tsx"],"sourcesContent":["import { forwardRef, type ButtonHTMLAttributes } from 'react'\n\nimport cn from 'classnames'\n\nimport styles from './Tab.module.css'\n\nexport type TabProps = ButtonHTMLAttributes<HTMLButtonElement> & {\n active?: boolean\n}\n\nexport const Tab = forwardRef<HTMLButtonElement, TabProps>(\n ({ active = false, className, children, type = 'button', ...rest }, ref) => (\n <button\n ref={ref}\n type={type}\n role='tab'\n aria-selected={active}\n className={cn(styles.tab, active && styles.active, className)}\n {...rest}\n >\n {children}\n </button>\n ),\n)\n\nTab.displayName = 'Tab'\n"],"names":["Tab","forwardRef","_ref","ref","active","className","children","type","rest","_jsx","role","cn","styles","tab","displayName"],"mappings":";;;;;AAUO,MAAMA,GAAG,gBAAGC,UAAU,CAC3B,CAAAC,IAAA,EAAoEC,GAAG,KAAA;EAAA,IAAtE;AAAEC,IAAAA,MAAM,GAAG,KAAK;IAAEC,SAAS;IAAEC,QAAQ;AAAEC,IAAAA,IAAI,GAAG,QAAQ;IAAE,GAAGC,IAAAA;AAAK,GAAC,GAAAN,IAAA,CAAA;AAAA,EAAA,oBAChEO,GAAA,CAAA,QAAA,EAAA;AACEN,IAAAA,GAAG,EAAEA,GAAI;AACTI,IAAAA,IAAI,EAAEA,IAAK;AACXG,IAAAA,IAAI,EAAC,KAAK;AACV,IAAA,eAAA,EAAeN,MAAO;AACtBC,IAAAA,SAAS,EAAEM,EAAE,CAACC,MAAM,CAACC,GAAG,EAAET,MAAM,IAAIQ,MAAM,CAACR,MAAM,EAAEC,SAAS,CAAE;AAAA,IAAA,GAC1DG,IAAI;AAAAF,IAAAA,QAAA,EAEPA,QAAAA;AAAQ,GACH,CAAC,CAAA;AAAA,CAEb,EAAC;AAEDN,GAAG,CAACc,WAAW,GAAG,KAAK;;;;"}
1
+ {"version":3,"file":"Tab.mjs","sources":["../../../src/tabs/Tab.tsx"],"sourcesContent":["import { forwardRef, type ButtonHTMLAttributes } from 'react'\n\nimport cn from 'classnames'\n\nimport styles from './Tab.module.css'\n\nexport type TabDataTestId = {\n root?: string\n}\n\nexport type TabProps = ButtonHTMLAttributes<HTMLButtonElement> & {\n active?: boolean\n dataTestId?: TabDataTestId\n}\n\nexport const Tab = forwardRef<HTMLButtonElement, TabProps>(\n (\n {\n active = false,\n className,\n children,\n type = 'button',\n dataTestId,\n ...rest\n },\n ref,\n ) => (\n <button\n ref={ref}\n type={type}\n role='tab'\n aria-selected={active}\n className={cn(styles.tab, active && styles.active, className)}\n data-testid={dataTestId?.root}\n {...rest}\n >\n {children}\n </button>\n ),\n)\n\nTab.displayName = 'Tab'\n"],"names":["Tab","forwardRef","_ref","ref","active","className","children","type","dataTestId","rest","_jsx","role","cn","styles","tab","root","displayName"],"mappings":";;;;;AAeO,MAAMA,GAAG,gBAAGC,UAAU,CAC3B,CAAAC,IAAA,EASEC,GAAG,KAAA;EAAA,IARH;AACEC,IAAAA,MAAM,GAAG,KAAK;IACdC,SAAS;IACTC,QAAQ;AACRC,IAAAA,IAAI,GAAG,QAAQ;IACfC,UAAU;IACV,GAAGC,IAAAA;AACL,GAAC,GAAAP,IAAA,CAAA;AAAA,EAAA,oBAGDQ,GAAA,CAAA,QAAA,EAAA;AACEP,IAAAA,GAAG,EAAEA,GAAI;AACTI,IAAAA,IAAI,EAAEA,IAAK;AACXI,IAAAA,IAAI,EAAC,KAAK;AACV,IAAA,eAAA,EAAeP,MAAO;AACtBC,IAAAA,SAAS,EAAEO,EAAE,CAACC,MAAM,CAACC,GAAG,EAAEV,MAAM,IAAIS,MAAM,CAACT,MAAM,EAAEC,SAAS,CAAE;IAC9D,aAAaG,EAAAA,UAAU,EAAEO,IAAK;AAAA,IAAA,GAC1BN,IAAI;AAAAH,IAAAA,QAAA,EAEPA,QAAAA;AAAQ,GACH,CAAC,CAAA;AAAA,CAEb,EAAC;AAEDN,GAAG,CAACgB,WAAW,GAAG,KAAK;;;;"}
@@ -9,7 +9,9 @@ const Tabs = _ref => {
9
9
  items,
10
10
  value,
11
11
  onChange,
12
- className
12
+ className,
13
+ dataTestId,
14
+ ...rest
13
15
  } = _ref;
14
16
  const containerRef = useRef(null);
15
17
  const activeButtonRef = useRef(null);
@@ -39,6 +41,8 @@ const Tabs = _ref => {
39
41
  ref: containerRef,
40
42
  role: "tablist",
41
43
  className: cn(styles.tabs, className),
44
+ "data-testid": dataTestId?.root,
45
+ ...rest,
42
46
  children: [/*#__PURE__*/jsx("div", {
43
47
  ref: selectionRef,
44
48
  "aria-hidden": "true",
@@ -49,6 +53,7 @@ const Tabs = _ref => {
49
53
  ref: active ? activeButtonRef : undefined,
50
54
  active: active,
51
55
  disabled: item.disabled,
56
+ dataTestId: item.dataTestId,
52
57
  onClick: () => {
53
58
  if (item.value !== value) onChange(item.value);
54
59
  },
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.mjs","sources":["../../../src/tabs/Tabs.tsx"],"sourcesContent":["import { useLayoutEffect, useRef, useState, type ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport { Tab } from './Tab'\nimport styles from './Tabs.module.css'\n\nexport type TabItem = {\n value: string\n label: ReactNode\n disabled?: boolean\n}\n\nexport type TabsProps = {\n items: TabItem[]\n value: string\n onChange: (value: string) => void\n className?: string\n}\n\nexport const Tabs = ({ items, value, onChange, className }: TabsProps) => {\n const containerRef = useRef<HTMLDivElement>(null)\n const activeButtonRef = useRef<HTMLButtonElement>(null)\n const selectionRef = useRef<HTMLDivElement>(null)\n // Skip the transition on the first measurement so the bar doesn't fly in from 0,0.\n const [animated, setAnimated] = useState(false)\n\n useLayoutEffect(() => {\n const updateSelection = () => {\n const button = activeButtonRef.current\n const container = containerRef.current\n const selection = selectionRef.current\n if (!button || !container || !selection) return\n\n const buttonRect = button.getBoundingClientRect()\n const containerRect = container.getBoundingClientRect()\n const x = buttonRect.left - containerRect.left\n\n selection.style.width = `${buttonRect.width}px`\n selection.style.transform = `translateX(${x}px)`\n }\n\n updateSelection()\n setAnimated(true)\n\n window.addEventListener('resize', updateSelection)\n return () => {\n window.removeEventListener('resize', updateSelection)\n }\n }, [value, items])\n\n return (\n <div\n ref={containerRef}\n role='tablist'\n className={cn(styles.tabs, className)}\n >\n <div\n ref={selectionRef}\n aria-hidden='true'\n className={cn(styles.selection, animated && styles.animated)}\n />\n {items.map((item) => {\n const active = item.value === value\n return (\n <Tab\n key={item.value}\n ref={active ? activeButtonRef : undefined}\n active={active}\n disabled={item.disabled}\n onClick={() => {\n if (item.value !== value) onChange(item.value)\n }}\n >\n {item.label}\n </Tab>\n )\n })}\n </div>\n )\n}\n"],"names":["Tabs","_ref","items","value","onChange","className","containerRef","useRef","activeButtonRef","selectionRef","animated","setAnimated","useState","useLayoutEffect","updateSelection","button","current","container","selection","buttonRect","getBoundingClientRect","containerRect","x","left","style","width","transform","window","addEventListener","removeEventListener","_jsxs","ref","role","cn","styles","tabs","children","_jsx","map","item","active","Tab","undefined","disabled","onClick","label"],"mappings":"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"}
1
+ {"version":3,"file":"Tabs.mjs","sources":["../../../src/tabs/Tabs.tsx"],"sourcesContent":["import {\n useLayoutEffect,\n useRef,\n useState,\n type ComponentPropsWithoutRef,\n type ReactNode,\n} from 'react'\n\nimport cn from 'classnames'\n\nimport { Tab, type TabDataTestId } from './Tab'\nimport styles from './Tabs.module.css'\n\nexport type TabsDataTestId = {\n root?: string\n}\n\nexport type TabItem = {\n value: string\n label: ReactNode\n disabled?: boolean\n dataTestId?: TabDataTestId\n}\n\nexport type TabsProps = Omit<ComponentPropsWithoutRef<'div'>, 'onChange'> & {\n items: TabItem[]\n value: string\n onChange: (value: string) => void\n dataTestId?: TabsDataTestId\n}\n\nexport const Tabs = ({\n items,\n value,\n onChange,\n className,\n dataTestId,\n ...rest\n}: TabsProps) => {\n const containerRef = useRef<HTMLDivElement>(null)\n const activeButtonRef = useRef<HTMLButtonElement>(null)\n const selectionRef = useRef<HTMLDivElement>(null)\n // Skip the transition on the first measurement so the bar doesn't fly in from 0,0.\n const [animated, setAnimated] = useState(false)\n\n useLayoutEffect(() => {\n const updateSelection = () => {\n const button = activeButtonRef.current\n const container = containerRef.current\n const selection = selectionRef.current\n if (!button || !container || !selection) return\n\n const buttonRect = button.getBoundingClientRect()\n const containerRect = container.getBoundingClientRect()\n const x = buttonRect.left - containerRect.left\n\n selection.style.width = `${buttonRect.width}px`\n selection.style.transform = `translateX(${x}px)`\n }\n\n updateSelection()\n setAnimated(true)\n\n window.addEventListener('resize', updateSelection)\n return () => {\n window.removeEventListener('resize', updateSelection)\n }\n }, [value, items])\n\n return (\n <div\n ref={containerRef}\n role='tablist'\n className={cn(styles.tabs, className)}\n data-testid={dataTestId?.root}\n {...rest}\n >\n <div\n ref={selectionRef}\n aria-hidden='true'\n className={cn(styles.selection, animated && styles.animated)}\n />\n {items.map((item) => {\n const active = item.value === value\n return (\n <Tab\n key={item.value}\n ref={active ? activeButtonRef : undefined}\n active={active}\n disabled={item.disabled}\n dataTestId={item.dataTestId}\n onClick={() => {\n if (item.value !== value) onChange(item.value)\n }}\n >\n {item.label}\n </Tab>\n )\n })}\n </div>\n )\n}\n"],"names":["Tabs","_ref","items","value","onChange","className","dataTestId","rest","containerRef","useRef","activeButtonRef","selectionRef","animated","setAnimated","useState","useLayoutEffect","updateSelection","button","current","container","selection","buttonRect","getBoundingClientRect","containerRect","x","left","style","width","transform","window","addEventListener","removeEventListener","_jsxs","ref","role","cn","styles","tabs","root","children","_jsx","map","item","active","Tab","undefined","disabled","onClick","label"],"mappings":"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"}
@@ -10,20 +10,24 @@ const Tag = _ref => {
10
10
  onClose,
11
11
  className,
12
12
  children,
13
+ dataTestId,
13
14
  ...rest
14
15
  } = _ref;
15
16
  return /*#__PURE__*/jsxs("span", {
16
17
  className: cn(styles.tag, styles[variant], className),
18
+ "data-testid": dataTestId?.root,
17
19
  ...rest,
18
20
  children: [icon != null ? /*#__PURE__*/jsx("span", {
19
21
  className: styles.icon,
20
22
  "aria-hidden": "true",
23
+ "data-testid": dataTestId?.icon,
21
24
  children: icon
22
25
  }) : null, children, onClose ? /*#__PURE__*/jsx("button", {
23
26
  type: "button",
24
27
  className: styles.closeButton,
25
28
  "aria-label": "Remove",
26
29
  onClick: onClose,
30
+ "data-testid": dataTestId?.closeButton,
27
31
  children: /*#__PURE__*/jsx(IconCross, {
28
32
  "aria-hidden": "true"
29
33
  })
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.mjs","sources":["../../../src/tag/Tag.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport { IconCross } from '../icons'\nimport styles from './Tag.module.css'\n\nexport type TagVariant =\n | 'default'\n | 'neutral'\n | 'success'\n | 'warning'\n | 'error'\n | 'info'\n | 'active'\n | 'action'\n\nexport type TagProps = HTMLAttributes<HTMLSpanElement> & {\n variant?: TagVariant\n icon?: ReactNode\n onClose?: () => void\n}\n\nexport const Tag = ({\n variant = 'default',\n icon,\n onClose,\n className,\n children,\n ...rest\n}: TagProps) => (\n <span className={cn(styles.tag, styles[variant], className)} {...rest}>\n {icon != null ? (\n <span className={styles.icon} aria-hidden='true'>\n {icon}\n </span>\n ) : null}\n {children}\n {onClose ? (\n <button\n type='button'\n className={styles.closeButton}\n aria-label='Remove'\n onClick={onClose}\n >\n <IconCross aria-hidden='true' />\n </button>\n ) : null}\n </span>\n)\n"],"names":["Tag","_ref","variant","icon","onClose","className","children","rest","_jsxs","cn","styles","tag","_jsx","type","closeButton","onClick","IconCross"],"mappings":";;;;;AAuBO,MAAMA,GAAG,GAAGC,IAAA,IAAA;EAAA,IAAC;AAClBC,IAAAA,OAAO,GAAG,SAAS;IACnBC,IAAI;IACJC,OAAO;IACPC,SAAS;IACTC,QAAQ;IACR,GAAGC,IAAAA;AACK,GAAC,GAAAN,IAAA,CAAA;AAAA,EAAA,oBACTO,IAAA,CAAA,MAAA,EAAA;AAAMH,IAAAA,SAAS,EAAEI,EAAE,CAACC,MAAM,CAACC,GAAG,EAAED,MAAM,CAACR,OAAO,CAAC,EAAEG,SAAS,CAAE;AAAA,IAAA,GAAKE,IAAI;AAAAD,IAAAA,QAAA,EAClEH,CAAAA,IAAI,IAAI,IAAI,gBACXS,GAAA,CAAA,MAAA,EAAA;MAAMP,SAAS,EAAEK,MAAM,CAACP,IAAK;AAAC,MAAA,aAAA,EAAY,MAAM;AAAAG,MAAAA,QAAA,EAC7CH,IAAAA;KACG,CAAC,GACL,IAAI,EACPG,QAAQ,EACRF,OAAO,gBACNQ,GAAA,CAAA,QAAA,EAAA;AACEC,MAAAA,IAAI,EAAC,QAAQ;MACbR,SAAS,EAAEK,MAAM,CAACI,WAAY;AAC9B,MAAA,YAAA,EAAW,QAAQ;AACnBC,MAAAA,OAAO,EAAEX,OAAQ;MAAAE,QAAA,eAEjBM,GAAA,CAACI,SAAS,EAAA;QAAC,aAAY,EAAA,MAAA;OAAQ,CAAA;KACzB,CAAC,GACP,IAAI,CAAA;AAAA,GACJ,CAAC,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"Tag.mjs","sources":["../../../src/tag/Tag.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport { IconCross } from '../icons'\nimport styles from './Tag.module.css'\n\nexport type TagVariant =\n | 'default'\n | 'neutral'\n | 'success'\n | 'warning'\n | 'error'\n | 'info'\n | 'active'\n | 'action'\n\nexport type TagDataTestId = {\n root?: string\n icon?: string\n closeButton?: string\n}\n\nexport type TagProps = HTMLAttributes<HTMLSpanElement> & {\n variant?: TagVariant\n icon?: ReactNode\n onClose?: () => void\n dataTestId?: TagDataTestId\n}\n\nexport const Tag = ({\n variant = 'default',\n icon,\n onClose,\n className,\n children,\n dataTestId,\n ...rest\n}: TagProps) => (\n <span\n className={cn(styles.tag, styles[variant], className)}\n data-testid={dataTestId?.root}\n {...rest}\n >\n {icon != null ? (\n <span\n className={styles.icon}\n aria-hidden='true'\n data-testid={dataTestId?.icon}\n >\n {icon}\n </span>\n ) : null}\n {children}\n {onClose ? (\n <button\n type='button'\n className={styles.closeButton}\n aria-label='Remove'\n onClick={onClose}\n data-testid={dataTestId?.closeButton}\n >\n <IconCross aria-hidden='true' />\n </button>\n ) : null}\n </span>\n)\n"],"names":["Tag","_ref","variant","icon","onClose","className","children","dataTestId","rest","_jsxs","cn","styles","tag","root","_jsx","type","closeButton","onClick","IconCross"],"mappings":";;;;;AA8BO,MAAMA,GAAG,GAAGC,IAAA,IAAA;EAAA,IAAC;AAClBC,IAAAA,OAAO,GAAG,SAAS;IACnBC,IAAI;IACJC,OAAO;IACPC,SAAS;IACTC,QAAQ;IACRC,UAAU;IACV,GAAGC,IAAAA;AACK,GAAC,GAAAP,IAAA,CAAA;AAAA,EAAA,oBACTQ,IAAA,CAAA,MAAA,EAAA;AACEJ,IAAAA,SAAS,EAAEK,EAAE,CAACC,MAAM,CAACC,GAAG,EAAED,MAAM,CAACT,OAAO,CAAC,EAAEG,SAAS,CAAE;IACtD,aAAaE,EAAAA,UAAU,EAAEM,IAAK;AAAA,IAAA,GAC1BL,IAAI;AAAAF,IAAAA,QAAA,EAEPH,CAAAA,IAAI,IAAI,IAAI,gBACXW,GAAA,CAAA,MAAA,EAAA;MACET,SAAS,EAAEM,MAAM,CAACR,IAAK;AACvB,MAAA,aAAA,EAAY,MAAM;MAClB,aAAaI,EAAAA,UAAU,EAAEJ,IAAK;AAAAG,MAAAA,QAAA,EAE7BH,IAAAA;KACG,CAAC,GACL,IAAI,EACPG,QAAQ,EACRF,OAAO,gBACNU,GAAA,CAAA,QAAA,EAAA;AACEC,MAAAA,IAAI,EAAC,QAAQ;MACbV,SAAS,EAAEM,MAAM,CAACK,WAAY;AAC9B,MAAA,YAAA,EAAW,QAAQ;AACnBC,MAAAA,OAAO,EAAEb,OAAQ;MACjB,aAAaG,EAAAA,UAAU,EAAES,WAAY;MAAAV,QAAA,eAErCQ,GAAA,CAACI,SAAS,EAAA;QAAC,aAAY,EAAA,MAAA;OAAQ,CAAA;KACzB,CAAC,GACP,IAAI,CAAA;AAAA,GACJ,CAAC,CAAA;AAAA;;;;"}
@@ -13,6 +13,7 @@ const TextLink = _ref => {
13
13
  rel,
14
14
  href,
15
15
  onClick,
16
+ dataTestId,
16
17
  ...rest
17
18
  } = _ref;
18
19
  return /*#__PURE__*/jsxs("a", {
@@ -23,10 +24,12 @@ const TextLink = _ref => {
23
24
  "aria-disabled": disabled || undefined,
24
25
  tabIndex: disabled ? -1 : undefined,
25
26
  onClick: disabled ? undefined : onClick,
27
+ "data-testid": dataTestId?.root,
26
28
  ...rest,
27
29
  children: [children, icon != null ? /*#__PURE__*/jsx("span", {
28
30
  className: styles.icon,
29
31
  "aria-hidden": "true",
32
+ "data-testid": dataTestId?.icon,
30
33
  children: icon
31
34
  }) : null]
32
35
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TextLink.mjs","sources":["../../../src/text-link/TextLink.tsx"],"sourcesContent":["import type { AnchorHTMLAttributes, ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport styles from './TextLink.module.css'\n\nexport type TextLinkProps = AnchorHTMLAttributes<HTMLAnchorElement> & {\n icon?: ReactNode\n external?: boolean\n disabled?: boolean\n}\n\nexport const TextLink = ({\n icon,\n external = false,\n disabled = false,\n className,\n children,\n target,\n rel,\n href,\n onClick,\n ...rest\n}: TextLinkProps) => (\n <a\n className={cn(styles.link, className)}\n target={target ?? (external ? '_blank' : undefined)}\n rel={rel ?? (external ? 'noopener noreferrer' : undefined)}\n href={disabled ? undefined : href}\n aria-disabled={disabled || undefined}\n tabIndex={disabled ? -1 : undefined}\n onClick={disabled ? undefined : onClick}\n {...rest}\n >\n {children}\n {icon != null ? (\n <span className={styles.icon} aria-hidden='true'>\n {icon}\n </span>\n ) : null}\n </a>\n)\n"],"names":["TextLink","_ref","icon","external","disabled","className","children","target","rel","href","onClick","rest","_jsxs","cn","styles","link","undefined","tabIndex","_jsx"],"mappings":";;;;AAYO,MAAMA,QAAQ,GAAGC,IAAA,IAAA;EAAA,IAAC;IACvBC,IAAI;AACJC,IAAAA,QAAQ,GAAG,KAAK;AAChBC,IAAAA,QAAQ,GAAG,KAAK;IAChBC,SAAS;IACTC,QAAQ;IACRC,MAAM;IACNC,GAAG;IACHC,IAAI;IACJC,OAAO;IACP,GAAGC,IAAAA;AACU,GAAC,GAAAV,IAAA,CAAA;AAAA,EAAA,oBACdW,IAAA,CAAA,GAAA,EAAA;IACEP,SAAS,EAAEQ,EAAE,CAACC,MAAM,CAACC,IAAI,EAAEV,SAAS,CAAE;IACtCE,MAAM,EAAEA,MAAM,KAAKJ,QAAQ,GAAG,QAAQ,GAAGa,SAAS,CAAE;IACpDR,GAAG,EAAEA,GAAG,KAAKL,QAAQ,GAAG,qBAAqB,GAAGa,SAAS,CAAE;AAC3DP,IAAAA,IAAI,EAAEL,QAAQ,GAAGY,SAAS,GAAGP,IAAK;IAClC,eAAeL,EAAAA,QAAQ,IAAIY,SAAU;AACrCC,IAAAA,QAAQ,EAAEb,QAAQ,GAAG,CAAC,CAAC,GAAGY,SAAU;AACpCN,IAAAA,OAAO,EAAEN,QAAQ,GAAGY,SAAS,GAAGN,OAAQ;AAAA,IAAA,GACpCC,IAAI;AAAAL,IAAAA,QAAA,GAEPA,QAAQ,EACRJ,IAAI,IAAI,IAAI,gBACXgB,GAAA,CAAA,MAAA,EAAA;MAAMb,SAAS,EAAES,MAAM,CAACZ,IAAK;AAAC,MAAA,aAAA,EAAY,MAAM;AAAAI,MAAAA,QAAA,EAC7CJ,IAAAA;KACG,CAAC,GACL,IAAI,CAAA;AAAA,GACP,CAAC,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"TextLink.mjs","sources":["../../../src/text-link/TextLink.tsx"],"sourcesContent":["import type { AnchorHTMLAttributes, ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport styles from './TextLink.module.css'\n\nexport type TextLinkDataTestId = {\n root?: string\n icon?: string\n}\n\nexport type TextLinkProps = AnchorHTMLAttributes<HTMLAnchorElement> & {\n icon?: ReactNode\n external?: boolean\n disabled?: boolean\n dataTestId?: TextLinkDataTestId\n}\n\nexport const TextLink = ({\n icon,\n external = false,\n disabled = false,\n className,\n children,\n target,\n rel,\n href,\n onClick,\n dataTestId,\n ...rest\n}: TextLinkProps) => (\n <a\n className={cn(styles.link, className)}\n target={target ?? (external ? '_blank' : undefined)}\n rel={rel ?? (external ? 'noopener noreferrer' : undefined)}\n href={disabled ? undefined : href}\n aria-disabled={disabled || undefined}\n tabIndex={disabled ? -1 : undefined}\n onClick={disabled ? undefined : onClick}\n data-testid={dataTestId?.root}\n {...rest}\n >\n {children}\n {icon != null ? (\n <span\n className={styles.icon}\n aria-hidden='true'\n data-testid={dataTestId?.icon}\n >\n {icon}\n </span>\n ) : null}\n </a>\n)\n"],"names":["TextLink","_ref","icon","external","disabled","className","children","target","rel","href","onClick","dataTestId","rest","_jsxs","cn","styles","link","undefined","tabIndex","root","_jsx"],"mappings":";;;;AAkBO,MAAMA,QAAQ,GAAGC,IAAA,IAAA;EAAA,IAAC;IACvBC,IAAI;AACJC,IAAAA,QAAQ,GAAG,KAAK;AAChBC,IAAAA,QAAQ,GAAG,KAAK;IAChBC,SAAS;IACTC,QAAQ;IACRC,MAAM;IACNC,GAAG;IACHC,IAAI;IACJC,OAAO;IACPC,UAAU;IACV,GAAGC,IAAAA;AACU,GAAC,GAAAX,IAAA,CAAA;AAAA,EAAA,oBACdY,IAAA,CAAA,GAAA,EAAA;IACER,SAAS,EAAES,EAAE,CAACC,MAAM,CAACC,IAAI,EAAEX,SAAS,CAAE;IACtCE,MAAM,EAAEA,MAAM,KAAKJ,QAAQ,GAAG,QAAQ,GAAGc,SAAS,CAAE;IACpDT,GAAG,EAAEA,GAAG,KAAKL,QAAQ,GAAG,qBAAqB,GAAGc,SAAS,CAAE;AAC3DR,IAAAA,IAAI,EAAEL,QAAQ,GAAGa,SAAS,GAAGR,IAAK;IAClC,eAAeL,EAAAA,QAAQ,IAAIa,SAAU;AACrCC,IAAAA,QAAQ,EAAEd,QAAQ,GAAG,CAAC,CAAC,GAAGa,SAAU;AACpCP,IAAAA,OAAO,EAAEN,QAAQ,GAAGa,SAAS,GAAGP,OAAQ;IACxC,aAAaC,EAAAA,UAAU,EAAEQ,IAAK;AAAA,IAAA,GAC1BP,IAAI;AAAAN,IAAAA,QAAA,GAEPA,QAAQ,EACRJ,IAAI,IAAI,IAAI,gBACXkB,GAAA,CAAA,MAAA,EAAA;MACEf,SAAS,EAAEU,MAAM,CAACb,IAAK;AACvB,MAAA,aAAA,EAAY,MAAM;MAClB,aAAaS,EAAAA,UAAU,EAAET,IAAK;AAAAI,MAAAA,QAAA,EAE7BJ,IAAAA;KACG,CAAC,GACL,IAAI,CAAA;AAAA,GACP,CAAC,CAAA;AAAA;;;;"}
@@ -7,15 +7,21 @@ const TokenAmount = _ref => {
7
7
  let {
8
8
  symbol,
9
9
  amount,
10
- className
10
+ className,
11
+ dataTestId,
12
+ ...rest
11
13
  } = _ref;
12
14
  return /*#__PURE__*/jsxs("span", {
13
15
  className: cn(styles.root, className),
16
+ "data-testid": dataTestId?.root,
17
+ ...rest,
14
18
  children: [/*#__PURE__*/jsx(TokenIcon, {
15
19
  token: symbol,
16
- className: styles.icon
20
+ className: styles.icon,
21
+ "data-testid": dataTestId?.icon
17
22
  }), /*#__PURE__*/jsx("span", {
18
23
  className: styles.amount,
24
+ "data-testid": dataTestId?.amount,
19
25
  children: amount
20
26
  })]
21
27
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TokenAmount.mjs","sources":["../../../src/token-amount/TokenAmount.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\n\nimport { TokenIcon, type TokenIconSymbol } from '../icons'\nimport cn from 'classnames'\n\nimport styles from './TokenAmount.module.css'\n\nexport type TokenAmountProps = {\n symbol: TokenIconSymbol\n amount: ReactNode\n className?: string\n}\n\nexport const TokenAmount = ({\n symbol,\n amount,\n className,\n}: TokenAmountProps) => (\n <span className={cn(styles.root, className)}>\n <TokenIcon token={symbol} className={styles.icon} />\n <span className={styles.amount}>{amount}</span>\n </span>\n)\n"],"names":["TokenAmount","_ref","symbol","amount","className","_jsxs","cn","styles","root","children","_jsx","TokenIcon","token","icon"],"mappings":";;;;;AAaO,MAAMA,WAAW,GAAGC,IAAA,IAAA;EAAA,IAAC;IAC1BC,MAAM;IACNC,MAAM;AACNC,IAAAA,SAAAA;AACgB,GAAC,GAAAH,IAAA,CAAA;AAAA,EAAA,oBACjBI,IAAA,CAAA,MAAA,EAAA;IAAMD,SAAS,EAAEE,EAAE,CAACC,MAAM,CAACC,IAAI,EAAEJ,SAAS,CAAE;IAAAK,QAAA,EAAA,cAC1CC,GAAA,CAACC,SAAS,EAAA;AAACC,MAAAA,KAAK,EAAEV,MAAO;MAACE,SAAS,EAAEG,MAAM,CAACM,IAAAA;KAAO,CAAC,eACpDH,GAAA,CAAA,MAAA,EAAA;MAAMN,SAAS,EAAEG,MAAM,CAACJ,MAAO;AAAAM,MAAAA,QAAA,EAAEN,MAAAA;AAAM,KAAO,CAAC,CAAA;AAAA,GAC3C,CAAC,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"TokenAmount.mjs","sources":["../../../src/token-amount/TokenAmount.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react'\n\nimport { TokenIcon, type TokenIconSymbol } from '../icons'\nimport cn from 'classnames'\n\nimport styles from './TokenAmount.module.css'\n\nexport type TokenAmountDataTestId = {\n root?: string\n icon?: string\n amount?: string\n}\n\nexport type TokenAmountProps = Omit<\n ComponentPropsWithoutRef<'span'>,\n 'children'\n> & {\n symbol: TokenIconSymbol\n amount: ReactNode\n dataTestId?: TokenAmountDataTestId\n}\n\nexport const TokenAmount = ({\n symbol,\n amount,\n className,\n dataTestId,\n ...rest\n}: TokenAmountProps) => (\n <span\n className={cn(styles.root, className)}\n data-testid={dataTestId?.root}\n {...rest}\n >\n <TokenIcon\n token={symbol}\n className={styles.icon}\n data-testid={dataTestId?.icon}\n />\n <span className={styles.amount} data-testid={dataTestId?.amount}>\n {amount}\n </span>\n </span>\n)\n"],"names":["TokenAmount","_ref","symbol","amount","className","dataTestId","rest","_jsxs","cn","styles","root","children","_jsx","TokenIcon","token","icon"],"mappings":";;;;;AAsBO,MAAMA,WAAW,GAAGC,IAAA,IAAA;EAAA,IAAC;IAC1BC,MAAM;IACNC,MAAM;IACNC,SAAS;IACTC,UAAU;IACV,GAAGC,IAAAA;AACa,GAAC,GAAAL,IAAA,CAAA;AAAA,EAAA,oBACjBM,IAAA,CAAA,MAAA,EAAA;IACEH,SAAS,EAAEI,EAAE,CAACC,MAAM,CAACC,IAAI,EAAEN,SAAS,CAAE;IACtC,aAAaC,EAAAA,UAAU,EAAEK,IAAK;AAAA,IAAA,GAC1BJ,IAAI;IAAAK,QAAA,EAAA,cAERC,GAAA,CAACC,SAAS,EAAA;AACRC,MAAAA,KAAK,EAAEZ,MAAO;MACdE,SAAS,EAAEK,MAAM,CAACM,IAAK;AACvB,MAAA,aAAA,EAAaV,UAAU,EAAEU,IAAAA;KAC1B,CAAC,eACFH,GAAA,CAAA,MAAA,EAAA;MAAMR,SAAS,EAAEK,MAAM,CAACN,MAAO;MAAC,aAAaE,EAAAA,UAAU,EAAEF,MAAO;AAAAQ,MAAAA,QAAA,EAC7DR,MAAAA;AAAM,KACH,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAAA;;;;"}
@@ -15,7 +15,9 @@ const TokenSelector = _ref => {
15
15
  single = false,
16
16
  size = 'default',
17
17
  placeholder = 'Select',
18
- className
18
+ className,
19
+ dataTestId,
20
+ ...rest
19
21
  } = _ref;
20
22
  const [open, setOpen] = useState(false);
21
23
  const rootRef = useRef(null);
@@ -36,14 +38,19 @@ const TokenSelector = _ref => {
36
38
  if (single) {
37
39
  return /*#__PURE__*/jsxs("span", {
38
40
  className: cn(styles.single, styles[size], className),
41
+ "data-testid": dataTestId?.root,
42
+ ...rest,
39
43
  children: [selectedOption?.icon ? /*#__PURE__*/jsx("span", {
40
44
  className: styles.icon,
45
+ "data-testid": selectedOption.dataTestId?.icon,
41
46
  children: selectedOption.icon
42
47
  }) : null, /*#__PURE__*/jsx("span", {
43
48
  className: styles.label,
49
+ "data-testid": selectedOption?.dataTestId?.label,
44
50
  children: selectedOption?.label
45
51
  }), size === 'default' && selectedOption?.secondaryLabel != null ? /*#__PURE__*/jsx("span", {
46
52
  className: styles.secondaryLabel,
53
+ "data-testid": selectedOption.dataTestId?.secondaryLabel,
47
54
  children: selectedOption.secondaryLabel
48
55
  }) : null]
49
56
  });
@@ -58,6 +65,8 @@ const TokenSelector = _ref => {
58
65
  return /*#__PURE__*/jsxs("div", {
59
66
  ref: rootRef,
60
67
  className: cn(styles.root, className),
68
+ "data-testid": dataTestId?.root,
69
+ ...rest,
61
70
  children: [/*#__PURE__*/jsxs("button", {
62
71
  ref: triggerRef,
63
72
  type: "button",
@@ -65,17 +74,21 @@ const TokenSelector = _ref => {
65
74
  "aria-expanded": open,
66
75
  className: cn(styles.trigger, styles[size], open && styles.open),
67
76
  onClick: handleTriggerClick,
77
+ "data-testid": dataTestId?.trigger,
68
78
  children: [/*#__PURE__*/jsx("span", {
69
79
  className: styles.content,
70
80
  children: selectedOption ? /*#__PURE__*/jsxs(Fragment, {
71
81
  children: [selectedOption.icon ? /*#__PURE__*/jsx("span", {
72
82
  className: styles.icon,
83
+ "data-testid": selectedOption.dataTestId?.icon,
73
84
  children: selectedOption.icon
74
85
  }) : null, /*#__PURE__*/jsx("span", {
75
86
  className: styles.label,
87
+ "data-testid": selectedOption.dataTestId?.label,
76
88
  children: selectedOption.label
77
89
  }), size === 'default' && selectedOption.secondaryLabel != null ? /*#__PURE__*/jsx("span", {
78
90
  className: styles.secondaryLabel,
91
+ "data-testid": selectedOption.dataTestId?.secondaryLabel,
79
92
  children: selectedOption.secondaryLabel
80
93
  }) : null]
81
94
  }) : /*#__PURE__*/jsx("span", {
@@ -90,6 +103,7 @@ const TokenSelector = _ref => {
90
103
  }), open ? /*#__PURE__*/jsx("div", {
91
104
  role: "listbox",
92
105
  className: styles.panel,
106
+ "data-testid": dataTestId?.panel,
93
107
  children: /*#__PURE__*/jsx("div", {
94
108
  className: styles.list,
95
109
  children: options.map(option => {
@@ -101,8 +115,10 @@ const TokenSelector = _ref => {
101
115
  disabled: option.disabled,
102
116
  className: cn(styles.option, styles[size], selected && styles.selected),
103
117
  onClick: () => handleOptionClick(option),
118
+ "data-testid": option.dataTestId?.root,
104
119
  children: [option.icon ? /*#__PURE__*/jsx("span", {
105
120
  className: styles.icon,
121
+ "data-testid": option.dataTestId?.icon,
106
122
  children: option.icon
107
123
  }) : null, /*#__PURE__*/jsxs("span", {
108
124
  className: styles.optionContent,
@@ -110,13 +126,16 @@ const TokenSelector = _ref => {
110
126
  className: styles.optionRow,
111
127
  children: [/*#__PURE__*/jsx("span", {
112
128
  className: styles.label,
129
+ "data-testid": option.dataTestId?.label,
113
130
  children: option.label
114
131
  }), size === 'default' && option.secondaryLabel != null ? /*#__PURE__*/jsx("span", {
115
132
  className: styles.secondaryLabel,
133
+ "data-testid": option.dataTestId?.secondaryLabel,
116
134
  children: option.secondaryLabel
117
135
  }) : null]
118
136
  }), size === 'default' && option.description != null ? /*#__PURE__*/jsx("span", {
119
137
  className: styles.description,
138
+ "data-testid": option.dataTestId?.description,
120
139
  children: option.description
121
140
  }) : null]
122
141
  }), size === 'default' && selected ? /*#__PURE__*/jsx("span", {
@@ -1 +1 @@
1
- {"version":3,"file":"TokenSelector.mjs","sources":["../../../src/token-selector/TokenSelector.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef, useState, type ReactNode } from 'react'\nimport { useOutsideClick } from '../hooks/useOutsideClick'\nimport { IconCheck, IconChevronDown, IconChevronUp } from '../icons'\nimport cn from 'classnames'\nimport styles from './TokenSelector.module.css'\n\nexport type TokenSelectorOption = {\n value: string\n label: ReactNode\n /** Shown next to `label`, in a muted weight — default size only. */\n secondaryLabel?: ReactNode\n /** Caption line below the label row — default size only. */\n description?: ReactNode\n icon?: ReactNode\n disabled?: boolean\n}\n\nexport type TokenSelectorSize = 'default' | 'small'\n\nexport type TokenSelectorProps = {\n options: TokenSelectorOption[]\n value?: string\n onChange?: (value: string) => void\n single?: boolean\n size?: TokenSelectorSize\n placeholder?: ReactNode\n className?: string\n}\n\nexport const TokenSelector = ({\n options,\n value,\n onChange,\n single = false,\n size = 'default',\n placeholder = 'Select',\n className,\n}: TokenSelectorProps) => {\n const [open, setOpen] = useState(false)\n const rootRef = useRef<HTMLDivElement>(null)\n const triggerRef = useRef<HTMLButtonElement>(null)\n\n const handleClose = useCallback(() => setOpen(false), [])\n useOutsideClick(rootRef, handleClose, open)\n\n useEffect(() => {\n if (!open) return\n\n const handleDocumentKeyDown = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') return\n setOpen(false)\n triggerRef.current?.focus()\n }\n\n document.addEventListener('keydown', handleDocumentKeyDown)\n return () => document.removeEventListener('keydown', handleDocumentKeyDown)\n }, [open])\n\n const selectedOption = options.find((option) => option.value === value)\n\n if (single) {\n return (\n <span className={cn(styles.single, styles[size], className)}>\n {selectedOption?.icon ? (\n <span className={styles.icon}>{selectedOption.icon}</span>\n ) : null}\n <span className={styles.label}>{selectedOption?.label}</span>\n {size === 'default' && selectedOption?.secondaryLabel != null ? (\n <span className={styles.secondaryLabel}>\n {selectedOption.secondaryLabel}\n </span>\n ) : null}\n </span>\n )\n }\n\n const handleTriggerClick = () => setOpen((prev) => !prev)\n\n const handleOptionClick = (option: TokenSelectorOption) => {\n if (option.disabled) return\n onChange?.(option.value)\n setOpen(false)\n triggerRef.current?.focus()\n }\n\n return (\n <div ref={rootRef} className={cn(styles.root, className)}>\n <button\n ref={triggerRef}\n type='button'\n aria-haspopup='listbox'\n aria-expanded={open}\n className={cn(styles.trigger, styles[size], open && styles.open)}\n onClick={handleTriggerClick}\n >\n <span className={styles.content}>\n {selectedOption ? (\n <>\n {selectedOption.icon ? (\n <span className={styles.icon}>{selectedOption.icon}</span>\n ) : null}\n <span className={styles.label}>{selectedOption.label}</span>\n {size === 'default' && selectedOption.secondaryLabel != null ? (\n <span className={styles.secondaryLabel}>\n {selectedOption.secondaryLabel}\n </span>\n ) : null}\n </>\n ) : (\n <span className={styles.placeholder}>{placeholder}</span>\n )}\n </span>\n <span className={styles.chevron} aria-hidden='true'>\n {open ? <IconChevronUp /> : <IconChevronDown />}\n </span>\n </button>\n {open ? (\n <div role='listbox' className={styles.panel}>\n <div className={styles.list}>\n {options.map((option) => {\n const selected = option.value === value\n return (\n <button\n key={option.value}\n type='button'\n role='option'\n aria-selected={selected}\n disabled={option.disabled}\n className={cn(\n styles.option,\n styles[size],\n selected && styles.selected,\n )}\n onClick={() => handleOptionClick(option)}\n >\n {option.icon ? (\n <span className={styles.icon}>{option.icon}</span>\n ) : null}\n <span className={styles.optionContent}>\n <span className={styles.optionRow}>\n <span className={styles.label}>{option.label}</span>\n {size === 'default' && option.secondaryLabel != null ? (\n <span className={styles.secondaryLabel}>\n {option.secondaryLabel}\n </span>\n ) : null}\n </span>\n {size === 'default' && option.description != null ? (\n <span className={styles.description}>\n {option.description}\n </span>\n ) : null}\n </span>\n {size === 'default' && selected ? (\n <span className={styles.indicator} aria-hidden='true'>\n <IconCheck className={styles.checkmark} />\n </span>\n ) : null}\n </button>\n )\n })}\n </div>\n </div>\n ) : null}\n </div>\n )\n}\n"],"names":["TokenSelector","_ref","options","value","onChange","single","size","placeholder","className","open","setOpen","useState","rootRef","useRef","triggerRef","handleClose","useCallback","useOutsideClick","useEffect","handleDocumentKeyDown","event","key","current","focus","document","addEventListener","removeEventListener","selectedOption","find","option","_jsxs","cn","styles","children","icon","_jsx","label","secondaryLabel","handleTriggerClick","prev","handleOptionClick","disabled","ref","root","type","trigger","onClick","content","_Fragment","chevron","IconChevronUp","IconChevronDown","role","panel","list","map","selected","optionContent","optionRow","description","indicator","IconCheck","checkmark"],"mappings":"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"}
1
+ {"version":3,"file":"TokenSelector.mjs","sources":["../../../src/token-selector/TokenSelector.tsx"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useRef,\n useState,\n type ComponentPropsWithoutRef,\n type ReactNode,\n} from 'react'\nimport { useOutsideClick } from '../hooks/useOutsideClick'\nimport { IconCheck, IconChevronDown, IconChevronUp } from '../icons'\nimport cn from 'classnames'\nimport styles from './TokenSelector.module.css'\n\nexport type TokenSelectorOptionDataTestId = {\n root?: string\n icon?: string\n label?: string\n secondaryLabel?: string\n description?: string\n}\n\nexport type TokenSelectorOption = {\n value: string\n label: ReactNode\n /** Shown next to `label`, in a muted weight — default size only. */\n secondaryLabel?: ReactNode\n /** Caption line below the label row — default size only. */\n description?: ReactNode\n icon?: ReactNode\n disabled?: boolean\n dataTestId?: TokenSelectorOptionDataTestId\n}\n\nexport type TokenSelectorSize = 'default' | 'small'\n\nexport type TokenSelectorDataTestId = {\n root?: string\n trigger?: string\n panel?: string\n}\n\nexport type TokenSelectorProps = Omit<\n ComponentPropsWithoutRef<'div'>,\n 'onChange'\n> & {\n options: TokenSelectorOption[]\n value?: string\n onChange?: (value: string) => void\n single?: boolean\n size?: TokenSelectorSize\n placeholder?: ReactNode\n dataTestId?: TokenSelectorDataTestId\n}\n\nexport const TokenSelector = ({\n options,\n value,\n onChange,\n single = false,\n size = 'default',\n placeholder = 'Select',\n className,\n dataTestId,\n ...rest\n}: TokenSelectorProps) => {\n const [open, setOpen] = useState(false)\n const rootRef = useRef<HTMLDivElement>(null)\n const triggerRef = useRef<HTMLButtonElement>(null)\n\n const handleClose = useCallback(() => setOpen(false), [])\n useOutsideClick(rootRef, handleClose, open)\n\n useEffect(() => {\n if (!open) return\n\n const handleDocumentKeyDown = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') return\n setOpen(false)\n triggerRef.current?.focus()\n }\n\n document.addEventListener('keydown', handleDocumentKeyDown)\n return () => document.removeEventListener('keydown', handleDocumentKeyDown)\n }, [open])\n\n const selectedOption = options.find((option) => option.value === value)\n\n if (single) {\n return (\n <span\n className={cn(styles.single, styles[size], className)}\n data-testid={dataTestId?.root}\n {...rest}\n >\n {selectedOption?.icon ? (\n <span\n className={styles.icon}\n data-testid={selectedOption.dataTestId?.icon}\n >\n {selectedOption.icon}\n </span>\n ) : null}\n <span\n className={styles.label}\n data-testid={selectedOption?.dataTestId?.label}\n >\n {selectedOption?.label}\n </span>\n {size === 'default' && selectedOption?.secondaryLabel != null ? (\n <span\n className={styles.secondaryLabel}\n data-testid={selectedOption.dataTestId?.secondaryLabel}\n >\n {selectedOption.secondaryLabel}\n </span>\n ) : null}\n </span>\n )\n }\n\n const handleTriggerClick = () => setOpen((prev) => !prev)\n\n const handleOptionClick = (option: TokenSelectorOption) => {\n if (option.disabled) return\n onChange?.(option.value)\n setOpen(false)\n triggerRef.current?.focus()\n }\n\n return (\n <div\n ref={rootRef}\n className={cn(styles.root, className)}\n data-testid={dataTestId?.root}\n {...rest}\n >\n <button\n ref={triggerRef}\n type='button'\n aria-haspopup='listbox'\n aria-expanded={open}\n className={cn(styles.trigger, styles[size], open && styles.open)}\n onClick={handleTriggerClick}\n data-testid={dataTestId?.trigger}\n >\n <span className={styles.content}>\n {selectedOption ? (\n <>\n {selectedOption.icon ? (\n <span\n className={styles.icon}\n data-testid={selectedOption.dataTestId?.icon}\n >\n {selectedOption.icon}\n </span>\n ) : null}\n <span\n className={styles.label}\n data-testid={selectedOption.dataTestId?.label}\n >\n {selectedOption.label}\n </span>\n {size === 'default' && selectedOption.secondaryLabel != null ? (\n <span\n className={styles.secondaryLabel}\n data-testid={selectedOption.dataTestId?.secondaryLabel}\n >\n {selectedOption.secondaryLabel}\n </span>\n ) : null}\n </>\n ) : (\n <span className={styles.placeholder}>{placeholder}</span>\n )}\n </span>\n <span className={styles.chevron} aria-hidden='true'>\n {open ? <IconChevronUp /> : <IconChevronDown />}\n </span>\n </button>\n {open ? (\n <div\n role='listbox'\n className={styles.panel}\n data-testid={dataTestId?.panel}\n >\n <div className={styles.list}>\n {options.map((option) => {\n const selected = option.value === value\n return (\n <button\n key={option.value}\n type='button'\n role='option'\n aria-selected={selected}\n disabled={option.disabled}\n className={cn(\n styles.option,\n styles[size],\n selected && styles.selected,\n )}\n onClick={() => handleOptionClick(option)}\n data-testid={option.dataTestId?.root}\n >\n {option.icon ? (\n <span\n className={styles.icon}\n data-testid={option.dataTestId?.icon}\n >\n {option.icon}\n </span>\n ) : null}\n <span className={styles.optionContent}>\n <span className={styles.optionRow}>\n <span\n className={styles.label}\n data-testid={option.dataTestId?.label}\n >\n {option.label}\n </span>\n {size === 'default' && option.secondaryLabel != null ? (\n <span\n className={styles.secondaryLabel}\n data-testid={option.dataTestId?.secondaryLabel}\n >\n {option.secondaryLabel}\n </span>\n ) : null}\n </span>\n {size === 'default' && option.description != null ? (\n <span\n className={styles.description}\n data-testid={option.dataTestId?.description}\n >\n {option.description}\n </span>\n ) : null}\n </span>\n {size === 'default' && selected ? (\n <span className={styles.indicator} aria-hidden='true'>\n <IconCheck className={styles.checkmark} />\n </span>\n ) : null}\n </button>\n )\n })}\n </div>\n </div>\n ) : null}\n </div>\n )\n}\n"],"names":["TokenSelector","_ref","options","value","onChange","single","size","placeholder","className","dataTestId","rest","open","setOpen","useState","rootRef","useRef","triggerRef","handleClose","useCallback","useOutsideClick","useEffect","handleDocumentKeyDown","event","key","current","focus","document","addEventListener","removeEventListener","selectedOption","find","option","_jsxs","cn","styles","root","children","icon","_jsx","label","secondaryLabel","handleTriggerClick","prev","handleOptionClick","disabled","ref","type","trigger","onClick","content","_Fragment","chevron","IconChevronUp","IconChevronDown","role","panel","list","map","selected","optionContent","optionRow","description","indicator","IconCheck","checkmark"],"mappings":"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"}
@@ -79,6 +79,7 @@ const Tooltip = _ref => {
79
79
  children,
80
80
  onMouseEnter,
81
81
  onFocus,
82
+ dataTestId,
82
83
  ...rest
83
84
  } = _ref;
84
85
  const rootRef = useRef(null);
@@ -119,6 +120,7 @@ const Tooltip = _ref => {
119
120
  className: cn(styles.wrapper, className),
120
121
  onMouseEnter: handleMouseEnter,
121
122
  onFocus: handleFocus,
123
+ "data-testid": dataTestId?.root,
122
124
  ...rest,
123
125
  children: [children, /*#__PURE__*/jsx("span", {
124
126
  ref: contentRef,
@@ -129,6 +131,7 @@ const Tooltip = _ref => {
129
131
  '--local-tooltip-shift-y': `${adjustment?.shiftY ?? 0}px`
130
132
  },
131
133
  role: "tooltip",
134
+ "data-testid": dataTestId?.content,
132
135
  children: content
133
136
  })]
134
137
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.mjs","sources":["../../../src/tooltip/Tooltip.tsx"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useRef,\n useState,\n type ComponentPropsWithoutRef,\n type CSSProperties,\n type FocusEvent,\n type MouseEvent,\n type ReactNode,\n} from 'react'\nimport { flushSync } from 'react-dom'\n\nimport cn from 'classnames'\n\nimport styles from './Tooltip.module.css'\n\nexport type TooltipPosition =\n | 'top'\n | 'right'\n | 'bottom'\n | 'left'\n | 'top-left'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-right'\n\nexport type TooltipProps = Omit<ComponentPropsWithoutRef<'span'>, 'content'> & {\n content: ReactNode\n position?: TooltipPosition\n width?: number\n}\n\n// Minimal distance between the tooltip and the viewport edge.\nconst VIEWPORT_MARGIN = 16\n// Distance between the anchor and the content for main (non-corner) positions.\nconst POSITION_GAP = 15\n\ntype TooltipAdjustment = {\n position: TooltipPosition\n shiftX: number\n shiftY: number\n}\n\nconst clampValue = (value: number, min: number, max: number) =>\n Math.min(Math.max(value, min), Math.max(max, min))\n\nconst getMaxWidth = (width: number) =>\n `min(${width}px, calc(100vw - ${VIEWPORT_MARGIN * 2}px))`\n\n// Measures the anchor and the (hidden but laid-out) content, then picks a\n// position/shift that keeps the bubble inside the viewport — flipping sides\n// when there isn't room, sliding along the cross axis otherwise.\nconst getAdjustment = (\n position: TooltipPosition,\n anchor: DOMRect,\n content: DOMRect,\n): TooltipAdjustment => {\n const viewportWidth = document.documentElement.clientWidth\n const viewportHeight = document.documentElement.clientHeight\n\n const spaceTop = anchor.top - VIEWPORT_MARGIN\n const spaceBottom = viewportHeight - anchor.bottom - VIEWPORT_MARGIN\n const spaceLeft = anchor.left - VIEWPORT_MARGIN\n const spaceRight = viewportWidth - anchor.right - VIEWPORT_MARGIN\n\n let [main, corner] = position.split('-')\n const gap = corner ? 0 : POSITION_GAP\n\n // Side positions: flip to the other side, or fall back to a vertical\n // position when the content doesn't fit horizontally on either side.\n if (main === 'left' || main === 'right') {\n const needed = content.width + gap\n if (needed > spaceLeft && needed > spaceRight) {\n main = spaceBottom >= spaceTop ? 'bottom' : 'top'\n } else if (main === 'right' && needed > spaceRight) {\n main = 'left'\n } else if (main === 'left' && needed > spaceLeft) {\n main = 'right'\n }\n }\n\n // Vertical positions: flip when the content doesn't fit and there is more room on the other side.\n if (main === 'top' || main === 'bottom') {\n const space = main === 'top' ? spaceTop : spaceBottom\n const opposite = main === 'top' ? spaceBottom : spaceTop\n if (content.height + gap > space && opposite > space) {\n main = main === 'top' ? 'bottom' : 'top'\n }\n }\n\n // A corner's cut-off edge has to meet the anchor, and sliding breaks that\n // join — so mirror to the other side first and only slide as a last resort.\n if (corner) {\n const space = corner === 'left' ? spaceLeft : spaceRight\n const opposite = corner === 'left' ? spaceRight : spaceLeft\n if (content.width > space && opposite > space) {\n corner = corner === 'left' ? 'right' : 'left'\n }\n }\n\n let shiftX = 0\n let shiftY = 0\n if (main === 'left' || main === 'right') {\n const idealTop = anchor.top + anchor.height / 2 - content.height / 2\n shiftY =\n clampValue(\n idealTop,\n VIEWPORT_MARGIN,\n viewportHeight - VIEWPORT_MARGIN - content.height,\n ) - idealTop\n } else {\n const idealLeft = !corner\n ? anchor.left + anchor.width / 2 - content.width / 2\n : corner === 'left'\n ? anchor.left - content.width\n : anchor.right\n shiftX =\n clampValue(\n idealLeft,\n VIEWPORT_MARGIN,\n viewportWidth - VIEWPORT_MARGIN - content.width,\n ) - idealLeft\n }\n\n return {\n position: (corner ? `${main}-${corner}` : main) as TooltipPosition,\n shiftX,\n shiftY,\n }\n}\n\nexport const Tooltip = ({\n content,\n position = 'top',\n width = 320,\n className,\n children,\n onMouseEnter,\n onFocus,\n ...rest\n}: TooltipProps) => {\n const rootRef = useRef<HTMLSpanElement>(null)\n const contentRef = useRef<HTMLSpanElement>(null)\n const [adjustment, setAdjustment] = useState<TooltipAdjustment | null>(null)\n\n const updatePosition = useCallback(() => {\n const root = rootRef.current\n const contentEl = contentRef.current\n if (!root || !contentEl) return\n\n // React treats mouseenter as a continuous-priority event and would defer\n // the update past the next paint, flashing the tooltip at the old position.\n flushSync(() => {\n setAdjustment(\n getAdjustment(\n position,\n root.getBoundingClientRect(),\n contentEl.getBoundingClientRect(),\n ),\n )\n })\n }, [position])\n\n useEffect(() => {\n setAdjustment(null)\n }, [position])\n\n useEffect(() => {\n const handleResize = () => {\n if (rootRef.current?.matches(':hover')) updatePosition()\n }\n\n window.addEventListener('resize', handleResize)\n return () => window.removeEventListener('resize', handleResize)\n }, [updatePosition])\n\n const handleMouseEnter = (event: MouseEvent<HTMLSpanElement>) => {\n updatePosition()\n onMouseEnter?.(event)\n }\n\n const handleFocus = (event: FocusEvent<HTMLSpanElement>) => {\n updatePosition()\n onFocus?.(event)\n }\n\n const effectivePosition = adjustment?.position ?? position\n\n return (\n <span\n ref={rootRef}\n className={cn(styles.wrapper, className)}\n onMouseEnter={handleMouseEnter}\n onFocus={handleFocus}\n {...rest}\n >\n {children}\n <span\n ref={contentRef}\n className={cn(styles.content, styles[`position-${effectivePosition}`])}\n style={\n {\n '--local-tooltip-width': getMaxWidth(width),\n '--local-tooltip-shift-x': `${adjustment?.shiftX ?? 0}px`,\n '--local-tooltip-shift-y': `${adjustment?.shiftY ?? 0}px`,\n } as CSSProperties\n }\n role='tooltip'\n >\n {content}\n </span>\n </span>\n )\n}\n\nTooltip.displayName = 'Tooltip'\n"],"names":["VIEWPORT_MARGIN","POSITION_GAP","clampValue","value","min","max","Math","getMaxWidth","width","getAdjustment","position","anchor","content","viewportWidth","document","documentElement","clientWidth","viewportHeight","clientHeight","spaceTop","top","spaceBottom","bottom","spaceLeft","left","spaceRight","right","main","corner","split","gap","needed","space","opposite","height","shiftX","shiftY","idealTop","idealLeft","Tooltip","_ref","className","children","onMouseEnter","onFocus","rest","rootRef","useRef","contentRef","adjustment","setAdjustment","useState","updatePosition","useCallback","root","current","contentEl","flushSync","getBoundingClientRect","useEffect","handleResize","matches","window","addEventListener","removeEventListener","handleMouseEnter","event","handleFocus","effectivePosition","_jsxs","ref","cn","styles","wrapper","_jsx","style","role","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"Tooltip.mjs","sources":["../../../src/tooltip/Tooltip.tsx"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useRef,\n useState,\n type ComponentPropsWithoutRef,\n type CSSProperties,\n type FocusEvent,\n type MouseEvent,\n type ReactNode,\n} from 'react'\nimport { flushSync } from 'react-dom'\n\nimport cn from 'classnames'\n\nimport styles from './Tooltip.module.css'\n\nexport type TooltipPosition =\n | 'top'\n | 'right'\n | 'bottom'\n | 'left'\n | 'top-left'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-right'\n\nexport type TooltipDataTestId = {\n root?: string\n content?: string\n}\n\nexport type TooltipProps = Omit<ComponentPropsWithoutRef<'span'>, 'content'> & {\n content: ReactNode\n position?: TooltipPosition\n width?: number\n dataTestId?: TooltipDataTestId\n}\n\n// Minimal distance between the tooltip and the viewport edge.\nconst VIEWPORT_MARGIN = 16\n// Distance between the anchor and the content for main (non-corner) positions.\nconst POSITION_GAP = 15\n\ntype TooltipAdjustment = {\n position: TooltipPosition\n shiftX: number\n shiftY: number\n}\n\nconst clampValue = (value: number, min: number, max: number) =>\n Math.min(Math.max(value, min), Math.max(max, min))\n\nconst getMaxWidth = (width: number) =>\n `min(${width}px, calc(100vw - ${VIEWPORT_MARGIN * 2}px))`\n\n// Measures the anchor and the (hidden but laid-out) content, then picks a\n// position/shift that keeps the bubble inside the viewport — flipping sides\n// when there isn't room, sliding along the cross axis otherwise.\nconst getAdjustment = (\n position: TooltipPosition,\n anchor: DOMRect,\n content: DOMRect,\n): TooltipAdjustment => {\n const viewportWidth = document.documentElement.clientWidth\n const viewportHeight = document.documentElement.clientHeight\n\n const spaceTop = anchor.top - VIEWPORT_MARGIN\n const spaceBottom = viewportHeight - anchor.bottom - VIEWPORT_MARGIN\n const spaceLeft = anchor.left - VIEWPORT_MARGIN\n const spaceRight = viewportWidth - anchor.right - VIEWPORT_MARGIN\n\n let [main, corner] = position.split('-')\n const gap = corner ? 0 : POSITION_GAP\n\n // Side positions: flip to the other side, or fall back to a vertical\n // position when the content doesn't fit horizontally on either side.\n if (main === 'left' || main === 'right') {\n const needed = content.width + gap\n if (needed > spaceLeft && needed > spaceRight) {\n main = spaceBottom >= spaceTop ? 'bottom' : 'top'\n } else if (main === 'right' && needed > spaceRight) {\n main = 'left'\n } else if (main === 'left' && needed > spaceLeft) {\n main = 'right'\n }\n }\n\n // Vertical positions: flip when the content doesn't fit and there is more room on the other side.\n if (main === 'top' || main === 'bottom') {\n const space = main === 'top' ? spaceTop : spaceBottom\n const opposite = main === 'top' ? spaceBottom : spaceTop\n if (content.height + gap > space && opposite > space) {\n main = main === 'top' ? 'bottom' : 'top'\n }\n }\n\n // A corner's cut-off edge has to meet the anchor, and sliding breaks that\n // join — so mirror to the other side first and only slide as a last resort.\n if (corner) {\n const space = corner === 'left' ? spaceLeft : spaceRight\n const opposite = corner === 'left' ? spaceRight : spaceLeft\n if (content.width > space && opposite > space) {\n corner = corner === 'left' ? 'right' : 'left'\n }\n }\n\n let shiftX = 0\n let shiftY = 0\n if (main === 'left' || main === 'right') {\n const idealTop = anchor.top + anchor.height / 2 - content.height / 2\n shiftY =\n clampValue(\n idealTop,\n VIEWPORT_MARGIN,\n viewportHeight - VIEWPORT_MARGIN - content.height,\n ) - idealTop\n } else {\n const idealLeft = !corner\n ? anchor.left + anchor.width / 2 - content.width / 2\n : corner === 'left'\n ? anchor.left - content.width\n : anchor.right\n shiftX =\n clampValue(\n idealLeft,\n VIEWPORT_MARGIN,\n viewportWidth - VIEWPORT_MARGIN - content.width,\n ) - idealLeft\n }\n\n return {\n position: (corner ? `${main}-${corner}` : main) as TooltipPosition,\n shiftX,\n shiftY,\n }\n}\n\nexport const Tooltip = ({\n content,\n position = 'top',\n width = 320,\n className,\n children,\n onMouseEnter,\n onFocus,\n dataTestId,\n ...rest\n}: TooltipProps) => {\n const rootRef = useRef<HTMLSpanElement>(null)\n const contentRef = useRef<HTMLSpanElement>(null)\n const [adjustment, setAdjustment] = useState<TooltipAdjustment | null>(null)\n\n const updatePosition = useCallback(() => {\n const root = rootRef.current\n const contentEl = contentRef.current\n if (!root || !contentEl) return\n\n // React treats mouseenter as a continuous-priority event and would defer\n // the update past the next paint, flashing the tooltip at the old position.\n flushSync(() => {\n setAdjustment(\n getAdjustment(\n position,\n root.getBoundingClientRect(),\n contentEl.getBoundingClientRect(),\n ),\n )\n })\n }, [position])\n\n useEffect(() => {\n setAdjustment(null)\n }, [position])\n\n useEffect(() => {\n const handleResize = () => {\n if (rootRef.current?.matches(':hover')) updatePosition()\n }\n\n window.addEventListener('resize', handleResize)\n return () => window.removeEventListener('resize', handleResize)\n }, [updatePosition])\n\n const handleMouseEnter = (event: MouseEvent<HTMLSpanElement>) => {\n updatePosition()\n onMouseEnter?.(event)\n }\n\n const handleFocus = (event: FocusEvent<HTMLSpanElement>) => {\n updatePosition()\n onFocus?.(event)\n }\n\n const effectivePosition = adjustment?.position ?? position\n\n return (\n <span\n ref={rootRef}\n className={cn(styles.wrapper, className)}\n onMouseEnter={handleMouseEnter}\n onFocus={handleFocus}\n data-testid={dataTestId?.root}\n {...rest}\n >\n {children}\n <span\n ref={contentRef}\n className={cn(styles.content, styles[`position-${effectivePosition}`])}\n style={\n {\n '--local-tooltip-width': getMaxWidth(width),\n '--local-tooltip-shift-x': `${adjustment?.shiftX ?? 0}px`,\n '--local-tooltip-shift-y': `${adjustment?.shiftY ?? 0}px`,\n } as CSSProperties\n }\n role='tooltip'\n data-testid={dataTestId?.content}\n >\n {content}\n </span>\n </span>\n )\n}\n\nTooltip.displayName = 'Tooltip'\n"],"names":["VIEWPORT_MARGIN","POSITION_GAP","clampValue","value","min","max","Math","getMaxWidth","width","getAdjustment","position","anchor","content","viewportWidth","document","documentElement","clientWidth","viewportHeight","clientHeight","spaceTop","top","spaceBottom","bottom","spaceLeft","left","spaceRight","right","main","corner","split","gap","needed","space","opposite","height","shiftX","shiftY","idealTop","idealLeft","Tooltip","_ref","className","children","onMouseEnter","onFocus","dataTestId","rest","rootRef","useRef","contentRef","adjustment","setAdjustment","useState","updatePosition","useCallback","root","current","contentEl","flushSync","getBoundingClientRect","useEffect","handleResize","matches","window","addEventListener","removeEventListener","handleMouseEnter","event","handleFocus","effectivePosition","_jsxs","ref","cn","styles","wrapper","_jsx","style","role","displayName"],"mappings":"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"}
@@ -36,10 +36,14 @@ const TxStatus = _ref => {
36
36
  amount,
37
37
  message,
38
38
  footer,
39
- className
39
+ className,
40
+ dataTestId,
41
+ ...rest
40
42
  } = _ref;
41
43
  return /*#__PURE__*/jsxs("div", {
42
44
  className: cn(styles.root, className),
45
+ "data-testid": dataTestId?.root,
46
+ ...rest,
43
47
  children: [/*#__PURE__*/jsxs("div", {
44
48
  className: styles.graphicGroup,
45
49
  children: [/*#__PURE__*/jsx("span", {
@@ -49,17 +53,21 @@ const TxStatus = _ref => {
49
53
  className: styles.textGroup,
50
54
  children: [/*#__PURE__*/jsx("span", {
51
55
  className: styles.title,
56
+ "data-testid": dataTestId?.title,
52
57
  children: title
53
58
  }), amount ? /*#__PURE__*/jsx("div", {
54
59
  className: styles.amount,
60
+ "data-testid": dataTestId?.amount,
55
61
  children: amount
56
62
  }) : null, message ? /*#__PURE__*/jsx("div", {
57
63
  className: styles.message,
64
+ "data-testid": dataTestId?.message,
58
65
  children: message
59
66
  }) : null]
60
67
  })]
61
68
  }), footer ? /*#__PURE__*/jsx("div", {
62
69
  className: styles.footer,
70
+ "data-testid": dataTestId?.footer,
63
71
  children: footer
64
72
  }) : null]
65
73
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TxStatus.mjs","sources":["../../../src/tx-status/TxStatus.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\n\nimport { IconCheck, IconCross, IconExclamation, IconSpinner } from '../icons'\nimport cn from 'classnames'\n\nimport styles from './TxStatus.module.css'\n\nexport type TxStatusVariant = 'loading' | 'success' | 'error' | 'warning'\n\nexport type TxStatusProps = {\n status: TxStatusVariant\n title: ReactNode\n amount?: ReactNode\n message?: ReactNode\n footer?: ReactNode\n className?: string\n}\n\nconst graphicByStatus: Record<TxStatusVariant, ReactNode> = {\n loading: <IconSpinner className={styles.spinner} />,\n success: (\n <span className={cn(styles.circle, styles.circleSuccess)}>\n <IconCheck className={styles.circleIcon} />\n </span>\n ),\n error: (\n <span className={cn(styles.circle, styles.circleError)}>\n <IconCross className={styles.circleIcon} />\n </span>\n ),\n warning: (\n <span className={cn(styles.circle, styles.circleWarning)}>\n <IconExclamation className={styles.circleIcon} />\n </span>\n ),\n}\n\nexport const TxStatus = ({\n status,\n title,\n amount,\n message,\n footer,\n className,\n}: TxStatusProps) => (\n <div className={cn(styles.root, className)}>\n <div className={styles.graphicGroup}>\n <span className={styles.graphic}>{graphicByStatus[status]}</span>\n <div className={styles.textGroup}>\n <span className={styles.title}>{title}</span>\n {amount ? <div className={styles.amount}>{amount}</div> : null}\n {message ? <div className={styles.message}>{message}</div> : null}\n </div>\n </div>\n {footer ? <div className={styles.footer}>{footer}</div> : null}\n </div>\n)\n"],"names":["graphicByStatus","loading","_jsx","IconSpinner","className","styles","spinner","success","cn","circle","circleSuccess","children","IconCheck","circleIcon","error","circleError","IconCross","warning","circleWarning","IconExclamation","TxStatus","_ref","status","title","amount","message","footer","_jsxs","root","graphicGroup","graphic","textGroup"],"mappings":";;;;;;;;AAkBA,MAAMA,eAAmD,GAAG;EAC1DC,OAAO,eAAEC,GAAA,CAACC,WAAW,EAAA;IAACC,SAAS,EAAEC,MAAM,CAACC,OAAAA;AAAQ,GAAE,CAAC;AACnDC,EAAAA,OAAO,eACLL,GAAA,CAAA,MAAA,EAAA;IAAME,SAAS,EAAEI,EAAE,CAACH,MAAM,CAACI,MAAM,EAAEJ,MAAM,CAACK,aAAa,CAAE;IAAAC,QAAA,eACvDT,GAAA,CAACU,SAAS,EAAA;MAACR,SAAS,EAAEC,MAAM,CAACQ,UAAAA;KAAa,CAAA;AAAC,GACvC,CACP;AACDC,EAAAA,KAAK,eACHZ,GAAA,CAAA,MAAA,EAAA;IAAME,SAAS,EAAEI,EAAE,CAACH,MAAM,CAACI,MAAM,EAAEJ,MAAM,CAACU,WAAW,CAAE;IAAAJ,QAAA,eACrDT,GAAA,CAACc,SAAS,EAAA;MAACZ,SAAS,EAAEC,MAAM,CAACQ,UAAAA;KAAa,CAAA;AAAC,GACvC,CACP;AACDI,EAAAA,OAAO,eACLf,GAAA,CAAA,MAAA,EAAA;IAAME,SAAS,EAAEI,EAAE,CAACH,MAAM,CAACI,MAAM,EAAEJ,MAAM,CAACa,aAAa,CAAE;IAAAP,QAAA,eACvDT,GAAA,CAACiB,eAAe,EAAA;MAACf,SAAS,EAAEC,MAAM,CAACQ,UAAAA;KAAa,CAAA;GAC5C,CAAA;AAEV,CAAC,CAAA;AAEM,MAAMO,QAAQ,GAAGC,IAAA,IAAA;EAAA,IAAC;IACvBC,MAAM;IACNC,KAAK;IACLC,MAAM;IACNC,OAAO;IACPC,MAAM;AACNtB,IAAAA,SAAAA;AACa,GAAC,GAAAiB,IAAA,CAAA;AAAA,EAAA,oBACdM,IAAA,CAAA,KAAA,EAAA;IAAKvB,SAAS,EAAEI,EAAE,CAACH,MAAM,CAACuB,IAAI,EAAExB,SAAS,CAAE;AAAAO,IAAAA,QAAA,gBACzCgB,IAAA,CAAA,KAAA,EAAA;MAAKvB,SAAS,EAAEC,MAAM,CAACwB,YAAa;AAAAlB,MAAAA,QAAA,gBAClCT,GAAA,CAAA,MAAA,EAAA;QAAME,SAAS,EAAEC,MAAM,CAACyB,OAAQ;QAAAnB,QAAA,EAAEX,eAAe,CAACsB,MAAM,CAAA;OAAQ,CAAC,eACjEK,IAAA,CAAA,KAAA,EAAA;QAAKvB,SAAS,EAAEC,MAAM,CAAC0B,SAAU;AAAApB,QAAAA,QAAA,gBAC/BT,GAAA,CAAA,MAAA,EAAA;UAAME,SAAS,EAAEC,MAAM,CAACkB,KAAM;AAAAZ,UAAAA,QAAA,EAAEY,KAAAA;AAAK,SAAO,CAAC,EAC5CC,MAAM,gBAAGtB,GAAA,CAAA,KAAA,EAAA;UAAKE,SAAS,EAAEC,MAAM,CAACmB,MAAO;AAAAb,UAAAA,QAAA,EAAEa,MAAAA;AAAM,SAAM,CAAC,GAAG,IAAI,EAC7DC,OAAO,gBAAGvB,GAAA,CAAA,KAAA,EAAA;UAAKE,SAAS,EAAEC,MAAM,CAACoB,OAAQ;AAAAd,UAAAA,QAAA,EAAEc,OAAAA;SAAa,CAAC,GAAG,IAAI,CAAA;AAAA,OAC9D,CAAC,CAAA;AAAA,KACH,CAAC,EACLC,MAAM,gBAAGxB,GAAA,CAAA,KAAA,EAAA;MAAKE,SAAS,EAAEC,MAAM,CAACqB,MAAO;AAAAf,MAAAA,QAAA,EAAEe,MAAAA;KAAY,CAAC,GAAG,IAAI,CAAA;AAAA,GAC3D,CAAC,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"TxStatus.mjs","sources":["../../../src/tx-status/TxStatus.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react'\n\nimport { IconCheck, IconCross, IconExclamation, IconSpinner } from '../icons'\nimport cn from 'classnames'\n\nimport styles from './TxStatus.module.css'\n\nexport type TxStatusVariant = 'loading' | 'success' | 'error' | 'warning'\n\nexport type TxStatusDataTestId = {\n root?: string\n title?: string\n amount?: string\n message?: string\n footer?: string\n}\n\nexport type TxStatusProps = Omit<ComponentPropsWithoutRef<'div'>, 'title'> & {\n status: TxStatusVariant\n title: ReactNode\n amount?: ReactNode\n message?: ReactNode\n footer?: ReactNode\n dataTestId?: TxStatusDataTestId\n}\n\nconst graphicByStatus: Record<TxStatusVariant, ReactNode> = {\n loading: <IconSpinner className={styles.spinner} />,\n success: (\n <span className={cn(styles.circle, styles.circleSuccess)}>\n <IconCheck className={styles.circleIcon} />\n </span>\n ),\n error: (\n <span className={cn(styles.circle, styles.circleError)}>\n <IconCross className={styles.circleIcon} />\n </span>\n ),\n warning: (\n <span className={cn(styles.circle, styles.circleWarning)}>\n <IconExclamation className={styles.circleIcon} />\n </span>\n ),\n}\n\nexport const TxStatus = ({\n status,\n title,\n amount,\n message,\n footer,\n className,\n dataTestId,\n ...rest\n}: TxStatusProps) => (\n <div\n className={cn(styles.root, className)}\n data-testid={dataTestId?.root}\n {...rest}\n >\n <div className={styles.graphicGroup}>\n <span className={styles.graphic}>{graphicByStatus[status]}</span>\n <div className={styles.textGroup}>\n <span className={styles.title} data-testid={dataTestId?.title}>\n {title}\n </span>\n {amount ? (\n <div className={styles.amount} data-testid={dataTestId?.amount}>\n {amount}\n </div>\n ) : null}\n {message ? (\n <div className={styles.message} data-testid={dataTestId?.message}>\n {message}\n </div>\n ) : null}\n </div>\n </div>\n {footer ? (\n <div className={styles.footer} data-testid={dataTestId?.footer}>\n {footer}\n </div>\n ) : null}\n </div>\n)\n"],"names":["graphicByStatus","loading","_jsx","IconSpinner","className","styles","spinner","success","cn","circle","circleSuccess","children","IconCheck","circleIcon","error","circleError","IconCross","warning","circleWarning","IconExclamation","TxStatus","_ref","status","title","amount","message","footer","dataTestId","rest","_jsxs","root","graphicGroup","graphic","textGroup"],"mappings":"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"}
@@ -20,11 +20,13 @@ const Typography = _ref => {
20
20
  as,
21
21
  className,
22
22
  children,
23
+ dataTestId,
23
24
  ...rest
24
25
  } = _ref;
25
26
  const Component = as ?? variantTag[variant];
26
27
  return /*#__PURE__*/jsx(Component, {
27
28
  className: cn(styles.root, styles[variant], weight === 'semibold' && isBodyVariant(variant) && styles.semibold, className),
29
+ "data-testid": dataTestId?.root,
28
30
  ...rest,
29
31
  children: children
30
32
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Typography.mjs","sources":["../../../src/typography/Typography.tsx"],"sourcesContent":["import type { ElementType, HTMLAttributes } from 'react'\n\nimport cn from 'classnames'\n\nimport styles from './Typography.module.css'\n\nexport type TypographyVariant =\n | 'h1'\n | 'h2'\n | 'h3'\n | 'richInput'\n | 'bodyLarge'\n | 'body'\n | 'description'\n | 'groupName'\n\n// Weight only applies to bodyLarge/body/description; headings are single-weight by design.\nexport type TypographyWeight = 'regular' | 'semibold'\n\nexport type TypographyProps = HTMLAttributes<HTMLElement> & {\n variant: TypographyVariant\n weight?: TypographyWeight\n as?: ElementType\n}\n\nconst variantTag: Record<TypographyVariant, ElementType> = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n richInput: 'p',\n bodyLarge: 'p',\n body: 'p',\n description: 'p',\n groupName: 'p',\n}\n\nconst isBodyVariant = (variant: TypographyVariant): boolean =>\n variant === 'bodyLarge' || variant === 'body' || variant === 'description'\n\nexport const Typography = ({\n variant,\n weight,\n as,\n className,\n children,\n ...rest\n}: TypographyProps) => {\n const Component = as ?? variantTag[variant]\n\n return (\n <Component\n className={cn(\n styles.root,\n styles[variant],\n weight === 'semibold' && isBodyVariant(variant) && styles.semibold,\n className,\n )}\n {...rest}\n >\n {children}\n </Component>\n )\n}\n\ntype ShorthandProps = Omit<TypographyProps, 'variant'>\n\nexport const H1 = (props: ShorthandProps) => (\n <Typography {...props} variant='h1' />\n)\n\nexport const H2 = (props: ShorthandProps) => (\n <Typography {...props} variant='h2' />\n)\n\nexport const H3 = (props: ShorthandProps) => (\n <Typography {...props} variant='h3' />\n)\n\nexport const BodyLarge = (props: ShorthandProps) => (\n <Typography {...props} variant='bodyLarge' />\n)\n\nexport const Body = (props: ShorthandProps) => (\n <Typography {...props} variant='body' />\n)\n\nexport const Description = (props: ShorthandProps) => (\n <Typography {...props} variant='description' />\n)\n\nexport const GroupName = (props: ShorthandProps) => (\n <Typography {...props} variant='groupName' />\n)\n"],"names":["variantTag","h1","h2","h3","richInput","bodyLarge","body","description","groupName","isBodyVariant","variant","Typography","_ref","weight","as","className","children","rest","Component","_jsx","cn","styles","root","semibold","H1","props","H2","H3","BodyLarge","Body","Description","GroupName"],"mappings":";;;;AAyBA,MAAMA,UAAkD,GAAG;AACzDC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,SAAS,EAAE,GAAG;AACdC,EAAAA,SAAS,EAAE,GAAG;AACdC,EAAAA,IAAI,EAAE,GAAG;AACTC,EAAAA,WAAW,EAAE,GAAG;AAChBC,EAAAA,SAAS,EAAE,GAAA;AACb,CAAC,CAAA;AAED,MAAMC,aAAa,GAAIC,OAA0B,IAC/CA,OAAO,KAAK,WAAW,IAAIA,OAAO,KAAK,MAAM,IAAIA,OAAO,KAAK,aAAa,CAAA;AAE/DC,MAAAA,UAAU,GAAGC,IAAA,IAOH;EAAA,IAPI;IACzBF,OAAO;IACPG,MAAM;IACNC,EAAE;IACFC,SAAS;IACTC,QAAQ;IACR,GAAGC,IAAAA;AACY,GAAC,GAAAL,IAAA,CAAA;AAChB,EAAA,MAAMM,SAAS,GAAGJ,EAAE,IAAId,UAAU,CAACU,OAAO,CAAC,CAAA;EAE3C,oBACES,GAAA,CAACD,SAAS,EAAA;IACRH,SAAS,EAAEK,EAAE,CACXC,MAAM,CAACC,IAAI,EACXD,MAAM,CAACX,OAAO,CAAC,EACfG,MAAM,KAAK,UAAU,IAAIJ,aAAa,CAACC,OAAO,CAAC,IAAIW,MAAM,CAACE,QAAQ,EAClER,SACF,CAAE;AAAA,IAAA,GACEE,IAAI;AAAAD,IAAAA,QAAA,EAEPA,QAAAA;AAAQ,GACA,CAAC,CAAA;AAEhB,EAAC;MAIYQ,EAAE,GAAIC,KAAqB,iBACtCN,GAAA,CAACR,UAAU,EAAA;AAAA,EAAA,GAAKc,KAAK;AAAEf,EAAAA,OAAO,EAAC,IAAA;AAAI,CAAE,EACtC;MAEYgB,EAAE,GAAID,KAAqB,iBACtCN,GAAA,CAACR,UAAU,EAAA;AAAA,EAAA,GAAKc,KAAK;AAAEf,EAAAA,OAAO,EAAC,IAAA;AAAI,CAAE,EACtC;MAEYiB,EAAE,GAAIF,KAAqB,iBACtCN,GAAA,CAACR,UAAU,EAAA;AAAA,EAAA,GAAKc,KAAK;AAAEf,EAAAA,OAAO,EAAC,IAAA;AAAI,CAAE,EACtC;MAEYkB,SAAS,GAAIH,KAAqB,iBAC7CN,GAAA,CAACR,UAAU,EAAA;AAAA,EAAA,GAAKc,KAAK;AAAEf,EAAAA,OAAO,EAAC,WAAA;AAAW,CAAE,EAC7C;MAEYmB,IAAI,GAAIJ,KAAqB,iBACxCN,GAAA,CAACR,UAAU,EAAA;AAAA,EAAA,GAAKc,KAAK;AAAEf,EAAAA,OAAO,EAAC,MAAA;AAAM,CAAE,EACxC;MAEYoB,WAAW,GAAIL,KAAqB,iBAC/CN,GAAA,CAACR,UAAU,EAAA;AAAA,EAAA,GAAKc,KAAK;AAAEf,EAAAA,OAAO,EAAC,aAAA;AAAa,CAAE,EAC/C;MAEYqB,SAAS,GAAIN,KAAqB,iBAC7CN,GAAA,CAACR,UAAU,EAAA;AAAA,EAAA,GAAKc,KAAK;AAAEf,EAAAA,OAAO,EAAC,WAAA;AAAW,CAAE;;;;"}
1
+ {"version":3,"file":"Typography.mjs","sources":["../../../src/typography/Typography.tsx"],"sourcesContent":["import type { ElementType, HTMLAttributes } from 'react'\n\nimport cn from 'classnames'\n\nimport styles from './Typography.module.css'\n\nexport type TypographyVariant =\n | 'h1'\n | 'h2'\n | 'h3'\n | 'richInput'\n | 'bodyLarge'\n | 'body'\n | 'description'\n | 'groupName'\n\n// Weight only applies to bodyLarge/body/description; headings are single-weight by design.\nexport type TypographyWeight = 'regular' | 'semibold'\n\nexport type TypographyDataTestId = {\n root?: string\n}\n\nexport type TypographyProps = HTMLAttributes<HTMLElement> & {\n variant: TypographyVariant\n weight?: TypographyWeight\n as?: ElementType\n dataTestId?: TypographyDataTestId\n}\n\nconst variantTag: Record<TypographyVariant, ElementType> = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n richInput: 'p',\n bodyLarge: 'p',\n body: 'p',\n description: 'p',\n groupName: 'p',\n}\n\nconst isBodyVariant = (variant: TypographyVariant): boolean =>\n variant === 'bodyLarge' || variant === 'body' || variant === 'description'\n\nexport const Typography = ({\n variant,\n weight,\n as,\n className,\n children,\n dataTestId,\n ...rest\n}: TypographyProps) => {\n const Component = as ?? variantTag[variant]\n\n return (\n <Component\n className={cn(\n styles.root,\n styles[variant],\n weight === 'semibold' && isBodyVariant(variant) && styles.semibold,\n className,\n )}\n data-testid={dataTestId?.root}\n {...rest}\n >\n {children}\n </Component>\n )\n}\n\ntype ShorthandProps = Omit<TypographyProps, 'variant'>\n\nexport const H1 = (props: ShorthandProps) => (\n <Typography {...props} variant='h1' />\n)\n\nexport const H2 = (props: ShorthandProps) => (\n <Typography {...props} variant='h2' />\n)\n\nexport const H3 = (props: ShorthandProps) => (\n <Typography {...props} variant='h3' />\n)\n\nexport const BodyLarge = (props: ShorthandProps) => (\n <Typography {...props} variant='bodyLarge' />\n)\n\nexport const Body = (props: ShorthandProps) => (\n <Typography {...props} variant='body' />\n)\n\nexport const Description = (props: ShorthandProps) => (\n <Typography {...props} variant='description' />\n)\n\nexport const GroupName = (props: ShorthandProps) => (\n <Typography {...props} variant='groupName' />\n)\n"],"names":["variantTag","h1","h2","h3","richInput","bodyLarge","body","description","groupName","isBodyVariant","variant","Typography","_ref","weight","as","className","children","dataTestId","rest","Component","_jsx","cn","styles","root","semibold","H1","props","H2","H3","BodyLarge","Body","Description","GroupName"],"mappings":";;;;AA8BA,MAAMA,UAAkD,GAAG;AACzDC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,SAAS,EAAE,GAAG;AACdC,EAAAA,SAAS,EAAE,GAAG;AACdC,EAAAA,IAAI,EAAE,GAAG;AACTC,EAAAA,WAAW,EAAE,GAAG;AAChBC,EAAAA,SAAS,EAAE,GAAA;AACb,CAAC,CAAA;AAED,MAAMC,aAAa,GAAIC,OAA0B,IAC/CA,OAAO,KAAK,WAAW,IAAIA,OAAO,KAAK,MAAM,IAAIA,OAAO,KAAK,aAAa,CAAA;AAE/DC,MAAAA,UAAU,GAAGC,IAAA,IAQH;EAAA,IARI;IACzBF,OAAO;IACPG,MAAM;IACNC,EAAE;IACFC,SAAS;IACTC,QAAQ;IACRC,UAAU;IACV,GAAGC,IAAAA;AACY,GAAC,GAAAN,IAAA,CAAA;AAChB,EAAA,MAAMO,SAAS,GAAGL,EAAE,IAAId,UAAU,CAACU,OAAO,CAAC,CAAA;EAE3C,oBACEU,GAAA,CAACD,SAAS,EAAA;IACRJ,SAAS,EAAEM,EAAE,CACXC,MAAM,CAACC,IAAI,EACXD,MAAM,CAACZ,OAAO,CAAC,EACfG,MAAM,KAAK,UAAU,IAAIJ,aAAa,CAACC,OAAO,CAAC,IAAIY,MAAM,CAACE,QAAQ,EAClET,SACF,CAAE;IACF,aAAaE,EAAAA,UAAU,EAAEM,IAAK;AAAA,IAAA,GAC1BL,IAAI;AAAAF,IAAAA,QAAA,EAEPA,QAAAA;AAAQ,GACA,CAAC,CAAA;AAEhB,EAAC;MAIYS,EAAE,GAAIC,KAAqB,iBACtCN,GAAA,CAACT,UAAU,EAAA;AAAA,EAAA,GAAKe,KAAK;AAAEhB,EAAAA,OAAO,EAAC,IAAA;AAAI,CAAE,EACtC;MAEYiB,EAAE,GAAID,KAAqB,iBACtCN,GAAA,CAACT,UAAU,EAAA;AAAA,EAAA,GAAKe,KAAK;AAAEhB,EAAAA,OAAO,EAAC,IAAA;AAAI,CAAE,EACtC;MAEYkB,EAAE,GAAIF,KAAqB,iBACtCN,GAAA,CAACT,UAAU,EAAA;AAAA,EAAA,GAAKe,KAAK;AAAEhB,EAAAA,OAAO,EAAC,IAAA;AAAI,CAAE,EACtC;MAEYmB,SAAS,GAAIH,KAAqB,iBAC7CN,GAAA,CAACT,UAAU,EAAA;AAAA,EAAA,GAAKe,KAAK;AAAEhB,EAAAA,OAAO,EAAC,WAAA;AAAW,CAAE,EAC7C;MAEYoB,IAAI,GAAIJ,KAAqB,iBACxCN,GAAA,CAACT,UAAU,EAAA;AAAA,EAAA,GAAKe,KAAK;AAAEhB,EAAAA,OAAO,EAAC,MAAA;AAAM,CAAE,EACxC;MAEYqB,WAAW,GAAIL,KAAqB,iBAC/CN,GAAA,CAACT,UAAU,EAAA;AAAA,EAAA,GAAKe,KAAK;AAAEhB,EAAAA,OAAO,EAAC,aAAA;AAAa,CAAE,EAC/C;MAEYsB,SAAS,GAAIN,KAAqB,iBAC7CN,GAAA,CAACT,UAAU,EAAA;AAAA,EAAA,GAAKe,KAAK;AAAEhB,EAAAA,OAAO,EAAC,WAAA;AAAW,CAAE;;;;"}