@metamask-previews/design-system-react 0.17.1-preview.1679aa9 → 0.22.0-preview.178e60f

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 (564) hide show
  1. package/CHANGELOG.md +66 -3
  2. package/dist/components/AvatarGroup/AvatarGroup.cjs +18 -13
  3. package/dist/components/AvatarGroup/AvatarGroup.cjs.map +1 -1
  4. package/dist/components/AvatarGroup/AvatarGroup.constants.cjs +16 -17
  5. package/dist/components/AvatarGroup/AvatarGroup.constants.cjs.map +1 -1
  6. package/dist/components/AvatarGroup/AvatarGroup.constants.d.cts +1 -2
  7. package/dist/components/AvatarGroup/AvatarGroup.constants.d.cts.map +1 -1
  8. package/dist/components/AvatarGroup/AvatarGroup.constants.d.mts +1 -2
  9. package/dist/components/AvatarGroup/AvatarGroup.constants.d.mts.map +1 -1
  10. package/dist/components/AvatarGroup/AvatarGroup.constants.mjs +1 -2
  11. package/dist/components/AvatarGroup/AvatarGroup.constants.mjs.map +1 -1
  12. package/dist/components/AvatarGroup/AvatarGroup.d.cts +8 -21
  13. package/dist/components/AvatarGroup/AvatarGroup.d.cts.map +1 -1
  14. package/dist/components/AvatarGroup/AvatarGroup.d.mts +8 -21
  15. package/dist/components/AvatarGroup/AvatarGroup.d.mts.map +1 -1
  16. package/dist/components/AvatarGroup/AvatarGroup.mjs +9 -4
  17. package/dist/components/AvatarGroup/AvatarGroup.mjs.map +1 -1
  18. package/dist/components/AvatarGroup/AvatarGroup.types.cjs.map +1 -1
  19. package/dist/components/AvatarGroup/AvatarGroup.types.d.cts +7 -24
  20. package/dist/components/AvatarGroup/AvatarGroup.types.d.cts.map +1 -1
  21. package/dist/components/AvatarGroup/AvatarGroup.types.d.mts +7 -24
  22. package/dist/components/AvatarGroup/AvatarGroup.types.d.mts.map +1 -1
  23. package/dist/components/AvatarGroup/AvatarGroup.types.mjs.map +1 -1
  24. package/dist/components/AvatarGroup/index.cjs +3 -3
  25. package/dist/components/AvatarGroup/index.cjs.map +1 -1
  26. package/dist/components/AvatarGroup/index.d.cts +1 -1
  27. package/dist/components/AvatarGroup/index.d.cts.map +1 -1
  28. package/dist/components/AvatarGroup/index.d.mts +1 -1
  29. package/dist/components/AvatarGroup/index.d.mts.map +1 -1
  30. package/dist/components/AvatarGroup/index.mjs +1 -1
  31. package/dist/components/AvatarGroup/index.mjs.map +1 -1
  32. package/dist/components/AvatarIcon/AvatarIcon.cjs +2 -2
  33. package/dist/components/AvatarIcon/AvatarIcon.cjs.map +1 -1
  34. package/dist/components/AvatarIcon/AvatarIcon.constants.cjs +16 -16
  35. package/dist/components/AvatarIcon/AvatarIcon.constants.cjs.map +1 -1
  36. package/dist/components/AvatarIcon/AvatarIcon.constants.d.cts +1 -1
  37. package/dist/components/AvatarIcon/AvatarIcon.constants.d.cts.map +1 -1
  38. package/dist/components/AvatarIcon/AvatarIcon.constants.d.mts +1 -1
  39. package/dist/components/AvatarIcon/AvatarIcon.constants.d.mts.map +1 -1
  40. package/dist/components/AvatarIcon/AvatarIcon.constants.mjs +1 -1
  41. package/dist/components/AvatarIcon/AvatarIcon.constants.mjs.map +1 -1
  42. package/dist/components/AvatarIcon/AvatarIcon.d.cts.map +1 -1
  43. package/dist/components/AvatarIcon/AvatarIcon.d.mts.map +1 -1
  44. package/dist/components/AvatarIcon/AvatarIcon.mjs +1 -1
  45. package/dist/components/AvatarIcon/AvatarIcon.mjs.map +1 -1
  46. package/dist/components/AvatarIcon/AvatarIcon.types.cjs.map +1 -1
  47. package/dist/components/AvatarIcon/AvatarIcon.types.d.cts +3 -19
  48. package/dist/components/AvatarIcon/AvatarIcon.types.d.cts.map +1 -1
  49. package/dist/components/AvatarIcon/AvatarIcon.types.d.mts +3 -19
  50. package/dist/components/AvatarIcon/AvatarIcon.types.d.mts.map +1 -1
  51. package/dist/components/AvatarIcon/AvatarIcon.types.mjs.map +1 -1
  52. package/dist/components/AvatarIcon/index.cjs +4 -4
  53. package/dist/components/AvatarIcon/index.cjs.map +1 -1
  54. package/dist/components/AvatarIcon/index.d.cts +1 -1
  55. package/dist/components/AvatarIcon/index.d.cts.map +1 -1
  56. package/dist/components/AvatarIcon/index.d.mts +1 -1
  57. package/dist/components/AvatarIcon/index.d.mts.map +1 -1
  58. package/dist/components/AvatarIcon/index.mjs +1 -1
  59. package/dist/components/AvatarIcon/index.mjs.map +1 -1
  60. package/dist/components/BadgeIcon/BadgeIcon.cjs +2 -1
  61. package/dist/components/BadgeIcon/BadgeIcon.cjs.map +1 -1
  62. package/dist/components/BadgeIcon/BadgeIcon.d.cts.map +1 -1
  63. package/dist/components/BadgeIcon/BadgeIcon.d.mts.map +1 -1
  64. package/dist/components/BadgeIcon/BadgeIcon.mjs +2 -1
  65. package/dist/components/BadgeIcon/BadgeIcon.mjs.map +1 -1
  66. package/dist/components/BadgeIcon/BadgeIcon.types.cjs.map +1 -1
  67. package/dist/components/BadgeIcon/BadgeIcon.types.d.cts +5 -7
  68. package/dist/components/BadgeIcon/BadgeIcon.types.d.cts.map +1 -1
  69. package/dist/components/BadgeIcon/BadgeIcon.types.d.mts +5 -7
  70. package/dist/components/BadgeIcon/BadgeIcon.types.d.mts.map +1 -1
  71. package/dist/components/BadgeIcon/BadgeIcon.types.mjs.map +1 -1
  72. package/dist/components/BannerAlert/BannerAlert.constants.cjs +8 -8
  73. package/dist/components/BannerAlert/BannerAlert.constants.cjs.map +1 -1
  74. package/dist/components/BannerAlert/BannerAlert.constants.d.cts +2 -2
  75. package/dist/components/BannerAlert/BannerAlert.constants.d.cts.map +1 -1
  76. package/dist/components/BannerAlert/BannerAlert.constants.d.mts +2 -2
  77. package/dist/components/BannerAlert/BannerAlert.constants.d.mts.map +1 -1
  78. package/dist/components/BannerAlert/BannerAlert.constants.mjs +2 -2
  79. package/dist/components/BannerAlert/BannerAlert.constants.mjs.map +1 -1
  80. package/dist/components/BannerAlert/BannerAlert.d.cts +10 -12
  81. package/dist/components/BannerAlert/BannerAlert.d.cts.map +1 -1
  82. package/dist/components/BannerAlert/BannerAlert.d.mts +10 -12
  83. package/dist/components/BannerAlert/BannerAlert.d.mts.map +1 -1
  84. package/dist/components/BannerBase/BannerBase.cjs +5 -6
  85. package/dist/components/BannerBase/BannerBase.cjs.map +1 -1
  86. package/dist/components/BannerBase/BannerBase.d.cts +7 -9
  87. package/dist/components/BannerBase/BannerBase.d.cts.map +1 -1
  88. package/dist/components/BannerBase/BannerBase.d.mts +7 -9
  89. package/dist/components/BannerBase/BannerBase.d.mts.map +1 -1
  90. package/dist/components/BannerBase/BannerBase.mjs +4 -5
  91. package/dist/components/BannerBase/BannerBase.mjs.map +1 -1
  92. package/dist/components/BannerBase/BannerBase.types.cjs.map +1 -1
  93. package/dist/components/BannerBase/BannerBase.types.d.cts +1 -5
  94. package/dist/components/BannerBase/BannerBase.types.d.cts.map +1 -1
  95. package/dist/components/BannerBase/BannerBase.types.d.mts +1 -5
  96. package/dist/components/BannerBase/BannerBase.types.d.mts.map +1 -1
  97. package/dist/components/BannerBase/BannerBase.types.mjs.map +1 -1
  98. package/dist/components/Box/Box.constants.cjs.map +1 -1
  99. package/dist/components/Box/Box.constants.d.cts +1 -1
  100. package/dist/components/Box/Box.constants.d.cts.map +1 -1
  101. package/dist/components/Box/Box.constants.d.mts +1 -1
  102. package/dist/components/Box/Box.constants.d.mts.map +1 -1
  103. package/dist/components/Box/Box.constants.mjs.map +1 -1
  104. package/dist/components/Box/Box.types.cjs.map +1 -1
  105. package/dist/components/Box/Box.types.d.cts +2 -106
  106. package/dist/components/Box/Box.types.d.cts.map +1 -1
  107. package/dist/components/Box/Box.types.d.mts +2 -106
  108. package/dist/components/Box/Box.types.d.mts.map +1 -1
  109. package/dist/components/Box/Box.types.mjs.map +1 -1
  110. package/dist/components/Box/index.cjs +7 -7
  111. package/dist/components/Box/index.cjs.map +1 -1
  112. package/dist/components/Box/index.d.cts +1 -2
  113. package/dist/components/Box/index.d.cts.map +1 -1
  114. package/dist/components/Box/index.d.mts +1 -2
  115. package/dist/components/Box/index.d.mts.map +1 -1
  116. package/dist/components/Box/index.mjs +1 -1
  117. package/dist/components/Box/index.mjs.map +1 -1
  118. package/dist/components/Button/Button.cjs +5 -5
  119. package/dist/components/Button/Button.cjs.map +1 -1
  120. package/dist/components/Button/Button.d.cts.map +1 -1
  121. package/dist/components/Button/Button.d.mts.map +1 -1
  122. package/dist/components/Button/Button.mjs +1 -1
  123. package/dist/components/Button/Button.mjs.map +1 -1
  124. package/dist/components/Button/Button.types.cjs.map +1 -1
  125. package/dist/components/Button/Button.types.d.cts +5 -12
  126. package/dist/components/Button/Button.types.d.cts.map +1 -1
  127. package/dist/components/Button/Button.types.d.mts +5 -12
  128. package/dist/components/Button/Button.types.d.mts.map +1 -1
  129. package/dist/components/Button/Button.types.mjs.map +1 -1
  130. package/dist/components/Button/index.cjs +3 -3
  131. package/dist/components/Button/index.cjs.map +1 -1
  132. package/dist/components/Button/index.d.cts +1 -1
  133. package/dist/components/Button/index.d.cts.map +1 -1
  134. package/dist/components/Button/index.d.mts +1 -1
  135. package/dist/components/Button/index.d.mts.map +1 -1
  136. package/dist/components/Button/index.mjs +1 -1
  137. package/dist/components/Button/index.mjs.map +1 -1
  138. package/dist/components/Button/variants/ButtonPrimary/ButtonPrimary.cjs +2 -0
  139. package/dist/components/Button/variants/ButtonPrimary/ButtonPrimary.cjs.map +1 -1
  140. package/dist/components/Button/variants/ButtonPrimary/ButtonPrimary.d.cts.map +1 -1
  141. package/dist/components/Button/variants/ButtonPrimary/ButtonPrimary.d.mts.map +1 -1
  142. package/dist/components/Button/variants/ButtonPrimary/ButtonPrimary.mjs +2 -0
  143. package/dist/components/Button/variants/ButtonPrimary/ButtonPrimary.mjs.map +1 -1
  144. package/dist/components/Button/variants/ButtonPrimary/index.cjs +1 -3
  145. package/dist/components/Button/variants/ButtonPrimary/index.cjs.map +1 -1
  146. package/dist/components/Button/variants/ButtonPrimary/index.d.cts +0 -1
  147. package/dist/components/Button/variants/ButtonPrimary/index.d.cts.map +1 -1
  148. package/dist/components/Button/variants/ButtonPrimary/index.d.mts +0 -1
  149. package/dist/components/Button/variants/ButtonPrimary/index.d.mts.map +1 -1
  150. package/dist/components/Button/variants/ButtonPrimary/index.mjs +0 -1
  151. package/dist/components/Button/variants/ButtonPrimary/index.mjs.map +1 -1
  152. package/dist/components/Button/variants/ButtonSecondary/ButtonSecondary.cjs +2 -0
  153. package/dist/components/Button/variants/ButtonSecondary/ButtonSecondary.cjs.map +1 -1
  154. package/dist/components/Button/variants/ButtonSecondary/ButtonSecondary.d.cts.map +1 -1
  155. package/dist/components/Button/variants/ButtonSecondary/ButtonSecondary.d.mts.map +1 -1
  156. package/dist/components/Button/variants/ButtonSecondary/ButtonSecondary.mjs +2 -0
  157. package/dist/components/Button/variants/ButtonSecondary/ButtonSecondary.mjs.map +1 -1
  158. package/dist/components/Button/variants/ButtonSecondary/index.cjs +1 -3
  159. package/dist/components/Button/variants/ButtonSecondary/index.cjs.map +1 -1
  160. package/dist/components/Button/variants/ButtonSecondary/index.d.cts +0 -1
  161. package/dist/components/Button/variants/ButtonSecondary/index.d.cts.map +1 -1
  162. package/dist/components/Button/variants/ButtonSecondary/index.d.mts +0 -1
  163. package/dist/components/Button/variants/ButtonSecondary/index.d.mts.map +1 -1
  164. package/dist/components/Button/variants/ButtonSecondary/index.mjs +0 -1
  165. package/dist/components/Button/variants/ButtonSecondary/index.mjs.map +1 -1
  166. package/dist/components/Button/variants/ButtonTertiary/ButtonTertiary.cjs +3 -1
  167. package/dist/components/Button/variants/ButtonTertiary/ButtonTertiary.cjs.map +1 -1
  168. package/dist/components/Button/variants/ButtonTertiary/ButtonTertiary.d.cts.map +1 -1
  169. package/dist/components/Button/variants/ButtonTertiary/ButtonTertiary.d.mts.map +1 -1
  170. package/dist/components/Button/variants/ButtonTertiary/ButtonTertiary.mjs +3 -1
  171. package/dist/components/Button/variants/ButtonTertiary/ButtonTertiary.mjs.map +1 -1
  172. package/dist/components/Button/variants/ButtonTertiary/index.cjs +1 -3
  173. package/dist/components/Button/variants/ButtonTertiary/index.cjs.map +1 -1
  174. package/dist/components/Button/variants/ButtonTertiary/index.d.cts +0 -1
  175. package/dist/components/Button/variants/ButtonTertiary/index.d.cts.map +1 -1
  176. package/dist/components/Button/variants/ButtonTertiary/index.d.mts +0 -1
  177. package/dist/components/Button/variants/ButtonTertiary/index.d.mts.map +1 -1
  178. package/dist/components/Button/variants/ButtonTertiary/index.mjs +0 -1
  179. package/dist/components/Button/variants/ButtonTertiary/index.mjs.map +1 -1
  180. package/dist/components/ButtonBase/ButtonBase.cjs +28 -20
  181. package/dist/components/ButtonBase/ButtonBase.cjs.map +1 -1
  182. package/dist/components/ButtonBase/ButtonBase.constants.cjs +35 -5
  183. package/dist/components/ButtonBase/ButtonBase.constants.cjs.map +1 -1
  184. package/dist/components/ButtonBase/ButtonBase.constants.d.cts +6 -1
  185. package/dist/components/ButtonBase/ButtonBase.constants.d.cts.map +1 -1
  186. package/dist/components/ButtonBase/ButtonBase.constants.d.mts +6 -1
  187. package/dist/components/ButtonBase/ButtonBase.constants.d.mts.map +1 -1
  188. package/dist/components/ButtonBase/ButtonBase.constants.mjs +29 -1
  189. package/dist/components/ButtonBase/ButtonBase.constants.mjs.map +1 -1
  190. package/dist/components/ButtonBase/ButtonBase.d.cts.map +1 -1
  191. package/dist/components/ButtonBase/ButtonBase.d.mts.map +1 -1
  192. package/dist/components/ButtonBase/ButtonBase.mjs +29 -21
  193. package/dist/components/ButtonBase/ButtonBase.mjs.map +1 -1
  194. package/dist/components/ButtonBase/ButtonBase.types.cjs.map +1 -1
  195. package/dist/components/ButtonBase/ButtonBase.types.d.cts +3 -35
  196. package/dist/components/ButtonBase/ButtonBase.types.d.cts.map +1 -1
  197. package/dist/components/ButtonBase/ButtonBase.types.d.mts +3 -35
  198. package/dist/components/ButtonBase/ButtonBase.types.d.mts.map +1 -1
  199. package/dist/components/ButtonBase/ButtonBase.types.mjs.map +1 -1
  200. package/dist/components/ButtonBase/index.cjs +2 -2
  201. package/dist/components/ButtonBase/index.cjs.map +1 -1
  202. package/dist/components/ButtonBase/index.d.cts +1 -1
  203. package/dist/components/ButtonBase/index.d.cts.map +1 -1
  204. package/dist/components/ButtonBase/index.d.mts +1 -1
  205. package/dist/components/ButtonBase/index.d.mts.map +1 -1
  206. package/dist/components/ButtonBase/index.mjs +1 -1
  207. package/dist/components/ButtonBase/index.mjs.map +1 -1
  208. package/dist/components/ButtonHero/index.cjs +2 -2
  209. package/dist/components/ButtonHero/index.cjs.map +1 -1
  210. package/dist/components/ButtonHero/index.d.cts +1 -1
  211. package/dist/components/ButtonHero/index.d.cts.map +1 -1
  212. package/dist/components/ButtonHero/index.d.mts +1 -1
  213. package/dist/components/ButtonHero/index.d.mts.map +1 -1
  214. package/dist/components/ButtonHero/index.mjs +1 -1
  215. package/dist/components/ButtonHero/index.mjs.map +1 -1
  216. package/dist/components/ButtonIcon/ButtonIcon.cjs +5 -5
  217. package/dist/components/ButtonIcon/ButtonIcon.cjs.map +1 -1
  218. package/dist/components/ButtonIcon/ButtonIcon.constants.cjs +7 -8
  219. package/dist/components/ButtonIcon/ButtonIcon.constants.cjs.map +1 -1
  220. package/dist/components/ButtonIcon/ButtonIcon.constants.d.cts +3 -4
  221. package/dist/components/ButtonIcon/ButtonIcon.constants.d.cts.map +1 -1
  222. package/dist/components/ButtonIcon/ButtonIcon.constants.d.mts +3 -4
  223. package/dist/components/ButtonIcon/ButtonIcon.constants.d.mts.map +1 -1
  224. package/dist/components/ButtonIcon/ButtonIcon.constants.mjs +1 -2
  225. package/dist/components/ButtonIcon/ButtonIcon.constants.mjs.map +1 -1
  226. package/dist/components/ButtonIcon/ButtonIcon.d.cts.map +1 -1
  227. package/dist/components/ButtonIcon/ButtonIcon.d.mts.map +1 -1
  228. package/dist/components/ButtonIcon/ButtonIcon.mjs +1 -1
  229. package/dist/components/ButtonIcon/ButtonIcon.mjs.map +1 -1
  230. package/dist/components/ButtonIcon/ButtonIcon.types.cjs.map +1 -1
  231. package/dist/components/ButtonIcon/ButtonIcon.types.d.cts +5 -27
  232. package/dist/components/ButtonIcon/ButtonIcon.types.d.cts.map +1 -1
  233. package/dist/components/ButtonIcon/ButtonIcon.types.d.mts +5 -27
  234. package/dist/components/ButtonIcon/ButtonIcon.types.d.mts.map +1 -1
  235. package/dist/components/ButtonIcon/ButtonIcon.types.mjs.map +1 -1
  236. package/dist/components/ButtonIcon/index.cjs +3 -3
  237. package/dist/components/ButtonIcon/index.cjs.map +1 -1
  238. package/dist/components/ButtonIcon/index.d.cts +1 -1
  239. package/dist/components/ButtonIcon/index.d.cts.map +1 -1
  240. package/dist/components/ButtonIcon/index.d.mts +1 -1
  241. package/dist/components/ButtonIcon/index.d.mts.map +1 -1
  242. package/dist/components/ButtonIcon/index.mjs +1 -1
  243. package/dist/components/ButtonIcon/index.mjs.map +1 -1
  244. package/dist/components/HeaderBase/HeaderBase.cjs +43 -0
  245. package/dist/components/HeaderBase/HeaderBase.cjs.map +1 -0
  246. package/dist/components/HeaderBase/HeaderBase.d.cts +4 -0
  247. package/dist/components/HeaderBase/HeaderBase.d.cts.map +1 -0
  248. package/dist/components/HeaderBase/HeaderBase.d.mts +4 -0
  249. package/dist/components/HeaderBase/HeaderBase.d.mts.map +1 -0
  250. package/dist/components/HeaderBase/HeaderBase.mjs +24 -0
  251. package/dist/components/HeaderBase/HeaderBase.mjs.map +1 -0
  252. package/dist/components/HeaderBase/HeaderBase.types.cjs +3 -0
  253. package/dist/components/HeaderBase/HeaderBase.types.cjs.map +1 -0
  254. package/dist/components/HeaderBase/HeaderBase.types.d.cts +51 -0
  255. package/dist/components/HeaderBase/HeaderBase.types.d.cts.map +1 -0
  256. package/dist/components/HeaderBase/HeaderBase.types.d.mts +51 -0
  257. package/dist/components/HeaderBase/HeaderBase.types.d.mts.map +1 -0
  258. package/dist/components/HeaderBase/HeaderBase.types.mjs +2 -0
  259. package/dist/components/HeaderBase/HeaderBase.types.mjs.map +1 -0
  260. package/dist/components/HeaderBase/index.cjs +6 -0
  261. package/dist/components/HeaderBase/index.cjs.map +1 -0
  262. package/dist/components/HeaderBase/index.d.cts +3 -0
  263. package/dist/components/HeaderBase/index.d.cts.map +1 -0
  264. package/dist/components/HeaderBase/index.d.mts +3 -0
  265. package/dist/components/HeaderBase/index.d.mts.map +1 -0
  266. package/dist/components/HeaderBase/index.mjs +2 -0
  267. package/dist/components/HeaderBase/index.mjs.map +1 -0
  268. package/dist/components/Icon/Icon.types.cjs.map +1 -1
  269. package/dist/components/Icon/Icon.types.d.cts +2 -19
  270. package/dist/components/Icon/Icon.types.d.cts.map +1 -1
  271. package/dist/components/Icon/Icon.types.d.mts +2 -19
  272. package/dist/components/Icon/Icon.types.d.mts.map +1 -1
  273. package/dist/components/Icon/Icon.types.mjs.map +1 -1
  274. package/dist/components/Icon/icons/Candlestick.cjs +1 -1
  275. package/dist/components/Icon/icons/Candlestick.cjs.map +1 -1
  276. package/dist/components/Icon/icons/Candlestick.mjs +1 -1
  277. package/dist/components/Icon/icons/Candlestick.mjs.map +1 -1
  278. package/dist/components/Icon/icons/Group.cjs +32 -0
  279. package/dist/components/Icon/icons/Group.cjs.map +1 -0
  280. package/dist/components/Icon/icons/Group.d.cts +4 -0
  281. package/dist/components/Icon/icons/Group.d.cts.map +1 -0
  282. package/dist/components/Icon/icons/Group.d.mts +4 -0
  283. package/dist/components/Icon/icons/Group.d.mts.map +1 -0
  284. package/dist/components/Icon/icons/Group.mjs +7 -0
  285. package/dist/components/Icon/icons/Group.mjs.map +1 -0
  286. package/dist/components/Icon/icons/ListArrow.cjs +32 -0
  287. package/dist/components/Icon/icons/ListArrow.cjs.map +1 -0
  288. package/dist/components/Icon/icons/ListArrow.d.cts +4 -0
  289. package/dist/components/Icon/icons/ListArrow.d.cts.map +1 -0
  290. package/dist/components/Icon/icons/ListArrow.d.mts +4 -0
  291. package/dist/components/Icon/icons/ListArrow.d.mts.map +1 -0
  292. package/dist/components/Icon/icons/ListArrow.mjs +7 -0
  293. package/dist/components/Icon/icons/ListArrow.mjs.map +1 -0
  294. package/dist/components/Icon/icons/Merge.cjs +32 -0
  295. package/dist/components/Icon/icons/Merge.cjs.map +1 -0
  296. package/dist/components/Icon/icons/Merge.d.cts +4 -0
  297. package/dist/components/Icon/icons/Merge.d.cts.map +1 -0
  298. package/dist/components/Icon/icons/Merge.d.mts +4 -0
  299. package/dist/components/Icon/icons/Merge.d.mts.map +1 -0
  300. package/dist/components/Icon/icons/Merge.mjs +7 -0
  301. package/dist/components/Icon/icons/Merge.mjs.map +1 -0
  302. package/dist/components/Icon/icons/Musd.cjs +32 -0
  303. package/dist/components/Icon/icons/Musd.cjs.map +1 -0
  304. package/dist/components/Icon/icons/Musd.d.cts +4 -0
  305. package/dist/components/Icon/icons/Musd.d.cts.map +1 -0
  306. package/dist/components/Icon/icons/Musd.d.mts +4 -0
  307. package/dist/components/Icon/icons/Musd.d.mts.map +1 -0
  308. package/dist/components/Icon/icons/Musd.mjs +7 -0
  309. package/dist/components/Icon/icons/Musd.mjs.map +1 -0
  310. package/dist/components/Icon/icons/MusdFilled.cjs +32 -0
  311. package/dist/components/Icon/icons/MusdFilled.cjs.map +1 -0
  312. package/dist/components/Icon/icons/MusdFilled.d.cts +4 -0
  313. package/dist/components/Icon/icons/MusdFilled.d.cts.map +1 -0
  314. package/dist/components/Icon/icons/MusdFilled.d.mts +4 -0
  315. package/dist/components/Icon/icons/MusdFilled.d.mts.map +1 -0
  316. package/dist/components/Icon/icons/MusdFilled.mjs +7 -0
  317. package/dist/components/Icon/icons/MusdFilled.mjs.map +1 -0
  318. package/dist/components/Icon/icons/PieChart.cjs +32 -0
  319. package/dist/components/Icon/icons/PieChart.cjs.map +1 -0
  320. package/dist/components/Icon/icons/PieChart.d.cts +4 -0
  321. package/dist/components/Icon/icons/PieChart.d.cts.map +1 -0
  322. package/dist/components/Icon/icons/PieChart.d.mts +4 -0
  323. package/dist/components/Icon/icons/PieChart.d.mts.map +1 -0
  324. package/dist/components/Icon/icons/PieChart.mjs +7 -0
  325. package/dist/components/Icon/icons/PieChart.mjs.map +1 -0
  326. package/dist/components/Icon/icons/Predictions.cjs +32 -0
  327. package/dist/components/Icon/icons/Predictions.cjs.map +1 -0
  328. package/dist/components/Icon/icons/Predictions.d.cts +4 -0
  329. package/dist/components/Icon/icons/Predictions.d.cts.map +1 -0
  330. package/dist/components/Icon/icons/Predictions.d.mts +4 -0
  331. package/dist/components/Icon/icons/Predictions.d.mts.map +1 -0
  332. package/dist/components/Icon/icons/Predictions.mjs +7 -0
  333. package/dist/components/Icon/icons/Predictions.mjs.map +1 -0
  334. package/dist/components/Icon/icons/Telegram.cjs +32 -0
  335. package/dist/components/Icon/icons/Telegram.cjs.map +1 -0
  336. package/dist/components/Icon/icons/Telegram.d.cts +4 -0
  337. package/dist/components/Icon/icons/Telegram.d.cts.map +1 -0
  338. package/dist/components/Icon/icons/Telegram.d.mts +4 -0
  339. package/dist/components/Icon/icons/Telegram.d.mts.map +1 -0
  340. package/dist/components/Icon/icons/Telegram.mjs +7 -0
  341. package/dist/components/Icon/icons/Telegram.mjs.map +1 -0
  342. package/dist/components/Icon/icons/index.cjs +92 -76
  343. package/dist/components/Icon/icons/index.cjs.map +1 -1
  344. package/dist/components/Icon/icons/index.d.cts +46 -38
  345. package/dist/components/Icon/icons/index.d.cts.map +1 -1
  346. package/dist/components/Icon/icons/index.d.mts +46 -38
  347. package/dist/components/Icon/icons/index.d.mts.map +1 -1
  348. package/dist/components/Icon/icons/index.mjs +92 -76
  349. package/dist/components/Icon/icons/index.mjs.map +1 -1
  350. package/dist/components/Input/Input.cjs +4 -3
  351. package/dist/components/Input/Input.cjs.map +1 -1
  352. package/dist/components/Input/Input.d.cts +1 -5
  353. package/dist/components/Input/Input.d.cts.map +1 -1
  354. package/dist/components/Input/Input.d.mts +1 -5
  355. package/dist/components/Input/Input.d.mts.map +1 -1
  356. package/dist/components/Input/Input.mjs +4 -3
  357. package/dist/components/Input/Input.mjs.map +1 -1
  358. package/dist/components/Input/Input.types.cjs.map +1 -1
  359. package/dist/components/Input/Input.types.d.cts +2 -20
  360. package/dist/components/Input/Input.types.d.cts.map +1 -1
  361. package/dist/components/Input/Input.types.d.mts +2 -20
  362. package/dist/components/Input/Input.types.d.mts.map +1 -1
  363. package/dist/components/Input/Input.types.mjs.map +1 -1
  364. package/dist/components/Modal/Modal.cjs +49 -0
  365. package/dist/components/Modal/Modal.cjs.map +1 -0
  366. package/dist/components/Modal/Modal.context.cjs +14 -0
  367. package/dist/components/Modal/Modal.context.cjs.map +1 -0
  368. package/dist/components/Modal/Modal.context.d.cts +6 -0
  369. package/dist/components/Modal/Modal.context.d.cts.map +1 -0
  370. package/dist/components/Modal/Modal.context.d.mts +6 -0
  371. package/dist/components/Modal/Modal.context.d.mts.map +1 -0
  372. package/dist/components/Modal/Modal.context.mjs +10 -0
  373. package/dist/components/Modal/Modal.context.mjs.map +1 -0
  374. package/dist/components/Modal/Modal.d.cts +4 -0
  375. package/dist/components/Modal/Modal.d.cts.map +1 -0
  376. package/dist/components/Modal/Modal.d.mts +4 -0
  377. package/dist/components/Modal/Modal.d.mts.map +1 -0
  378. package/dist/components/Modal/Modal.mjs +30 -0
  379. package/dist/components/Modal/Modal.mjs.map +1 -0
  380. package/dist/components/Modal/Modal.types.cjs +3 -0
  381. package/dist/components/Modal/Modal.types.cjs.map +1 -0
  382. package/dist/components/Modal/Modal.types.d.cts +64 -0
  383. package/dist/components/Modal/Modal.types.d.cts.map +1 -0
  384. package/dist/components/Modal/Modal.types.d.mts +64 -0
  385. package/dist/components/Modal/Modal.types.d.mts.map +1 -0
  386. package/dist/components/Modal/Modal.types.mjs +2 -0
  387. package/dist/components/Modal/Modal.types.mjs.map +1 -0
  388. package/dist/components/Modal/index.cjs +8 -0
  389. package/dist/components/Modal/index.cjs.map +1 -0
  390. package/dist/components/Modal/index.d.cts +5 -0
  391. package/dist/components/Modal/index.d.cts.map +1 -0
  392. package/dist/components/Modal/index.d.mts +5 -0
  393. package/dist/components/Modal/index.d.mts.map +1 -0
  394. package/dist/components/Modal/index.mjs +3 -0
  395. package/dist/components/Modal/index.mjs.map +1 -0
  396. package/dist/components/ModalBody/ModalBody.cjs +32 -0
  397. package/dist/components/ModalBody/ModalBody.cjs.map +1 -0
  398. package/dist/components/ModalBody/ModalBody.d.cts +4 -0
  399. package/dist/components/ModalBody/ModalBody.d.cts.map +1 -0
  400. package/dist/components/ModalBody/ModalBody.d.mts +4 -0
  401. package/dist/components/ModalBody/ModalBody.d.mts.map +1 -0
  402. package/dist/components/ModalBody/ModalBody.mjs +13 -0
  403. package/dist/components/ModalBody/ModalBody.mjs.map +1 -0
  404. package/dist/components/ModalBody/ModalBody.types.cjs +3 -0
  405. package/dist/components/ModalBody/ModalBody.types.cjs.map +1 -0
  406. package/dist/components/ModalBody/ModalBody.types.d.cts +13 -0
  407. package/dist/components/ModalBody/ModalBody.types.d.cts.map +1 -0
  408. package/dist/components/ModalBody/ModalBody.types.d.mts +13 -0
  409. package/dist/components/ModalBody/ModalBody.types.d.mts.map +1 -0
  410. package/dist/components/ModalBody/ModalBody.types.mjs +2 -0
  411. package/dist/components/ModalBody/ModalBody.types.mjs.map +1 -0
  412. package/dist/components/ModalBody/index.cjs +6 -0
  413. package/dist/components/ModalBody/index.cjs.map +1 -0
  414. package/dist/components/ModalBody/index.d.cts +3 -0
  415. package/dist/components/ModalBody/index.d.cts.map +1 -0
  416. package/dist/components/ModalBody/index.d.mts +3 -0
  417. package/dist/components/ModalBody/index.d.mts.map +1 -0
  418. package/dist/components/ModalBody/index.mjs +2 -0
  419. package/dist/components/ModalBody/index.mjs.map +1 -0
  420. package/dist/components/ModalContent/ModalContent.cjs +73 -0
  421. package/dist/components/ModalContent/ModalContent.cjs.map +1 -0
  422. package/dist/components/ModalContent/ModalContent.constants.cjs +34 -0
  423. package/dist/components/ModalContent/ModalContent.constants.cjs.map +1 -0
  424. package/dist/components/ModalContent/ModalContent.constants.d.cts +31 -0
  425. package/dist/components/ModalContent/ModalContent.constants.d.cts.map +1 -0
  426. package/dist/components/ModalContent/ModalContent.constants.d.mts +31 -0
  427. package/dist/components/ModalContent/ModalContent.constants.d.mts.map +1 -0
  428. package/dist/components/ModalContent/ModalContent.constants.mjs +31 -0
  429. package/dist/components/ModalContent/ModalContent.constants.mjs.map +1 -0
  430. package/dist/components/ModalContent/ModalContent.d.cts +4 -0
  431. package/dist/components/ModalContent/ModalContent.d.cts.map +1 -0
  432. package/dist/components/ModalContent/ModalContent.d.mts +4 -0
  433. package/dist/components/ModalContent/ModalContent.d.mts.map +1 -0
  434. package/dist/components/ModalContent/ModalContent.mjs +54 -0
  435. package/dist/components/ModalContent/ModalContent.mjs.map +1 -0
  436. package/dist/components/ModalContent/ModalContent.types.cjs +15 -0
  437. package/dist/components/ModalContent/ModalContent.types.cjs.map +1 -0
  438. package/dist/components/ModalContent/ModalContent.types.d.cts +51 -0
  439. package/dist/components/ModalContent/ModalContent.types.d.cts.map +1 -0
  440. package/dist/components/ModalContent/ModalContent.types.d.mts +51 -0
  441. package/dist/components/ModalContent/ModalContent.types.d.mts.map +1 -0
  442. package/dist/components/ModalContent/ModalContent.types.mjs +12 -0
  443. package/dist/components/ModalContent/ModalContent.types.mjs.map +1 -0
  444. package/dist/components/ModalContent/index.cjs +10 -0
  445. package/dist/components/ModalContent/index.cjs.map +1 -0
  446. package/dist/components/ModalContent/index.d.cts +5 -0
  447. package/dist/components/ModalContent/index.d.cts.map +1 -0
  448. package/dist/components/ModalContent/index.d.mts +5 -0
  449. package/dist/components/ModalContent/index.d.mts.map +1 -0
  450. package/dist/components/ModalContent/index.mjs +4 -0
  451. package/dist/components/ModalContent/index.mjs.map +1 -0
  452. package/dist/components/ModalFocus/ModalFocus.cjs +56 -0
  453. package/dist/components/ModalFocus/ModalFocus.cjs.map +1 -0
  454. package/dist/components/ModalFocus/ModalFocus.d.cts +4 -0
  455. package/dist/components/ModalFocus/ModalFocus.d.cts.map +1 -0
  456. package/dist/components/ModalFocus/ModalFocus.d.mts +4 -0
  457. package/dist/components/ModalFocus/ModalFocus.d.mts.map +1 -0
  458. package/dist/components/ModalFocus/ModalFocus.mjs +34 -0
  459. package/dist/components/ModalFocus/ModalFocus.mjs.map +1 -0
  460. package/dist/components/ModalFocus/ModalFocus.types.cjs +3 -0
  461. package/dist/components/ModalFocus/ModalFocus.types.cjs.map +1 -0
  462. package/dist/components/ModalFocus/ModalFocus.types.d.cts +36 -0
  463. package/dist/components/ModalFocus/ModalFocus.types.d.cts.map +1 -0
  464. package/dist/components/ModalFocus/ModalFocus.types.d.mts +36 -0
  465. package/dist/components/ModalFocus/ModalFocus.types.d.mts.map +1 -0
  466. package/dist/components/ModalFocus/ModalFocus.types.mjs +2 -0
  467. package/dist/components/ModalFocus/ModalFocus.types.mjs.map +1 -0
  468. package/dist/components/ModalFocus/index.cjs +6 -0
  469. package/dist/components/ModalFocus/index.cjs.map +1 -0
  470. package/dist/components/ModalFocus/index.d.cts +3 -0
  471. package/dist/components/ModalFocus/index.d.cts.map +1 -0
  472. package/dist/components/ModalFocus/index.d.mts +3 -0
  473. package/dist/components/ModalFocus/index.d.mts.map +1 -0
  474. package/dist/components/ModalFocus/index.mjs +2 -0
  475. package/dist/components/ModalFocus/index.mjs.map +1 -0
  476. package/dist/components/ModalFooter/ModalFooter.cjs +44 -0
  477. package/dist/components/ModalFooter/ModalFooter.cjs.map +1 -0
  478. package/dist/components/ModalFooter/ModalFooter.d.cts +4 -0
  479. package/dist/components/ModalFooter/ModalFooter.d.cts.map +1 -0
  480. package/dist/components/ModalFooter/ModalFooter.d.mts +4 -0
  481. package/dist/components/ModalFooter/ModalFooter.d.mts.map +1 -0
  482. package/dist/components/ModalFooter/ModalFooter.mjs +25 -0
  483. package/dist/components/ModalFooter/ModalFooter.mjs.map +1 -0
  484. package/dist/components/ModalFooter/ModalFooter.types.cjs +14 -0
  485. package/dist/components/ModalFooter/ModalFooter.types.cjs.map +1 -0
  486. package/dist/components/ModalFooter/ModalFooter.types.d.cts +63 -0
  487. package/dist/components/ModalFooter/ModalFooter.types.d.cts.map +1 -0
  488. package/dist/components/ModalFooter/ModalFooter.types.d.mts +63 -0
  489. package/dist/components/ModalFooter/ModalFooter.types.d.mts.map +1 -0
  490. package/dist/components/ModalFooter/ModalFooter.types.mjs +11 -0
  491. package/dist/components/ModalFooter/ModalFooter.types.mjs.map +1 -0
  492. package/dist/components/ModalFooter/index.cjs +8 -0
  493. package/dist/components/ModalFooter/index.cjs.map +1 -0
  494. package/dist/components/ModalFooter/index.d.cts +4 -0
  495. package/dist/components/ModalFooter/index.d.cts.map +1 -0
  496. package/dist/components/ModalFooter/index.d.mts +4 -0
  497. package/dist/components/ModalFooter/index.d.mts.map +1 -0
  498. package/dist/components/ModalFooter/index.mjs +3 -0
  499. package/dist/components/ModalFooter/index.mjs.map +1 -0
  500. package/dist/components/ModalOverlay/ModalOverlay.cjs +32 -0
  501. package/dist/components/ModalOverlay/ModalOverlay.cjs.map +1 -0
  502. package/dist/components/ModalOverlay/ModalOverlay.d.cts +4 -0
  503. package/dist/components/ModalOverlay/ModalOverlay.d.cts.map +1 -0
  504. package/dist/components/ModalOverlay/ModalOverlay.d.mts +4 -0
  505. package/dist/components/ModalOverlay/ModalOverlay.d.mts.map +1 -0
  506. package/dist/components/ModalOverlay/ModalOverlay.mjs +13 -0
  507. package/dist/components/ModalOverlay/ModalOverlay.mjs.map +1 -0
  508. package/dist/components/ModalOverlay/ModalOverlay.types.cjs +3 -0
  509. package/dist/components/ModalOverlay/ModalOverlay.types.cjs.map +1 -0
  510. package/dist/components/ModalOverlay/ModalOverlay.types.d.cts +9 -0
  511. package/dist/components/ModalOverlay/ModalOverlay.types.d.cts.map +1 -0
  512. package/dist/components/ModalOverlay/ModalOverlay.types.d.mts +9 -0
  513. package/dist/components/ModalOverlay/ModalOverlay.types.d.mts.map +1 -0
  514. package/dist/components/ModalOverlay/ModalOverlay.types.mjs +2 -0
  515. package/dist/components/ModalOverlay/ModalOverlay.types.mjs.map +1 -0
  516. package/dist/components/ModalOverlay/index.cjs +6 -0
  517. package/dist/components/ModalOverlay/index.cjs.map +1 -0
  518. package/dist/components/ModalOverlay/index.d.cts +3 -0
  519. package/dist/components/ModalOverlay/index.d.cts.map +1 -0
  520. package/dist/components/ModalOverlay/index.d.mts +3 -0
  521. package/dist/components/ModalOverlay/index.d.mts.map +1 -0
  522. package/dist/components/ModalOverlay/index.mjs +2 -0
  523. package/dist/components/ModalOverlay/index.mjs.map +1 -0
  524. package/dist/components/Skeleton/Skeleton.cjs +46 -0
  525. package/dist/components/Skeleton/Skeleton.cjs.map +1 -0
  526. package/dist/components/Skeleton/Skeleton.d.cts +4 -0
  527. package/dist/components/Skeleton/Skeleton.d.cts.map +1 -0
  528. package/dist/components/Skeleton/Skeleton.d.mts +4 -0
  529. package/dist/components/Skeleton/Skeleton.d.mts.map +1 -0
  530. package/dist/components/Skeleton/Skeleton.mjs +27 -0
  531. package/dist/components/Skeleton/Skeleton.mjs.map +1 -0
  532. package/dist/components/Skeleton/Skeleton.types.cjs +3 -0
  533. package/dist/components/Skeleton/Skeleton.types.cjs.map +1 -0
  534. package/dist/components/Skeleton/Skeleton.types.d.cts +38 -0
  535. package/dist/components/Skeleton/Skeleton.types.d.cts.map +1 -0
  536. package/dist/components/Skeleton/Skeleton.types.d.mts +38 -0
  537. package/dist/components/Skeleton/Skeleton.types.d.mts.map +1 -0
  538. package/dist/components/Skeleton/Skeleton.types.mjs +2 -0
  539. package/dist/components/Skeleton/Skeleton.types.mjs.map +1 -0
  540. package/dist/components/Skeleton/index.cjs +6 -0
  541. package/dist/components/Skeleton/index.cjs.map +1 -0
  542. package/dist/components/Skeleton/index.d.cts +3 -0
  543. package/dist/components/Skeleton/index.d.cts.map +1 -0
  544. package/dist/components/Skeleton/index.d.mts +3 -0
  545. package/dist/components/Skeleton/index.d.mts.map +1 -0
  546. package/dist/components/Skeleton/index.mjs +2 -0
  547. package/dist/components/Skeleton/index.mjs.map +1 -0
  548. package/dist/components/index.cjs +22 -2
  549. package/dist/components/index.cjs.map +1 -1
  550. package/dist/components/index.d.cts +17 -1
  551. package/dist/components/index.d.cts.map +1 -1
  552. package/dist/components/index.d.mts +17 -1
  553. package/dist/components/index.d.mts.map +1 -1
  554. package/dist/components/index.mjs +8 -0
  555. package/dist/components/index.mjs.map +1 -1
  556. package/dist/types/index.cjs +9 -606
  557. package/dist/types/index.cjs.map +1 -1
  558. package/dist/types/index.d.cts +4 -597
  559. package/dist/types/index.d.cts.map +1 -1
  560. package/dist/types/index.d.mts +4 -597
  561. package/dist/types/index.d.mts.map +1 -1
  562. package/dist/types/index.mjs +4 -607
  563. package/dist/types/index.mjs.map +1 -1
  564. package/package.json +6 -8
