@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":"RichInput.mjs","sources":["../../../src/rich-input/RichInput.tsx"],"sourcesContent":["import {\n useId,\n useRef,\n type ChangeEvent,\n type InputHTMLAttributes,\n type KeyboardEvent,\n type MouseEvent,\n type MouseEventHandler,\n type ReactNode,\n} from 'react'\n\nimport cn from 'classnames'\nimport { IconInfo } from '../icons'\nimport { Tag, type TagProps } from '../tag'\nimport { Tooltip } from '../tooltip'\n\nimport styles from './RichInput.module.css'\n\nexport type RichInputProps = InputHTMLAttributes<HTMLInputElement> & {\n label?: ReactNode\n labelTooltip?: ReactNode\n secondaryValue?: ReactNode\n balance?: ReactNode\n tokenSelector?: ReactNode\n error?: ReactNode | boolean\n showMaxButton?: boolean\n onMaxClick?: MouseEventHandler<HTMLSpanElement>\n maxTooltip?: ReactNode\n}\n\nconst MaxTag = ({ onClick, className, ...rest }: TagProps) => (\n <Tag\n role='button'\n tabIndex={0}\n className={cn(styles.maxTag, className)}\n onClick={onClick}\n onKeyDown={(event: KeyboardEvent<HTMLSpanElement>) => {\n if (event.key !== 'Enter' && event.key !== ' ') return\n event.preventDefault()\n onClick?.(event as unknown as MouseEvent<HTMLSpanElement>)\n }}\n {...rest}\n />\n)\n\n// Keep only digits and a single decimal point; comma is treated as the\n// decimal separator and normalized to a dot (en-US canonical form).\nconst sanitizeDecimal = (raw: string): string => {\n const normalized = raw.replace(/,/g, '.').replace(/[^\\d.]/g, '')\n const firstDot = normalized.indexOf('.')\n if (firstDot === -1) return normalized\n const head = normalized.slice(0, firstDot + 1)\n const tail = normalized.slice(firstDot + 1).replace(/\\./g, '')\n return head + tail\n}\n\nexport const RichInput = ({\n label,\n labelTooltip,\n secondaryValue,\n balance,\n tokenSelector,\n error,\n showMaxButton = true,\n onMaxClick,\n maxTooltip,\n onChange,\n className,\n id,\n disabled,\n ...inputProps\n}: RichInputProps) => {\n const inputRef = useRef<HTMLInputElement>(null)\n const fallbackId = useId()\n const inputId = id ?? fallbackId\n\n const hasError = Boolean(error)\n const errorMessage = typeof error === 'boolean' ? null : error\n const showErrorMessage = errorMessage != null && errorMessage !== ''\n const errorId = `${inputId}-error`\n const showMax = showMaxButton && !disabled\n const hasBottomRow = secondaryValue != null || balance != null || showMax\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n const { value: rawValue, selectionStart } = event.target\n const sanitized = sanitizeDecimal(rawValue)\n\n if (sanitized !== rawValue) {\n // Rewrite the DOM value before bubbling up so the parent (controlled\n // or not) only ever sees the clean value and no invalid char sticks.\n const removed = rawValue.length - sanitized.length\n event.target.value = sanitized\n if (selectionStart != null) {\n const caret = Math.max(0, selectionStart - removed)\n event.target.setSelectionRange(caret, caret)\n }\n }\n\n onChange?.(event)\n }\n\n const handleRootClick = (event: MouseEvent<HTMLDivElement>) => {\n if (!(event.target instanceof Element)) return\n if (event.target.closest('button, input, label, [role=\"listbox\"]')) {\n return\n }\n inputRef.current?.focus()\n }\n\n return (\n // Clicking the padding around the field focuses it — a pointer convenience\n // on top of the real control. Keyboard users tab straight to the input.\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions\n <div\n className={cn(styles.root, hasError && styles.error, className)}\n onClick={handleRootClick}\n >\n {label != null ? (\n <span className={styles.labelRow}>\n <label className={styles.label} htmlFor={inputId}>\n {label}\n </label>\n {labelTooltip != null ? (\n <Tooltip content={labelTooltip}>\n <IconInfo\n className={styles.labelTooltipIcon}\n aria-hidden='true'\n />\n </Tooltip>\n ) : null}\n </span>\n ) : null}\n <div className={styles.amountRow}>\n <input\n ref={inputRef}\n id={inputId}\n className={styles.input}\n inputMode='decimal'\n disabled={disabled}\n aria-invalid={hasError || undefined}\n aria-describedby={showErrorMessage ? errorId : undefined}\n onChange={handleChange}\n {...inputProps}\n />\n {tokenSelector != null ? (\n <div className={styles.token}>{tokenSelector}</div>\n ) : null}\n </div>\n {hasBottomRow ? (\n <div className={styles.bottomRow}>\n {secondaryValue != null ? (\n <span className={styles.secondary}>{secondaryValue}</span>\n ) : null}\n <div className={styles.balanceGroup}>\n {balance != null ? (\n <span className={styles.balance}>{balance}</span>\n ) : null}\n {showMax ? (\n maxTooltip != null ? (\n <Tooltip\n content={maxTooltip}\n position='bottom-left'\n width={240}\n >\n <MaxTag onClick={onMaxClick}>Max</MaxTag>\n </Tooltip>\n ) : (\n <MaxTag onClick={onMaxClick}>Max</MaxTag>\n )\n ) : null}\n </div>\n </div>\n ) : null}\n {showErrorMessage ? (\n <div id={errorId} className={styles.errorMessage}>\n {errorMessage}\n </div>\n ) : null}\n </div>\n )\n}\n"],"names":["MaxTag","_ref","onClick","className","rest","_jsx","Tag","role","tabIndex","cn","styles","maxTag","onKeyDown","event","key","preventDefault","sanitizeDecimal","raw","normalized","replace","firstDot","indexOf","head","slice","tail","RichInput","_ref2","label","labelTooltip","secondaryValue","balance","tokenSelector","error","showMaxButton","onMaxClick","maxTooltip","onChange","id","disabled","inputProps","inputRef","useRef","fallbackId","useId","inputId","hasError","Boolean","errorMessage","showErrorMessage","errorId","showMax","hasBottomRow","handleChange","value","rawValue","selectionStart","target","sanitized","removed","length","caret","Math","max","setSelectionRange","handleRootClick","Element","closest","current","focus","_jsxs","root","children","labelRow","htmlFor","Tooltip","content","IconInfo","labelTooltipIcon","amountRow","ref","input","inputMode","undefined","token","bottomRow","secondary","balanceGroup","position","width"],"mappings":"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"}
1
+ {"version":3,"file":"RichInput.mjs","sources":["../../../src/rich-input/RichInput.tsx"],"sourcesContent":["import {\n useId,\n useRef,\n type ChangeEvent,\n type InputHTMLAttributes,\n type KeyboardEvent,\n type MouseEvent,\n type MouseEventHandler,\n type ReactNode,\n} from 'react'\n\nimport cn from 'classnames'\nimport { IconInfo } from '../icons'\nimport { Tag, type TagProps } from '../tag'\nimport { Tooltip } from '../tooltip'\n\nimport styles from './RichInput.module.css'\n\nexport type RichInputDataTestId = {\n root?: string\n label?: string\n input?: string\n secondaryValue?: string\n balance?: string\n maxButton?: string\n error?: string\n}\n\nexport type RichInputProps = InputHTMLAttributes<HTMLInputElement> & {\n label?: ReactNode\n labelTooltip?: ReactNode\n secondaryValue?: ReactNode\n balance?: ReactNode\n tokenSelector?: ReactNode\n error?: ReactNode | boolean\n showMaxButton?: boolean\n onMaxClick?: MouseEventHandler<HTMLSpanElement>\n maxTooltip?: ReactNode\n dataTestId?: RichInputDataTestId\n}\n\nconst MaxTag = ({ onClick, className, ...rest }: TagProps) => (\n <Tag\n role='button'\n tabIndex={0}\n className={cn(styles.maxTag, className)}\n onClick={onClick}\n onKeyDown={(event: KeyboardEvent<HTMLSpanElement>) => {\n if (event.key !== 'Enter' && event.key !== ' ') return\n event.preventDefault()\n onClick?.(event as unknown as MouseEvent<HTMLSpanElement>)\n }}\n {...rest}\n />\n)\n\n// Keep only digits and a single decimal point; comma is treated as the\n// decimal separator and normalized to a dot (en-US canonical form).\nconst sanitizeDecimal = (raw: string): string => {\n const normalized = raw.replace(/,/g, '.').replace(/[^\\d.]/g, '')\n const firstDot = normalized.indexOf('.')\n if (firstDot === -1) return normalized\n const head = normalized.slice(0, firstDot + 1)\n const tail = normalized.slice(firstDot + 1).replace(/\\./g, '')\n return head + tail\n}\n\nexport const RichInput = ({\n label,\n labelTooltip,\n secondaryValue,\n balance,\n tokenSelector,\n error,\n showMaxButton = true,\n onMaxClick,\n maxTooltip,\n onChange,\n className,\n id,\n disabled,\n dataTestId,\n ...inputProps\n}: RichInputProps) => {\n const inputRef = useRef<HTMLInputElement>(null)\n const fallbackId = useId()\n const inputId = id ?? fallbackId\n\n const hasError = Boolean(error)\n const errorMessage = typeof error === 'boolean' ? null : error\n const showErrorMessage = errorMessage != null && errorMessage !== ''\n const errorId = `${inputId}-error`\n const showMax = showMaxButton && !disabled\n const hasBottomRow = secondaryValue != null || balance != null || showMax\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n const { value: rawValue, selectionStart } = event.target\n const sanitized = sanitizeDecimal(rawValue)\n\n if (sanitized !== rawValue) {\n // Rewrite the DOM value before bubbling up so the parent (controlled\n // or not) only ever sees the clean value and no invalid char sticks.\n const removed = rawValue.length - sanitized.length\n event.target.value = sanitized\n if (selectionStart != null) {\n const caret = Math.max(0, selectionStart - removed)\n event.target.setSelectionRange(caret, caret)\n }\n }\n\n onChange?.(event)\n }\n\n const handleRootClick = (event: MouseEvent<HTMLDivElement>) => {\n if (!(event.target instanceof Element)) return\n if (event.target.closest('button, input, label, [role=\"listbox\"]')) {\n return\n }\n inputRef.current?.focus()\n }\n\n return (\n // Clicking the padding around the field focuses it — a pointer convenience\n // on top of the real control. Keyboard users tab straight to the input.\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions\n <div\n className={cn(styles.root, hasError && styles.error, className)}\n onClick={handleRootClick}\n data-testid={dataTestId?.root}\n >\n {label != null ? (\n <span className={styles.labelRow}>\n <label\n className={styles.label}\n htmlFor={inputId}\n data-testid={dataTestId?.label}\n >\n {label}\n </label>\n {labelTooltip != null ? (\n <Tooltip content={labelTooltip}>\n <IconInfo\n className={styles.labelTooltipIcon}\n aria-hidden='true'\n />\n </Tooltip>\n ) : null}\n </span>\n ) : null}\n <div className={styles.amountRow}>\n <input\n ref={inputRef}\n id={inputId}\n className={styles.input}\n inputMode='decimal'\n disabled={disabled}\n aria-invalid={hasError || undefined}\n aria-describedby={showErrorMessage ? errorId : undefined}\n onChange={handleChange}\n data-testid={dataTestId?.input}\n {...inputProps}\n />\n {tokenSelector != null ? (\n <div className={styles.token}>{tokenSelector}</div>\n ) : null}\n </div>\n {hasBottomRow ? (\n <div className={styles.bottomRow}>\n {secondaryValue != null ? (\n <span\n className={styles.secondary}\n data-testid={dataTestId?.secondaryValue}\n >\n {secondaryValue}\n </span>\n ) : null}\n <div className={styles.balanceGroup}>\n {balance != null ? (\n <span\n className={styles.balance}\n data-testid={dataTestId?.balance}\n >\n {balance}\n </span>\n ) : null}\n {showMax ? (\n maxTooltip != null ? (\n <Tooltip\n content={maxTooltip}\n position='bottom-left'\n width={240}\n >\n <MaxTag\n onClick={onMaxClick}\n data-testid={dataTestId?.maxButton}\n >\n Max\n </MaxTag>\n </Tooltip>\n ) : (\n <MaxTag\n onClick={onMaxClick}\n data-testid={dataTestId?.maxButton}\n >\n Max\n </MaxTag>\n )\n ) : null}\n </div>\n </div>\n ) : null}\n {showErrorMessage ? (\n <div\n id={errorId}\n className={styles.errorMessage}\n data-testid={dataTestId?.error}\n >\n {errorMessage}\n </div>\n ) : null}\n </div>\n )\n}\n"],"names":["MaxTag","_ref","onClick","className","rest","_jsx","Tag","role","tabIndex","cn","styles","maxTag","onKeyDown","event","key","preventDefault","sanitizeDecimal","raw","normalized","replace","firstDot","indexOf","head","slice","tail","RichInput","_ref2","label","labelTooltip","secondaryValue","balance","tokenSelector","error","showMaxButton","onMaxClick","maxTooltip","onChange","id","disabled","dataTestId","inputProps","inputRef","useRef","fallbackId","useId","inputId","hasError","Boolean","errorMessage","showErrorMessage","errorId","showMax","hasBottomRow","handleChange","value","rawValue","selectionStart","target","sanitized","removed","length","caret","Math","max","setSelectionRange","handleRootClick","Element","closest","current","focus","_jsxs","root","children","labelRow","htmlFor","Tooltip","content","IconInfo","labelTooltipIcon","amountRow","ref","input","inputMode","undefined","token","bottomRow","secondary","balanceGroup","position","width","maxButton"],"mappings":"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"}
@@ -11,10 +11,12 @@ const SectionTitle = _ref => {
11
11
  tooltip,
12
12
  action,
13
13
  className,
14
+ dataTestId,
14
15
  ...rest
15
16
  } = _ref;
16
17
  return /*#__PURE__*/jsxs("div", {
17
18
  className: cn(styles.root, className),
19
+ "data-testid": dataTestId?.root,
18
20
  ...rest,
19
21
  children: [/*#__PURE__*/jsxs("div", {
20
22
  className: styles.left,
@@ -22,6 +24,7 @@ const SectionTitle = _ref => {
22
24
  className: styles.titleRow,
23
25
  children: [/*#__PURE__*/jsx("p", {
24
26
  className: styles.title,
27
+ "data-testid": dataTestId?.title,
25
28
  children: title
26
29
  }), tooltip != null ? /*#__PURE__*/jsx(Tooltip, {
27
30
  content: tooltip,
@@ -32,10 +35,12 @@ const SectionTitle = _ref => {
32
35
  }) : null]
33
36
  }), subtitle != null ? /*#__PURE__*/jsx("p", {
34
37
  className: styles.subtitle,
38
+ "data-testid": dataTestId?.subtitle,
35
39
  children: subtitle
36
40
  }) : null]
37
41
  }), action != null ? /*#__PURE__*/jsx("div", {
38
42
  className: styles.action,
43
+ "data-testid": dataTestId?.action,
39
44
  children: action
40
45
  }) : null]
41
46
  });
@@ -1 +1 @@
1
- {"version":3,"file":"SectionTitle.mjs","sources":["../../../src/section-title/SectionTitle.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport { IconInfo } from '../icons'\nimport { Tooltip } from '../tooltip'\nimport styles from './SectionTitle.module.css'\n\nexport type SectionTitleProps = HTMLAttributes<HTMLDivElement> & {\n title: ReactNode\n subtitle?: ReactNode\n /** Renders an info glyph next to the title; hovering it shows this content. */\n tooltip?: ReactNode\n /** Rendered on the right, typically a `Button`. */\n action?: ReactNode\n}\n\nexport const SectionTitle = ({\n title,\n subtitle,\n tooltip,\n action,\n className,\n ...rest\n}: SectionTitleProps) => (\n <div className={cn(styles.root, className)} {...rest}>\n <div className={styles.left}>\n <div className={styles.titleRow}>\n <p className={styles.title}>{title}</p>\n {tooltip != null ? (\n <Tooltip content={tooltip}>\n <IconInfo className={styles.icon} aria-hidden='true' />\n </Tooltip>\n ) : null}\n </div>\n {subtitle != null ? <p className={styles.subtitle}>{subtitle}</p> : null}\n </div>\n {action != null ? <div className={styles.action}>{action}</div> : null}\n </div>\n)\n"],"names":["SectionTitle","_ref","title","subtitle","tooltip","action","className","rest","_jsxs","cn","styles","root","children","left","titleRow","_jsx","Tooltip","content","IconInfo","icon"],"mappings":";;;;;;AAiBO,MAAMA,YAAY,GAAGC,IAAA,IAAA;EAAA,IAAC;IAC3BC,KAAK;IACLC,QAAQ;IACRC,OAAO;IACPC,MAAM;IACNC,SAAS;IACT,GAAGC,IAAAA;AACc,GAAC,GAAAN,IAAA,CAAA;AAAA,EAAA,oBAClBO,IAAA,CAAA,KAAA,EAAA;IAAKF,SAAS,EAAEG,EAAE,CAACC,MAAM,CAACC,IAAI,EAAEL,SAAS,CAAE;AAAA,IAAA,GAAKC,IAAI;AAAAK,IAAAA,QAAA,gBAClDJ,IAAA,CAAA,KAAA,EAAA;MAAKF,SAAS,EAAEI,MAAM,CAACG,IAAK;AAAAD,MAAAA,QAAA,gBAC1BJ,IAAA,CAAA,KAAA,EAAA;QAAKF,SAAS,EAAEI,MAAM,CAACI,QAAS;AAAAF,QAAAA,QAAA,gBAC9BG,GAAA,CAAA,GAAA,EAAA;UAAGT,SAAS,EAAEI,MAAM,CAACR,KAAM;AAAAU,UAAAA,QAAA,EAAEV,KAAAA;SAAS,CAAC,EACtCE,OAAO,IAAI,IAAI,gBACdW,GAAA,CAACC,OAAO,EAAA;AAACC,UAAAA,OAAO,EAAEb,OAAQ;UAAAQ,QAAA,eACxBG,GAAA,CAACG,QAAQ,EAAA;YAACZ,SAAS,EAAEI,MAAM,CAACS,IAAK;YAAC,aAAY,EAAA,MAAA;WAAQ,CAAA;SAC/C,CAAC,GACR,IAAI,CAAA;AAAA,OACL,CAAC,EACLhB,QAAQ,IAAI,IAAI,gBAAGY,GAAA,CAAA,GAAA,EAAA;QAAGT,SAAS,EAAEI,MAAM,CAACP,QAAS;AAAAS,QAAAA,QAAA,EAAET,QAAAA;OAAY,CAAC,GAAG,IAAI,CAAA;AAAA,KACrE,CAAC,EACLE,MAAM,IAAI,IAAI,gBAAGU,GAAA,CAAA,KAAA,EAAA;MAAKT,SAAS,EAAEI,MAAM,CAACL,MAAO;AAAAO,MAAAA,QAAA,EAAEP,MAAAA;KAAY,CAAC,GAAG,IAAI,CAAA;AAAA,GACnE,CAAC,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"SectionTitle.mjs","sources":["../../../src/section-title/SectionTitle.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport { IconInfo } from '../icons'\nimport { Tooltip } from '../tooltip'\nimport styles from './SectionTitle.module.css'\n\nexport type SectionTitleDataTestId = {\n root?: string\n title?: string\n subtitle?: string\n action?: string\n}\n\nexport type SectionTitleProps = HTMLAttributes<HTMLDivElement> & {\n title: ReactNode\n subtitle?: ReactNode\n /** Renders an info glyph next to the title; hovering it shows this content. */\n tooltip?: ReactNode\n /** Rendered on the right, typically a `Button`. */\n action?: ReactNode\n dataTestId?: SectionTitleDataTestId\n}\n\nexport const SectionTitle = ({\n title,\n subtitle,\n tooltip,\n action,\n className,\n dataTestId,\n ...rest\n}: SectionTitleProps) => (\n <div\n className={cn(styles.root, className)}\n data-testid={dataTestId?.root}\n {...rest}\n >\n <div className={styles.left}>\n <div className={styles.titleRow}>\n <p className={styles.title} data-testid={dataTestId?.title}>\n {title}\n </p>\n {tooltip != null ? (\n <Tooltip content={tooltip}>\n <IconInfo className={styles.icon} aria-hidden='true' />\n </Tooltip>\n ) : null}\n </div>\n {subtitle != null ? (\n <p className={styles.subtitle} data-testid={dataTestId?.subtitle}>\n {subtitle}\n </p>\n ) : null}\n </div>\n {action != null ? (\n <div className={styles.action} data-testid={dataTestId?.action}>\n {action}\n </div>\n ) : null}\n </div>\n)\n"],"names":["SectionTitle","_ref","title","subtitle","tooltip","action","className","dataTestId","rest","_jsxs","cn","styles","root","children","left","titleRow","_jsx","Tooltip","content","IconInfo","icon"],"mappings":";;;;;;AAyBO,MAAMA,YAAY,GAAGC,IAAA,IAAA;EAAA,IAAC;IAC3BC,KAAK;IACLC,QAAQ;IACRC,OAAO;IACPC,MAAM;IACNC,SAAS;IACTC,UAAU;IACV,GAAGC,IAAAA;AACc,GAAC,GAAAP,IAAA,CAAA;AAAA,EAAA,oBAClBQ,IAAA,CAAA,KAAA,EAAA;IACEH,SAAS,EAAEI,EAAE,CAACC,MAAM,CAACC,IAAI,EAAEN,SAAS,CAAE;IACtC,aAAaC,EAAAA,UAAU,EAAEK,IAAK;AAAA,IAAA,GAC1BJ,IAAI;AAAAK,IAAAA,QAAA,gBAERJ,IAAA,CAAA,KAAA,EAAA;MAAKH,SAAS,EAAEK,MAAM,CAACG,IAAK;AAAAD,MAAAA,QAAA,gBAC1BJ,IAAA,CAAA,KAAA,EAAA;QAAKH,SAAS,EAAEK,MAAM,CAACI,QAAS;AAAAF,QAAAA,QAAA,gBAC9BG,GAAA,CAAA,GAAA,EAAA;UAAGV,SAAS,EAAEK,MAAM,CAACT,KAAM;UAAC,aAAaK,EAAAA,UAAU,EAAEL,KAAM;AAAAW,UAAAA,QAAA,EACxDX,KAAAA;SACA,CAAC,EACHE,OAAO,IAAI,IAAI,gBACdY,GAAA,CAACC,OAAO,EAAA;AAACC,UAAAA,OAAO,EAAEd,OAAQ;UAAAS,QAAA,eACxBG,GAAA,CAACG,QAAQ,EAAA;YAACb,SAAS,EAAEK,MAAM,CAACS,IAAK;YAAC,aAAY,EAAA,MAAA;WAAQ,CAAA;SAC/C,CAAC,GACR,IAAI,CAAA;AAAA,OACL,CAAC,EACLjB,QAAQ,IAAI,IAAI,gBACfa,GAAA,CAAA,GAAA,EAAA;QAAGV,SAAS,EAAEK,MAAM,CAACR,QAAS;QAAC,aAAaI,EAAAA,UAAU,EAAEJ,QAAS;AAAAU,QAAAA,QAAA,EAC9DV,QAAAA;OACA,CAAC,GACF,IAAI,CAAA;AAAA,KACL,CAAC,EACLE,MAAM,IAAI,IAAI,gBACbW,GAAA,CAAA,KAAA,EAAA;MAAKV,SAAS,EAAEK,MAAM,CAACN,MAAO;MAAC,aAAaE,EAAAA,UAAU,EAAEF,MAAO;AAAAQ,MAAAA,QAAA,EAC5DR,MAAAA;KACE,CAAC,GACJ,IAAI,CAAA;AAAA,GACL,CAAC,CAAA;AAAA;;;;"}
@@ -9,6 +9,7 @@ const Segment = /*#__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,9 +18,11 @@ const Segment = /*#__PURE__*/forwardRef((_ref, ref) => {
17
18
  role: "tab",
18
19
  "aria-selected": active,
19
20
  className: cn(styles.segment, active && styles.active, className),
21
+ "data-testid": dataTestId?.root,
20
22
  ...rest,
21
23
  children: /*#__PURE__*/jsx("span", {
22
24
  className: styles.content,
25
+ "data-testid": dataTestId?.content,
23
26
  children: children
24
27
  })
25
28
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Segment.mjs","sources":["../../../src/segmented-control/Segment.tsx"],"sourcesContent":["import { forwardRef, type ButtonHTMLAttributes } from 'react'\n\nimport cn from 'classnames'\n\nimport styles from './Segment.module.css'\n\nexport type SegmentProps = ButtonHTMLAttributes<HTMLButtonElement> & {\n active?: boolean\n}\n\nexport const Segment = forwardRef<HTMLButtonElement, SegmentProps>(\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.segment, active && styles.active, className)}\n {...rest}\n >\n <span className={styles.content}>{children}</span>\n </button>\n ),\n)\n\nSegment.displayName = 'Segment'\n"],"names":["Segment","forwardRef","_ref","ref","active","className","children","type","rest","_jsx","role","cn","styles","segment","content","displayName"],"mappings":";;;;;AAUO,MAAMA,OAAO,gBAAGC,UAAU,CAC/B,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,OAAO,EAAET,MAAM,IAAIQ,MAAM,CAACR,MAAM,EAAEC,SAAS,CAAE;AAAA,IAAA,GAC9DG,IAAI;AAAAF,IAAAA,QAAA,eAERG,GAAA,CAAA,MAAA,EAAA;MAAMJ,SAAS,EAAEO,MAAM,CAACE,OAAQ;AAAAR,MAAAA,QAAA,EAAEA,QAAAA;KAAe,CAAA;AAAC,GAC5C,CAAC,CAAA;AAAA,CAEb,EAAC;AAEDN,OAAO,CAACe,WAAW,GAAG,SAAS;;;;"}
1
+ {"version":3,"file":"Segment.mjs","sources":["../../../src/segmented-control/Segment.tsx"],"sourcesContent":["import { forwardRef, type ButtonHTMLAttributes } from 'react'\n\nimport cn from 'classnames'\n\nimport styles from './Segment.module.css'\n\nexport type SegmentDataTestId = {\n root?: string\n content?: string\n}\n\nexport type SegmentProps = ButtonHTMLAttributes<HTMLButtonElement> & {\n active?: boolean\n dataTestId?: SegmentDataTestId\n}\n\nexport const Segment = forwardRef<HTMLButtonElement, SegmentProps>(\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.segment, active && styles.active, className)}\n data-testid={dataTestId?.root}\n {...rest}\n >\n <span className={styles.content} data-testid={dataTestId?.content}>\n {children}\n </span>\n </button>\n ),\n)\n\nSegment.displayName = 'Segment'\n"],"names":["Segment","forwardRef","_ref","ref","active","className","children","type","dataTestId","rest","_jsx","role","cn","styles","segment","root","content","displayName"],"mappings":";;;;;AAgBO,MAAMA,OAAO,gBAAGC,UAAU,CAC/B,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,OAAO,EAAEV,MAAM,IAAIS,MAAM,CAACT,MAAM,EAAEC,SAAS,CAAE;IAClE,aAAaG,EAAAA,UAAU,EAAEO,IAAK;AAAA,IAAA,GAC1BN,IAAI;AAAAH,IAAAA,QAAA,eAERI,GAAA,CAAA,MAAA,EAAA;MAAML,SAAS,EAAEQ,MAAM,CAACG,OAAQ;MAAC,aAAaR,EAAAA,UAAU,EAAEQ,OAAQ;AAAAV,MAAAA,QAAA,EAC/DA,QAAAA;KACG,CAAA;AAAC,GACD,CAAC,CAAA;AAAA,CAEb,EAAC;AAEDN,OAAO,CAACiB,WAAW,GAAG,SAAS;;;;"}
@@ -14,6 +14,7 @@ const SegmentCard = /*#__PURE__*/forwardRef((_ref, ref) => {
14
14
  description,
15
15
  className,
16
16
  type = 'button',
17
+ dataTestId,
17
18
  ...rest
18
19
  } = _ref;
19
20
  return /*#__PURE__*/jsx("button", {
@@ -23,20 +24,26 @@ const SegmentCard = /*#__PURE__*/forwardRef((_ref, ref) => {
23
24
  "aria-selected": active,
24
25
  disabled: disabled,
25
26
  className: cn(styles.card, active && styles.active, className),
27
+ "data-testid": dataTestId?.root,
26
28
  ...rest,
27
29
  children: /*#__PURE__*/jsxs("span", {
28
30
  className: styles.content,
29
31
  children: [icon != null ? /*#__PURE__*/jsx("span", {
30
32
  className: styles.icon,
31
33
  "aria-hidden": "true",
34
+ "data-testid": dataTestId?.icon,
32
35
  children: icon
33
36
  }) : null, /*#__PURE__*/jsxs("span", {
34
37
  className: styles.title,
38
+ "data-testid": dataTestId?.title,
35
39
  children: [/*#__PURE__*/jsx("span", {
36
40
  className: styles.titleText,
37
41
  children: title
38
42
  }), tag != null ? /*#__PURE__*/jsx(Tag, {
39
43
  variant: "neutral",
44
+ dataTestId: {
45
+ root: dataTestId?.tag
46
+ },
40
47
  style: disabled ? {
41
48
  '--local-text': 'var(--lido-app-ui-color-text-disabled)'
42
49
  } : undefined,
@@ -44,6 +51,7 @@ const SegmentCard = /*#__PURE__*/forwardRef((_ref, ref) => {
44
51
  }) : null]
45
52
  }), description != null ? /*#__PURE__*/jsx("span", {
46
53
  className: styles.description,
54
+ "data-testid": dataTestId?.description,
47
55
  children: description
48
56
  }) : null]
49
57
  })
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentCard.mjs","sources":["../../../src/segmented-control/SegmentCard.tsx"],"sourcesContent":["import { forwardRef, type ButtonHTMLAttributes, type ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport { Tag } from '../tag'\nimport styles from './SegmentCard.module.css'\n\nexport type SegmentCardProps = Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'title'\n> & {\n active?: boolean\n icon?: ReactNode\n title: ReactNode\n tag?: ReactNode\n description?: ReactNode\n}\n\nexport const SegmentCard = forwardRef<HTMLButtonElement, SegmentCardProps>(\n (\n {\n active = false,\n disabled = false,\n icon,\n title,\n tag,\n description,\n className,\n type = 'button',\n ...rest\n },\n ref,\n ) => (\n <button\n ref={ref}\n type={type}\n role='tab'\n aria-selected={active}\n disabled={disabled}\n className={cn(styles.card, active && styles.active, className)}\n {...rest}\n >\n <span className={styles.content}>\n {icon != null ? (\n <span className={styles.icon} aria-hidden='true'>\n {icon}\n </span>\n ) : null}\n <span className={styles.title}>\n <span className={styles.titleText}>{title}</span>\n {tag != null ? (\n <Tag\n variant='neutral'\n style={\n disabled\n ? ({\n '--local-text': 'var(--lido-app-ui-color-text-disabled)',\n } as React.CSSProperties)\n : undefined\n }\n >\n {tag}\n </Tag>\n ) : null}\n </span>\n {description != null ? (\n <span className={styles.description}>{description}</span>\n ) : null}\n </span>\n </button>\n ),\n)\n\nSegmentCard.displayName = 'SegmentCard'\n"],"names":["SegmentCard","forwardRef","_ref","ref","active","disabled","icon","title","tag","description","className","type","rest","_jsx","role","cn","styles","card","children","_jsxs","content","titleText","Tag","variant","style","undefined","displayName"],"mappings":";;;;;;AAkBO,MAAMA,WAAW,gBAAGC,UAAU,CACnC,CAAAC,IAAA,EAYEC,GAAG,KAAA;EAAA,IAXH;AACEC,IAAAA,MAAM,GAAG,KAAK;AACdC,IAAAA,QAAQ,GAAG,KAAK;IAChBC,IAAI;IACJC,KAAK;IACLC,GAAG;IACHC,WAAW;IACXC,SAAS;AACTC,IAAAA,IAAI,GAAG,QAAQ;IACf,GAAGC,IAAAA;AACL,GAAC,GAAAV,IAAA,CAAA;AAAA,EAAA,oBAGDW,GAAA,CAAA,QAAA,EAAA;AACEV,IAAAA,GAAG,EAAEA,GAAI;AACTQ,IAAAA,IAAI,EAAEA,IAAK;AACXG,IAAAA,IAAI,EAAC,KAAK;AACV,IAAA,eAAA,EAAeV,MAAO;AACtBC,IAAAA,QAAQ,EAAEA,QAAS;AACnBK,IAAAA,SAAS,EAAEK,EAAE,CAACC,MAAM,CAACC,IAAI,EAAEb,MAAM,IAAIY,MAAM,CAACZ,MAAM,EAAEM,SAAS,CAAE;AAAA,IAAA,GAC3DE,IAAI;AAAAM,IAAAA,QAAA,eAERC,IAAA,CAAA,MAAA,EAAA;MAAMT,SAAS,EAAEM,MAAM,CAACI,OAAQ;AAAAF,MAAAA,QAAA,EAC7BZ,CAAAA,IAAI,IAAI,IAAI,gBACXO,GAAA,CAAA,MAAA,EAAA;QAAMH,SAAS,EAAEM,MAAM,CAACV,IAAK;AAAC,QAAA,aAAA,EAAY,MAAM;AAAAY,QAAAA,QAAA,EAC7CZ,IAAAA;AAAI,OACD,CAAC,GACL,IAAI,eACRa,IAAA,CAAA,MAAA,EAAA;QAAMT,SAAS,EAAEM,MAAM,CAACT,KAAM;AAAAW,QAAAA,QAAA,gBAC5BL,GAAA,CAAA,MAAA,EAAA;UAAMH,SAAS,EAAEM,MAAM,CAACK,SAAU;AAAAH,UAAAA,QAAA,EAAEX,KAAAA;SAAY,CAAC,EAChDC,GAAG,IAAI,IAAI,gBACVK,GAAA,CAACS,GAAG,EAAA;AACFC,UAAAA,OAAO,EAAC,SAAS;UACjBC,KAAK,EACHnB,QAAQ,GACH;AACC,YAAA,cAAc,EAAE,wCAAA;AAClB,WAAC,GACDoB,SACL;AAAAP,UAAAA,QAAA,EAEAV,GAAAA;SACE,CAAC,GACJ,IAAI,CAAA;AAAA,OACJ,CAAC,EACNC,WAAW,IAAI,IAAI,gBAClBI,GAAA,CAAA,MAAA,EAAA;QAAMH,SAAS,EAAEM,MAAM,CAACP,WAAY;AAAAS,QAAAA,QAAA,EAAET,WAAAA;OAAkB,CAAC,GACvD,IAAI,CAAA;KACJ,CAAA;AAAC,GACD,CAAC,CAAA;AAAA,CAEb,EAAC;AAEDT,WAAW,CAAC0B,WAAW,GAAG,aAAa;;;;"}
1
+ {"version":3,"file":"SegmentCard.mjs","sources":["../../../src/segmented-control/SegmentCard.tsx"],"sourcesContent":["import { forwardRef, type ButtonHTMLAttributes, type ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport { Tag } from '../tag'\nimport styles from './SegmentCard.module.css'\n\nexport type SegmentCardDataTestId = {\n root?: string\n icon?: string\n title?: string\n tag?: string\n description?: string\n}\n\nexport type SegmentCardProps = Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'title'\n> & {\n active?: boolean\n icon?: ReactNode\n title: ReactNode\n tag?: ReactNode\n description?: ReactNode\n dataTestId?: SegmentCardDataTestId\n}\n\nexport const SegmentCard = forwardRef<HTMLButtonElement, SegmentCardProps>(\n (\n {\n active = false,\n disabled = false,\n icon,\n title,\n tag,\n description,\n className,\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 disabled={disabled}\n className={cn(styles.card, active && styles.active, className)}\n data-testid={dataTestId?.root}\n {...rest}\n >\n <span className={styles.content}>\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 <span className={styles.title} data-testid={dataTestId?.title}>\n <span className={styles.titleText}>{title}</span>\n {tag != null ? (\n <Tag\n variant='neutral'\n dataTestId={{ root: dataTestId?.tag }}\n style={\n disabled\n ? ({\n '--local-text': 'var(--lido-app-ui-color-text-disabled)',\n } as React.CSSProperties)\n : undefined\n }\n >\n {tag}\n </Tag>\n ) : null}\n </span>\n {description != null ? (\n <span\n className={styles.description}\n data-testid={dataTestId?.description}\n >\n {description}\n </span>\n ) : null}\n </span>\n </button>\n ),\n)\n\nSegmentCard.displayName = 'SegmentCard'\n"],"names":["SegmentCard","forwardRef","_ref","ref","active","disabled","icon","title","tag","description","className","type","dataTestId","rest","_jsx","role","cn","styles","card","root","children","_jsxs","content","titleText","Tag","variant","style","undefined","displayName"],"mappings":";;;;;;AA2BO,MAAMA,WAAW,gBAAGC,UAAU,CACnC,CAAAC,IAAA,EAaEC,GAAG,KAAA;EAAA,IAZH;AACEC,IAAAA,MAAM,GAAG,KAAK;AACdC,IAAAA,QAAQ,GAAG,KAAK;IAChBC,IAAI;IACJC,KAAK;IACLC,GAAG;IACHC,WAAW;IACXC,SAAS;AACTC,IAAAA,IAAI,GAAG,QAAQ;IACfC,UAAU;IACV,GAAGC,IAAAA;AACL,GAAC,GAAAX,IAAA,CAAA;AAAA,EAAA,oBAGDY,GAAA,CAAA,QAAA,EAAA;AACEX,IAAAA,GAAG,EAAEA,GAAI;AACTQ,IAAAA,IAAI,EAAEA,IAAK;AACXI,IAAAA,IAAI,EAAC,KAAK;AACV,IAAA,eAAA,EAAeX,MAAO;AACtBC,IAAAA,QAAQ,EAAEA,QAAS;AACnBK,IAAAA,SAAS,EAAEM,EAAE,CAACC,MAAM,CAACC,IAAI,EAAEd,MAAM,IAAIa,MAAM,CAACb,MAAM,EAAEM,SAAS,CAAE;IAC/D,aAAaE,EAAAA,UAAU,EAAEO,IAAK;AAAA,IAAA,GAC1BN,IAAI;AAAAO,IAAAA,QAAA,eAERC,IAAA,CAAA,MAAA,EAAA;MAAMX,SAAS,EAAEO,MAAM,CAACK,OAAQ;AAAAF,MAAAA,QAAA,EAC7Bd,CAAAA,IAAI,IAAI,IAAI,gBACXQ,GAAA,CAAA,MAAA,EAAA;QACEJ,SAAS,EAAEO,MAAM,CAACX,IAAK;AACvB,QAAA,aAAA,EAAY,MAAM;QAClB,aAAaM,EAAAA,UAAU,EAAEN,IAAK;AAAAc,QAAAA,QAAA,EAE7Bd,IAAAA;AAAI,OACD,CAAC,GACL,IAAI,eACRe,IAAA,CAAA,MAAA,EAAA;QAAMX,SAAS,EAAEO,MAAM,CAACV,KAAM;QAAC,aAAaK,EAAAA,UAAU,EAAEL,KAAM;AAAAa,QAAAA,QAAA,gBAC5DN,GAAA,CAAA,MAAA,EAAA;UAAMJ,SAAS,EAAEO,MAAM,CAACM,SAAU;AAAAH,UAAAA,QAAA,EAAEb,KAAAA;SAAY,CAAC,EAChDC,GAAG,IAAI,IAAI,gBACVM,GAAA,CAACU,GAAG,EAAA;AACFC,UAAAA,OAAO,EAAC,SAAS;AACjBb,UAAAA,UAAU,EAAE;YAAEO,IAAI,EAAEP,UAAU,EAAEJ,GAAAA;WAAM;UACtCkB,KAAK,EACHrB,QAAQ,GACH;AACC,YAAA,cAAc,EAAE,wCAAA;AAClB,WAAC,GACDsB,SACL;AAAAP,UAAAA,QAAA,EAEAZ,GAAAA;SACE,CAAC,GACJ,IAAI,CAAA;AAAA,OACJ,CAAC,EACNC,WAAW,IAAI,IAAI,gBAClBK,GAAA,CAAA,MAAA,EAAA;QACEJ,SAAS,EAAEO,MAAM,CAACR,WAAY;QAC9B,aAAaG,EAAAA,UAAU,EAAEH,WAAY;AAAAW,QAAAA,QAAA,EAEpCX,WAAAA;OACG,CAAC,GACL,IAAI,CAAA;KACJ,CAAA;AAAC,GACD,CAAC,CAAA;AAAA,CAEb,EAAC;AAEDT,WAAW,CAAC4B,WAAW,GAAG,aAAa;;;;"}
@@ -9,7 +9,9 @@ const SegmentedControl = _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);
@@ -48,6 +50,8 @@ const SegmentedControl = _ref => {
48
50
  ref: containerRef,
49
51
  role: "tablist",
50
52
  className: cn(styles.segmentedControl, className),
53
+ "data-testid": dataTestId?.root,
54
+ ...rest,
51
55
  children: [/*#__PURE__*/jsx("div", {
52
56
  ref: selectionRef,
53
57
  "aria-hidden": "true",
@@ -58,6 +62,7 @@ const SegmentedControl = _ref => {
58
62
  ref: active ? activeButtonRef : undefined,
59
63
  active: active,
60
64
  disabled: item.disabled,
65
+ dataTestId: item.dataTestId,
61
66
  onClick: () => {
62
67
  if (item.value !== value) onChange(item.value);
63
68
  },
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControl.mjs","sources":["../../../src/segmented-control/SegmentedControl.tsx"],"sourcesContent":["import { useLayoutEffect, useRef, useState, type ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport { Segment } from './Segment'\nimport styles from './SegmentedControl.module.css'\n\nexport type SegmentItem = {\n value: string\n label: ReactNode\n disabled?: boolean\n}\n\nexport type SegmentedControlProps = {\n items: SegmentItem[]\n value: string\n onChange: (value: string) => void\n className?: string\n}\n\nexport const SegmentedControl = ({\n items,\n value,\n onChange,\n className,\n}: SegmentedControlProps) => {\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 pill 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 // The pill is absolutely positioned, so top/left 0 is the container's\n // padding box (inside the border). getBoundingClientRect measures from\n // the border box, so subtract the border to keep the pill from drifting\n // down-right by the border width.\n const style = getComputedStyle(container)\n const borderLeft = parseFloat(style.borderLeftWidth) || 0\n const borderTop = parseFloat(style.borderTopWidth) || 0\n const x = buttonRect.left - containerRect.left - borderLeft\n const y = buttonRect.top - containerRect.top - borderTop\n\n selection.style.width = `${buttonRect.width}px`\n selection.style.height = `${buttonRect.height}px`\n selection.style.transform = `translate(${x}px, ${y}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.segmentedControl, 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 <Segment\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 </Segment>\n )\n })}\n </div>\n )\n}\n"],"names":["SegmentedControl","_ref","items","value","onChange","className","containerRef","useRef","activeButtonRef","selectionRef","animated","setAnimated","useState","useLayoutEffect","updateSelection","button","current","container","selection","buttonRect","getBoundingClientRect","containerRect","style","getComputedStyle","borderLeft","parseFloat","borderLeftWidth","borderTop","borderTopWidth","x","left","y","top","width","height","transform","window","addEventListener","removeEventListener","_jsxs","ref","role","cn","styles","segmentedControl","children","_jsx","map","item","active","Segment","undefined","disabled","onClick","label"],"mappings":";;;;;;AAoBaA,MAAAA,gBAAgB,GAAGC,IAAA,IAKH;EAAA,IALI;IAC/BC,KAAK;IACLC,KAAK;IACLC,QAAQ;AACRC,IAAAA,SAAAA;AACqB,GAAC,GAAAJ,IAAA,CAAA;AACtB,EAAA,MAAMK,YAAY,GAAGC,MAAM,CAAiB,IAAI,CAAC,CAAA;AACjD,EAAA,MAAMC,eAAe,GAAGD,MAAM,CAAoB,IAAI,CAAC,CAAA;AACvD,EAAA,MAAME,YAAY,GAAGF,MAAM,CAAiB,IAAI,CAAC,CAAA;AACjD;EACA,MAAM,CAACG,QAAQ,EAAEC,WAAW,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAE/CC,EAAAA,eAAe,CAAC,MAAM;IACpB,MAAMC,eAAe,GAAGA,MAAM;AAC5B,MAAA,MAAMC,MAAM,GAAGP,eAAe,CAACQ,OAAO,CAAA;AACtC,MAAA,MAAMC,SAAS,GAAGX,YAAY,CAACU,OAAO,CAAA;AACtC,MAAA,MAAME,SAAS,GAAGT,YAAY,CAACO,OAAO,CAAA;MACtC,IAAI,CAACD,MAAM,IAAI,CAACE,SAAS,IAAI,CAACC,SAAS,EAAE,OAAA;AAEzC,MAAA,MAAMC,UAAU,GAAGJ,MAAM,CAACK,qBAAqB,EAAE,CAAA;AACjD,MAAA,MAAMC,aAAa,GAAGJ,SAAS,CAACG,qBAAqB,EAAE,CAAA;AACvD;AACA;AACA;AACA;AACA,MAAA,MAAME,KAAK,GAAGC,gBAAgB,CAACN,SAAS,CAAC,CAAA;MACzC,MAAMO,UAAU,GAAGC,UAAU,CAACH,KAAK,CAACI,eAAe,CAAC,IAAI,CAAC,CAAA;MACzD,MAAMC,SAAS,GAAGF,UAAU,CAACH,KAAK,CAACM,cAAc,CAAC,IAAI,CAAC,CAAA;MACvD,MAAMC,CAAC,GAAGV,UAAU,CAACW,IAAI,GAAGT,aAAa,CAACS,IAAI,GAAGN,UAAU,CAAA;MAC3D,MAAMO,CAAC,GAAGZ,UAAU,CAACa,GAAG,GAAGX,aAAa,CAACW,GAAG,GAAGL,SAAS,CAAA;MAExDT,SAAS,CAACI,KAAK,CAACW,KAAK,GAAG,CAAGd,EAAAA,UAAU,CAACc,KAAK,CAAI,EAAA,CAAA,CAAA;MAC/Cf,SAAS,CAACI,KAAK,CAACY,MAAM,GAAG,CAAGf,EAAAA,UAAU,CAACe,MAAM,CAAI,EAAA,CAAA,CAAA;MACjDhB,SAAS,CAACI,KAAK,CAACa,SAAS,GAAG,CAAaN,UAAAA,EAAAA,CAAC,CAAOE,IAAAA,EAAAA,CAAC,CAAK,GAAA,CAAA,CAAA;KACxD,CAAA;AAEDjB,IAAAA,eAAe,EAAE,CAAA;IACjBH,WAAW,CAAC,IAAI,CAAC,CAAA;AAEjByB,IAAAA,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAEvB,eAAe,CAAC,CAAA;AAClD,IAAA,OAAO,MAAM;AACXsB,MAAAA,MAAM,CAACE,mBAAmB,CAAC,QAAQ,EAAExB,eAAe,CAAC,CAAA;KACtD,CAAA;AACH,GAAC,EAAE,CAACX,KAAK,EAAED,KAAK,CAAC,CAAC,CAAA;AAElB,EAAA,oBACEqC,IAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,GAAG,EAAElC,YAAa;AAClBmC,IAAAA,IAAI,EAAC,SAAS;IACdpC,SAAS,EAAEqC,EAAE,CAACC,MAAM,CAACC,gBAAgB,EAAEvC,SAAS,CAAE;AAAAwC,IAAAA,QAAA,gBAElDC,GAAA,CAAA,KAAA,EAAA;AACEN,MAAAA,GAAG,EAAE/B,YAAa;AAClB,MAAA,aAAA,EAAY,MAAM;MAClBJ,SAAS,EAAEqC,EAAE,CAACC,MAAM,CAACzB,SAAS,EAAER,QAAQ,IAAIiC,MAAM,CAACjC,QAAQ,CAAA;AAAE,KAC9D,CAAC,EACDR,KAAK,CAAC6C,GAAG,CAAEC,IAAI,IAAK;AACnB,MAAA,MAAMC,MAAM,GAAGD,IAAI,CAAC7C,KAAK,KAAKA,KAAK,CAAA;MACnC,oBACE2C,GAAA,CAACI,OAAO,EAAA;AAENV,QAAAA,GAAG,EAAES,MAAM,GAAGzC,eAAe,GAAG2C,SAAU;AAC1CF,QAAAA,MAAM,EAAEA,MAAO;QACfG,QAAQ,EAAEJ,IAAI,CAACI,QAAS;QACxBC,OAAO,EAAEA,MAAM;UACb,IAAIL,IAAI,CAAC7C,KAAK,KAAKA,KAAK,EAAEC,QAAQ,CAAC4C,IAAI,CAAC7C,KAAK,CAAC,CAAA;SAC9C;QAAA0C,QAAA,EAEDG,IAAI,CAACM,KAAAA;OARDN,EAAAA,IAAI,CAAC7C,KASH,CAAC,CAAA;AAEd,KAAC,CAAC,CAAA;AAAA,GACC,CAAC,CAAA;AAEV;;;;"}
1
+ {"version":3,"file":"SegmentedControl.mjs","sources":["../../../src/segmented-control/SegmentedControl.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 { Segment, type SegmentDataTestId } from './Segment'\nimport styles from './SegmentedControl.module.css'\n\nexport type SegmentedControlDataTestId = {\n root?: string\n}\n\nexport type SegmentItem = {\n value: string\n label: ReactNode\n disabled?: boolean\n dataTestId?: SegmentDataTestId\n}\n\nexport type SegmentedControlProps = Omit<\n ComponentPropsWithoutRef<'div'>,\n 'onChange'\n> & {\n items: SegmentItem[]\n value: string\n onChange: (value: string) => void\n dataTestId?: SegmentedControlDataTestId\n}\n\nexport const SegmentedControl = ({\n items,\n value,\n onChange,\n className,\n dataTestId,\n ...rest\n}: SegmentedControlProps) => {\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 pill 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 // The pill is absolutely positioned, so top/left 0 is the container's\n // padding box (inside the border). getBoundingClientRect measures from\n // the border box, so subtract the border to keep the pill from drifting\n // down-right by the border width.\n const style = getComputedStyle(container)\n const borderLeft = parseFloat(style.borderLeftWidth) || 0\n const borderTop = parseFloat(style.borderTopWidth) || 0\n const x = buttonRect.left - containerRect.left - borderLeft\n const y = buttonRect.top - containerRect.top - borderTop\n\n selection.style.width = `${buttonRect.width}px`\n selection.style.height = `${buttonRect.height}px`\n selection.style.transform = `translate(${x}px, ${y}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.segmentedControl, 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 <Segment\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 </Segment>\n )\n })}\n </div>\n )\n}\n"],"names":["SegmentedControl","_ref","items","value","onChange","className","dataTestId","rest","containerRef","useRef","activeButtonRef","selectionRef","animated","setAnimated","useState","useLayoutEffect","updateSelection","button","current","container","selection","buttonRect","getBoundingClientRect","containerRect","style","getComputedStyle","borderLeft","parseFloat","borderLeftWidth","borderTop","borderTopWidth","x","left","y","top","width","height","transform","window","addEventListener","removeEventListener","_jsxs","ref","role","cn","styles","segmentedControl","root","children","_jsx","map","item","active","Segment","undefined","disabled","onClick","label"],"mappings":"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"}
@@ -9,7 +9,9 @@ const SegmentedControlCard = _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);
@@ -44,6 +46,8 @@ const SegmentedControlCard = _ref => {
44
46
  ref: containerRef,
45
47
  role: "tablist",
46
48
  className: cn(styles.segmentedControlCard, className),
49
+ "data-testid": dataTestId?.root,
50
+ ...rest,
47
51
  children: [/*#__PURE__*/jsx("div", {
48
52
  ref: selectionRef,
49
53
  "aria-hidden": "true",
@@ -58,6 +62,7 @@ const SegmentedControlCard = _ref => {
58
62
  title: item.title,
59
63
  tag: item.tag,
60
64
  description: item.description,
65
+ dataTestId: item.dataTestId,
61
66
  onClick: () => {
62
67
  if (item.value !== value) onChange(item.value);
63
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControlCard.mjs","sources":["../../../src/segmented-control/SegmentedControlCard.tsx"],"sourcesContent":["import { useLayoutEffect, useRef, useState, type ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport { SegmentCard } from './SegmentCard'\nimport styles from './SegmentedControlCard.module.css'\n\nexport type SegmentCardItem = {\n value: string\n title: ReactNode\n description?: ReactNode\n icon?: ReactNode\n tag?: ReactNode\n disabled?: boolean\n}\n\nexport type SegmentedControlCardProps = {\n items: SegmentCardItem[]\n value: string\n onChange: (value: string) => void\n className?: string\n}\n\nexport const SegmentedControlCard = ({\n items,\n value,\n onChange,\n className,\n}: SegmentedControlCardProps) => {\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 highlight 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 style = getComputedStyle(container)\n const borderLeft = parseFloat(style.borderLeftWidth) || 0\n const borderTop = parseFloat(style.borderTopWidth) || 0\n const x = buttonRect.left - containerRect.left - borderLeft\n const y = buttonRect.top - containerRect.top - borderTop\n\n selection.style.width = `${buttonRect.width}px`\n selection.style.height = `${buttonRect.height}px`\n selection.style.transform = `translate(${x}px, ${y}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.segmentedControlCard, 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 <SegmentCard\n key={item.value}\n ref={active ? activeButtonRef : undefined}\n active={active}\n disabled={item.disabled}\n icon={item.icon}\n title={item.title}\n tag={item.tag}\n description={item.description}\n onClick={() => {\n if (item.value !== value) onChange(item.value)\n }}\n />\n )\n })}\n </div>\n )\n}\n"],"names":["SegmentedControlCard","_ref","items","value","onChange","className","containerRef","useRef","activeButtonRef","selectionRef","animated","setAnimated","useState","useLayoutEffect","updateSelection","button","current","container","selection","buttonRect","getBoundingClientRect","containerRect","style","getComputedStyle","borderLeft","parseFloat","borderLeftWidth","borderTop","borderTopWidth","x","left","y","top","width","height","transform","window","addEventListener","removeEventListener","_jsxs","ref","role","cn","styles","segmentedControlCard","children","_jsx","map","item","active","SegmentCard","undefined","disabled","icon","title","tag","description","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"SegmentedControlCard.mjs","sources":["../../../src/segmented-control/SegmentedControlCard.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 { SegmentCard, type SegmentCardDataTestId } from './SegmentCard'\nimport styles from './SegmentedControlCard.module.css'\n\nexport type SegmentedControlCardDataTestId = {\n root?: string\n}\n\nexport type SegmentCardItem = {\n value: string\n title: ReactNode\n description?: ReactNode\n icon?: ReactNode\n tag?: ReactNode\n disabled?: boolean\n dataTestId?: SegmentCardDataTestId\n}\n\nexport type SegmentedControlCardProps = Omit<\n ComponentPropsWithoutRef<'div'>,\n 'onChange'\n> & {\n items: SegmentCardItem[]\n value: string\n onChange: (value: string) => void\n dataTestId?: SegmentedControlCardDataTestId\n}\n\nexport const SegmentedControlCard = ({\n items,\n value,\n onChange,\n className,\n dataTestId,\n ...rest\n}: SegmentedControlCardProps) => {\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 highlight 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 style = getComputedStyle(container)\n const borderLeft = parseFloat(style.borderLeftWidth) || 0\n const borderTop = parseFloat(style.borderTopWidth) || 0\n const x = buttonRect.left - containerRect.left - borderLeft\n const y = buttonRect.top - containerRect.top - borderTop\n\n selection.style.width = `${buttonRect.width}px`\n selection.style.height = `${buttonRect.height}px`\n selection.style.transform = `translate(${x}px, ${y}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.segmentedControlCard, 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 <SegmentCard\n key={item.value}\n ref={active ? activeButtonRef : undefined}\n active={active}\n disabled={item.disabled}\n icon={item.icon}\n title={item.title}\n tag={item.tag}\n description={item.description}\n dataTestId={item.dataTestId}\n onClick={() => {\n if (item.value !== value) onChange(item.value)\n }}\n />\n )\n })}\n </div>\n )\n}\n"],"names":["SegmentedControlCard","_ref","items","value","onChange","className","dataTestId","rest","containerRef","useRef","activeButtonRef","selectionRef","animated","setAnimated","useState","useLayoutEffect","updateSelection","button","current","container","selection","buttonRect","getBoundingClientRect","containerRect","style","getComputedStyle","borderLeft","parseFloat","borderLeftWidth","borderTop","borderTopWidth","x","left","y","top","width","height","transform","window","addEventListener","removeEventListener","_jsxs","ref","role","cn","styles","segmentedControlCard","root","children","_jsx","map","item","active","SegmentCard","undefined","disabled","icon","title","tag","description","onClick"],"mappings":"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"}
@@ -16,6 +16,7 @@ const Slider = /*#__PURE__*/forwardRef((_ref, ref) => {
16
16
  className,
17
17
  disabled,
18
18
  onChange,
19
+ dataTestId,
19
20
  ...rest
20
21
  } = _ref;
21
22
  const [innerValue, setInnerValue] = useState(defaultValue ?? min);
@@ -31,6 +32,7 @@ const Slider = /*#__PURE__*/forwardRef((_ref, ref) => {
31
32
  }, (_, index) => (index + 1) / stepsCount * 100) : [];
32
33
  return /*#__PURE__*/jsxs("div", {
33
34
  className: cn(styles.root, className),
35
+ "data-testid": dataTestId?.root,
34
36
  children: [/*#__PURE__*/jsxs("div", {
35
37
  className: styles.track,
36
38
  children: [/*#__PURE__*/jsx("div", {
@@ -56,6 +58,7 @@ const Slider = /*#__PURE__*/forwardRef((_ref, ref) => {
56
58
  value: current,
57
59
  disabled: disabled,
58
60
  onChange: handleChange,
61
+ "data-testid": dataTestId?.input,
59
62
  ...rest
60
63
  })]
61
64
  }), minLabel != null || maxLabel != null ? /*#__PURE__*/jsxs("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.mjs","sources":["../../../src/slider/Slider.tsx"],"sourcesContent":["import {\n forwardRef,\n useState,\n type ChangeEvent,\n type InputHTMLAttributes,\n type ReactNode,\n} from 'react'\n\nimport cn from 'classnames'\n\nimport styles from './Slider.module.css'\n\nexport type SliderProps = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'type' | 'value' | 'defaultValue'\n> & {\n min?: number\n max?: number\n step?: number\n value?: number\n defaultValue?: number\n minLabel?: ReactNode\n maxLabel?: ReactNode\n /** Renders a mark at every intermediate step. */\n marks?: boolean\n}\n\nexport const Slider = forwardRef<HTMLInputElement, SliderProps>(\n (\n {\n min = 0,\n max = 100,\n step = 1,\n value,\n defaultValue,\n minLabel,\n maxLabel,\n marks = false,\n className,\n disabled,\n onChange,\n ...rest\n },\n ref,\n ) => {\n const [innerValue, setInnerValue] = useState(defaultValue ?? min)\n const current = value ?? innerValue\n const fillPercent = ((current - min) / (max - min)) * 100\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n setInnerValue(event.target.valueAsNumber)\n onChange?.(event)\n }\n\n const stepsCount = Math.round((max - min) / step)\n const markPositions =\n marks && stepsCount > 1\n ? Array.from(\n { length: stepsCount - 1 },\n (_, index) => ((index + 1) / stepsCount) * 100,\n )\n : []\n\n return (\n <div className={cn(styles.root, className)}>\n <div className={styles.track}>\n <div className={styles.bar}>\n <div\n className={cn(styles.fill, disabled && styles.fillDisabled)}\n style={{ width: `${fillPercent}%` }}\n />\n </div>\n {markPositions.map((position) => (\n <span\n key={position}\n className={styles.mark}\n style={{ left: `${position}%` }}\n />\n ))}\n <input\n ref={ref}\n type='range'\n className={styles.input}\n min={min}\n max={max}\n step={step}\n value={current}\n disabled={disabled}\n onChange={handleChange}\n {...rest}\n />\n </div>\n {minLabel != null || maxLabel != null ? (\n <div className={styles.labels}>\n <span className={styles.label}>{minLabel}</span>\n <span className={styles.label}>{maxLabel}</span>\n </div>\n ) : null}\n </div>\n )\n },\n)\n\nSlider.displayName = 'Slider'\n"],"names":["Slider","forwardRef","_ref","ref","min","max","step","value","defaultValue","minLabel","maxLabel","marks","className","disabled","onChange","rest","innerValue","setInnerValue","useState","current","fillPercent","handleChange","event","target","valueAsNumber","stepsCount","Math","round","markPositions","Array","from","length","_","index","_jsxs","cn","styles","root","children","track","_jsx","bar","fill","fillDisabled","style","width","map","position","mark","left","type","input","labels","label","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"Slider.mjs","sources":["../../../src/slider/Slider.tsx"],"sourcesContent":["import {\n forwardRef,\n useState,\n type ChangeEvent,\n type InputHTMLAttributes,\n type ReactNode,\n} from 'react'\n\nimport cn from 'classnames'\n\nimport styles from './Slider.module.css'\n\nexport type SliderDataTestId = {\n root?: string\n input?: string\n}\n\nexport type SliderProps = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'type' | 'value' | 'defaultValue'\n> & {\n min?: number\n max?: number\n step?: number\n value?: number\n defaultValue?: number\n minLabel?: ReactNode\n maxLabel?: ReactNode\n /** Renders a mark at every intermediate step. */\n marks?: boolean\n dataTestId?: SliderDataTestId\n}\n\nexport const Slider = forwardRef<HTMLInputElement, SliderProps>(\n (\n {\n min = 0,\n max = 100,\n step = 1,\n value,\n defaultValue,\n minLabel,\n maxLabel,\n marks = false,\n className,\n disabled,\n onChange,\n dataTestId,\n ...rest\n },\n ref,\n ) => {\n const [innerValue, setInnerValue] = useState(defaultValue ?? min)\n const current = value ?? innerValue\n const fillPercent = ((current - min) / (max - min)) * 100\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n setInnerValue(event.target.valueAsNumber)\n onChange?.(event)\n }\n\n const stepsCount = Math.round((max - min) / step)\n const markPositions =\n marks && stepsCount > 1\n ? Array.from(\n { length: stepsCount - 1 },\n (_, index) => ((index + 1) / stepsCount) * 100,\n )\n : []\n\n return (\n <div\n className={cn(styles.root, className)}\n data-testid={dataTestId?.root}\n >\n <div className={styles.track}>\n <div className={styles.bar}>\n <div\n className={cn(styles.fill, disabled && styles.fillDisabled)}\n style={{ width: `${fillPercent}%` }}\n />\n </div>\n {markPositions.map((position) => (\n <span\n key={position}\n className={styles.mark}\n style={{ left: `${position}%` }}\n />\n ))}\n <input\n ref={ref}\n type='range'\n className={styles.input}\n min={min}\n max={max}\n step={step}\n value={current}\n disabled={disabled}\n onChange={handleChange}\n data-testid={dataTestId?.input}\n {...rest}\n />\n </div>\n {minLabel != null || maxLabel != null ? (\n <div className={styles.labels}>\n <span className={styles.label}>{minLabel}</span>\n <span className={styles.label}>{maxLabel}</span>\n </div>\n ) : null}\n </div>\n )\n },\n)\n\nSlider.displayName = 'Slider'\n"],"names":["Slider","forwardRef","_ref","ref","min","max","step","value","defaultValue","minLabel","maxLabel","marks","className","disabled","onChange","dataTestId","rest","innerValue","setInnerValue","useState","current","fillPercent","handleChange","event","target","valueAsNumber","stepsCount","Math","round","markPositions","Array","from","length","_","index","_jsxs","cn","styles","root","children","track","_jsx","bar","fill","fillDisabled","style","width","map","position","mark","left","type","input","labels","label","displayName"],"mappings":"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"}
@@ -11,35 +11,43 @@ const SmallCard = _ref => {
11
11
  description,
12
12
  footer,
13
13
  className,
14
+ dataTestId,
14
15
  ...rest
15
16
  } = _ref;
16
17
  return /*#__PURE__*/jsxs("a", {
17
18
  className: cn(styles.card, className),
19
+ "data-testid": dataTestId?.root,
18
20
  ...rest,
19
21
  children: [/*#__PURE__*/jsxs("div", {
20
22
  className: styles.content,
21
23
  children: [image != null ? /*#__PURE__*/jsx("div", {
22
24
  className: styles.image,
25
+ "data-testid": dataTestId?.image,
23
26
  children: image
24
27
  }) : null, /*#__PURE__*/jsxs("div", {
25
28
  className: styles.header,
26
29
  children: [logo != null ? /*#__PURE__*/jsx("span", {
27
30
  className: styles.logo,
31
+ "data-testid": dataTestId?.logo,
28
32
  children: logo
29
33
  }) : null, /*#__PURE__*/jsx("span", {
30
34
  className: styles.title,
35
+ "data-testid": dataTestId?.title,
31
36
  children: title
32
37
  }), icon != null ? /*#__PURE__*/jsx("span", {
33
38
  className: styles.icon,
34
39
  "aria-hidden": "true",
40
+ "data-testid": dataTestId?.icon,
35
41
  children: icon
36
42
  }) : null]
37
43
  }), description != null ? /*#__PURE__*/jsx("p", {
38
44
  className: styles.description,
45
+ "data-testid": dataTestId?.description,
39
46
  children: description
40
47
  }) : null]
41
48
  }), footer != null ? /*#__PURE__*/jsx("div", {
42
49
  className: styles.footer,
50
+ "data-testid": dataTestId?.footer,
43
51
  children: footer
44
52
  }) : null]
45
53
  });
@@ -1 +1 @@
1
- {"version":3,"file":"SmallCard.mjs","sources":["../../../src/small-card/SmallCard.tsx"],"sourcesContent":["import type { AnchorHTMLAttributes, ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport styles from './SmallCard.module.css'\n\nexport type SmallCardProps = Omit<\n AnchorHTMLAttributes<HTMLAnchorElement>,\n 'title'\n> & {\n /** Fixed-height (120px) media slot above the header — an image or illustration. */\n image?: ReactNode\n logo?: ReactNode\n /** Trailing glyph next to the title — an external-link arrow, a badge, etc. */\n icon?: ReactNode\n title: ReactNode\n description?: ReactNode\n /** Arbitrary content below the description — wraps in a row, e.g. a list of `Tag`s. */\n footer?: ReactNode\n}\n\nexport const SmallCard = ({\n image,\n logo,\n icon,\n title,\n description,\n footer,\n className,\n ...rest\n}: SmallCardProps) => (\n <a className={cn(styles.card, className)} {...rest}>\n <div className={styles.content}>\n {image != null ? <div className={styles.image}>{image}</div> : null}\n <div className={styles.header}>\n {logo != null ? <span className={styles.logo}>{logo}</span> : null}\n <span className={styles.title}>{title}</span>\n {icon != null ? (\n <span className={styles.icon} aria-hidden='true'>\n {icon}\n </span>\n ) : null}\n </div>\n {description != null ? (\n <p className={styles.description}>{description}</p>\n ) : null}\n </div>\n {footer != null ? <div className={styles.footer}>{footer}</div> : null}\n </a>\n)\n"],"names":["SmallCard","_ref","image","logo","icon","title","description","footer","className","rest","_jsxs","cn","styles","card","children","content","_jsx","header"],"mappings":";;;;AAqBO,MAAMA,SAAS,GAAGC,IAAA,IAAA;EAAA,IAAC;IACxBC,KAAK;IACLC,IAAI;IACJC,IAAI;IACJC,KAAK;IACLC,WAAW;IACXC,MAAM;IACNC,SAAS;IACT,GAAGC,IAAAA;AACW,GAAC,GAAAR,IAAA,CAAA;AAAA,EAAA,oBACfS,IAAA,CAAA,GAAA,EAAA;IAAGF,SAAS,EAAEG,EAAE,CAACC,MAAM,CAACC,IAAI,EAAEL,SAAS,CAAE;AAAA,IAAA,GAAKC,IAAI;AAAAK,IAAAA,QAAA,gBAChDJ,IAAA,CAAA,KAAA,EAAA;MAAKF,SAAS,EAAEI,MAAM,CAACG,OAAQ;AAAAD,MAAAA,QAAA,EAC5BZ,CAAAA,KAAK,IAAI,IAAI,gBAAGc,GAAA,CAAA,KAAA,EAAA;QAAKR,SAAS,EAAEI,MAAM,CAACV,KAAM;AAAAY,QAAAA,QAAA,EAAEZ,KAAAA;AAAK,OAAM,CAAC,GAAG,IAAI,eACnEQ,IAAA,CAAA,KAAA,EAAA;QAAKF,SAAS,EAAEI,MAAM,CAACK,MAAO;AAAAH,QAAAA,QAAA,EAC3BX,CAAAA,IAAI,IAAI,IAAI,gBAAGa,GAAA,CAAA,MAAA,EAAA;UAAMR,SAAS,EAAEI,MAAM,CAACT,IAAK;AAAAW,UAAAA,QAAA,EAAEX,IAAAA;AAAI,SAAO,CAAC,GAAG,IAAI,eAClEa,GAAA,CAAA,MAAA,EAAA;UAAMR,SAAS,EAAEI,MAAM,CAACP,KAAM;AAAAS,UAAAA,QAAA,EAAET,KAAAA;AAAK,SAAO,CAAC,EAC5CD,IAAI,IAAI,IAAI,gBACXY,GAAA,CAAA,MAAA,EAAA;UAAMR,SAAS,EAAEI,MAAM,CAACR,IAAK;AAAC,UAAA,aAAA,EAAY,MAAM;AAAAU,UAAAA,QAAA,EAC7CV,IAAAA;SACG,CAAC,GACL,IAAI,CAAA;AAAA,OACL,CAAC,EACLE,WAAW,IAAI,IAAI,gBAClBU,GAAA,CAAA,GAAA,EAAA;QAAGR,SAAS,EAAEI,MAAM,CAACN,WAAY;AAAAQ,QAAAA,QAAA,EAAER,WAAAA;OAAe,CAAC,GACjD,IAAI,CAAA;AAAA,KACL,CAAC,EACLC,MAAM,IAAI,IAAI,gBAAGS,GAAA,CAAA,KAAA,EAAA;MAAKR,SAAS,EAAEI,MAAM,CAACL,MAAO;AAAAO,MAAAA,QAAA,EAAEP,MAAAA;KAAY,CAAC,GAAG,IAAI,CAAA;AAAA,GACrE,CAAC,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"SmallCard.mjs","sources":["../../../src/small-card/SmallCard.tsx"],"sourcesContent":["import type { AnchorHTMLAttributes, ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport styles from './SmallCard.module.css'\n\nexport type SmallCardDataTestId = {\n root?: string\n image?: string\n logo?: string\n icon?: string\n title?: string\n description?: string\n footer?: string\n}\n\nexport type SmallCardProps = Omit<\n AnchorHTMLAttributes<HTMLAnchorElement>,\n 'title'\n> & {\n /** Fixed-height (120px) media slot above the header — an image or illustration. */\n image?: ReactNode\n logo?: ReactNode\n /** Trailing glyph next to the title — an external-link arrow, a badge, etc. */\n icon?: ReactNode\n title: ReactNode\n description?: ReactNode\n /** Arbitrary content below the description — wraps in a row, e.g. a list of `Tag`s. */\n footer?: ReactNode\n dataTestId?: SmallCardDataTestId\n}\n\nexport const SmallCard = ({\n image,\n logo,\n icon,\n title,\n description,\n footer,\n className,\n dataTestId,\n ...rest\n}: SmallCardProps) => (\n <a\n className={cn(styles.card, className)}\n data-testid={dataTestId?.root}\n {...rest}\n >\n <div className={styles.content}>\n {image != null ? (\n <div className={styles.image} data-testid={dataTestId?.image}>\n {image}\n </div>\n ) : null}\n <div className={styles.header}>\n {logo != null ? (\n <span className={styles.logo} data-testid={dataTestId?.logo}>\n {logo}\n </span>\n ) : null}\n <span className={styles.title} data-testid={dataTestId?.title}>\n {title}\n </span>\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 </div>\n {description != null ? (\n <p className={styles.description} data-testid={dataTestId?.description}>\n {description}\n </p>\n ) : null}\n </div>\n {footer != null ? (\n <div className={styles.footer} data-testid={dataTestId?.footer}>\n {footer}\n </div>\n ) : null}\n </a>\n)\n"],"names":["SmallCard","_ref","image","logo","icon","title","description","footer","className","dataTestId","rest","_jsxs","cn","styles","card","root","children","content","_jsx","header"],"mappings":";;;;AAgCO,MAAMA,SAAS,GAAGC,IAAA,IAAA;EAAA,IAAC;IACxBC,KAAK;IACLC,IAAI;IACJC,IAAI;IACJC,KAAK;IACLC,WAAW;IACXC,MAAM;IACNC,SAAS;IACTC,UAAU;IACV,GAAGC,IAAAA;AACW,GAAC,GAAAT,IAAA,CAAA;AAAA,EAAA,oBACfU,IAAA,CAAA,GAAA,EAAA;IACEH,SAAS,EAAEI,EAAE,CAACC,MAAM,CAACC,IAAI,EAAEN,SAAS,CAAE;IACtC,aAAaC,EAAAA,UAAU,EAAEM,IAAK;AAAA,IAAA,GAC1BL,IAAI;AAAAM,IAAAA,QAAA,gBAERL,IAAA,CAAA,KAAA,EAAA;MAAKH,SAAS,EAAEK,MAAM,CAACI,OAAQ;AAAAD,MAAAA,QAAA,EAC5Bd,CAAAA,KAAK,IAAI,IAAI,gBACZgB,GAAA,CAAA,KAAA,EAAA;QAAKV,SAAS,EAAEK,MAAM,CAACX,KAAM;QAAC,aAAaO,EAAAA,UAAU,EAAEP,KAAM;AAAAc,QAAAA,QAAA,EAC1Dd,KAAAA;AAAK,OACH,CAAC,GACJ,IAAI,eACRS,IAAA,CAAA,KAAA,EAAA;QAAKH,SAAS,EAAEK,MAAM,CAACM,MAAO;AAAAH,QAAAA,QAAA,EAC3Bb,CAAAA,IAAI,IAAI,IAAI,gBACXe,GAAA,CAAA,MAAA,EAAA;UAAMV,SAAS,EAAEK,MAAM,CAACV,IAAK;UAAC,aAAaM,EAAAA,UAAU,EAAEN,IAAK;AAAAa,UAAAA,QAAA,EACzDb,IAAAA;AAAI,SACD,CAAC,GACL,IAAI,eACRe,GAAA,CAAA,MAAA,EAAA;UAAMV,SAAS,EAAEK,MAAM,CAACR,KAAM;UAAC,aAAaI,EAAAA,UAAU,EAAEJ,KAAM;AAAAW,UAAAA,QAAA,EAC3DX,KAAAA;AAAK,SACF,CAAC,EACND,IAAI,IAAI,IAAI,gBACXc,GAAA,CAAA,MAAA,EAAA;UACEV,SAAS,EAAEK,MAAM,CAACT,IAAK;AACvB,UAAA,aAAA,EAAY,MAAM;UAClB,aAAaK,EAAAA,UAAU,EAAEL,IAAK;AAAAY,UAAAA,QAAA,EAE7BZ,IAAAA;SACG,CAAC,GACL,IAAI,CAAA;AAAA,OACL,CAAC,EACLE,WAAW,IAAI,IAAI,gBAClBY,GAAA,CAAA,GAAA,EAAA;QAAGV,SAAS,EAAEK,MAAM,CAACP,WAAY;QAAC,aAAaG,EAAAA,UAAU,EAAEH,WAAY;AAAAU,QAAAA,QAAA,EACpEV,WAAAA;OACA,CAAC,GACF,IAAI,CAAA;AAAA,KACL,CAAC,EACLC,MAAM,IAAI,IAAI,gBACbW,GAAA,CAAA,KAAA,EAAA;MAAKV,SAAS,EAAEK,MAAM,CAACN,MAAO;MAAC,aAAaE,EAAAA,UAAU,EAAEF,MAAO;AAAAS,MAAAA,QAAA,EAC5DT,MAAAA;KACE,CAAC,GACJ,IAAI,CAAA;AAAA,GACP,CAAC,CAAA;AAAA;;;;"}
@@ -15,10 +15,12 @@ const StatItem = _ref => {
15
15
  description,
16
16
  align = 'center',
17
17
  className,
18
+ dataTestId,
18
19
  ...rest
19
20
  } = _ref;
20
21
  return /*#__PURE__*/jsxs("div", {
21
22
  className: cn(styles.item, styles[align], className),
23
+ "data-testid": dataTestId?.root,
22
24
  ...rest,
23
25
  children: [/*#__PURE__*/jsxs("div", {
24
26
  className: styles.title,
@@ -28,6 +30,7 @@ const StatItem = _ref => {
28
30
  children: titleIcon
29
31
  }) : null, /*#__PURE__*/jsx("div", {
30
32
  className: styles.label,
33
+ "data-testid": dataTestId?.label,
31
34
  children: label
32
35
  }), info ? /*#__PURE__*/jsx(Tooltip, {
33
36
  content: info,
@@ -40,20 +43,25 @@ const StatItem = _ref => {
40
43
  className: styles.valueRow,
41
44
  children: [/*#__PURE__*/jsx("div", {
42
45
  className: styles.value,
46
+ "data-testid": dataTestId?.value,
43
47
  children: value
44
48
  }), icon != null ? /*#__PURE__*/jsx("span", {
45
49
  className: styles.icon,
46
50
  "aria-hidden": "true",
51
+ "data-testid": dataTestId?.icon,
47
52
  children: icon
48
53
  }) : null, align === 'left' && subValue != null ? /*#__PURE__*/jsx("div", {
49
54
  className: styles.subValue,
55
+ "data-testid": dataTestId?.subValue,
50
56
  children: subValue
51
57
  }) : null]
52
58
  }), align === 'center' && subValue != null ? /*#__PURE__*/jsx("div", {
53
59
  className: styles.subValue,
60
+ "data-testid": dataTestId?.subValue,
54
61
  children: subValue
55
62
  }) : null, description != null ? /*#__PURE__*/jsx("div", {
56
63
  className: styles.description,
64
+ "data-testid": dataTestId?.description,
57
65
  children: description
58
66
  }) : null]
59
67
  });
@@ -1 +1 @@
1
- {"version":3,"file":"StatItem.mjs","sources":["../../../src/stat-item/StatItem.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport { IconInfo } from '../icons'\nimport { Tooltip } from '../tooltip'\n\nimport styles from './StatItem.module.css'\n\nexport type StatItemAlign = 'left' | 'center'\n\nexport type StatItemProps = Omit<HTMLAttributes<HTMLDivElement>, 'children'> & {\n label: ReactNode\n value: ReactNode\n titleIcon?: ReactNode\n info?: ReactNode\n icon?: ReactNode\n subValue?: ReactNode\n description?: ReactNode\n align?: StatItemAlign\n}\n\nexport const StatItem = ({\n label,\n value,\n titleIcon,\n info,\n icon,\n subValue,\n description,\n align = 'center',\n className,\n ...rest\n}: StatItemProps) => (\n <div className={cn(styles.item, styles[align], className)} {...rest}>\n <div className={styles.title}>\n {titleIcon ? (\n <span className={styles.titleIcon} aria-hidden='true'>\n {titleIcon}\n </span>\n ) : null}\n <div className={styles.label}>{label}</div>\n {info ? (\n <Tooltip content={info} className={styles.info}>\n <IconInfo className={styles.infoIcon} />\n </Tooltip>\n ) : null}\n </div>\n <div className={styles.valueRow}>\n <div className={styles.value}>{value}</div>\n {icon != null ? (\n <span className={styles.icon} aria-hidden='true'>\n {icon}\n </span>\n ) : null}\n {align === 'left' && subValue != null ? (\n <div className={styles.subValue}>{subValue}</div>\n ) : null}\n </div>\n {align === 'center' && subValue != null ? (\n <div className={styles.subValue}>{subValue}</div>\n ) : null}\n {description != null ? (\n <div className={styles.description}>{description}</div>\n ) : null}\n </div>\n)\n"],"names":["StatItem","_ref","label","value","titleIcon","info","icon","subValue","description","align","className","rest","_jsxs","cn","styles","item","children","title","_jsx","Tooltip","content","IconInfo","infoIcon","valueRow"],"mappings":";;;;;;AAsBO,MAAMA,QAAQ,GAAGC,IAAA,IAAA;EAAA,IAAC;IACvBC,KAAK;IACLC,KAAK;IACLC,SAAS;IACTC,IAAI;IACJC,IAAI;IACJC,QAAQ;IACRC,WAAW;AACXC,IAAAA,KAAK,GAAG,QAAQ;IAChBC,SAAS;IACT,GAAGC,IAAAA;AACU,GAAC,GAAAV,IAAA,CAAA;AAAA,EAAA,oBACdW,IAAA,CAAA,KAAA,EAAA;AAAKF,IAAAA,SAAS,EAAEG,EAAE,CAACC,MAAM,CAACC,IAAI,EAAED,MAAM,CAACL,KAAK,CAAC,EAAEC,SAAS,CAAE;AAAA,IAAA,GAAKC,IAAI;AAAAK,IAAAA,QAAA,gBACjEJ,IAAA,CAAA,KAAA,EAAA;MAAKF,SAAS,EAAEI,MAAM,CAACG,KAAM;MAAAD,QAAA,EAAA,CAC1BZ,SAAS,gBACRc,GAAA,CAAA,MAAA,EAAA;QAAMR,SAAS,EAAEI,MAAM,CAACV,SAAU;AAAC,QAAA,aAAA,EAAY,MAAM;AAAAY,QAAAA,QAAA,EAClDZ,SAAAA;AAAS,OACN,CAAC,GACL,IAAI,eACRc,GAAA,CAAA,KAAA,EAAA;QAAKR,SAAS,EAAEI,MAAM,CAACZ,KAAM;AAAAc,QAAAA,QAAA,EAAEd,KAAAA;AAAK,OAAM,CAAC,EAC1CG,IAAI,gBACHa,GAAA,CAACC,OAAO,EAAA;AAACC,QAAAA,OAAO,EAAEf,IAAK;QAACK,SAAS,EAAEI,MAAM,CAACT,IAAK;QAAAW,QAAA,eAC7CE,GAAA,CAACG,QAAQ,EAAA;UAACX,SAAS,EAAEI,MAAM,CAACQ,QAAAA;SAAW,CAAA;OAChC,CAAC,GACR,IAAI,CAAA;KACL,CAAC,eACNV,IAAA,CAAA,KAAA,EAAA;MAAKF,SAAS,EAAEI,MAAM,CAACS,QAAS;AAAAP,MAAAA,QAAA,gBAC9BE,GAAA,CAAA,KAAA,EAAA;QAAKR,SAAS,EAAEI,MAAM,CAACX,KAAM;AAAAa,QAAAA,QAAA,EAAEb,KAAAA;AAAK,OAAM,CAAC,EAC1CG,IAAI,IAAI,IAAI,gBACXY,GAAA,CAAA,MAAA,EAAA;QAAMR,SAAS,EAAEI,MAAM,CAACR,IAAK;AAAC,QAAA,aAAA,EAAY,MAAM;AAAAU,QAAAA,QAAA,EAC7CV,IAAAA;AAAI,OACD,CAAC,GACL,IAAI,EACPG,KAAK,KAAK,MAAM,IAAIF,QAAQ,IAAI,IAAI,gBACnCW,GAAA,CAAA,KAAA,EAAA;QAAKR,SAAS,EAAEI,MAAM,CAACP,QAAS;AAAAS,QAAAA,QAAA,EAAET,QAAAA;OAAc,CAAC,GAC/C,IAAI,CAAA;KACL,CAAC,EACLE,KAAK,KAAK,QAAQ,IAAIF,QAAQ,IAAI,IAAI,gBACrCW,GAAA,CAAA,KAAA,EAAA;MAAKR,SAAS,EAAEI,MAAM,CAACP,QAAS;AAAAS,MAAAA,QAAA,EAAET,QAAAA;KAAc,CAAC,GAC/C,IAAI,EACPC,WAAW,IAAI,IAAI,gBAClBU,GAAA,CAAA,KAAA,EAAA;MAAKR,SAAS,EAAEI,MAAM,CAACN,WAAY;AAAAQ,MAAAA,QAAA,EAAER,WAAAA;KAAiB,CAAC,GACrD,IAAI,CAAA;AAAA,GACL,CAAC,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"StatItem.mjs","sources":["../../../src/stat-item/StatItem.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport { IconInfo } from '../icons'\nimport { Tooltip } from '../tooltip'\n\nimport styles from './StatItem.module.css'\n\nexport type StatItemAlign = 'left' | 'center'\n\nexport type StatItemDataTestId = {\n root?: string\n label?: string\n icon?: string\n value?: string\n subValue?: string\n description?: string\n}\n\nexport type StatItemProps = Omit<HTMLAttributes<HTMLDivElement>, 'children'> & {\n label: ReactNode\n value: ReactNode\n titleIcon?: ReactNode\n info?: ReactNode\n icon?: ReactNode\n subValue?: ReactNode\n description?: ReactNode\n align?: StatItemAlign\n dataTestId?: StatItemDataTestId\n}\n\nexport const StatItem = ({\n label,\n value,\n titleIcon,\n info,\n icon,\n subValue,\n description,\n align = 'center',\n className,\n dataTestId,\n ...rest\n}: StatItemProps) => (\n <div\n className={cn(styles.item, styles[align], className)}\n data-testid={dataTestId?.root}\n {...rest}\n >\n <div className={styles.title}>\n {titleIcon ? (\n <span className={styles.titleIcon} aria-hidden='true'>\n {titleIcon}\n </span>\n ) : null}\n <div className={styles.label} data-testid={dataTestId?.label}>\n {label}\n </div>\n {info ? (\n <Tooltip content={info} className={styles.info}>\n <IconInfo className={styles.infoIcon} />\n </Tooltip>\n ) : null}\n </div>\n <div className={styles.valueRow}>\n <div className={styles.value} data-testid={dataTestId?.value}>\n {value}\n </div>\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 {align === 'left' && subValue != null ? (\n <div className={styles.subValue} data-testid={dataTestId?.subValue}>\n {subValue}\n </div>\n ) : null}\n </div>\n {align === 'center' && subValue != null ? (\n <div className={styles.subValue} data-testid={dataTestId?.subValue}>\n {subValue}\n </div>\n ) : null}\n {description != null ? (\n <div className={styles.description} data-testid={dataTestId?.description}>\n {description}\n </div>\n ) : null}\n </div>\n)\n"],"names":["StatItem","_ref","label","value","titleIcon","info","icon","subValue","description","align","className","dataTestId","rest","_jsxs","cn","styles","item","root","children","title","_jsx","Tooltip","content","IconInfo","infoIcon","valueRow"],"mappings":"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"}
@@ -8,12 +8,14 @@ const Switch = /*#__PURE__*/forwardRef((_ref, ref) => {
8
8
  label,
9
9
  className,
10
10
  disabled,
11
+ dataTestId,
11
12
  ...rest
12
13
  } = _ref;
13
14
  return /*#__PURE__*/jsxs("label", {
14
15
  className: cn(styles.container, className, {
15
16
  [styles.containerDisabled]: disabled
16
17
  }),
18
+ "data-testid": dataTestId?.root,
17
19
  children: [/*#__PURE__*/jsxs("span", {
18
20
  className: styles.control,
19
21
  children: [/*#__PURE__*/jsx("input", {
@@ -22,6 +24,7 @@ const Switch = /*#__PURE__*/forwardRef((_ref, ref) => {
22
24
  role: "switch",
23
25
  className: styles.input,
24
26
  disabled: disabled,
27
+ "data-testid": dataTestId?.input,
25
28
  ...rest
26
29
  }), /*#__PURE__*/jsx("span", {
27
30
  className: styles.knob
@@ -30,6 +33,7 @@ const Switch = /*#__PURE__*/forwardRef((_ref, ref) => {
30
33
  className: cn(styles.label, {
31
34
  [styles.labelDisabled]: disabled
32
35
  }),
36
+ "data-testid": dataTestId?.label,
33
37
  children: label
34
38
  }) : null]
35
39
  });