@@ -4,17 +4,24 @@ function $importDefault(module) {
4
4
  }
5
5
  return module;
6
6
  }
7
+ import { ButtonBaseSize, IconName } from "@metamask-previews/design-system-shared";
7
8
  import { Slot, Slottable } from "@radix-ui/react-slot";
8
9
  import $React, { forwardRef } from "react";
9
10
  const React = $importDefault($React);
10
- import { ButtonBaseSize } from "../../types/index.mjs";
11
11
  import { twMerge } from "../../utils/tw-merge.mjs";
12
- import { Icon, IconName, IconSize } from "../Icon/index.mjs";
12
+ import { Icon } from "../Icon/index.mjs";
13
13
  import { Text, FontWeight, TextColor } from "../Text/index.mjs";
14
- import { TWCLASSMAP_BUTTONBASE_SIZE_DIMENSION } from "./ButtonBase.constants.mjs";
14
+ import { MAP_BUTTONBASE_SIZE_ICONSIZE, MAP_BUTTONBASE_SIZE_TEXT_VARIANT, getButtonBaseBorderRadiusTwClass, getButtonBaseHorizontalPaddingTwClasses, TWCLASSMAP_BUTTONBASE_SIZE_DIMENSION } from "./ButtonBase.constants.mjs";
15
15
  export const ButtonBase = forwardRef(({ children, className, size = ButtonBaseSize.Lg, isFullWidth, asChild, isDisabled, isLoading, loadingText, loadingIconProps, loadingTextProps, startIconName, startIconProps, startAccessory, endIconName, endIconProps, endAccessory, textProps, style, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, 'aria-describedby': ariaDescribedby, 'aria-pressed': ariaPressed, 'aria-expanded': ariaExpanded, 'aria-controls': ariaControls, 'aria-haspopup': ariaHaspopup, ...props }, ref) => {
16
16
  const Component = asChild ? Slot : 'button';
17
17
  const isInteractive = !(isDisabled ?? isLoading);
18
+ const finalStartIconName = startIconName ?? startIconProps?.name;
19
+ const finalEndIconName = endIconName ?? endIconProps?.name;
20
+ const hasStart = Boolean(finalStartIconName || startAccessory);
21
+ const hasEnd = Boolean(finalEndIconName || endAccessory);
22
+ const hasAccessories = hasStart || hasEnd;
23
+ const iconSize = MAP_BUTTONBASE_SIZE_ICONSIZE[size];
24
+ const labelTextVariant = MAP_BUTTONBASE_SIZE_TEXT_VARIANT[size];
18
25
  // Calculate tabIndex based on asChild and disabled state
19
26
  const getTabIndex = () => {
20
27
  if (asChild) {
@@ -22,41 +29,42 @@ export const ButtonBase = forwardRef(({ children, className, size = ButtonBaseSi
22
29
  }
23
30
  return isDisabled ? -1 : undefined;
24
31
  };
32
+ const renderLabel = () => {
33
+ if (children && typeof children === 'string') {
34
+ return (React.createElement(Text, { variant: labelTextVariant, fontWeight: FontWeight.Medium, color: TextColor.Inherit, asChild: true, ...textProps },
35
+ React.createElement("span", null, children)));
36
+ }
37
+ return children;
38
+ };
25
39
  const renderLoadingState = () => (React.createElement(React.Fragment, null,
26
- React.createElement("span", { className: "absolute inline-flex items-center", "aria-hidden": "true" },
27
- React.createElement(Icon, { name: IconName.Loading, size: IconSize.Sm, className: twMerge('mr-2 animate-spin text-inherit', loadingIconProps?.className), ...loadingIconProps }),
28
- React.createElement(Text, { fontWeight: FontWeight.Medium, color: TextColor.Inherit, asChild: true, ...loadingTextProps },
40
+ React.createElement("span", { className: "absolute inline-flex items-center gap-x-1", "aria-hidden": "true" },
41
+ React.createElement(Icon, { name: IconName.Loading, size: iconSize, className: twMerge('animate-spin text-inherit', loadingIconProps?.className), ...loadingIconProps }),
42
+ React.createElement(Text, { variant: labelTextVariant, fontWeight: FontWeight.Medium, color: TextColor.Inherit, asChild: true, ...loadingTextProps },
29
43
  React.createElement("span", null, loadingText))),
30
- React.createElement("span", { className: "invisible inline-flex items-center" }, children),
44
+ React.createElement("span", { className: "invisible inline-flex items-center", "aria-hidden": "true" }, renderLabel()),
31
45
  React.createElement("span", { className: "sr-only", "aria-live": "polite", "aria-atomic": "true" }, loadingText || 'Loading')));
32
46
  const renderStartContent = () => {
33
- if (startIconName) {
34
- return (React.createElement(Icon, { name: startIconName, size: IconSize.Sm, className: twMerge('mr-2 shrink-0 text-inherit', startIconProps?.className), "aria-hidden": "true", ...startIconProps }));
47
+ if (finalStartIconName) {
48
+ return (React.createElement(Icon, { name: finalStartIconName, size: iconSize, className: twMerge('shrink-0 text-inherit', startIconProps?.className), "aria-hidden": "true", ...startIconProps }));
35
49
  }
36
50
  if (startAccessory) {
37
- return (React.createElement("span", { className: "mr-2", "aria-hidden": "true" }, startAccessory));
51
+ return React.createElement("span", { "aria-hidden": "true" }, startAccessory);
38
52
  }
39
53
  return null;
40
54
  };
41
55
  const renderEndContent = () => {
42
- if (endIconName) {
43
- return (React.createElement(Icon, { name: endIconName, size: IconSize.Sm, className: twMerge('ml-2 shrink-0 text-inherit', endIconProps?.className), "aria-hidden": "true", ...endIconProps }));
56
+ if (finalEndIconName) {
57
+ return (React.createElement(Icon, { name: finalEndIconName, size: iconSize, className: twMerge('shrink-0 text-inherit', endIconProps?.className), "aria-hidden": "true", ...endIconProps }));
44
58
  }
45
59
  if (endAccessory) {
46
- return (React.createElement("span", { className: "ml-2", "aria-hidden": "true" }, endAccessory));
60
+ return React.createElement("span", { "aria-hidden": "true" }, endAccessory);
47
61
  }
48
62
  return null;
49
63
  };
50
- const renderContent = () => {
51
- if (children && typeof children === 'string') {
52
- return (React.createElement(Text, { fontWeight: FontWeight.Medium, color: TextColor.Inherit, asChild: true, ...textProps },
53
- React.createElement("span", null, children)));
54
- }
55
- return children;
56
- };
64
+ const renderContent = () => renderLabel();
57
65
  const mergedClassName = twMerge(
58
66
  // Base styles
59
- 'inline-flex items-center justify-center', 'rounded-xl px-4', 'font-medium text-default', 'bg-muted', 'min-w-20 overflow-hidden',
67
+ 'inline-flex items-center justify-center', getButtonBaseBorderRadiusTwClass(size), getButtonBaseHorizontalPaddingTwClasses(size, hasStart, hasEnd), hasAccessories && 'gap-x-1', 'font-medium text-default', 'bg-muted', 'overflow-hidden',
60
68
  // Add relative positioning for loading state
61
69
  'relative',
62
70
  // Size
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonBase.mjs","sourceRoot":"","sources":["../../../src/components/ButtonBase/ButtonBase.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Slot, Slottable } from '@radix-ui/react-slot';\nimport React, { forwardRef } from 'react';\n\nimport { ButtonBaseSize } from '../../types';\nimport { twMerge } from '../../utils/tw-merge';\nimport { Icon, IconName, IconSize } from '../Icon';\nimport { Text, FontWeight, TextColor } from '../Text';\n\nimport { TWCLASSMAP_BUTTONBASE_SIZE_DIMENSION } from './ButtonBase.constants';\nimport type { ButtonBaseProps } from './ButtonBase.types';\n\nexport const ButtonBase = forwardRef<HTMLButtonElement, ButtonBaseProps>(\n (\n {\n children,\n className,\n size = ButtonBaseSize.Lg,\n isFullWidth,\n asChild,\n isDisabled,\n isLoading,\n loadingText,\n loadingIconProps,\n loadingTextProps,\n startIconName,\n startIconProps,\n startAccessory,\n endIconName,\n endIconProps,\n endAccessory,\n textProps,\n style,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n 'aria-describedby': ariaDescribedby,\n 'aria-pressed': ariaPressed,\n 'aria-expanded': ariaExpanded,\n 'aria-controls': ariaControls,\n 'aria-haspopup': ariaHaspopup,\n ...props\n },\n ref,\n ) => {\n const Component = asChild ? Slot : 'button';\n const isInteractive = !(isDisabled ?? isLoading);\n\n // Calculate tabIndex based on asChild and disabled state\n const getTabIndex = () => {\n if (asChild) {\n return undefined;\n }\n return isDisabled ? -1 : undefined;\n };\n\n const renderLoadingState = () => (\n <>\n <span className=\"absolute inline-flex items-center\" aria-hidden=\"true\">\n <Icon\n name={IconName.Loading}\n size={IconSize.Sm}\n className={twMerge(\n 'mr-2 animate-spin text-inherit',\n loadingIconProps?.className,\n )}\n {...loadingIconProps}\n />\n <Text\n fontWeight={FontWeight.Medium}\n color={TextColor.Inherit}\n asChild\n {...loadingTextProps}\n >\n <span>{loadingText}</span>\n </Text>\n </span>\n <span className=\"invisible inline-flex items-center\">{children}</span>\n {/* Screen reader announcement for loading */}\n <span className=\"sr-only\" aria-live=\"polite\" aria-atomic=\"true\">\n {loadingText || 'Loading'}\n </span>\n </>\n );\n\n const renderStartContent = () => {\n if (startIconName) {\n return (\n <Icon\n name={startIconName}\n size={IconSize.Sm}\n className={twMerge(\n 'mr-2 shrink-0 text-inherit',\n startIconProps?.className,\n )}\n aria-hidden=\"true\"\n {...startIconProps}\n />\n );\n }\n if (startAccessory) {\n return (\n <span className=\"mr-2\" aria-hidden=\"true\">\n {startAccessory}\n </span>\n );\n }\n return null;\n };\n\n const renderEndContent = () => {\n if (endIconName) {\n return (\n <Icon\n name={endIconName}\n size={IconSize.Sm}\n className={twMerge(\n 'ml-2 shrink-0 text-inherit',\n endIconProps?.className,\n )}\n aria-hidden=\"true\"\n {...endIconProps}\n />\n );\n }\n if (endAccessory) {\n return (\n <span className=\"ml-2\" aria-hidden=\"true\">\n {endAccessory}\n </span>\n );\n }\n return null;\n };\n\n const renderContent = () => {\n if (children && typeof children === 'string') {\n return (\n <Text\n fontWeight={FontWeight.Medium}\n color={TextColor.Inherit}\n asChild\n {...textProps}\n >\n <span>{children}</span>\n </Text>\n );\n }\n return children;\n };\n\n const mergedClassName = twMerge(\n // Base styles\n 'inline-flex items-center justify-center',\n 'rounded-xl px-4',\n 'font-medium text-default',\n 'bg-muted',\n 'min-w-20 overflow-hidden',\n // Add relative positioning for loading state\n 'relative',\n // Size\n TWCLASSMAP_BUTTONBASE_SIZE_DIMENSION[size],\n // Full width\n isFullWidth && 'w-full',\n // Animation classes - only applied when interactive\n isInteractive && [\n 'transition-all',\n 'duration-100',\n 'ease-linear',\n 'active:scale-[0.97]',\n 'active:ease-[cubic-bezier(0.3,0.8,0.3,1)]',\n ],\n // Disabled state - apply to both isDisabled and isLoading\n (isDisabled || isLoading) && 'cursor-not-allowed',\n isDisabled && 'opacity-50',\n // Custom classes\n className,\n );\n\n return (\n <Component\n ref={ref}\n className={mergedClassName}\n disabled={asChild ? undefined : (isDisabled ?? isLoading)}\n aria-disabled={isDisabled ? 'true' : undefined}\n aria-busy={isLoading ? 'true' : undefined}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-describedby={ariaDescribedby}\n aria-pressed={ariaPressed}\n aria-expanded={ariaExpanded}\n aria-controls={ariaControls}\n aria-haspopup={ariaHaspopup}\n role={asChild ? undefined : 'button'}\n tabIndex={getTabIndex()}\n style={style}\n {...props}\n >\n {renderStartContent()}\n <Slottable>\n {isLoading ? renderLoadingState() : renderContent()}\n </Slottable>\n {renderEndContent()}\n </Component>\n );\n },\n);\n\nButtonBase.displayName = 'ButtonBase';\n"]}
1
+ {"version":3,"file":"ButtonBase.mjs","sourceRoot":"","sources":["../../../src/components/ButtonBase/ButtonBase.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ButtonBaseSize, IconName } from '@metamask-previews/design-system-shared';\nimport { Slot, Slottable } from '@radix-ui/react-slot';\nimport React, { forwardRef } from 'react';\n\nimport { twMerge } from '../../utils/tw-merge';\nimport { Icon } from '../Icon';\nimport { Text, FontWeight, TextColor } from '../Text';\n\nimport {\n MAP_BUTTONBASE_SIZE_ICONSIZE,\n MAP_BUTTONBASE_SIZE_TEXT_VARIANT,\n getButtonBaseBorderRadiusTwClass,\n getButtonBaseHorizontalPaddingTwClasses,\n TWCLASSMAP_BUTTONBASE_SIZE_DIMENSION,\n} from './ButtonBase.constants';\nimport type { ButtonBaseProps } from './ButtonBase.types';\n\nexport const ButtonBase = forwardRef<HTMLButtonElement, ButtonBaseProps>(\n (\n {\n children,\n className,\n size = ButtonBaseSize.Lg,\n isFullWidth,\n asChild,\n isDisabled,\n isLoading,\n loadingText,\n loadingIconProps,\n loadingTextProps,\n startIconName,\n startIconProps,\n startAccessory,\n endIconName,\n endIconProps,\n endAccessory,\n textProps,\n style,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n 'aria-describedby': ariaDescribedby,\n 'aria-pressed': ariaPressed,\n 'aria-expanded': ariaExpanded,\n 'aria-controls': ariaControls,\n 'aria-haspopup': ariaHaspopup,\n ...props\n },\n ref,\n ) => {\n const Component = asChild ? Slot : 'button';\n const isInteractive = !(isDisabled ?? isLoading);\n\n const finalStartIconName = startIconName ?? startIconProps?.name;\n const finalEndIconName = endIconName ?? endIconProps?.name;\n const hasStart = Boolean(finalStartIconName || startAccessory);\n const hasEnd = Boolean(finalEndIconName || endAccessory);\n const hasAccessories = hasStart || hasEnd;\n const iconSize = MAP_BUTTONBASE_SIZE_ICONSIZE[size];\n const labelTextVariant = MAP_BUTTONBASE_SIZE_TEXT_VARIANT[size];\n\n // Calculate tabIndex based on asChild and disabled state\n const getTabIndex = () => {\n if (asChild) {\n return undefined;\n }\n return isDisabled ? -1 : undefined;\n };\n\n const renderLabel = () => {\n if (children && typeof children === 'string') {\n return (\n <Text\n variant={labelTextVariant}\n fontWeight={FontWeight.Medium}\n color={TextColor.Inherit}\n asChild\n {...textProps}\n >\n <span>{children}</span>\n </Text>\n );\n }\n return children;\n };\n\n const renderLoadingState = () => (\n <>\n <span\n className=\"absolute inline-flex items-center gap-x-1\"\n aria-hidden=\"true\"\n >\n <Icon\n name={IconName.Loading}\n size={iconSize}\n className={twMerge(\n 'animate-spin text-inherit',\n loadingIconProps?.className,\n )}\n {...loadingIconProps}\n />\n <Text\n variant={labelTextVariant}\n fontWeight={FontWeight.Medium}\n color={TextColor.Inherit}\n asChild\n {...loadingTextProps}\n >\n <span>{loadingText}</span>\n </Text>\n </span>\n <span className=\"invisible inline-flex items-center\" aria-hidden=\"true\">\n {renderLabel()}\n </span>\n {/* Screen reader announcement for loading */}\n <span className=\"sr-only\" aria-live=\"polite\" aria-atomic=\"true\">\n {loadingText || 'Loading'}\n </span>\n </>\n );\n\n const renderStartContent = () => {\n if (finalStartIconName) {\n return (\n <Icon\n name={finalStartIconName}\n size={iconSize}\n className={twMerge(\n 'shrink-0 text-inherit',\n startIconProps?.className,\n )}\n aria-hidden=\"true\"\n {...startIconProps}\n />\n );\n }\n if (startAccessory) {\n return <span aria-hidden=\"true\">{startAccessory}</span>;\n }\n return null;\n };\n\n const renderEndContent = () => {\n if (finalEndIconName) {\n return (\n <Icon\n name={finalEndIconName}\n size={iconSize}\n className={twMerge(\n 'shrink-0 text-inherit',\n endIconProps?.className,\n )}\n aria-hidden=\"true\"\n {...endIconProps}\n />\n );\n }\n if (endAccessory) {\n return <span aria-hidden=\"true\">{endAccessory}</span>;\n }\n return null;\n };\n\n const renderContent = () => renderLabel();\n\n const mergedClassName = twMerge(\n // Base styles\n 'inline-flex items-center justify-center',\n getButtonBaseBorderRadiusTwClass(size),\n getButtonBaseHorizontalPaddingTwClasses(size, hasStart, hasEnd),\n hasAccessories && 'gap-x-1',\n 'font-medium text-default',\n 'bg-muted',\n 'overflow-hidden',\n // Add relative positioning for loading state\n 'relative',\n // Size\n TWCLASSMAP_BUTTONBASE_SIZE_DIMENSION[size],\n // Full width\n isFullWidth && 'w-full',\n // Animation classes - only applied when interactive\n isInteractive && [\n 'transition-all',\n 'duration-100',\n 'ease-linear',\n 'active:scale-[0.97]',\n 'active:ease-[cubic-bezier(0.3,0.8,0.3,1)]',\n ],\n // Disabled state - apply to both isDisabled and isLoading\n (isDisabled || isLoading) && 'cursor-not-allowed',\n isDisabled && 'opacity-50',\n // Custom classes\n className,\n );\n\n return (\n <Component\n ref={ref}\n className={mergedClassName}\n disabled={asChild ? undefined : (isDisabled ?? isLoading)}\n aria-disabled={isDisabled ? 'true' : undefined}\n aria-busy={isLoading ? 'true' : undefined}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-describedby={ariaDescribedby}\n aria-pressed={ariaPressed}\n aria-expanded={ariaExpanded}\n aria-controls={ariaControls}\n aria-haspopup={ariaHaspopup}\n role={asChild ? undefined : 'button'}\n tabIndex={getTabIndex()}\n style={style}\n {...props}\n >\n {renderStartContent()}\n <Slottable>\n {isLoading ? renderLoadingState() : renderContent()}\n </Slottable>\n {renderEndContent()}\n </Component>\n );\n },\n);\n\nButtonBase.displayName = 'ButtonBase';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonBase.types.cjs","sourceRoot":"","sources":["../../../src/components/ButtonBase/ButtonBase.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ComponentProps } from 'react';\n\nimport type { ButtonBaseSize } from '../../types';\nimport type { IconName, IconProps } from '../Icon';\nimport type { TextProps } from '../Text';\n\nexport type ButtonBaseProps = ComponentProps<'button'> & {\n /**\n * Required prop for the content to be rendered within the ButtonBase\n */\n children: React.ReactNode;\n /**\n * Optional prop for additional CSS classes to be applied to the ButtonBase component.\n * These classes will be merged with the component's default classes using twMerge.\n */\n className?: string;\n /**\n * Optional prop to control the size of the ButtonBase\n *\n * @default ButtonBaseSize.Lg\n */\n size?: ButtonBaseSize;\n /**\n * Optional props to be passed to the Text component when children is a string\n */\n textProps?: Partial<TextProps>;\n /**\n * Optional prop that when true, makes the button take up the full width of its container\n *\n * @default false\n */\n isFullWidth?: boolean;\n /**\n * Optional boolean that determines if the component should merge its props onto its immediate child\n * instead of rendering a button element\n *\n * @default false\n */\n asChild?: boolean;\n /**\n * Optional prop that when true, shows a loading spinner\n *\n * @default false\n */\n isLoading?: boolean;\n /**\n * Optional prop for text to display when button is in loading state\n */\n loadingText?: string;\n /**\n * Optional props to be passed to the loading Text component\n */\n loadingTextProps?: Partial<TextProps>;\n /**\n * Optional prop to specify an icon to show at the start of the button\n */\n startIconName?: IconName;\n /**\n * Optional prop to pass additional properties to the start icon\n */\n startIconProps?: Partial<IconProps>;\n /**\n * Optional prop for a custom element to show at the start of the button\n */\n startAccessory?: React.ReactNode;\n /**\n * Optional prop to specify an icon to show at the end of the button\n */\n endIconName?: IconName;\n /**\n * Optional prop to pass additional properties to the end icon\n */\n endIconProps?: Partial<IconProps>;\n /**\n * Optional prop for a custom element to show at the end of the button\n */\n endAccessory?: React.ReactNode;\n /**\n * Optional prop that when true, disables the button\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Optional prop to pass additional properties to the loading icon\n */\n loadingIconProps?: Partial<IconProps>;\n /**\n * Optional CSS styles to be applied to the component.\n * Should be used sparingly and only for dynamic styles that can't be achieved with className.\n */\n style?: React.CSSProperties;\n\n // Accessibility props\n /**\n * Optional accessible label for the button. Use when the button text doesn't fully describe its purpose.\n * This will be used as the aria-label attribute.\n */\n 'aria-label'?: string;\n /**\n * Optional ID of an element that labels the button.\n * This will be used as the aria-labelledby attribute.\n */\n 'aria-labelledby'?: string;\n /**\n * Optional ID of an element that describes the button.\n * This will be used as the aria-describedby attribute.\n */\n 'aria-describedby'?: string;\n /**\n * Optional prop to indicate if the button is pressed (for toggle buttons).\n * This will be used as the aria-pressed attribute.\n */\n 'aria-pressed'?: boolean | 'mixed';\n /**\n * Optional prop to indicate if the button controls a collapsible element.\n * This will be used as the aria-expanded attribute.\n */\n 'aria-expanded'?: boolean;\n /**\n * Optional prop to indicate if the button controls another element.\n * This will be used as the aria-controls attribute.\n */\n 'aria-controls'?: string;\n /**\n * Optional prop to indicate if the button has a popup (menu, listbox, tree, grid, or dialog).\n * This will be used as the aria-haspopup attribute.\n */\n 'aria-haspopup'?:\n | boolean\n | 'false'\n | 'true'\n | 'menu'\n | 'listbox'\n | 'tree'\n | 'grid'\n | 'dialog';\n};\n"]}
1
+ {"version":3,"file":"ButtonBase.types.cjs","sourceRoot":"","sources":["../../../src/components/ButtonBase/ButtonBase.types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n ButtonBasePropsShared,\n IconName,\n} from '@metamask-previews/design-system-shared';\nimport type { ComponentProps } from 'react';\n\nimport type { IconProps } from '../Icon';\nimport type { TextProps } from '../Text';\n\nexport type ButtonBaseProps = ComponentProps<'button'> &\n ButtonBasePropsShared & {\n /**\n * Optional prop for additional CSS classes to be applied to the ButtonBase component.\n * These classes will be merged with the component's default classes using twMerge.\n */\n className?: string;\n /**\n * Optional props to be passed to the Text component when children is a string\n */\n textProps?: Partial<TextProps>;\n /**\n * Optional boolean that determines if the component should merge its props onto its immediate child\n * instead of rendering a button element\n *\n * @default false\n */\n asChild?: boolean;\n /**\n * Optional props to be passed to the loading Text component\n */\n loadingTextProps?: Partial<TextProps>;\n /**\n * Optional prop to specify an icon to show at the start of the button\n */\n startIconName?: IconName;\n /**\n * Optional prop to pass additional properties to the start icon\n */\n startIconProps?: Partial<IconProps>;\n /**\n * Optional prop for a custom element to show at the start of the button\n */\n startAccessory?: React.ReactNode;\n /**\n * Optional prop to specify an icon to show at the end of the button\n */\n endIconName?: IconName;\n /**\n * Optional prop to pass additional properties to the end icon\n */\n endIconProps?: Partial<IconProps>;\n /**\n * Optional prop for a custom element to show at the end of the button\n */\n endAccessory?: React.ReactNode;\n /**\n * Optional prop to pass additional properties to the loading icon\n */\n loadingIconProps?: Partial<IconProps>;\n /**\n * Optional CSS styles to be applied to the component.\n * Should be used sparingly and only for dynamic styles that can't be achieved with className.\n */\n style?: React.CSSProperties;\n\n // Accessibility props\n /**\n * Optional accessible label for the button. Use when the button text doesn't fully describe its purpose.\n * This will be used as the aria-label attribute.\n */\n 'aria-label'?: string;\n /**\n * Optional ID of an element that labels the button.\n * This will be used as the aria-labelledby attribute.\n */\n 'aria-labelledby'?: string;\n /**\n * Optional ID of an element that describes the button.\n * This will be used as the aria-describedby attribute.\n */\n 'aria-describedby'?: string;\n /**\n * Optional prop to indicate if the button is pressed (for toggle buttons).\n * This will be used as the aria-pressed attribute.\n */\n 'aria-pressed'?: boolean | 'mixed';\n /**\n * Optional prop to indicate if the button controls a collapsible element.\n * This will be used as the aria-expanded attribute.\n */\n 'aria-expanded'?: boolean;\n /**\n * Optional prop to indicate if the button controls another element.\n * This will be used as the aria-controls attribute.\n */\n 'aria-controls'?: string;\n /**\n * Optional prop to indicate if the button has a popup (menu, listbox, tree, grid, or dialog).\n * This will be used as the aria-haspopup attribute.\n */\n 'aria-haspopup'?:\n | boolean\n | 'false'\n | 'true'\n | 'menu'\n | 'listbox'\n | 'tree'\n | 'grid'\n | 'dialog';\n };\n"]}
@@ -1,33 +1,17 @@
1
+ import type { ButtonBasePropsShared, IconName } from "@metamask-previews/design-system-shared";
1
2
  import type { ComponentProps } from "react";
2
- import type { ButtonBaseSize } from "../../types/index.cjs";
3
- import type { IconName, IconProps } from "../Icon/index.cjs";
3
+ import type { IconProps } from "../Icon/index.cjs";
4
4
  import type { TextProps } from "../Text/index.cjs";
5
- export type ButtonBaseProps = ComponentProps<'button'> & {
6
- /**
7
- * Required prop for the content to be rendered within the ButtonBase
8
- */
9
- children: React.ReactNode;
5
+ export type ButtonBaseProps = ComponentProps<'button'> & ButtonBasePropsShared & {
10
6
  /**
11
7
  * Optional prop for additional CSS classes to be applied to the ButtonBase component.
12
8
  * These classes will be merged with the component's default classes using twMerge.
13
9
  */
14
10
  className?: string;
15
- /**
16
- * Optional prop to control the size of the ButtonBase
17
- *
18
- * @default ButtonBaseSize.Lg
19
- */
20
- size?: ButtonBaseSize;
21
11
  /**
22
12
  * Optional props to be passed to the Text component when children is a string
23
13
  */
24
14
  textProps?: Partial<TextProps>;
25
- /**
26
- * Optional prop that when true, makes the button take up the full width of its container
27
- *
28
- * @default false
29
- */
30
- isFullWidth?: boolean;
31
15
  /**
32
16
  * Optional boolean that determines if the component should merge its props onto its immediate child
33
17
  * instead of rendering a button element
@@ -35,16 +19,6 @@ export type ButtonBaseProps = ComponentProps<'button'> & {
35
19
  * @default false
36
20
  */
37
21
  asChild?: boolean;
38
- /**
39
- * Optional prop that when true, shows a loading spinner
40
- *
41
- * @default false
42
- */
43
- isLoading?: boolean;
44
- /**
45
- * Optional prop for text to display when button is in loading state
46
- */
47
- loadingText?: string;
48
22
  /**
49
23
  * Optional props to be passed to the loading Text component
50
24
  */
@@ -73,12 +47,6 @@ export type ButtonBaseProps = ComponentProps<'button'> & {
73
47
  * Optional prop for a custom element to show at the end of the button
74
48
  */
75
49
  endAccessory?: React.ReactNode;
76
- /**
77
- * Optional prop that when true, disables the button
78
- *
79
- * @default false
80
- */
81
- isDisabled?: boolean;
82
50
  /**
83
51
  * Optional prop to pass additional properties to the loading icon
84
52
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonBase.types.d.cts","sourceRoot":"","sources":["../../../src/components/ButtonBase/ButtonBase.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc;AAE5C,OAAO,KAAK,EAAE,cAAc,EAAE,8BAAoB;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,0BAAgB;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,0BAAgB;AAEzC,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG;IACvD;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC;;OAEG;IACH,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC;;OAEG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAG5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACnC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EACZ,OAAO,GACP,OAAO,GACP,MAAM,GACN,MAAM,GACN,SAAS,GACT,MAAM,GACN,MAAM,GACN,QAAQ,CAAC;CACd,CAAC"}
1
+ {"version":3,"file":"ButtonBase.types.d.cts","sourceRoot":"","sources":["../../../src/components/ButtonBase/ButtonBase.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,QAAQ,EACT,gDAAgD;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,0BAAgB;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,0BAAgB;AAEzC,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC,GACpD,qBAAqB,GAAG;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC;;OAEG;IACH,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC;;OAEG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAG5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACnC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EACZ,OAAO,GACP,OAAO,GACP,MAAM,GACN,MAAM,GACN,SAAS,GACT,MAAM,GACN,MAAM,GACN,QAAQ,CAAC;CACd,CAAC"}
@@ -1,33 +1,17 @@
1
+ import type { ButtonBasePropsShared, IconName } from "@metamask-previews/design-system-shared";
1
2
  import type { ComponentProps } from "react";
2
- import type { ButtonBaseSize } from "../../types/index.mjs";
3
- import type { IconName, IconProps } from "../Icon/index.mjs";
3
+ import type { IconProps } from "../Icon/index.mjs";
4
4
  import type { TextProps } from "../Text/index.mjs";
5
- export type ButtonBaseProps = ComponentProps<'button'> & {
6
- /**
7
- * Required prop for the content to be rendered within the ButtonBase
8
- */
9
- children: React.ReactNode;
5
+ export type ButtonBaseProps = ComponentProps<'button'> & ButtonBasePropsShared & {
10
6
  /**
11
7
  * Optional prop for additional CSS classes to be applied to the ButtonBase component.
12
8
  * These classes will be merged with the component's default classes using twMerge.
13
9
  */
14
10
  className?: string;
15
- /**
16
- * Optional prop to control the size of the ButtonBase
17
- *
18
- * @default ButtonBaseSize.Lg
19
- */
20
- size?: ButtonBaseSize;
21
11
  /**
22
12
  * Optional props to be passed to the Text component when children is a string
23
13
  */
24
14
  textProps?: Partial<TextProps>;
25
- /**
26
- * Optional prop that when true, makes the button take up the full width of its container
27
- *
28
- * @default false
29
- */
30
- isFullWidth?: boolean;
31
15
  /**
32
16
  * Optional boolean that determines if the component should merge its props onto its immediate child
33
17
  * instead of rendering a button element
@@ -35,16 +19,6 @@ export type ButtonBaseProps = ComponentProps<'button'> & {
35
19
  * @default false
36
20
  */
37
21
  asChild?: boolean;
38
- /**
39
- * Optional prop that when true, shows a loading spinner
40
- *
41
- * @default false
42
- */
43
- isLoading?: boolean;
44
- /**
45
- * Optional prop for text to display when button is in loading state
46
- */
47
- loadingText?: string;
48
22
  /**
49
23
  * Optional props to be passed to the loading Text component
50
24
  */
@@ -73,12 +47,6 @@ export type ButtonBaseProps = ComponentProps<'button'> & {
73
47
  * Optional prop for a custom element to show at the end of the button
74
48
  */
75
49
  endAccessory?: React.ReactNode;
76
- /**
77
- * Optional prop that when true, disables the button
78
- *
79
- * @default false
80
- */
81
- isDisabled?: boolean;
82
50
  /**
83
51
  * Optional prop to pass additional properties to the loading icon
84
52
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonBase.types.d.mts","sourceRoot":"","sources":["../../../src/components/ButtonBase/ButtonBase.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc;AAE5C,OAAO,KAAK,EAAE,cAAc,EAAE,8BAAoB;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,0BAAgB;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,0BAAgB;AAEzC,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG;IACvD;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC;;OAEG;IACH,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC;;OAEG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAG5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACnC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EACZ,OAAO,GACP,OAAO,GACP,MAAM,GACN,MAAM,GACN,SAAS,GACT,MAAM,GACN,MAAM,GACN,QAAQ,CAAC;CACd,CAAC"}
1
+ {"version":3,"file":"ButtonBase.types.d.mts","sourceRoot":"","sources":["../../../src/components/ButtonBase/ButtonBase.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,QAAQ,EACT,gDAAgD;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,0BAAgB;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,0BAAgB;AAEzC,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC,GACpD,qBAAqB,GAAG;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC;;OAEG;IACH,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC;;OAEG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAG5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACnC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EACZ,OAAO,GACP,OAAO,GACP,MAAM,GACN,MAAM,GACN,SAAS,GACT,MAAM,GACN,MAAM,GACN,QAAQ,CAAC;CACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonBase.types.mjs","sourceRoot":"","sources":["../../../src/components/ButtonBase/ButtonBase.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ComponentProps } from 'react';\n\nimport type { ButtonBaseSize } from '../../types';\nimport type { IconName, IconProps } from '../Icon';\nimport type { TextProps } from '../Text';\n\nexport type ButtonBaseProps = ComponentProps<'button'> & {\n /**\n * Required prop for the content to be rendered within the ButtonBase\n */\n children: React.ReactNode;\n /**\n * Optional prop for additional CSS classes to be applied to the ButtonBase component.\n * These classes will be merged with the component's default classes using twMerge.\n */\n className?: string;\n /**\n * Optional prop to control the size of the ButtonBase\n *\n * @default ButtonBaseSize.Lg\n */\n size?: ButtonBaseSize;\n /**\n * Optional props to be passed to the Text component when children is a string\n */\n textProps?: Partial<TextProps>;\n /**\n * Optional prop that when true, makes the button take up the full width of its container\n *\n * @default false\n */\n isFullWidth?: boolean;\n /**\n * Optional boolean that determines if the component should merge its props onto its immediate child\n * instead of rendering a button element\n *\n * @default false\n */\n asChild?: boolean;\n /**\n * Optional prop that when true, shows a loading spinner\n *\n * @default false\n */\n isLoading?: boolean;\n /**\n * Optional prop for text to display when button is in loading state\n */\n loadingText?: string;\n /**\n * Optional props to be passed to the loading Text component\n */\n loadingTextProps?: Partial<TextProps>;\n /**\n * Optional prop to specify an icon to show at the start of the button\n */\n startIconName?: IconName;\n /**\n * Optional prop to pass additional properties to the start icon\n */\n startIconProps?: Partial<IconProps>;\n /**\n * Optional prop for a custom element to show at the start of the button\n */\n startAccessory?: React.ReactNode;\n /**\n * Optional prop to specify an icon to show at the end of the button\n */\n endIconName?: IconName;\n /**\n * Optional prop to pass additional properties to the end icon\n */\n endIconProps?: Partial<IconProps>;\n /**\n * Optional prop for a custom element to show at the end of the button\n */\n endAccessory?: React.ReactNode;\n /**\n * Optional prop that when true, disables the button\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Optional prop to pass additional properties to the loading icon\n */\n loadingIconProps?: Partial<IconProps>;\n /**\n * Optional CSS styles to be applied to the component.\n * Should be used sparingly and only for dynamic styles that can't be achieved with className.\n */\n style?: React.CSSProperties;\n\n // Accessibility props\n /**\n * Optional accessible label for the button. Use when the button text doesn't fully describe its purpose.\n * This will be used as the aria-label attribute.\n */\n 'aria-label'?: string;\n /**\n * Optional ID of an element that labels the button.\n * This will be used as the aria-labelledby attribute.\n */\n 'aria-labelledby'?: string;\n /**\n * Optional ID of an element that describes the button.\n * This will be used as the aria-describedby attribute.\n */\n 'aria-describedby'?: string;\n /**\n * Optional prop to indicate if the button is pressed (for toggle buttons).\n * This will be used as the aria-pressed attribute.\n */\n 'aria-pressed'?: boolean | 'mixed';\n /**\n * Optional prop to indicate if the button controls a collapsible element.\n * This will be used as the aria-expanded attribute.\n */\n 'aria-expanded'?: boolean;\n /**\n * Optional prop to indicate if the button controls another element.\n * This will be used as the aria-controls attribute.\n */\n 'aria-controls'?: string;\n /**\n * Optional prop to indicate if the button has a popup (menu, listbox, tree, grid, or dialog).\n * This will be used as the aria-haspopup attribute.\n */\n 'aria-haspopup'?:\n | boolean\n | 'false'\n | 'true'\n | 'menu'\n | 'listbox'\n | 'tree'\n | 'grid'\n | 'dialog';\n};\n"]}
1
+ {"version":3,"file":"ButtonBase.types.mjs","sourceRoot":"","sources":["../../../src/components/ButtonBase/ButtonBase.types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n ButtonBasePropsShared,\n IconName,\n} from '@metamask-previews/design-system-shared';\nimport type { ComponentProps } from 'react';\n\nimport type { IconProps } from '../Icon';\nimport type { TextProps } from '../Text';\n\nexport type ButtonBaseProps = ComponentProps<'button'> &\n ButtonBasePropsShared & {\n /**\n * Optional prop for additional CSS classes to be applied to the ButtonBase component.\n * These classes will be merged with the component's default classes using twMerge.\n */\n className?: string;\n /**\n * Optional props to be passed to the Text component when children is a string\n */\n textProps?: Partial<TextProps>;\n /**\n * Optional boolean that determines if the component should merge its props onto its immediate child\n * instead of rendering a button element\n *\n * @default false\n */\n asChild?: boolean;\n /**\n * Optional props to be passed to the loading Text component\n */\n loadingTextProps?: Partial<TextProps>;\n /**\n * Optional prop to specify an icon to show at the start of the button\n */\n startIconName?: IconName;\n /**\n * Optional prop to pass additional properties to the start icon\n */\n startIconProps?: Partial<IconProps>;\n /**\n * Optional prop for a custom element to show at the start of the button\n */\n startAccessory?: React.ReactNode;\n /**\n * Optional prop to specify an icon to show at the end of the button\n */\n endIconName?: IconName;\n /**\n * Optional prop to pass additional properties to the end icon\n */\n endIconProps?: Partial<IconProps>;\n /**\n * Optional prop for a custom element to show at the end of the button\n */\n endAccessory?: React.ReactNode;\n /**\n * Optional prop to pass additional properties to the loading icon\n */\n loadingIconProps?: Partial<IconProps>;\n /**\n * Optional CSS styles to be applied to the component.\n * Should be used sparingly and only for dynamic styles that can't be achieved with className.\n */\n style?: React.CSSProperties;\n\n // Accessibility props\n /**\n * Optional accessible label for the button. Use when the button text doesn't fully describe its purpose.\n * This will be used as the aria-label attribute.\n */\n 'aria-label'?: string;\n /**\n * Optional ID of an element that labels the button.\n * This will be used as the aria-labelledby attribute.\n */\n 'aria-labelledby'?: string;\n /**\n * Optional ID of an element that describes the button.\n * This will be used as the aria-describedby attribute.\n */\n 'aria-describedby'?: string;\n /**\n * Optional prop to indicate if the button is pressed (for toggle buttons).\n * This will be used as the aria-pressed attribute.\n */\n 'aria-pressed'?: boolean | 'mixed';\n /**\n * Optional prop to indicate if the button controls a collapsible element.\n * This will be used as the aria-expanded attribute.\n */\n 'aria-expanded'?: boolean;\n /**\n * Optional prop to indicate if the button controls another element.\n * This will be used as the aria-controls attribute.\n */\n 'aria-controls'?: string;\n /**\n * Optional prop to indicate if the button has a popup (menu, listbox, tree, grid, or dialog).\n * This will be used as the aria-haspopup attribute.\n */\n 'aria-haspopup'?:\n | boolean\n | 'false'\n | 'true'\n | 'menu'\n | 'listbox'\n | 'tree'\n | 'grid'\n | 'dialog';\n };\n"]}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ButtonBase = exports.ButtonBaseSize = void 0;
4
- var types_1 = require("../../types/index.cjs");
5
- Object.defineProperty(exports, "ButtonBaseSize", { enumerable: true, get: function () { return types_1.ButtonBaseSize; } });
4
+ var design_system_shared_1 = require("@metamask-previews/design-system-shared");
5
+ Object.defineProperty(exports, "ButtonBaseSize", { enumerable: true, get: function () { return design_system_shared_1.ButtonBaseSize; } });
6
6
  var ButtonBase_1 = require("./ButtonBase.cjs");
7
7
  Object.defineProperty(exports, "ButtonBase", { enumerable: true, get: function () { return ButtonBase_1.ButtonBase; } });
8
8
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../src/components/ButtonBase/index.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAApC,uGAAA,cAAc,OAAA;AACvB,+CAA0C;AAAjC,wGAAA,UAAU,OAAA","sourcesContent":["export { ButtonBaseSize } from '../../types';\nexport { ButtonBase } from './ButtonBase';\nexport type { ButtonBaseProps } from './ButtonBase.types';\n"]}
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../src/components/ButtonBase/index.ts"],"names":[],"mappings":";;;AAAA,gFAAyE;AAAhE,sHAAA,cAAc,OAAA;AACvB,+CAA0C;AAAjC,wGAAA,UAAU,OAAA","sourcesContent":["export { ButtonBaseSize } from '@metamask-previews/design-system-shared';\nexport { ButtonBase } from './ButtonBase';\nexport type { ButtonBaseProps } from './ButtonBase.types';\n"]}
@@ -1,4 +1,4 @@
1
- export { ButtonBaseSize } from "../../types/index.cjs";
1
+ export { ButtonBaseSize } from "@metamask-previews/design-system-shared";
2
2
  export { ButtonBase } from "./ButtonBase.cjs";
3
3
  export type { ButtonBaseProps } from "./ButtonBase.types.cjs";
4
4
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/components/ButtonBase/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,8BAAoB;AAC7C,OAAO,EAAE,UAAU,EAAE,yBAAqB;AAC1C,YAAY,EAAE,eAAe,EAAE,+BAA2B"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/components/ButtonBase/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gDAAgD;AACzE,OAAO,EAAE,UAAU,EAAE,yBAAqB;AAC1C,YAAY,EAAE,eAAe,EAAE,+BAA2B"}
@@ -1,4 +1,4 @@
1
- export { ButtonBaseSize } from "../../types/index.mjs";
1
+ export { ButtonBaseSize } from "@metamask-previews/design-system-shared";
2
2
  export { ButtonBase } from "./ButtonBase.mjs";
3
3
  export type { ButtonBaseProps } from "./ButtonBase.types.mjs";
4
4
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/components/ButtonBase/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,8BAAoB;AAC7C,OAAO,EAAE,UAAU,EAAE,yBAAqB;AAC1C,YAAY,EAAE,eAAe,EAAE,+BAA2B"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/components/ButtonBase/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gDAAgD;AACzE,OAAO,EAAE,UAAU,EAAE,yBAAqB;AAC1C,YAAY,EAAE,eAAe,EAAE,+BAA2B"}
@@ -1,3 +1,3 @@
1
- export { ButtonBaseSize } from "../../types/index.mjs";
1
+ export { ButtonBaseSize } from "@metamask-previews/design-system-shared";
2
2
  export { ButtonBase } from "./ButtonBase.mjs";
3
3
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/components/ButtonBase/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,8BAAoB;AAC7C,OAAO,EAAE,UAAU,EAAE,yBAAqB","sourcesContent":["export { ButtonBaseSize } from '../../types';\nexport { ButtonBase } from './ButtonBase';\nexport type { ButtonBaseProps } from './ButtonBase.types';\n"]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/components/ButtonBase/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gDAAgD;AACzE,OAAO,EAAE,UAAU,EAAE,yBAAqB","sourcesContent":["export { ButtonBaseSize } from '@metamask-previews/design-system-shared';\nexport { ButtonBase } from './ButtonBase';\nexport type { ButtonBaseProps } from './ButtonBase.types';\n"]}
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ButtonHeroSize = exports.ButtonHero = void 0;
4
4
  var ButtonHero_1 = require("./ButtonHero.cjs");
5
5
  Object.defineProperty(exports, "ButtonHero", { enumerable: true, get: function () { return ButtonHero_1.ButtonHero; } });
6
- var types_1 = require("../../types/index.cjs");
7
- Object.defineProperty(exports, "ButtonHeroSize", { enumerable: true, get: function () { return types_1.ButtonHeroSize; } });
6
+ var design_system_shared_1 = require("@metamask-previews/design-system-shared");
7
+ Object.defineProperty(exports, "ButtonHeroSize", { enumerable: true, get: function () { return design_system_shared_1.ButtonHeroSize; } });
8
8
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../src/components/ButtonHero/index.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAEnB,+CAA6C;AAApC,uGAAA,cAAc,OAAA","sourcesContent":["export { ButtonHero } from './ButtonHero';\nexport type { ButtonHeroProps } from './ButtonHero.types';\nexport { ButtonHeroSize } from '../../types';\n"]}
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../src/components/ButtonHero/index.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAEnB,gFAAyE;AAAhE,sHAAA,cAAc,OAAA","sourcesContent":["export { ButtonHero } from './ButtonHero';\nexport type { ButtonHeroProps } from './ButtonHero.types';\nexport { ButtonHeroSize } from '@metamask-previews/design-system-shared';\n"]}
@@ -1,4 +1,4 @@
1
1
  export { ButtonHero } from "./ButtonHero.cjs";
2
2
  export type { ButtonHeroProps } from "./ButtonHero.types.cjs";
3
- export { ButtonHeroSize } from "../../types/index.cjs";
3
+ export { ButtonHeroSize } from "@metamask-previews/design-system-shared";
4
4
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/components/ButtonHero/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,yBAAqB;AAC1C,YAAY,EAAE,eAAe,EAAE,+BAA2B;AAC1D,OAAO,EAAE,cAAc,EAAE,8BAAoB"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/components/ButtonHero/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,yBAAqB;AAC1C,YAAY,EAAE,eAAe,EAAE,+BAA2B;AAC1D,OAAO,EAAE,cAAc,EAAE,gDAAgD"}
@@ -1,4 +1,4 @@
1
1
  export { ButtonHero } from "./ButtonHero.mjs";
2
2
  export type { ButtonHeroProps } from "./ButtonHero.types.mjs";
3
- export { ButtonHeroSize } from "../../types/index.mjs";
3
+ export { ButtonHeroSize } from "@metamask-previews/design-system-shared";
4
4
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/components/ButtonHero/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,yBAAqB;AAC1C,YAAY,EAAE,eAAe,EAAE,+BAA2B;AAC1D,OAAO,EAAE,cAAc,EAAE,8BAAoB"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/components/ButtonHero/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,yBAAqB;AAC1C,YAAY,EAAE,eAAe,EAAE,+BAA2B;AAC1D,OAAO,EAAE,cAAc,EAAE,gDAAgD"}
@@ -1,3 +1,3 @@
1
1
  export { ButtonHero } from "./ButtonHero.mjs";
2
- export { ButtonHeroSize } from "../../types/index.mjs";
2
+ export { ButtonHeroSize } from "@metamask-previews/design-system-shared";
3
3
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/components/ButtonHero/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,yBAAqB;AAE1C,OAAO,EAAE,cAAc,EAAE,8BAAoB","sourcesContent":["export { ButtonHero } from './ButtonHero';\nexport type { ButtonHeroProps } from './ButtonHero.types';\nexport { ButtonHeroSize } from '../../types';\n"]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/components/ButtonHero/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,yBAAqB;AAE1C,OAAO,EAAE,cAAc,EAAE,gDAAgD","sourcesContent":["export { ButtonHero } from './ButtonHero';\nexport type { ButtonHeroProps } from './ButtonHero.types';\nexport { ButtonHeroSize } from '@metamask-previews/design-system-shared';\n"]}
@@ -24,12 +24,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.ButtonIcon = void 0;
27
+ const design_system_shared_1 = require("@metamask-previews/design-system-shared");
27
28
  const react_1 = __importStar(require("react"));
28
- const types_1 = require("../../types/index.cjs");
29
29
  const tw_merge_1 = require("../../utils/tw-merge.cjs");
30
30
  const Icon_1 = require("../Icon/index.cjs");
31
31
  const ButtonIcon_constants_1 = require("./ButtonIcon.constants.cjs");
32
- exports.ButtonIcon = (0, react_1.forwardRef)(({ className, iconName, iconProps, ariaLabel, isDisabled = false, variant = types_1.ButtonIconVariant.Default, size = types_1.ButtonIconSize.Md, style, ...props }, ref) => {
32
+ exports.ButtonIcon = (0, react_1.forwardRef)(({ className, iconName, iconProps, ariaLabel, isDisabled = false, variant = design_system_shared_1.ButtonIconVariant.Default, size = design_system_shared_1.ButtonIconSize.Md, style, ...props }, ref) => {
33
33
  const isInteractive = !isDisabled;
34
34
  const mergedClassName = (0, tw_merge_1.twMerge)(
35
35
  // Base styles
@@ -37,14 +37,14 @@ exports.ButtonIcon = (0, react_1.forwardRef)(({ className, iconName, iconProps,
37
37
  // Size styles
38
38
  ButtonIcon_constants_1.TWCLASSMAP_BUTTONICON_SIZE_DIMENSION[size],
39
39
  // Variant styles
40
- variant === types_1.ButtonIconVariant.Default && [
40
+ variant === design_system_shared_1.ButtonIconVariant.Default && [
41
41
  'rounded-lg bg-transparent',
42
42
  isInteractive && 'hover:bg-hover active:bg-pressed',
43
43
  'text-icon-default',
44
- ], variant === types_1.ButtonIconVariant.Floating && [
44
+ ], variant === design_system_shared_1.ButtonIconVariant.Floating && [
45
45
  'rounded-full',
46
46
  'bg-icon-default text-background-default',
47
- ], variant === types_1.ButtonIconVariant.Filled && [
47
+ ], variant === design_system_shared_1.ButtonIconVariant.Filled && [
48
48
  'rounded-full',
49
49
  'bg-muted text-icon-default',
50
50
  isInteractive && 'hover:bg-muted-hover active:bg-muted-pressed',
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonIcon.cjs","sourceRoot":"","sources":["../../../src/components/ButtonIcon/ButtonIcon.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAE1C,iDAAgE;AAChE,uDAA+C;AAC/C,4CAA+B;AAE/B,qEAGgC;AAGnB,QAAA,UAAU,GAAG,IAAA,kBAAU,EAClC,CACE,EACE,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,GAAG,KAAK,EAClB,OAAO,GAAG,yBAAiB,CAAC,OAAO,EACnC,IAAI,GAAG,sBAAc,CAAC,EAAE,EACxB,KAAK,EACL,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,aAAa,GAAG,CAAC,UAAU,CAAC;IAElC,MAAM,eAAe,GAAG,IAAA,kBAAO;IAC7B,cAAc;IACd,6CAA6C;IAC7C,cAAc;IACd,2DAAoC,CAAC,IAAI,CAAC;IAC1C,iBAAiB;IACjB,OAAO,KAAK,yBAAiB,CAAC,OAAO,IAAI;QACvC,2BAA2B;QAC3B,aAAa,IAAI,kCAAkC;QACnD,mBAAmB;KACpB,EACD,OAAO,KAAK,yBAAiB,CAAC,QAAQ,IAAI;QACxC,cAAc;QACd,yCAAyC;KAC1C,EACD,OAAO,KAAK,yBAAiB,CAAC,MAAM,IAAI;QACtC,cAAc;QACd,4BAA4B;QAC5B,aAAa,IAAI,8CAA8C;KAChE;IACD,iBAAiB;IACjB,UAAU,IAAI,+BAA+B,EAC7C,SAAS,CACV,CAAC;IAEF,OAAO,CACL,0CACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,UAAU,gBACR,SAAS,EACrB,KAAK,EAAE,KAAK,KACR,KAAK;QAET,8BAAC,WAAI,IACH,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,mDAA4B,CAAC,IAAI,CAAC,EACxC,SAAS,EAAE,IAAA,kBAAO,EAAC,cAAc,EAAE,SAAS,EAAE,SAAS,CAAC,KACpD,SAAS,GACb,CACK,CACV,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,kBAAU,CAAC,WAAW,GAAG,YAAY,CAAC","sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { ButtonIconSize, ButtonIconVariant } from '../../types';\nimport { twMerge } from '../../utils/tw-merge';\nimport { Icon } from '../Icon';\n\nimport {\n TWCLASSMAP_BUTTONICON_SIZE_DIMENSION,\n MAP_BUTTONICON_SIZE_ICONSIZE,\n} from './ButtonIcon.constants';\nimport type { ButtonIconProps } from './ButtonIcon.types';\n\nexport const ButtonIcon = forwardRef<HTMLButtonElement, ButtonIconProps>(\n (\n {\n className,\n iconName,\n iconProps,\n ariaLabel,\n isDisabled = false,\n variant = ButtonIconVariant.Default,\n size = ButtonIconSize.Md,\n style,\n ...props\n },\n ref,\n ) => {\n const isInteractive = !isDisabled;\n\n const mergedClassName = twMerge(\n // Base styles\n 'inline-flex items-center justify-center p-0',\n // Size styles\n TWCLASSMAP_BUTTONICON_SIZE_DIMENSION[size],\n // Variant styles\n variant === ButtonIconVariant.Default && [\n 'rounded-lg bg-transparent',\n isInteractive && 'hover:bg-hover active:bg-pressed',\n 'text-icon-default',\n ],\n variant === ButtonIconVariant.Floating && [\n 'rounded-full',\n 'bg-icon-default text-background-default',\n ],\n variant === ButtonIconVariant.Filled && [\n 'rounded-full',\n 'bg-muted text-icon-default',\n isInteractive && 'hover:bg-muted-hover active:bg-muted-pressed',\n ],\n // Disabled state\n isDisabled && 'cursor-not-allowed opacity-50',\n className,\n );\n\n return (\n <button\n ref={ref}\n className={mergedClassName}\n disabled={isDisabled}\n aria-label={ariaLabel}\n style={style}\n {...props}\n >\n <Icon\n name={iconName}\n size={MAP_BUTTONICON_SIZE_ICONSIZE[size]}\n className={twMerge('text-inherit', iconProps?.className)}\n {...iconProps}\n />\n </button>\n );\n },\n);\n\nButtonIcon.displayName = 'ButtonIcon';\n"]}
1
+ {"version":3,"file":"ButtonIcon.cjs","sourceRoot":"","sources":["../../../src/components/ButtonIcon/ButtonIcon.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kFAGiD;AACjD,+CAA0C;AAE1C,uDAA+C;AAC/C,4CAA+B;AAE/B,qEAGgC;AAGnB,QAAA,UAAU,GAAG,IAAA,kBAAU,EAClC,CACE,EACE,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,GAAG,KAAK,EAClB,OAAO,GAAG,wCAAiB,CAAC,OAAO,EACnC,IAAI,GAAG,qCAAc,CAAC,EAAE,EACxB,KAAK,EACL,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,aAAa,GAAG,CAAC,UAAU,CAAC;IAElC,MAAM,eAAe,GAAG,IAAA,kBAAO;IAC7B,cAAc;IACd,6CAA6C;IAC7C,cAAc;IACd,2DAAoC,CAAC,IAAI,CAAC;IAC1C,iBAAiB;IACjB,OAAO,KAAK,wCAAiB,CAAC,OAAO,IAAI;QACvC,2BAA2B;QAC3B,aAAa,IAAI,kCAAkC;QACnD,mBAAmB;KACpB,EACD,OAAO,KAAK,wCAAiB,CAAC,QAAQ,IAAI;QACxC,cAAc;QACd,yCAAyC;KAC1C,EACD,OAAO,KAAK,wCAAiB,CAAC,MAAM,IAAI;QACtC,cAAc;QACd,4BAA4B;QAC5B,aAAa,IAAI,8CAA8C;KAChE;IACD,iBAAiB;IACjB,UAAU,IAAI,+BAA+B,EAC7C,SAAS,CACV,CAAC;IAEF,OAAO,CACL,0CACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,UAAU,gBACR,SAAS,EACrB,KAAK,EAAE,KAAK,KACR,KAAK;QAET,8BAAC,WAAI,IACH,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,mDAA4B,CAAC,IAAI,CAAC,EACxC,SAAS,EAAE,IAAA,kBAAO,EAAC,cAAc,EAAE,SAAS,EAAE,SAAS,CAAC,KACpD,SAAS,GACb,CACK,CACV,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,kBAAU,CAAC,WAAW,GAAG,YAAY,CAAC","sourcesContent":["import {\n ButtonIconSize,\n ButtonIconVariant,\n} from '@metamask-previews/design-system-shared';\nimport React, { forwardRef } from 'react';\n\nimport { twMerge } from '../../utils/tw-merge';\nimport { Icon } from '../Icon';\n\nimport {\n TWCLASSMAP_BUTTONICON_SIZE_DIMENSION,\n MAP_BUTTONICON_SIZE_ICONSIZE,\n} from './ButtonIcon.constants';\nimport type { ButtonIconProps } from './ButtonIcon.types';\n\nexport const ButtonIcon = forwardRef<HTMLButtonElement, ButtonIconProps>(\n (\n {\n className,\n iconName,\n iconProps,\n ariaLabel,\n isDisabled = false,\n variant = ButtonIconVariant.Default,\n size = ButtonIconSize.Md,\n style,\n ...props\n },\n ref,\n ) => {\n const isInteractive = !isDisabled;\n\n const mergedClassName = twMerge(\n // Base styles\n 'inline-flex items-center justify-center p-0',\n // Size styles\n TWCLASSMAP_BUTTONICON_SIZE_DIMENSION[size],\n // Variant styles\n variant === ButtonIconVariant.Default && [\n 'rounded-lg bg-transparent',\n isInteractive && 'hover:bg-hover active:bg-pressed',\n 'text-icon-default',\n ],\n variant === ButtonIconVariant.Floating && [\n 'rounded-full',\n 'bg-icon-default text-background-default',\n ],\n variant === ButtonIconVariant.Filled && [\n 'rounded-full',\n 'bg-muted text-icon-default',\n isInteractive && 'hover:bg-muted-hover active:bg-muted-pressed',\n ],\n // Disabled state\n isDisabled && 'cursor-not-allowed opacity-50',\n className,\n );\n\n return (\n <button\n ref={ref}\n className={mergedClassName}\n disabled={isDisabled}\n aria-label={ariaLabel}\n style={style}\n {...props}\n >\n <Icon\n name={iconName}\n size={MAP_BUTTONICON_SIZE_ICONSIZE[size]}\n className={twMerge('text-inherit', iconProps?.className)}\n {...iconProps}\n />\n </button>\n );\n },\n);\n\nButtonIcon.displayName = 'ButtonIcon';\n"]}
@@ -1,16 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MAP_BUTTONICON_SIZE_ICONSIZE = exports.TWCLASSMAP_BUTTONICON_SIZE_DIMENSION = void 0;
4
- const types_1 = require("../../types/index.cjs");
5
- const Icon_1 = require("../Icon/index.cjs");
4
+ const design_system_shared_1 = require("@metamask-previews/design-system-shared");
6
5
  exports.TWCLASSMAP_BUTTONICON_SIZE_DIMENSION = {
7
- [types_1.ButtonIconSize.Sm]: 'h-6 w-6',
8
- [types_1.ButtonIconSize.Md]: 'h-8 w-8',
9
- [types_1.ButtonIconSize.Lg]: 'h-10 w-10',
6
+ [design_system_shared_1.ButtonIconSize.Sm]: 'h-6 w-6',
7
+ [design_system_shared_1.ButtonIconSize.Md]: 'h-8 w-8',
8
+ [design_system_shared_1.ButtonIconSize.Lg]: 'h-10 w-10',
10
9
  };
11
10
  exports.MAP_BUTTONICON_SIZE_ICONSIZE = {
12
- [types_1.ButtonIconSize.Sm]: Icon_1.IconSize.Md,
13
- [types_1.ButtonIconSize.Md]: Icon_1.IconSize.Lg,
14
- [types_1.ButtonIconSize.Lg]: Icon_1.IconSize.Xl,
11
+ [design_system_shared_1.ButtonIconSize.Sm]: design_system_shared_1.IconSize.Md,
12
+ [design_system_shared_1.ButtonIconSize.Md]: design_system_shared_1.IconSize.Lg,
13
+ [design_system_shared_1.ButtonIconSize.Lg]: design_system_shared_1.IconSize.Xl,
15
14
  };
16
15
  //# sourceMappingURL=ButtonIcon.constants.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonIcon.constants.cjs","sourceRoot":"","sources":["../../../src/components/ButtonIcon/ButtonIcon.constants.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAC7C,4CAAmC;AAEtB,QAAA,oCAAoC,GAAG;IAClD,CAAC,sBAAc,CAAC,EAAE,CAAC,EAAE,SAAS;IAC9B,CAAC,sBAAc,CAAC,EAAE,CAAC,EAAE,SAAS;IAC9B,CAAC,sBAAc,CAAC,EAAE,CAAC,EAAE,WAAW;CACxB,CAAC;AAEE,QAAA,4BAA4B,GAAG;IAC1C,CAAC,sBAAc,CAAC,EAAE,CAAC,EAAE,eAAQ,CAAC,EAAE;IAChC,CAAC,sBAAc,CAAC,EAAE,CAAC,EAAE,eAAQ,CAAC,EAAE;IAChC,CAAC,sBAAc,CAAC,EAAE,CAAC,EAAE,eAAQ,CAAC,EAAE;CACxB,CAAC","sourcesContent":["import { ButtonIconSize } from '../../types';\nimport { IconSize } from '../Icon';\n\nexport const TWCLASSMAP_BUTTONICON_SIZE_DIMENSION = {\n [ButtonIconSize.Sm]: 'h-6 w-6',\n [ButtonIconSize.Md]: 'h-8 w-8',\n [ButtonIconSize.Lg]: 'h-10 w-10',\n} as const;\n\nexport const MAP_BUTTONICON_SIZE_ICONSIZE = {\n [ButtonIconSize.Sm]: IconSize.Md,\n [ButtonIconSize.Md]: IconSize.Lg,\n [ButtonIconSize.Lg]: IconSize.Xl,\n} as const;\n"]}
1
+ {"version":3,"file":"ButtonIcon.constants.cjs","sourceRoot":"","sources":["../../../src/components/ButtonIcon/ButtonIcon.constants.ts"],"names":[],"mappings":";;;AAAA,kFAAmF;AAEtE,QAAA,oCAAoC,GAAG;IAClD,CAAC,qCAAc,CAAC,EAAE,CAAC,EAAE,SAAS;IAC9B,CAAC,qCAAc,CAAC,EAAE,CAAC,EAAE,SAAS;IAC9B,CAAC,qCAAc,CAAC,EAAE,CAAC,EAAE,WAAW;CACxB,CAAC;AAEE,QAAA,4BAA4B,GAAG;IAC1C,CAAC,qCAAc,CAAC,EAAE,CAAC,EAAE,+BAAQ,CAAC,EAAE;IAChC,CAAC,qCAAc,CAAC,EAAE,CAAC,EAAE,+BAAQ,CAAC,EAAE;IAChC,CAAC,qCAAc,CAAC,EAAE,CAAC,EAAE,+BAAQ,CAAC,EAAE;CACxB,CAAC","sourcesContent":["import { ButtonIconSize, IconSize } from '@metamask-previews/design-system-shared';\n\nexport const TWCLASSMAP_BUTTONICON_SIZE_DIMENSION = {\n [ButtonIconSize.Sm]: 'h-6 w-6',\n [ButtonIconSize.Md]: 'h-8 w-8',\n [ButtonIconSize.Lg]: 'h-10 w-10',\n} as const;\n\nexport const MAP_BUTTONICON_SIZE_ICONSIZE = {\n [ButtonIconSize.Sm]: IconSize.Md,\n [ButtonIconSize.Md]: IconSize.Lg,\n [ButtonIconSize.Lg]: IconSize.Xl,\n} as const;\n"]}
@@ -1,12 +1,11 @@
1
- import { IconSize } from "../Icon/index.cjs";
2
1
  export declare const TWCLASSMAP_BUTTONICON_SIZE_DIMENSION: {
3
2
  readonly sm: "h-6 w-6";
4
3
  readonly md: "h-8 w-8";
5
4
  readonly lg: "h-10 w-10";
6
5
  };
7
6
  export declare const MAP_BUTTONICON_SIZE_ICONSIZE: {
8
- readonly sm: IconSize.Md;
9
- readonly md: IconSize.Lg;
10
- readonly lg: IconSize.Xl;
7
+ readonly sm: "md";
8
+ readonly md: "lg";
9
+ readonly lg: "xl";
11
10
  };
12
11
  //# sourceMappingURL=ButtonIcon.constants.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonIcon.constants.d.cts","sourceRoot":"","sources":["../../../src/components/ButtonIcon/ButtonIcon.constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,0BAAgB;AAEnC,eAAO,MAAM,oCAAoC;;;;CAIvC,CAAC;AAEX,eAAO,MAAM,4BAA4B;;;;CAI/B,CAAC"}
1
+ {"version":3,"file":"ButtonIcon.constants.d.cts","sourceRoot":"","sources":["../../../src/components/ButtonIcon/ButtonIcon.constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oCAAoC;;;;CAIvC,CAAC;AAEX,eAAO,MAAM,4BAA4B;;;;CAI/B,CAAC"}
@@ -1,12 +1,11 @@
1
- import { IconSize } from "../Icon/index.mjs";
2
1
  export declare const TWCLASSMAP_BUTTONICON_SIZE_DIMENSION: {
3
2
  readonly sm: "h-6 w-6";
4
3
  readonly md: "h-8 w-8";
5
4
  readonly lg: "h-10 w-10";
6
5
  };
7
6
  export declare const MAP_BUTTONICON_SIZE_ICONSIZE: {
8
- readonly sm: IconSize.Md;
9
- readonly md: IconSize.Lg;
10
- readonly lg: IconSize.Xl;
7
+ readonly sm: "md";
8
+ readonly md: "lg";
9
+ readonly lg: "xl";
11
10
  };
12
11
  //# sourceMappingURL=ButtonIcon.constants.d.mts.map