@metamask/design-system-react-native 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/CHANGELOG.md +58 -1
  2. package/dist/components/AvatarBase/AvatarBase.cjs +9 -11
  3. package/dist/components/AvatarBase/AvatarBase.cjs.map +1 -1
  4. package/dist/components/AvatarBase/AvatarBase.d.cts.map +1 -1
  5. package/dist/components/AvatarBase/AvatarBase.d.mts.map +1 -1
  6. package/dist/components/AvatarBase/AvatarBase.mjs +9 -11
  7. package/dist/components/AvatarBase/AvatarBase.mjs.map +1 -1
  8. package/dist/components/AvatarFavicon/AvatarFavicon.cjs +2 -2
  9. package/dist/components/AvatarFavicon/AvatarFavicon.cjs.map +1 -1
  10. package/dist/components/AvatarFavicon/AvatarFavicon.d.cts +1 -1
  11. package/dist/components/AvatarFavicon/AvatarFavicon.d.cts.map +1 -1
  12. package/dist/components/AvatarFavicon/AvatarFavicon.d.mts +1 -1
  13. package/dist/components/AvatarFavicon/AvatarFavicon.d.mts.map +1 -1
  14. package/dist/components/AvatarFavicon/AvatarFavicon.mjs +2 -2
  15. package/dist/components/AvatarFavicon/AvatarFavicon.mjs.map +1 -1
  16. package/dist/components/AvatarGroup/AvatarGroup.cjs +4 -5
  17. package/dist/components/AvatarGroup/AvatarGroup.cjs.map +1 -1
  18. package/dist/components/AvatarGroup/AvatarGroup.d.cts.map +1 -1
  19. package/dist/components/AvatarGroup/AvatarGroup.d.mts.map +1 -1
  20. package/dist/components/AvatarGroup/AvatarGroup.mjs +4 -5
  21. package/dist/components/AvatarGroup/AvatarGroup.mjs.map +1 -1
  22. package/dist/components/AvatarIcon/AvatarIcon.cjs +5 -6
  23. package/dist/components/AvatarIcon/AvatarIcon.cjs.map +1 -1
  24. package/dist/components/AvatarIcon/AvatarIcon.d.cts.map +1 -1
  25. package/dist/components/AvatarIcon/AvatarIcon.d.mts.map +1 -1
  26. package/dist/components/AvatarIcon/AvatarIcon.mjs +5 -6
  27. package/dist/components/AvatarIcon/AvatarIcon.mjs.map +1 -1
  28. package/dist/components/AvatarNetwork/AvatarNetwork.cjs +2 -2
  29. package/dist/components/AvatarNetwork/AvatarNetwork.cjs.map +1 -1
  30. package/dist/components/AvatarNetwork/AvatarNetwork.d.cts +1 -1
  31. package/dist/components/AvatarNetwork/AvatarNetwork.d.cts.map +1 -1
  32. package/dist/components/AvatarNetwork/AvatarNetwork.d.mts +1 -1
  33. package/dist/components/AvatarNetwork/AvatarNetwork.d.mts.map +1 -1
  34. package/dist/components/AvatarNetwork/AvatarNetwork.mjs +2 -2
  35. package/dist/components/AvatarNetwork/AvatarNetwork.mjs.map +1 -1
  36. package/dist/components/AvatarToken/AvatarToken.cjs +2 -2
  37. package/dist/components/AvatarToken/AvatarToken.cjs.map +1 -1
  38. package/dist/components/AvatarToken/AvatarToken.d.cts +1 -1
  39. package/dist/components/AvatarToken/AvatarToken.d.cts.map +1 -1
  40. package/dist/components/AvatarToken/AvatarToken.d.mts +1 -1
  41. package/dist/components/AvatarToken/AvatarToken.d.mts.map +1 -1
  42. package/dist/components/AvatarToken/AvatarToken.mjs +2 -2
  43. package/dist/components/AvatarToken/AvatarToken.mjs.map +1 -1
  44. package/dist/components/BadgeCount/BadgeCount.cjs +5 -10
  45. package/dist/components/BadgeCount/BadgeCount.cjs.map +1 -1
  46. package/dist/components/BadgeCount/BadgeCount.d.cts.map +1 -1
  47. package/dist/components/BadgeCount/BadgeCount.d.mts.map +1 -1
  48. package/dist/components/BadgeCount/BadgeCount.mjs +5 -10
  49. package/dist/components/BadgeCount/BadgeCount.mjs.map +1 -1
  50. package/dist/components/BadgeIcon/BadgeIcon.cjs +5 -10
  51. package/dist/components/BadgeIcon/BadgeIcon.cjs.map +1 -1
  52. package/dist/components/BadgeIcon/BadgeIcon.d.cts.map +1 -1
  53. package/dist/components/BadgeIcon/BadgeIcon.d.mts.map +1 -1
  54. package/dist/components/BadgeIcon/BadgeIcon.mjs +5 -10
  55. package/dist/components/BadgeIcon/BadgeIcon.mjs.map +1 -1
  56. package/dist/components/BadgeStatus/BadgeStatus.cjs +6 -6
  57. package/dist/components/BadgeStatus/BadgeStatus.cjs.map +1 -1
  58. package/dist/components/BadgeStatus/BadgeStatus.constants.cjs +8 -8
  59. package/dist/components/BadgeStatus/BadgeStatus.constants.cjs.map +1 -1
  60. package/dist/components/BadgeStatus/BadgeStatus.constants.d.cts +1 -1
  61. package/dist/components/BadgeStatus/BadgeStatus.constants.d.cts.map +1 -1
  62. package/dist/components/BadgeStatus/BadgeStatus.constants.d.mts +1 -1
  63. package/dist/components/BadgeStatus/BadgeStatus.constants.d.mts.map +1 -1
  64. package/dist/components/BadgeStatus/BadgeStatus.constants.mjs +1 -1
  65. package/dist/components/BadgeStatus/BadgeStatus.constants.mjs.map +1 -1
  66. package/dist/components/BadgeStatus/BadgeStatus.d.cts.map +1 -1
  67. package/dist/components/BadgeStatus/BadgeStatus.d.mts.map +1 -1
  68. package/dist/components/BadgeStatus/BadgeStatus.mjs +6 -6
  69. package/dist/components/BadgeStatus/BadgeStatus.mjs.map +1 -1
  70. package/dist/components/BadgeStatus/BadgeStatus.types.cjs.map +1 -1
  71. package/dist/components/BadgeStatus/BadgeStatus.types.d.cts +5 -29
  72. package/dist/components/BadgeStatus/BadgeStatus.types.d.cts.map +1 -1
  73. package/dist/components/BadgeStatus/BadgeStatus.types.d.mts +5 -29
  74. package/dist/components/BadgeStatus/BadgeStatus.types.d.mts.map +1 -1
  75. package/dist/components/BadgeStatus/BadgeStatus.types.mjs.map +1 -1
  76. package/dist/components/BadgeStatus/index.cjs +4 -4
  77. package/dist/components/BadgeStatus/index.cjs.map +1 -1
  78. package/dist/components/BadgeStatus/index.d.cts +1 -1
  79. package/dist/components/BadgeStatus/index.d.cts.map +1 -1
  80. package/dist/components/BadgeStatus/index.d.mts +1 -1
  81. package/dist/components/BadgeStatus/index.d.mts.map +1 -1
  82. package/dist/components/BadgeStatus/index.mjs +1 -1
  83. package/dist/components/BadgeStatus/index.mjs.map +1 -1
  84. package/dist/components/BadgeWrapper/BadgeWrapper.cjs +3 -3
  85. package/dist/components/BadgeWrapper/BadgeWrapper.cjs.map +1 -1
  86. package/dist/components/BadgeWrapper/BadgeWrapper.d.cts.map +1 -1
  87. package/dist/components/BadgeWrapper/BadgeWrapper.d.mts.map +1 -1
  88. package/dist/components/BadgeWrapper/BadgeWrapper.mjs +3 -3
  89. package/dist/components/BadgeWrapper/BadgeWrapper.mjs.map +1 -1
  90. package/dist/components/BottomSheetFooter/BottomSheetFooter.cjs +35 -0
  91. package/dist/components/BottomSheetFooter/BottomSheetFooter.cjs.map +1 -0
  92. package/dist/components/BottomSheetFooter/BottomSheetFooter.d.cts +4 -0
  93. package/dist/components/BottomSheetFooter/BottomSheetFooter.d.cts.map +1 -0
  94. package/dist/components/BottomSheetFooter/BottomSheetFooter.d.mts +4 -0
  95. package/dist/components/BottomSheetFooter/BottomSheetFooter.d.mts.map +1 -0
  96. package/dist/components/BottomSheetFooter/BottomSheetFooter.mjs +35 -0
  97. package/dist/components/BottomSheetFooter/BottomSheetFooter.mjs.map +1 -0
  98. package/dist/components/BottomSheetFooter/BottomSheetFooter.types.cjs +12 -0
  99. package/dist/components/BottomSheetFooter/BottomSheetFooter.types.cjs.map +1 -0
  100. package/dist/components/BottomSheetFooter/BottomSheetFooter.types.d.cts +41 -0
  101. package/dist/components/BottomSheetFooter/BottomSheetFooter.types.d.cts.map +1 -0
  102. package/dist/components/BottomSheetFooter/BottomSheetFooter.types.d.mts +41 -0
  103. package/dist/components/BottomSheetFooter/BottomSheetFooter.types.d.mts.map +1 -0
  104. package/dist/components/BottomSheetFooter/BottomSheetFooter.types.mjs +9 -0
  105. package/dist/components/BottomSheetFooter/BottomSheetFooter.types.mjs.map +1 -0
  106. package/dist/components/BottomSheetFooter/index.cjs +8 -0
  107. package/dist/components/BottomSheetFooter/index.cjs.map +1 -0
  108. package/dist/components/BottomSheetFooter/index.d.cts +4 -0
  109. package/dist/components/BottomSheetFooter/index.d.cts.map +1 -0
  110. package/dist/components/BottomSheetFooter/index.d.mts +4 -0
  111. package/dist/components/BottomSheetFooter/index.d.mts.map +1 -0
  112. package/dist/components/BottomSheetFooter/index.mjs +3 -0
  113. package/dist/components/BottomSheetFooter/index.mjs.map +1 -0
  114. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.cjs +51 -0
  115. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.cjs.map +1 -0
  116. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.constants.cjs +7 -0
  117. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.constants.cjs.map +1 -0
  118. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.constants.d.cts +3 -0
  119. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.constants.d.cts.map +1 -0
  120. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.constants.d.mts +3 -0
  121. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.constants.d.mts.map +1 -0
  122. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.constants.mjs +4 -0
  123. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.constants.mjs.map +1 -0
  124. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.d.cts +4 -0
  125. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.d.cts.map +1 -0
  126. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.d.mts +4 -0
  127. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.d.mts.map +1 -0
  128. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.mjs +31 -0
  129. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.mjs.map +1 -0
  130. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.types.cjs +3 -0
  131. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.types.cjs.map +1 -0
  132. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.types.d.cts +20 -0
  133. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.types.d.cts.map +1 -0
  134. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.types.d.mts +20 -0
  135. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.types.d.mts.map +1 -0
  136. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.types.mjs +2 -0
  137. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.types.mjs.map +1 -0
  138. package/dist/components/BottomSheetOverlay/index.cjs +6 -0
  139. package/dist/components/BottomSheetOverlay/index.cjs.map +1 -0
  140. package/dist/components/BottomSheetOverlay/index.d.cts +3 -0
  141. package/dist/components/BottomSheetOverlay/index.d.cts.map +1 -0
  142. package/dist/components/BottomSheetOverlay/index.d.mts +3 -0
  143. package/dist/components/BottomSheetOverlay/index.d.mts.map +1 -0
  144. package/dist/components/BottomSheetOverlay/index.mjs +2 -0
  145. package/dist/components/BottomSheetOverlay/index.mjs.map +1 -0
  146. package/dist/components/Box/Box.cjs +12 -27
  147. package/dist/components/Box/Box.cjs.map +1 -1
  148. package/dist/components/Box/Box.d.cts.map +1 -1
  149. package/dist/components/Box/Box.d.mts.map +1 -1
  150. package/dist/components/Box/Box.mjs +12 -27
  151. package/dist/components/Box/Box.mjs.map +1 -1
  152. package/dist/components/ButtonBase/ButtonBase.cjs +50 -41
  153. package/dist/components/ButtonBase/ButtonBase.cjs.map +1 -1
  154. package/dist/components/ButtonBase/ButtonBase.d.cts.map +1 -1
  155. package/dist/components/ButtonBase/ButtonBase.d.mts.map +1 -1
  156. package/dist/components/ButtonBase/ButtonBase.mjs +50 -41
  157. package/dist/components/ButtonBase/ButtonBase.mjs.map +1 -1
  158. package/dist/components/ButtonIcon/ButtonIcon.cjs +5 -10
  159. package/dist/components/ButtonIcon/ButtonIcon.cjs.map +1 -1
  160. package/dist/components/ButtonIcon/ButtonIcon.d.cts.map +1 -1
  161. package/dist/components/ButtonIcon/ButtonIcon.d.mts.map +1 -1
  162. package/dist/components/ButtonIcon/ButtonIcon.mjs +5 -10
  163. package/dist/components/ButtonIcon/ButtonIcon.mjs.map +1 -1
  164. package/dist/components/Card/Card.cjs +26 -0
  165. package/dist/components/Card/Card.cjs.map +1 -0
  166. package/dist/components/Card/Card.d.cts +4 -0
  167. package/dist/components/Card/Card.d.cts.map +1 -0
  168. package/dist/components/Card/Card.d.mts +4 -0
  169. package/dist/components/Card/Card.d.mts.map +1 -0
  170. package/dist/components/Card/Card.mjs +26 -0
  171. package/dist/components/Card/Card.mjs.map +1 -0
  172. package/dist/components/Card/Card.types.cjs +3 -0
  173. package/dist/components/Card/Card.types.cjs.map +1 -0
  174. package/dist/components/Card/Card.types.d.cts +25 -0
  175. package/dist/components/Card/Card.types.d.cts.map +1 -0
  176. package/dist/components/Card/Card.types.d.mts +25 -0
  177. package/dist/components/Card/Card.types.d.mts.map +1 -0
  178. package/dist/components/Card/Card.types.mjs +2 -0
  179. package/dist/components/Card/Card.types.mjs.map +1 -0
  180. package/dist/components/Card/index.cjs +6 -0
  181. package/dist/components/Card/index.cjs.map +1 -0
  182. package/dist/components/Card/index.d.cts +3 -0
  183. package/dist/components/Card/index.d.cts.map +1 -0
  184. package/dist/components/Card/index.d.mts +3 -0
  185. package/dist/components/Card/index.d.mts.map +1 -0
  186. package/dist/components/Card/index.mjs +2 -0
  187. package/dist/components/Card/index.mjs.map +1 -0
  188. package/dist/components/Checkbox/Checkbox.cjs +4 -4
  189. package/dist/components/Checkbox/Checkbox.cjs.map +1 -1
  190. package/dist/components/Checkbox/Checkbox.d.cts.map +1 -1
  191. package/dist/components/Checkbox/Checkbox.d.mts.map +1 -1
  192. package/dist/components/Checkbox/Checkbox.mjs +4 -4
  193. package/dist/components/Checkbox/Checkbox.mjs.map +1 -1
  194. package/dist/components/HeaderBase/HeaderBase.cjs +123 -0
  195. package/dist/components/HeaderBase/HeaderBase.cjs.map +1 -0
  196. package/dist/components/HeaderBase/HeaderBase.d.cts +4 -0
  197. package/dist/components/HeaderBase/HeaderBase.d.cts.map +1 -0
  198. package/dist/components/HeaderBase/HeaderBase.d.mts +4 -0
  199. package/dist/components/HeaderBase/HeaderBase.d.mts.map +1 -0
  200. package/dist/components/HeaderBase/HeaderBase.mjs +103 -0
  201. package/dist/components/HeaderBase/HeaderBase.mjs.map +1 -0
  202. package/dist/components/HeaderBase/HeaderBase.types.cjs +3 -0
  203. package/dist/components/HeaderBase/HeaderBase.types.cjs.map +1 -0
  204. package/dist/components/HeaderBase/HeaderBase.types.d.cts +71 -0
  205. package/dist/components/HeaderBase/HeaderBase.types.d.cts.map +1 -0
  206. package/dist/components/HeaderBase/HeaderBase.types.d.mts +71 -0
  207. package/dist/components/HeaderBase/HeaderBase.types.d.mts.map +1 -0
  208. package/dist/components/HeaderBase/HeaderBase.types.mjs +2 -0
  209. package/dist/components/HeaderBase/HeaderBase.types.mjs.map +1 -0
  210. package/dist/components/HeaderBase/index.cjs +6 -0
  211. package/dist/components/HeaderBase/index.cjs.map +1 -0
  212. package/dist/components/HeaderBase/index.d.cts +3 -0
  213. package/dist/components/HeaderBase/index.d.cts.map +1 -0
  214. package/dist/components/HeaderBase/index.d.mts +3 -0
  215. package/dist/components/HeaderBase/index.d.mts.map +1 -0
  216. package/dist/components/HeaderBase/index.mjs +2 -0
  217. package/dist/components/HeaderBase/index.mjs.map +1 -0
  218. package/dist/components/Icon/Icon.assets.cjs +2 -0
  219. package/dist/components/Icon/Icon.assets.cjs.map +1 -1
  220. package/dist/components/Icon/Icon.assets.d.cts.map +1 -1
  221. package/dist/components/Icon/Icon.assets.d.mts.map +1 -1
  222. package/dist/components/Icon/Icon.assets.mjs +2 -0
  223. package/dist/components/Icon/Icon.assets.mjs.map +1 -1
  224. package/dist/components/Icon/Icon.cjs +4 -32
  225. package/dist/components/Icon/Icon.cjs.map +1 -1
  226. package/dist/components/Icon/Icon.d.cts.map +1 -1
  227. package/dist/components/Icon/Icon.d.mts.map +1 -1
  228. package/dist/components/Icon/Icon.mjs +2 -10
  229. package/dist/components/Icon/Icon.mjs.map +1 -1
  230. package/dist/components/Icon/assets/corporate-fare.svg +1 -0
  231. package/dist/components/Input/Input.cjs +53 -0
  232. package/dist/components/Input/Input.cjs.map +1 -0
  233. package/dist/components/Input/Input.d.cts +10 -0
  234. package/dist/components/Input/Input.d.cts.map +1 -0
  235. package/dist/components/Input/Input.d.mts +10 -0
  236. package/dist/components/Input/Input.d.mts.map +1 -0
  237. package/dist/components/Input/Input.mjs +50 -0
  238. package/dist/components/Input/Input.mjs.map +1 -0
  239. package/dist/components/Input/Input.types.cjs +3 -0
  240. package/dist/components/Input/Input.types.cjs.map +1 -0
  241. package/dist/components/Input/Input.types.d.cts +33 -0
  242. package/dist/components/Input/Input.types.d.cts.map +1 -0
  243. package/dist/components/Input/Input.types.d.mts +33 -0
  244. package/dist/components/Input/Input.types.d.mts.map +1 -0
  245. package/dist/components/Input/Input.types.mjs +2 -0
  246. package/dist/components/Input/Input.types.mjs.map +1 -0
  247. package/dist/components/Input/index.cjs +6 -0
  248. package/dist/components/Input/index.cjs.map +1 -0
  249. package/dist/components/Input/index.d.cts +3 -0
  250. package/dist/components/Input/index.d.cts.map +1 -0
  251. package/dist/components/Input/index.d.mts +3 -0
  252. package/dist/components/Input/index.d.mts.map +1 -0
  253. package/dist/components/Input/index.mjs +2 -0
  254. package/dist/components/Input/index.mjs.map +1 -0
  255. package/dist/components/Label/Label.cjs +11 -0
  256. package/dist/components/Label/Label.cjs.map +1 -0
  257. package/dist/components/Label/Label.d.cts +4 -0
  258. package/dist/components/Label/Label.d.cts.map +1 -0
  259. package/dist/components/Label/Label.d.mts +4 -0
  260. package/dist/components/Label/Label.d.mts.map +1 -0
  261. package/dist/components/Label/Label.mjs +11 -0
  262. package/dist/components/Label/Label.mjs.map +1 -0
  263. package/dist/components/Label/Label.types.cjs +3 -0
  264. package/dist/components/Label/Label.types.cjs.map +1 -0
  265. package/dist/components/Label/Label.types.d.cts +9 -0
  266. package/dist/components/Label/Label.types.d.cts.map +1 -0
  267. package/dist/components/Label/Label.types.d.mts +9 -0
  268. package/dist/components/Label/Label.types.d.mts.map +1 -0
  269. package/dist/components/Label/Label.types.mjs +2 -0
  270. package/dist/components/Label/Label.types.mjs.map +1 -0
  271. package/dist/components/Label/index.cjs +6 -0
  272. package/dist/components/Label/index.cjs.map +1 -0
  273. package/dist/components/Label/index.d.cts +3 -0
  274. package/dist/components/Label/index.d.cts.map +1 -0
  275. package/dist/components/Label/index.d.mts +3 -0
  276. package/dist/components/Label/index.d.mts.map +1 -0
  277. package/dist/components/Label/index.mjs +2 -0
  278. package/dist/components/Label/index.mjs.map +1 -0
  279. package/dist/components/RadioButton/RadioButton.cjs +58 -0
  280. package/dist/components/RadioButton/RadioButton.cjs.map +1 -0
  281. package/dist/components/RadioButton/RadioButton.constants.cjs +12 -0
  282. package/dist/components/RadioButton/RadioButton.constants.cjs.map +1 -0
  283. package/dist/components/RadioButton/RadioButton.constants.d.cts +3 -0
  284. package/dist/components/RadioButton/RadioButton.constants.d.cts.map +1 -0
  285. package/dist/components/RadioButton/RadioButton.constants.d.mts +3 -0
  286. package/dist/components/RadioButton/RadioButton.constants.d.mts.map +1 -0
  287. package/dist/components/RadioButton/RadioButton.constants.mjs +9 -0
  288. package/dist/components/RadioButton/RadioButton.constants.mjs.map +1 -0
  289. package/dist/components/RadioButton/RadioButton.d.cts +4 -0
  290. package/dist/components/RadioButton/RadioButton.d.cts.map +1 -0
  291. package/dist/components/RadioButton/RadioButton.d.mts +4 -0
  292. package/dist/components/RadioButton/RadioButton.d.mts.map +1 -0
  293. package/dist/components/RadioButton/RadioButton.mjs +58 -0
  294. package/dist/components/RadioButton/RadioButton.mjs.map +1 -0
  295. package/dist/components/RadioButton/RadioButton.types.cjs +3 -0
  296. package/dist/components/RadioButton/RadioButton.types.cjs.map +1 -0
  297. package/dist/components/RadioButton/RadioButton.types.d.cts +64 -0
  298. package/dist/components/RadioButton/RadioButton.types.d.cts.map +1 -0
  299. package/dist/components/RadioButton/RadioButton.types.d.mts +64 -0
  300. package/dist/components/RadioButton/RadioButton.types.d.mts.map +1 -0
  301. package/dist/components/RadioButton/RadioButton.types.mjs +2 -0
  302. package/dist/components/RadioButton/RadioButton.types.mjs.map +1 -0
  303. package/dist/components/RadioButton/index.cjs +6 -0
  304. package/dist/components/RadioButton/index.cjs.map +1 -0
  305. package/dist/components/RadioButton/index.d.cts +3 -0
  306. package/dist/components/RadioButton/index.d.cts.map +1 -0
  307. package/dist/components/RadioButton/index.d.mts +3 -0
  308. package/dist/components/RadioButton/index.d.mts.map +1 -0
  309. package/dist/components/RadioButton/index.mjs +2 -0
  310. package/dist/components/RadioButton/index.mjs.map +1 -0
  311. package/dist/components/Skeleton/Skeleton.cjs +86 -0
  312. package/dist/components/Skeleton/Skeleton.cjs.map +1 -0
  313. package/dist/components/Skeleton/Skeleton.d.cts +5 -0
  314. package/dist/components/Skeleton/Skeleton.d.cts.map +1 -0
  315. package/dist/components/Skeleton/Skeleton.d.mts +5 -0
  316. package/dist/components/Skeleton/Skeleton.d.mts.map +1 -0
  317. package/dist/components/Skeleton/Skeleton.mjs +68 -0
  318. package/dist/components/Skeleton/Skeleton.mjs.map +1 -0
  319. package/dist/components/Skeleton/Skeleton.types.cjs +3 -0
  320. package/dist/components/Skeleton/Skeleton.types.cjs.map +1 -0
  321. package/dist/components/Skeleton/Skeleton.types.d.cts +51 -0
  322. package/dist/components/Skeleton/Skeleton.types.d.cts.map +1 -0
  323. package/dist/components/Skeleton/Skeleton.types.d.mts +51 -0
  324. package/dist/components/Skeleton/Skeleton.types.d.mts.map +1 -0
  325. package/dist/components/Skeleton/Skeleton.types.mjs +2 -0
  326. package/dist/components/Skeleton/Skeleton.types.mjs.map +1 -0
  327. package/dist/components/Skeleton/index.cjs +9 -0
  328. package/dist/components/Skeleton/index.cjs.map +1 -0
  329. package/dist/components/Skeleton/index.d.cts +3 -0
  330. package/dist/components/Skeleton/index.d.cts.map +1 -0
  331. package/dist/components/Skeleton/index.d.mts +3 -0
  332. package/dist/components/Skeleton/index.d.mts.map +1 -0
  333. package/dist/components/Skeleton/index.mjs +2 -0
  334. package/dist/components/Skeleton/index.mjs.map +1 -0
  335. package/dist/components/Text/Text.cjs +9 -14
  336. package/dist/components/Text/Text.cjs.map +1 -1
  337. package/dist/components/Text/Text.d.cts.map +1 -1
  338. package/dist/components/Text/Text.d.mts.map +1 -1
  339. package/dist/components/Text/Text.mjs +10 -15
  340. package/dist/components/Text/Text.mjs.map +1 -1
  341. package/dist/components/Toast/Toast.cjs +174 -0
  342. package/dist/components/Toast/Toast.cjs.map +1 -0
  343. package/dist/components/Toast/Toast.constants.cjs +12 -0
  344. package/dist/components/Toast/Toast.constants.cjs.map +1 -0
  345. package/dist/components/Toast/Toast.constants.d.cts +8 -0
  346. package/dist/components/Toast/Toast.constants.d.cts.map +1 -0
  347. package/dist/components/Toast/Toast.constants.d.mts +8 -0
  348. package/dist/components/Toast/Toast.constants.d.mts.map +1 -0
  349. package/dist/components/Toast/Toast.constants.mjs +9 -0
  350. package/dist/components/Toast/Toast.constants.mjs.map +1 -0
  351. package/dist/components/Toast/Toast.context.cjs +40 -0
  352. package/dist/components/Toast/Toast.context.cjs.map +1 -0
  353. package/dist/components/Toast/Toast.context.d.cts +7 -0
  354. package/dist/components/Toast/Toast.context.d.cts.map +1 -0
  355. package/dist/components/Toast/Toast.context.d.mts +7 -0
  356. package/dist/components/Toast/Toast.context.d.mts.map +1 -0
  357. package/dist/components/Toast/Toast.context.mjs +20 -0
  358. package/dist/components/Toast/Toast.context.mjs.map +1 -0
  359. package/dist/components/Toast/Toast.d.cts +8 -0
  360. package/dist/components/Toast/Toast.d.cts.map +1 -0
  361. package/dist/components/Toast/Toast.d.mts +8 -0
  362. package/dist/components/Toast/Toast.d.mts.map +1 -0
  363. package/dist/components/Toast/Toast.mjs +156 -0
  364. package/dist/components/Toast/Toast.mjs.map +1 -0
  365. package/dist/components/Toast/Toast.types.cjs +19 -0
  366. package/dist/components/Toast/Toast.types.cjs.map +1 -0
  367. package/dist/components/Toast/Toast.types.d.cts +123 -0
  368. package/dist/components/Toast/Toast.types.d.cts.map +1 -0
  369. package/dist/components/Toast/Toast.types.d.mts +123 -0
  370. package/dist/components/Toast/Toast.types.d.mts.map +1 -0
  371. package/dist/components/Toast/Toast.types.mjs +16 -0
  372. package/dist/components/Toast/Toast.types.mjs.map +1 -0
  373. package/dist/components/Toast/index.cjs +19 -0
  374. package/dist/components/Toast/index.cjs.map +1 -0
  375. package/dist/components/Toast/index.d.cts +6 -0
  376. package/dist/components/Toast/index.d.cts.map +1 -0
  377. package/dist/components/Toast/index.d.mts +6 -0
  378. package/dist/components/Toast/index.d.mts.map +1 -0
  379. package/dist/components/Toast/index.mjs +5 -0
  380. package/dist/components/Toast/index.mjs.map +1 -0
  381. package/dist/components/index.cjs +23 -2
  382. package/dist/components/index.cjs.map +1 -1
  383. package/dist/components/index.d.cts +18 -0
  384. package/dist/components/index.d.cts.map +1 -1
  385. package/dist/components/index.d.mts +18 -0
  386. package/dist/components/index.d.mts.map +1 -1
  387. package/dist/components/index.mjs +9 -0
  388. package/dist/components/index.mjs.map +1 -1
  389. package/dist/components/temp-components/ButtonAnimated/ButtonAnimated.cjs +17 -9
  390. package/dist/components/temp-components/ButtonAnimated/ButtonAnimated.cjs.map +1 -1
  391. package/dist/components/temp-components/ButtonAnimated/ButtonAnimated.d.cts +1 -1
  392. package/dist/components/temp-components/ButtonAnimated/ButtonAnimated.d.cts.map +1 -1
  393. package/dist/components/temp-components/ButtonAnimated/ButtonAnimated.d.mts +1 -1
  394. package/dist/components/temp-components/ButtonAnimated/ButtonAnimated.d.mts.map +1 -1
  395. package/dist/components/temp-components/ButtonAnimated/ButtonAnimated.mjs +17 -6
  396. package/dist/components/temp-components/ButtonAnimated/ButtonAnimated.mjs.map +1 -1
  397. package/dist/components/temp-components/Spinner/Spinner.cjs +2 -2
  398. package/dist/components/temp-components/Spinner/Spinner.cjs.map +1 -1
  399. package/dist/components/temp-components/Spinner/Spinner.d.cts.map +1 -1
  400. package/dist/components/temp-components/Spinner/Spinner.d.mts.map +1 -1
  401. package/dist/components/temp-components/Spinner/Spinner.mjs +2 -2
  402. package/dist/components/temp-components/Spinner/Spinner.mjs.map +1 -1
  403. package/dist/types/index.cjs +17 -41
  404. package/dist/types/index.cjs.map +1 -1
  405. package/dist/types/index.d.cts +16 -38
  406. package/dist/types/index.d.cts.map +1 -1
  407. package/dist/types/index.d.mts +16 -38
  408. package/dist/types/index.d.mts.map +1 -1
  409. package/dist/types/index.mjs +16 -40
  410. package/dist/types/index.mjs.map +1 -1
  411. package/package.json +13 -9
  412. package/dist/components/Icon/Icon.utilities.cjs +0 -31
  413. package/dist/components/Icon/Icon.utilities.cjs.map +0 -1
  414. package/dist/components/Icon/Icon.utilities.d.cts +0 -22
  415. package/dist/components/Icon/Icon.utilities.d.cts.map +0 -1
  416. package/dist/components/Icon/Icon.utilities.d.mts +0 -22
  417. package/dist/components/Icon/Icon.utilities.d.mts.map +0 -1
  418. package/dist/components/Icon/Icon.utilities.mjs +0 -27
  419. package/dist/components/Icon/Icon.utilities.mjs.map +0 -1
  420. package/dist/components/Text/Text.utilities.cjs +0 -46
  421. package/dist/components/Text/Text.utilities.cjs.map +0 -1
  422. package/dist/components/Text/Text.utilities.d.cts +0 -32
  423. package/dist/components/Text/Text.utilities.d.cts.map +0 -1
  424. package/dist/components/Text/Text.utilities.d.mts +0 -32
  425. package/dist/components/Text/Text.utilities.d.mts.map +0 -1
  426. package/dist/components/Text/Text.utilities.mjs +0 -42
  427. package/dist/components/Text/Text.utilities.mjs.map +0 -1
@@ -15,7 +15,7 @@ import { Spinner } from "../temp-components/Spinner/index.mjs";
15
15
  import { TextOrChildren } from "../temp-components/TextOrChildren/TextOrChildren.mjs";
16
16
  import { TextVariant, FontWeight, TextColor } from "../Text/index.mjs";
17
17
  import { TWCLASSMAP_BUTTONBASE_SIZE_DIMENSION } from "./ButtonBase.constants.mjs";
18
- export const ButtonBase = ({ children, textProps, size = ButtonBaseSize.Lg, isLoading, loadingText, spinnerProps, startIconName, startIconProps, startAccessory, endIconName, endIconProps, endAccessory, isDisabled, isFullWidth, twClassName = '', textClassName, iconClassName, style, accessibilityLabel, accessibilityHint, accessibilityRole = 'button', accessibilityActions, onAccessibilityAction, ...props }) => {
18
+ export const ButtonBase = ({ children, textProps, size = ButtonBaseSize.Lg, isLoading, loadingText, spinnerProps, startIconName, startIconProps, startAccessory, endIconName, endIconProps, endAccessory, isDisabled, isFullWidth, twClassName, textClassName, iconClassName, style, accessibilityLabel, accessibilityHint, accessibilityRole = 'button', accessibilityActions, onAccessibilityAction, ...props }) => {
19
19
  const tw = useTailwind();
20
20
  const finalStartIconName = startIconName ?? startIconProps?.name;
21
21
  const finalEndIconName = endIconName ?? endIconProps?.name;
@@ -56,53 +56,62 @@ export const ButtonBase = ({ children, textProps, size = ButtonBaseSize.Lg, isLo
56
56
  return state;
57
57
  }, [isDisabled, isLoading]);
58
58
  return (<ButtonAnimated disabled={isDisabled || isLoading} accessibilityRole={accessibilityRole} accessibilityLabel={finalAccessibilityLabel} accessibilityHint={finalAccessibilityHint} accessibilityActions={accessibilityActions} onAccessibilityAction={onAccessibilityAction} accessibilityState={accessibilityState} accessible style={({ pressed }) => {
59
- const containerClassName = typeof twClassName === 'function'
59
+ // Evaluate custom className if it's a function
60
+ const customClassName = typeof twClassName === 'function'
60
61
  ? twClassName(pressed)
61
62
  : twClassName;
62
- const baseContainerClassNames = `
63
- flex-row items-center justify-center rounded-xl bg-muted px-4 min-w-[80px] overflow-hidden
64
- ${TWCLASSMAP_BUTTONBASE_SIZE_DIMENSION[size]}
65
- ${isDisabled ? 'opacity-50' : 'opacity-100'}
66
- ${isFullWidth ? 'w-full' : 'w-auto'}
67
- ${containerClassName}
68
- `;
69
- const computedStyle = [
70
- tw `${baseContainerClassNames}`,
71
- ];
72
- if (typeof style === 'function') {
73
- const additionalStyle = style({ pressed });
74
- if (additionalStyle) {
75
- computedStyle.push(additionalStyle);
76
- }
77
- }
78
- else if (style) {
79
- computedStyle.push(style);
63
+ // Build button container styles
64
+ const buttonStyles = tw.style(
65
+ // Base layout - flex container for button content
66
+ 'flex-row items-center justify-center gap-x-2',
67
+ // Visual styling
68
+ 'rounded-xl bg-muted px-4 min-w-[80px] overflow-hidden',
69
+ // Size
70
+ TWCLASSMAP_BUTTONBASE_SIZE_DIMENSION[size],
71
+ // State-based opacity
72
+ isDisabled ? 'opacity-50' : 'opacity-100',
73
+ // Width - use self-start to prevent stretching when not full width
74
+ isFullWidth ? 'w-full' : 'self-start',
75
+ // Custom classes
76
+ customClassName);
77
+ // Merge with additional styles if provided
78
+ const computedStyle = [buttonStyles];
79
+ const additionalStyle = typeof style === 'function' ? style({ pressed }) : style;
80
+ if (additionalStyle) {
81
+ computedStyle.push(additionalStyle);
80
82
  }
81
83
  return computedStyle;
82
84
  }} {...props}>
83
85
  {({ pressed }) => (<>
84
- <View style={tw `absolute inset-0 flex items-center justify-center ${isLoading ? 'opacity-100' : 'opacity-0'}`} testID="spinner-container">
85
- <Spinner color={textClassName
86
- ? textClassName(pressed)
87
- : IconColor.IconDefault} loadingText={loadingText} loadingTextProps={{
88
- numberOfLines: 1,
89
- twClassName: textClassName ? textClassName(pressed) : '',
90
- ...spinnerProps?.loadingTextProps,
91
- }} {...spinnerProps}/>
92
- </View>
93
- <View style={tw `flex-row items-center justify-center gap-x-2 ${isLoading ? 'opacity-0' : 'opacity-100'}`} testID="content-container">
94
- {finalStartIconName ? (<Icon name={finalStartIconName} size={IconSize.Sm} twClassName={`shrink-0 ${iconClassName ? iconClassName(pressed) : ''}`} {...startIconProps}/>) : (startAccessory)}
95
- <TextOrChildren textProps={{
96
- variant: TextVariant.BodyMd,
97
- fontWeight: FontWeight.Medium,
98
- color: TextColor.TextDefault,
99
- twClassName: `shrink grow-0 flex-wrap text-center ${textClassName ? textClassName(pressed) : ''}`,
100
- ...textProps,
101
- }}>
86
+ {/* Loading spinner overlay */}
87
+ {isLoading && (<View style={tw.style('absolute inset-0 flex items-center justify-center')} testID="spinner-container">
88
+ <Spinner color={textClassName
89
+ ? textClassName(pressed)
90
+ : IconColor.IconDefault} loadingText={loadingText} loadingTextProps={{
91
+ numberOfLines: 1,
92
+ twClassName: textClassName ? textClassName(pressed) : '',
93
+ ...spinnerProps?.loadingTextProps,
94
+ }} {...spinnerProps}/>
95
+ </View>)}
96
+
97
+ {/* Button content - opacity controlled individually on each child */}
98
+ {finalStartIconName ? (<Icon name={finalStartIconName} size={IconSize.Sm} twClassName={`shrink-0 ${isLoading ? 'opacity-0' : ''} ${iconClassName ? iconClassName(pressed) : ''}`} {...startIconProps}/>) : (startAccessory && (<View style={tw.style(isLoading && 'opacity-0')}>
99
+ {startAccessory}
100
+ </View>))}
101
+
102
+ {typeof children === 'string' ? (<TextOrChildren textProps={{
103
+ variant: TextVariant.BodyMd,
104
+ fontWeight: FontWeight.Medium,
105
+ color: TextColor.TextDefault,
106
+ twClassName: `shrink grow-0 flex-wrap text-center ${isLoading ? 'opacity-0' : ''} ${textClassName ? textClassName(pressed) : ''}`,
107
+ ...textProps,
108
+ }}>
102
109
  {children}
103
- </TextOrChildren>
104
- {finalEndIconName ? (<Icon name={finalEndIconName} size={IconSize.Sm} twClassName={`shrink-0 ${iconClassName ? iconClassName(pressed) : ''}`} {...endIconProps}/>) : (endAccessory)}
105
- </View>
110
+ </TextOrChildren>) : (<View style={tw.style(isLoading && 'opacity-0')}>{children}</View>)}
111
+
112
+ {finalEndIconName ? (<Icon name={finalEndIconName} size={IconSize.Sm} twClassName={`shrink-0 ${isLoading ? 'opacity-0' : ''} ${iconClassName ? iconClassName(pressed) : ''}`} {...endIconProps}/>) : (endAccessory && (<View style={tw.style(isLoading && 'opacity-0')}>
113
+ {endAccessory}
114
+ </View>))}
106
115
  </>)}
107
116
  </ButtonAnimated>);
108
117
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonBase.mjs","sourceRoot":"","sources":["../../../src/components/ButtonBase/ButtonBase.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useTailwind } from '@metamask/design-system-twrnc-preset';\nimport React, { useMemo } from 'react';\nimport { View } from 'react-native';\nimport type { StyleProp, ViewStyle } from 'react-native';\n\nimport { ButtonBaseSize } from '../../types';\nimport { Icon, IconColor, IconSize } from '../Icon';\nimport { ButtonAnimated } from '../temp-components/ButtonAnimated';\nimport { Spinner } from '../temp-components/Spinner';\nimport { TextOrChildren } from '../temp-components/TextOrChildren/TextOrChildren';\nimport { TextVariant, FontWeight, TextColor } from '../Text';\n\nimport { TWCLASSMAP_BUTTONBASE_SIZE_DIMENSION } from './ButtonBase.constants';\nimport type { ButtonBaseProps } from './ButtonBase.types';\n\nexport const ButtonBase = ({\n children,\n textProps,\n size = ButtonBaseSize.Lg,\n isLoading,\n loadingText,\n spinnerProps,\n startIconName,\n startIconProps,\n startAccessory,\n endIconName,\n endIconProps,\n endAccessory,\n isDisabled,\n isFullWidth,\n twClassName = '',\n textClassName,\n iconClassName,\n style,\n accessibilityLabel,\n accessibilityHint,\n accessibilityRole = 'button',\n accessibilityActions,\n onAccessibilityAction,\n ...props\n}: ButtonBaseProps) => {\n const tw = useTailwind();\n\n const finalStartIconName = startIconName ?? startIconProps?.name;\n const finalEndIconName = endIconName ?? endIconProps?.name;\n\n // Generate accessibility label if not provided\n const finalAccessibilityLabel = useMemo(() => {\n if (accessibilityLabel) {\n return accessibilityLabel;\n }\n\n // For loading state with loadingText, prioritize loadingText\n if (isLoading && loadingText) {\n return loadingText;\n }\n\n // If children is a string, use it as the label\n if (typeof children === 'string') {\n return children;\n }\n\n return undefined;\n }, [accessibilityLabel, children, isLoading, loadingText]);\n\n // Generate accessibility hint for loading state if not provided\n const finalAccessibilityHint = useMemo(() => {\n if (accessibilityHint) {\n return accessibilityHint;\n }\n\n if (isLoading) {\n return 'Button is currently loading, please wait';\n }\n\n return undefined;\n }, [accessibilityHint, isLoading]);\n\n // Create accessibilityState object with only truthy values\n const accessibilityState = useMemo(() => {\n const state: { disabled?: boolean; busy?: boolean } = {};\n\n if (isDisabled || isLoading) {\n state.disabled = true;\n }\n\n if (isLoading) {\n state.busy = true;\n }\n\n return state;\n }, [isDisabled, isLoading]);\n\n return (\n <ButtonAnimated\n disabled={isDisabled || isLoading}\n accessibilityRole={accessibilityRole}\n accessibilityLabel={finalAccessibilityLabel}\n accessibilityHint={finalAccessibilityHint}\n accessibilityActions={accessibilityActions}\n onAccessibilityAction={onAccessibilityAction}\n accessibilityState={accessibilityState}\n accessible\n style={({ pressed }) => {\n const containerClassName =\n typeof twClassName === 'function'\n ? twClassName(pressed)\n : twClassName;\n\n const baseContainerClassNames = `\n flex-row items-center justify-center rounded-xl bg-muted px-4 min-w-[80px] overflow-hidden\n ${TWCLASSMAP_BUTTONBASE_SIZE_DIMENSION[size]}\n ${isDisabled ? 'opacity-50' : 'opacity-100'}\n ${isFullWidth ? 'w-full' : 'w-auto'}\n ${containerClassName}\n `;\n\n const computedStyle: StyleProp<ViewStyle>[] = [\n tw`${baseContainerClassNames}`,\n ];\n if (typeof style === 'function') {\n const additionalStyle = style({ pressed });\n if (additionalStyle) {\n computedStyle.push(additionalStyle);\n }\n } else if (style) {\n computedStyle.push(style);\n }\n\n return computedStyle;\n }}\n {...props}\n >\n {({ pressed }) => (\n <>\n <View\n style={tw`absolute inset-0 flex items-center justify-center ${\n isLoading ? 'opacity-100' : 'opacity-0'\n }`}\n testID=\"spinner-container\"\n >\n <Spinner\n color={\n textClassName\n ? (textClassName(pressed) as IconColor)\n : IconColor.IconDefault\n }\n loadingText={loadingText}\n loadingTextProps={{\n numberOfLines: 1,\n twClassName: textClassName ? textClassName(pressed) : '',\n ...spinnerProps?.loadingTextProps,\n }}\n {...spinnerProps}\n />\n </View>\n <View\n style={tw`flex-row items-center justify-center gap-x-2 ${\n isLoading ? 'opacity-0' : 'opacity-100'\n }`}\n testID=\"content-container\"\n >\n {finalStartIconName ? (\n <Icon\n name={finalStartIconName}\n size={IconSize.Sm}\n twClassName={`shrink-0 ${iconClassName ? iconClassName(pressed) : ''}`}\n {...startIconProps}\n />\n ) : (\n startAccessory\n )}\n <TextOrChildren\n textProps={{\n variant: TextVariant.BodyMd,\n fontWeight: FontWeight.Medium,\n color: TextColor.TextDefault,\n twClassName: `shrink grow-0 flex-wrap text-center ${textClassName ? textClassName(pressed) : ''}`,\n ...textProps,\n }}\n >\n {children}\n </TextOrChildren>\n {finalEndIconName ? (\n <Icon\n name={finalEndIconName}\n size={IconSize.Sm}\n twClassName={`shrink-0 ${iconClassName ? iconClassName(pressed) : ''}`}\n {...endIconProps}\n />\n ) : (\n endAccessory\n )}\n </View>\n </>\n )}\n </ButtonAnimated>\n );\n};\n"]}
1
+ {"version":3,"file":"ButtonBase.mjs","sourceRoot":"","sources":["../../../src/components/ButtonBase/ButtonBase.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useTailwind } from '@metamask/design-system-twrnc-preset';\nimport React, { useMemo } from 'react';\nimport { View } from 'react-native';\nimport type { StyleProp, ViewStyle } from 'react-native';\n\nimport { ButtonBaseSize } from '../../types';\nimport { Icon, IconColor, IconSize } from '../Icon';\nimport { ButtonAnimated } from '../temp-components/ButtonAnimated';\nimport { Spinner } from '../temp-components/Spinner';\nimport { TextOrChildren } from '../temp-components/TextOrChildren/TextOrChildren';\nimport { TextVariant, FontWeight, TextColor } from '../Text';\n\nimport { TWCLASSMAP_BUTTONBASE_SIZE_DIMENSION } from './ButtonBase.constants';\nimport type { ButtonBaseProps } from './ButtonBase.types';\n\nexport const ButtonBase = ({\n children,\n textProps,\n size = ButtonBaseSize.Lg,\n isLoading,\n loadingText,\n spinnerProps,\n startIconName,\n startIconProps,\n startAccessory,\n endIconName,\n endIconProps,\n endAccessory,\n isDisabled,\n isFullWidth,\n twClassName,\n textClassName,\n iconClassName,\n style,\n accessibilityLabel,\n accessibilityHint,\n accessibilityRole = 'button',\n accessibilityActions,\n onAccessibilityAction,\n ...props\n}: ButtonBaseProps) => {\n const tw = useTailwind();\n\n const finalStartIconName = startIconName ?? startIconProps?.name;\n const finalEndIconName = endIconName ?? endIconProps?.name;\n\n // Generate accessibility label if not provided\n const finalAccessibilityLabel = useMemo(() => {\n if (accessibilityLabel) {\n return accessibilityLabel;\n }\n\n // For loading state with loadingText, prioritize loadingText\n if (isLoading && loadingText) {\n return loadingText;\n }\n\n // If children is a string, use it as the label\n if (typeof children === 'string') {\n return children;\n }\n\n return undefined;\n }, [accessibilityLabel, children, isLoading, loadingText]);\n\n // Generate accessibility hint for loading state if not provided\n const finalAccessibilityHint = useMemo(() => {\n if (accessibilityHint) {\n return accessibilityHint;\n }\n\n if (isLoading) {\n return 'Button is currently loading, please wait';\n }\n\n return undefined;\n }, [accessibilityHint, isLoading]);\n\n // Create accessibilityState object with only truthy values\n const accessibilityState = useMemo(() => {\n const state: { disabled?: boolean; busy?: boolean } = {};\n\n if (isDisabled || isLoading) {\n state.disabled = true;\n }\n\n if (isLoading) {\n state.busy = true;\n }\n\n return state;\n }, [isDisabled, isLoading]);\n\n return (\n <ButtonAnimated\n disabled={isDisabled || isLoading}\n accessibilityRole={accessibilityRole}\n accessibilityLabel={finalAccessibilityLabel}\n accessibilityHint={finalAccessibilityHint}\n accessibilityActions={accessibilityActions}\n onAccessibilityAction={onAccessibilityAction}\n accessibilityState={accessibilityState}\n accessible\n style={({ pressed }) => {\n // Evaluate custom className if it's a function\n const customClassName =\n typeof twClassName === 'function'\n ? twClassName(pressed)\n : twClassName;\n\n // Build button container styles\n const buttonStyles = tw.style(\n // Base layout - flex container for button content\n 'flex-row items-center justify-center gap-x-2',\n // Visual styling\n 'rounded-xl bg-muted px-4 min-w-[80px] overflow-hidden',\n // Size\n TWCLASSMAP_BUTTONBASE_SIZE_DIMENSION[size],\n // State-based opacity\n isDisabled ? 'opacity-50' : 'opacity-100',\n // Width - use self-start to prevent stretching when not full width\n isFullWidth ? 'w-full' : 'self-start',\n // Custom classes\n customClassName,\n );\n\n // Merge with additional styles if provided\n const computedStyle: StyleProp<ViewStyle>[] = [buttonStyles];\n\n const additionalStyle =\n typeof style === 'function' ? style({ pressed }) : style;\n\n if (additionalStyle) {\n computedStyle.push(additionalStyle);\n }\n\n return computedStyle;\n }}\n {...props}\n >\n {({ pressed }) => (\n <>\n {/* Loading spinner overlay */}\n {isLoading && (\n <View\n style={tw.style(\n 'absolute inset-0 flex items-center justify-center',\n )}\n testID=\"spinner-container\"\n >\n <Spinner\n color={\n textClassName\n ? (textClassName(pressed) as IconColor)\n : IconColor.IconDefault\n }\n loadingText={loadingText}\n loadingTextProps={{\n numberOfLines: 1,\n twClassName: textClassName ? textClassName(pressed) : '',\n ...spinnerProps?.loadingTextProps,\n }}\n {...spinnerProps}\n />\n </View>\n )}\n\n {/* Button content - opacity controlled individually on each child */}\n {finalStartIconName ? (\n <Icon\n name={finalStartIconName}\n size={IconSize.Sm}\n twClassName={`shrink-0 ${isLoading ? 'opacity-0' : ''} ${iconClassName ? iconClassName(pressed) : ''}`}\n {...startIconProps}\n />\n ) : (\n startAccessory && (\n <View style={tw.style(isLoading && 'opacity-0')}>\n {startAccessory}\n </View>\n )\n )}\n\n {typeof children === 'string' ? (\n <TextOrChildren\n textProps={{\n variant: TextVariant.BodyMd,\n fontWeight: FontWeight.Medium,\n color: TextColor.TextDefault,\n twClassName: `shrink grow-0 flex-wrap text-center ${isLoading ? 'opacity-0' : ''} ${textClassName ? textClassName(pressed) : ''}`,\n ...textProps,\n }}\n >\n {children}\n </TextOrChildren>\n ) : (\n <View style={tw.style(isLoading && 'opacity-0')}>{children}</View>\n )}\n\n {finalEndIconName ? (\n <Icon\n name={finalEndIconName}\n size={IconSize.Sm}\n twClassName={`shrink-0 ${isLoading ? 'opacity-0' : ''} ${iconClassName ? iconClassName(pressed) : ''}`}\n {...endIconProps}\n />\n ) : (\n endAccessory && (\n <View style={tw.style(isLoading && 'opacity-0')}>\n {endAccessory}\n </View>\n )\n )}\n </>\n )}\n </ButtonAnimated>\n );\n};\n"]}
@@ -30,10 +30,9 @@ const types_1 = require("../../types/index.cjs");
30
30
  const Icon_1 = require("../Icon/index.cjs");
31
31
  const ButtonAnimated_1 = require("../temp-components/ButtonAnimated/index.cjs");
32
32
  const ButtonIcon_constants_1 = require("./ButtonIcon.constants.cjs");
33
- const ButtonIcon = ({ size = types_1.ButtonIconSize.Md, iconName, iconProps, isDisabled = false, isInverse = false, isFloating = false, onPressIn, onPressOut, twClassName = '', style, ...props }) => {
33
+ const ButtonIcon = ({ size = types_1.ButtonIconSize.Md, iconName, iconProps, isDisabled = false, isInverse = false, isFloating = false, onPressIn, onPressOut, twClassName, style, ...props }) => {
34
34
  const [isPressed, setIsPressed] = (0, react_1.useState)(false);
35
35
  const tw = (0, design_system_twrnc_preset_1.useTailwind)();
36
- // Determine background color based on state
37
36
  let backgroundColor = 'bg-transparent';
38
37
  if (isFloating) {
39
38
  backgroundColor = 'bg-icon-default';
@@ -41,13 +40,6 @@ const ButtonIcon = ({ size = types_1.ButtonIconSize.Md, iconName, iconProps, isD
41
40
  else if (isPressed) {
42
41
  backgroundColor = 'bg-pressed';
43
42
  }
44
- const twContainerClassNames = `
45
- items-center justify-center
46
- ${ButtonIcon_constants_1.TWCLASSMAP_BUTTONICON_SIZE_DIMENSION[size]}
47
- ${isFloating ? 'rounded-full' : 'rounded-lg'}
48
- ${backgroundColor}
49
- ${isDisabled ? 'opacity-50' : 'opacity-100'}
50
- ${twClassName}`;
51
43
  const twIconColorClassNames = isInverse || isFloating ? 'text-primary-inverse' : 'text-icon-default';
52
44
  const onPressInHandler = (event) => {
53
45
  setIsPressed(true);
@@ -57,7 +49,10 @@ const ButtonIcon = ({ size = types_1.ButtonIconSize.Md, iconName, iconProps, isD
57
49
  setIsPressed(false);
58
50
  onPressOut?.(event);
59
51
  };
60
- return (<ButtonAnimated_1.ButtonAnimated disabled={isDisabled} onPressIn={onPressInHandler} onPressOut={onPressOutHandler} accessible style={[tw `${twContainerClassNames}`, style]} testID="button-icon" {...props}>
52
+ return (<ButtonAnimated_1.ButtonAnimated disabled={isDisabled} onPressIn={onPressInHandler} onPressOut={onPressOutHandler} accessible testID="button-icon" {...props} style={[
53
+ tw.style('items-center justify-center', ButtonIcon_constants_1.TWCLASSMAP_BUTTONICON_SIZE_DIMENSION[size], isFloating ? 'rounded-full' : 'rounded-lg', backgroundColor, isDisabled ? 'opacity-50' : 'opacity-100', twClassName),
54
+ style,
55
+ ]}>
61
56
  <Icon_1.Icon name={iconName} color={twIconColorClassNames} size={ButtonIcon_constants_1.MAP_BUTTONICON_SIZE_ICONSIZE[size]} {...iconProps}/>
62
57
  </ButtonAnimated_1.ButtonAnimated>);
63
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonIcon.cjs","sourceRoot":"","sources":["../../../src/components/ButtonIcon/ButtonIcon.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qFAAmE;AACnE,+CAAwC;AAGxC,iDAA6C;AAE7C,4CAA+B;AAC/B,gFAAmE;AAEnE,qEAGgC;AAGzB,MAAM,UAAU,GAAG,CAAC,EACzB,IAAI,GAAG,sBAAc,CAAC,EAAE,EACxB,QAAQ,EACR,SAAS,EACT,UAAU,GAAG,KAAK,EAClB,SAAS,GAAG,KAAK,EACjB,UAAU,GAAG,KAAK,EAClB,SAAS,EACT,UAAU,EACV,WAAW,GAAG,EAAE,EAChB,KAAK,EACL,GAAG,KAAK,EACQ,EAAE,EAAE;IACpB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAClD,MAAM,EAAE,GAAG,IAAA,wCAAW,GAAE,CAAC;IAEzB,4CAA4C;IAC5C,IAAI,eAAe,GAAG,gBAAgB,CAAC;IACvC,IAAI,UAAU,EAAE;QACd,eAAe,GAAG,iBAAiB,CAAC;KACrC;SAAM,IAAI,SAAS,EAAE;QACpB,eAAe,GAAG,YAAY,CAAC;KAChC;IAED,MAAM,qBAAqB,GAAG;;MAE1B,2DAAoC,CAAC,IAAI,CAAC;MAC1C,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY;MAC1C,eAAe;MACf,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa;MACzC,WAAW,EAAE,CAAC;IAElB,MAAM,qBAAqB,GACzB,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAEzE,MAAM,gBAAgB,GAAG,CAAC,KAA4B,EAAE,EAAE;QACxD,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,KAA4B,EAAE,EAAE;QACzD,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CACL,CAAC,+BAAc,CACb,QAAQ,CAAC,CAAC,UAAU,CAAC,CACrB,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAC5B,UAAU,CAAC,CAAC,iBAAiB,CAAC,CAC9B,UAAU,CACV,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA,GAAG,qBAAqB,EAAE,EAAE,KAAK,CAAC,CAAC,CAC7C,MAAM,CAAC,aAAa,CACpB,IAAI,KAAK,CAAC,CAEV;MAAA,CAAC,WAAI,CACH,IAAI,CAAC,CAAC,QAAQ,CAAC,CACf,KAAK,CAAC,CAAC,qBAAkC,CAAC,CAC1C,IAAI,CAAC,CAAC,mDAA4B,CAAC,IAAI,CAAC,CAAC,CACzC,IAAI,SAAS,CAAC,EAElB;IAAA,EAAE,+BAAc,CAAC,CAClB,CAAC;AACJ,CAAC,CAAC;AA/DW,QAAA,UAAU,cA+DrB","sourcesContent":["import { useTailwind } from '@metamask/design-system-twrnc-preset';\nimport React, { useState } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\n\nimport { ButtonIconSize } from '../../types';\nimport type { IconColor } from '../Icon';\nimport { Icon } from '../Icon';\nimport { ButtonAnimated } from '../temp-components/ButtonAnimated';\n\nimport {\n MAP_BUTTONICON_SIZE_ICONSIZE,\n TWCLASSMAP_BUTTONICON_SIZE_DIMENSION,\n} from './ButtonIcon.constants';\nimport type { ButtonIconProps } from './ButtonIcon.types';\n\nexport const ButtonIcon = ({\n size = ButtonIconSize.Md,\n iconName,\n iconProps,\n isDisabled = false,\n isInverse = false,\n isFloating = false,\n onPressIn,\n onPressOut,\n twClassName = '',\n style,\n ...props\n}: ButtonIconProps) => {\n const [isPressed, setIsPressed] = useState(false);\n const tw = useTailwind();\n\n // Determine background color based on state\n let backgroundColor = 'bg-transparent';\n if (isFloating) {\n backgroundColor = 'bg-icon-default';\n } else if (isPressed) {\n backgroundColor = 'bg-pressed';\n }\n\n const twContainerClassNames = `\n items-center justify-center\n ${TWCLASSMAP_BUTTONICON_SIZE_DIMENSION[size]}\n ${isFloating ? 'rounded-full' : 'rounded-lg'}\n ${backgroundColor}\n ${isDisabled ? 'opacity-50' : 'opacity-100'}\n ${twClassName}`;\n\n const twIconColorClassNames =\n isInverse || isFloating ? 'text-primary-inverse' : 'text-icon-default';\n\n const onPressInHandler = (event: GestureResponderEvent) => {\n setIsPressed(true);\n onPressIn?.(event);\n };\n\n const onPressOutHandler = (event: GestureResponderEvent) => {\n setIsPressed(false);\n onPressOut?.(event);\n };\n\n return (\n <ButtonAnimated\n disabled={isDisabled}\n onPressIn={onPressInHandler}\n onPressOut={onPressOutHandler}\n accessible\n style={[tw`${twContainerClassNames}`, style]}\n testID=\"button-icon\"\n {...props}\n >\n <Icon\n name={iconName}\n color={twIconColorClassNames as IconColor}\n size={MAP_BUTTONICON_SIZE_ICONSIZE[size]}\n {...iconProps}\n />\n </ButtonAnimated>\n );\n};\n"]}
1
+ {"version":3,"file":"ButtonIcon.cjs","sourceRoot":"","sources":["../../../src/components/ButtonIcon/ButtonIcon.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qFAAmE;AACnE,+CAAwC;AAGxC,iDAA6C;AAE7C,4CAA+B;AAC/B,gFAAmE;AAEnE,qEAGgC;AAGzB,MAAM,UAAU,GAAG,CAAC,EACzB,IAAI,GAAG,sBAAc,CAAC,EAAE,EACxB,QAAQ,EACR,SAAS,EACT,UAAU,GAAG,KAAK,EAClB,SAAS,GAAG,KAAK,EACjB,UAAU,GAAG,KAAK,EAClB,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,EACL,GAAG,KAAK,EACQ,EAAE,EAAE;IACpB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAClD,MAAM,EAAE,GAAG,IAAA,wCAAW,GAAE,CAAC;IAEzB,IAAI,eAAe,GAAG,gBAAgB,CAAC;IACvC,IAAI,UAAU,EAAE;QACd,eAAe,GAAG,iBAAiB,CAAC;KACrC;SAAM,IAAI,SAAS,EAAE;QACpB,eAAe,GAAG,YAAY,CAAC;KAChC;IAED,MAAM,qBAAqB,GACzB,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAEzE,MAAM,gBAAgB,GAAG,CAAC,KAA4B,EAAE,EAAE;QACxD,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,KAA4B,EAAE,EAAE;QACzD,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CACL,CAAC,+BAAc,CACb,QAAQ,CAAC,CAAC,UAAU,CAAC,CACrB,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAC5B,UAAU,CAAC,CAAC,iBAAiB,CAAC,CAC9B,UAAU,CACV,MAAM,CAAC,aAAa,CACpB,IAAI,KAAK,CAAC,CACV,KAAK,CAAC,CAAC;YACL,EAAE,CAAC,KAAK,CACN,6BAA6B,EAC7B,2DAAoC,CAAC,IAAI,CAAC,EAC1C,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,EAC1C,eAAe,EACf,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EACzC,WAAW,CACZ;YACD,KAAK;SACN,CAAC,CAEF;MAAA,CAAC,WAAI,CACH,IAAI,CAAC,CAAC,QAAQ,CAAC,CACf,KAAK,CAAC,CAAC,qBAAkC,CAAC,CAC1C,IAAI,CAAC,CAAC,mDAA4B,CAAC,IAAI,CAAC,CAAC,CACzC,IAAI,SAAS,CAAC,EAElB;IAAA,EAAE,+BAAc,CAAC,CAClB,CAAC;AACJ,CAAC,CAAC;AAhEW,QAAA,UAAU,cAgErB","sourcesContent":["import { useTailwind } from '@metamask/design-system-twrnc-preset';\nimport React, { useState } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\n\nimport { ButtonIconSize } from '../../types';\nimport type { IconColor } from '../Icon';\nimport { Icon } from '../Icon';\nimport { ButtonAnimated } from '../temp-components/ButtonAnimated';\n\nimport {\n MAP_BUTTONICON_SIZE_ICONSIZE,\n TWCLASSMAP_BUTTONICON_SIZE_DIMENSION,\n} from './ButtonIcon.constants';\nimport type { ButtonIconProps } from './ButtonIcon.types';\n\nexport const ButtonIcon = ({\n size = ButtonIconSize.Md,\n iconName,\n iconProps,\n isDisabled = false,\n isInverse = false,\n isFloating = false,\n onPressIn,\n onPressOut,\n twClassName,\n style,\n ...props\n}: ButtonIconProps) => {\n const [isPressed, setIsPressed] = useState(false);\n const tw = useTailwind();\n\n let backgroundColor = 'bg-transparent';\n if (isFloating) {\n backgroundColor = 'bg-icon-default';\n } else if (isPressed) {\n backgroundColor = 'bg-pressed';\n }\n\n const twIconColorClassNames =\n isInverse || isFloating ? 'text-primary-inverse' : 'text-icon-default';\n\n const onPressInHandler = (event: GestureResponderEvent) => {\n setIsPressed(true);\n onPressIn?.(event);\n };\n\n const onPressOutHandler = (event: GestureResponderEvent) => {\n setIsPressed(false);\n onPressOut?.(event);\n };\n\n return (\n <ButtonAnimated\n disabled={isDisabled}\n onPressIn={onPressInHandler}\n onPressOut={onPressOutHandler}\n accessible\n testID=\"button-icon\"\n {...props}\n style={[\n tw.style(\n 'items-center justify-center',\n TWCLASSMAP_BUTTONICON_SIZE_DIMENSION[size],\n isFloating ? 'rounded-full' : 'rounded-lg',\n backgroundColor,\n isDisabled ? 'opacity-50' : 'opacity-100',\n twClassName,\n ),\n style,\n ]}\n >\n <Icon\n name={iconName}\n color={twIconColorClassNames as IconColor}\n size={MAP_BUTTONICON_SIZE_ICONSIZE[size]}\n {...iconProps}\n />\n </ButtonAnimated>\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonIcon.d.cts","sourceRoot":"","sources":["../../../src/components/ButtonIcon/ButtonIcon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,cAAc;AAYxC,OAAO,KAAK,EAAE,eAAe,EAAE,+BAA2B;AAE1D,eAAO,MAAM,UAAU,0HAYpB,eAAe,sBAmDjB,CAAC"}
1
+ {"version":3,"file":"ButtonIcon.d.cts","sourceRoot":"","sources":["../../../src/components/ButtonIcon/ButtonIcon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,cAAc;AAYxC,OAAO,KAAK,EAAE,eAAe,EAAE,+BAA2B;AAE1D,eAAO,MAAM,UAAU,0HAYpB,eAAe,sBAoDjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonIcon.d.mts","sourceRoot":"","sources":["../../../src/components/ButtonIcon/ButtonIcon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,cAAc;AAYxC,OAAO,KAAK,EAAE,eAAe,EAAE,+BAA2B;AAE1D,eAAO,MAAM,UAAU,0HAYpB,eAAe,sBAmDjB,CAAC"}
1
+ {"version":3,"file":"ButtonIcon.d.mts","sourceRoot":"","sources":["../../../src/components/ButtonIcon/ButtonIcon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,cAAc;AAYxC,OAAO,KAAK,EAAE,eAAe,EAAE,+BAA2B;AAE1D,eAAO,MAAM,UAAU,0HAYpB,eAAe,sBAoDjB,CAAC"}
@@ -11,10 +11,9 @@ import { ButtonIconSize } from "../../types/index.mjs";
11
11
  import { Icon } from "../Icon/index.mjs";
12
12
  import { ButtonAnimated } from "../temp-components/ButtonAnimated/index.mjs";
13
13
  import { MAP_BUTTONICON_SIZE_ICONSIZE, TWCLASSMAP_BUTTONICON_SIZE_DIMENSION } from "./ButtonIcon.constants.mjs";
14
- export const ButtonIcon = ({ size = ButtonIconSize.Md, iconName, iconProps, isDisabled = false, isInverse = false, isFloating = false, onPressIn, onPressOut, twClassName = '', style, ...props }) => {
14
+ export const ButtonIcon = ({ size = ButtonIconSize.Md, iconName, iconProps, isDisabled = false, isInverse = false, isFloating = false, onPressIn, onPressOut, twClassName, style, ...props }) => {
15
15
  const [isPressed, setIsPressed] = useState(false);
16
16
  const tw = useTailwind();
17
- // Determine background color based on state
18
17
  let backgroundColor = 'bg-transparent';
19
18
  if (isFloating) {
20
19
  backgroundColor = 'bg-icon-default';
@@ -22,13 +21,6 @@ export const ButtonIcon = ({ size = ButtonIconSize.Md, iconName, iconProps, isDi
22
21
  else if (isPressed) {
23
22
  backgroundColor = 'bg-pressed';
24
23
  }
25
- const twContainerClassNames = `
26
- items-center justify-center
27
- ${TWCLASSMAP_BUTTONICON_SIZE_DIMENSION[size]}
28
- ${isFloating ? 'rounded-full' : 'rounded-lg'}
29
- ${backgroundColor}
30
- ${isDisabled ? 'opacity-50' : 'opacity-100'}
31
- ${twClassName}`;
32
24
  const twIconColorClassNames = isInverse || isFloating ? 'text-primary-inverse' : 'text-icon-default';
33
25
  const onPressInHandler = (event) => {
34
26
  setIsPressed(true);
@@ -38,7 +30,10 @@ export const ButtonIcon = ({ size = ButtonIconSize.Md, iconName, iconProps, isDi
38
30
  setIsPressed(false);
39
31
  onPressOut?.(event);
40
32
  };
41
- return (<ButtonAnimated disabled={isDisabled} onPressIn={onPressInHandler} onPressOut={onPressOutHandler} accessible style={[tw `${twContainerClassNames}`, style]} testID="button-icon" {...props}>
33
+ return (<ButtonAnimated disabled={isDisabled} onPressIn={onPressInHandler} onPressOut={onPressOutHandler} accessible testID="button-icon" {...props} style={[
34
+ tw.style('items-center justify-center', TWCLASSMAP_BUTTONICON_SIZE_DIMENSION[size], isFloating ? 'rounded-full' : 'rounded-lg', backgroundColor, isDisabled ? 'opacity-50' : 'opacity-100', twClassName),
35
+ style,
36
+ ]}>
42
37
  <Icon name={iconName} color={twIconColorClassNames} size={MAP_BUTTONICON_SIZE_ICONSIZE[size]} {...iconProps}/>
43
38
  </ButtonAnimated>);
44
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonIcon.mjs","sourceRoot":"","sources":["../../../src/components/ButtonIcon/ButtonIcon.tsx"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,6CAA6C;AACnE,OAAO,QAAO,EAAE,QAAQ,EAAE,cAAc;;AAGxC,OAAO,EAAE,cAAc,EAAE,8BAAoB;AAE7C,OAAO,EAAE,IAAI,EAAE,0BAAgB;AAC/B,OAAO,EAAE,cAAc,EAAE,oDAA0C;AAEnE,OAAO,EACL,4BAA4B,EAC5B,oCAAoC,EACrC,mCAA+B;AAGhC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,IAAI,GAAG,cAAc,CAAC,EAAE,EACxB,QAAQ,EACR,SAAS,EACT,UAAU,GAAG,KAAK,EAClB,SAAS,GAAG,KAAK,EACjB,UAAU,GAAG,KAAK,EAClB,SAAS,EACT,UAAU,EACV,WAAW,GAAG,EAAE,EAChB,KAAK,EACL,GAAG,KAAK,EACQ,EAAE,EAAE;IACpB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,4CAA4C;IAC5C,IAAI,eAAe,GAAG,gBAAgB,CAAC;IACvC,IAAI,UAAU,EAAE;QACd,eAAe,GAAG,iBAAiB,CAAC;KACrC;SAAM,IAAI,SAAS,EAAE;QACpB,eAAe,GAAG,YAAY,CAAC;KAChC;IAED,MAAM,qBAAqB,GAAG;;MAE1B,oCAAoC,CAAC,IAAI,CAAC;MAC1C,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY;MAC1C,eAAe;MACf,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa;MACzC,WAAW,EAAE,CAAC;IAElB,MAAM,qBAAqB,GACzB,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAEzE,MAAM,gBAAgB,GAAG,CAAC,KAA4B,EAAE,EAAE;QACxD,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,KAA4B,EAAE,EAAE;QACzD,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CACL,CAAC,cAAc,CACb,QAAQ,CAAC,CAAC,UAAU,CAAC,CACrB,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAC5B,UAAU,CAAC,CAAC,iBAAiB,CAAC,CAC9B,UAAU,CACV,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA,GAAG,qBAAqB,EAAE,EAAE,KAAK,CAAC,CAAC,CAC7C,MAAM,CAAC,aAAa,CACpB,IAAI,KAAK,CAAC,CAEV;MAAA,CAAC,IAAI,CACH,IAAI,CAAC,CAAC,QAAQ,CAAC,CACf,KAAK,CAAC,CAAC,qBAAkC,CAAC,CAC1C,IAAI,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,CACzC,IAAI,SAAS,CAAC,EAElB;IAAA,EAAE,cAAc,CAAC,CAClB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { useTailwind } from '@metamask/design-system-twrnc-preset';\nimport React, { useState } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\n\nimport { ButtonIconSize } from '../../types';\nimport type { IconColor } from '../Icon';\nimport { Icon } from '../Icon';\nimport { ButtonAnimated } from '../temp-components/ButtonAnimated';\n\nimport {\n MAP_BUTTONICON_SIZE_ICONSIZE,\n TWCLASSMAP_BUTTONICON_SIZE_DIMENSION,\n} from './ButtonIcon.constants';\nimport type { ButtonIconProps } from './ButtonIcon.types';\n\nexport const ButtonIcon = ({\n size = ButtonIconSize.Md,\n iconName,\n iconProps,\n isDisabled = false,\n isInverse = false,\n isFloating = false,\n onPressIn,\n onPressOut,\n twClassName = '',\n style,\n ...props\n}: ButtonIconProps) => {\n const [isPressed, setIsPressed] = useState(false);\n const tw = useTailwind();\n\n // Determine background color based on state\n let backgroundColor = 'bg-transparent';\n if (isFloating) {\n backgroundColor = 'bg-icon-default';\n } else if (isPressed) {\n backgroundColor = 'bg-pressed';\n }\n\n const twContainerClassNames = `\n items-center justify-center\n ${TWCLASSMAP_BUTTONICON_SIZE_DIMENSION[size]}\n ${isFloating ? 'rounded-full' : 'rounded-lg'}\n ${backgroundColor}\n ${isDisabled ? 'opacity-50' : 'opacity-100'}\n ${twClassName}`;\n\n const twIconColorClassNames =\n isInverse || isFloating ? 'text-primary-inverse' : 'text-icon-default';\n\n const onPressInHandler = (event: GestureResponderEvent) => {\n setIsPressed(true);\n onPressIn?.(event);\n };\n\n const onPressOutHandler = (event: GestureResponderEvent) => {\n setIsPressed(false);\n onPressOut?.(event);\n };\n\n return (\n <ButtonAnimated\n disabled={isDisabled}\n onPressIn={onPressInHandler}\n onPressOut={onPressOutHandler}\n accessible\n style={[tw`${twContainerClassNames}`, style]}\n testID=\"button-icon\"\n {...props}\n >\n <Icon\n name={iconName}\n color={twIconColorClassNames as IconColor}\n size={MAP_BUTTONICON_SIZE_ICONSIZE[size]}\n {...iconProps}\n />\n </ButtonAnimated>\n );\n};\n"]}
1
+ {"version":3,"file":"ButtonIcon.mjs","sourceRoot":"","sources":["../../../src/components/ButtonIcon/ButtonIcon.tsx"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,6CAA6C;AACnE,OAAO,QAAO,EAAE,QAAQ,EAAE,cAAc;;AAGxC,OAAO,EAAE,cAAc,EAAE,8BAAoB;AAE7C,OAAO,EAAE,IAAI,EAAE,0BAAgB;AAC/B,OAAO,EAAE,cAAc,EAAE,oDAA0C;AAEnE,OAAO,EACL,4BAA4B,EAC5B,oCAAoC,EACrC,mCAA+B;AAGhC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,IAAI,GAAG,cAAc,CAAC,EAAE,EACxB,QAAQ,EACR,SAAS,EACT,UAAU,GAAG,KAAK,EAClB,SAAS,GAAG,KAAK,EACjB,UAAU,GAAG,KAAK,EAClB,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,EACL,GAAG,KAAK,EACQ,EAAE,EAAE;IACpB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,IAAI,eAAe,GAAG,gBAAgB,CAAC;IACvC,IAAI,UAAU,EAAE;QACd,eAAe,GAAG,iBAAiB,CAAC;KACrC;SAAM,IAAI,SAAS,EAAE;QACpB,eAAe,GAAG,YAAY,CAAC;KAChC;IAED,MAAM,qBAAqB,GACzB,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAEzE,MAAM,gBAAgB,GAAG,CAAC,KAA4B,EAAE,EAAE;QACxD,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,KAA4B,EAAE,EAAE;QACzD,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CACL,CAAC,cAAc,CACb,QAAQ,CAAC,CAAC,UAAU,CAAC,CACrB,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAC5B,UAAU,CAAC,CAAC,iBAAiB,CAAC,CAC9B,UAAU,CACV,MAAM,CAAC,aAAa,CACpB,IAAI,KAAK,CAAC,CACV,KAAK,CAAC,CAAC;YACL,EAAE,CAAC,KAAK,CACN,6BAA6B,EAC7B,oCAAoC,CAAC,IAAI,CAAC,EAC1C,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,EAC1C,eAAe,EACf,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EACzC,WAAW,CACZ;YACD,KAAK;SACN,CAAC,CAEF;MAAA,CAAC,IAAI,CACH,IAAI,CAAC,CAAC,QAAQ,CAAC,CACf,KAAK,CAAC,CAAC,qBAAkC,CAAC,CAC1C,IAAI,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,CACzC,IAAI,SAAS,CAAC,EAElB;IAAA,EAAE,cAAc,CAAC,CAClB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { useTailwind } from '@metamask/design-system-twrnc-preset';\nimport React, { useState } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\n\nimport { ButtonIconSize } from '../../types';\nimport type { IconColor } from '../Icon';\nimport { Icon } from '../Icon';\nimport { ButtonAnimated } from '../temp-components/ButtonAnimated';\n\nimport {\n MAP_BUTTONICON_SIZE_ICONSIZE,\n TWCLASSMAP_BUTTONICON_SIZE_DIMENSION,\n} from './ButtonIcon.constants';\nimport type { ButtonIconProps } from './ButtonIcon.types';\n\nexport const ButtonIcon = ({\n size = ButtonIconSize.Md,\n iconName,\n iconProps,\n isDisabled = false,\n isInverse = false,\n isFloating = false,\n onPressIn,\n onPressOut,\n twClassName,\n style,\n ...props\n}: ButtonIconProps) => {\n const [isPressed, setIsPressed] = useState(false);\n const tw = useTailwind();\n\n let backgroundColor = 'bg-transparent';\n if (isFloating) {\n backgroundColor = 'bg-icon-default';\n } else if (isPressed) {\n backgroundColor = 'bg-pressed';\n }\n\n const twIconColorClassNames =\n isInverse || isFloating ? 'text-primary-inverse' : 'text-icon-default';\n\n const onPressInHandler = (event: GestureResponderEvent) => {\n setIsPressed(true);\n onPressIn?.(event);\n };\n\n const onPressOutHandler = (event: GestureResponderEvent) => {\n setIsPressed(false);\n onPressOut?.(event);\n };\n\n return (\n <ButtonAnimated\n disabled={isDisabled}\n onPressIn={onPressInHandler}\n onPressOut={onPressOutHandler}\n accessible\n testID=\"button-icon\"\n {...props}\n style={[\n tw.style(\n 'items-center justify-center',\n TWCLASSMAP_BUTTONICON_SIZE_DIMENSION[size],\n isFloating ? 'rounded-full' : 'rounded-lg',\n backgroundColor,\n isDisabled ? 'opacity-50' : 'opacity-100',\n twClassName,\n ),\n style,\n ]}\n >\n <Icon\n name={iconName}\n color={twIconColorClassNames as IconColor}\n size={MAP_BUTTONICON_SIZE_ICONSIZE[size]}\n {...iconProps}\n />\n </ButtonAnimated>\n );\n};\n"]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Card = void 0;
7
+ const design_system_twrnc_preset_1 = require("@metamask/design-system-twrnc-preset");
8
+ const react_1 = __importDefault(require("react"));
9
+ const react_native_1 = require("react-native/index.js");
10
+ const Card = ({ children, onPress, twClassName, touchableOpacityProps, style, ...props }) => {
11
+ const tw = (0, design_system_twrnc_preset_1.useTailwind)();
12
+ const cardStyle = [
13
+ tw.style('p-4 rounded border border-default bg-default', twClassName),
14
+ style,
15
+ ];
16
+ if (onPress) {
17
+ return (<react_native_1.TouchableOpacity onPress={onPress} style={cardStyle} {...touchableOpacityProps} {...props}>
18
+ {children}
19
+ </react_native_1.TouchableOpacity>);
20
+ }
21
+ return (<react_native_1.View style={cardStyle} {...props}>
22
+ {children}
23
+ </react_native_1.View>);
24
+ };
25
+ exports.Card = Card;
26
+ //# sourceMappingURL=Card.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.cjs","sourceRoot":"","sources":["../../../src/components/Card/Card.tsx"],"names":[],"mappings":";;;;;;AAAA,qFAAmE;AACnE,kDAA0B;AAC1B,wDAAsD;AAI/C,MAAM,IAAI,GAAG,CAAC,EACnB,QAAQ,EACR,OAAO,EACP,WAAW,EACX,qBAAqB,EACrB,KAAK,EACL,GAAG,KAAK,EACE,EAAE,EAAE;IACd,MAAM,EAAE,GAAG,IAAA,wCAAW,GAAE,CAAC;IAEzB,MAAM,SAAS,GAAG;QAChB,EAAE,CAAC,KAAK,CAAC,8CAA8C,EAAE,WAAW,CAAC;QACrE,KAAK;KACN,CAAC;IAEF,IAAI,OAAO,EAAE;QACX,OAAO,CACL,CAAC,+BAAgB,CACf,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,KAAK,CAAC,CAAC,SAAS,CAAC,CACjB,IAAI,qBAAqB,CAAC,CAC1B,IAAI,KAAK,CAAC,CAEV;QAAA,CAAC,QAAQ,CACX;MAAA,EAAE,+BAAgB,CAAC,CACpB,CAAC;KACH;IAED,OAAO,CACL,CAAC,mBAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,CAChC;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,mBAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAjCW,QAAA,IAAI,QAiCf","sourcesContent":["import { useTailwind } from '@metamask/design-system-twrnc-preset';\nimport React from 'react';\nimport { TouchableOpacity, View } from 'react-native';\n\nimport type { CardProps } from './Card.types';\n\nexport const Card = ({\n children,\n onPress,\n twClassName,\n touchableOpacityProps,\n style,\n ...props\n}: CardProps) => {\n const tw = useTailwind();\n\n const cardStyle = [\n tw.style('p-4 rounded border border-default bg-default', twClassName),\n style,\n ];\n\n if (onPress) {\n return (\n <TouchableOpacity\n onPress={onPress}\n style={cardStyle}\n {...touchableOpacityProps}\n {...props}\n >\n {children}\n </TouchableOpacity>\n );\n }\n\n return (\n <View style={cardStyle} {...props}>\n {children}\n </View>\n );\n};\n"]}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import type { CardProps } from "./Card.types.cjs";
3
+ export declare const Card: ({ children, onPress, twClassName, touchableOpacityProps, style, ...props }: CardProps) => React.JSX.Element;
4
+ //# sourceMappingURL=Card.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.d.cts","sourceRoot":"","sources":["../../../src/components/Card/Card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc;AAG1B,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAqB;AAE9C,eAAO,MAAM,IAAI,+EAOd,SAAS,sBA0BX,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import type { CardProps } from "./Card.types.mjs";
3
+ export declare const Card: ({ children, onPress, twClassName, touchableOpacityProps, style, ...props }: CardProps) => React.JSX.Element;
4
+ //# sourceMappingURL=Card.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.d.mts","sourceRoot":"","sources":["../../../src/components/Card/Card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc;AAG1B,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAqB;AAE9C,eAAO,MAAM,IAAI,+EAOd,SAAS,sBA0BX,CAAC"}
@@ -0,0 +1,26 @@
1
+ function $importDefault(module) {
2
+ if (module?.__esModule) {
3
+ return module.default;
4
+ }
5
+ return module;
6
+ }
7
+ import { useTailwind } from "@metamask/design-system-twrnc-preset";
8
+ import $React from "react";
9
+ const React = $importDefault($React);
10
+ import { TouchableOpacity, View } from "react-native/index.js";
11
+ export const Card = ({ children, onPress, twClassName, touchableOpacityProps, style, ...props }) => {
12
+ const tw = useTailwind();
13
+ const cardStyle = [
14
+ tw.style('p-4 rounded border border-default bg-default', twClassName),
15
+ style,
16
+ ];
17
+ if (onPress) {
18
+ return (<TouchableOpacity onPress={onPress} style={cardStyle} {...touchableOpacityProps} {...props}>
19
+ {children}
20
+ </TouchableOpacity>);
21
+ }
22
+ return (<View style={cardStyle} {...props}>
23
+ {children}
24
+ </View>);
25
+ };
26
+ //# sourceMappingURL=Card.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.mjs","sourceRoot":"","sources":["../../../src/components/Card/Card.tsx"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,6CAA6C;AACnE,OAAO,MAAK,cAAc;;AAC1B,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,8BAAqB;AAItD,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EACnB,QAAQ,EACR,OAAO,EACP,WAAW,EACX,qBAAqB,EACrB,KAAK,EACL,GAAG,KAAK,EACE,EAAE,EAAE;IACd,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,MAAM,SAAS,GAAG;QAChB,EAAE,CAAC,KAAK,CAAC,8CAA8C,EAAE,WAAW,CAAC;QACrE,KAAK;KACN,CAAC;IAEF,IAAI,OAAO,EAAE;QACX,OAAO,CACL,CAAC,gBAAgB,CACf,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,KAAK,CAAC,CAAC,SAAS,CAAC,CACjB,IAAI,qBAAqB,CAAC,CAC1B,IAAI,KAAK,CAAC,CAEV;QAAA,CAAC,QAAQ,CACX;MAAA,EAAE,gBAAgB,CAAC,CACpB,CAAC;KACH;IAED,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,CAChC;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { useTailwind } from '@metamask/design-system-twrnc-preset';\nimport React from 'react';\nimport { TouchableOpacity, View } from 'react-native';\n\nimport type { CardProps } from './Card.types';\n\nexport const Card = ({\n children,\n onPress,\n twClassName,\n touchableOpacityProps,\n style,\n ...props\n}: CardProps) => {\n const tw = useTailwind();\n\n const cardStyle = [\n tw.style('p-4 rounded border border-default bg-default', twClassName),\n style,\n ];\n\n if (onPress) {\n return (\n <TouchableOpacity\n onPress={onPress}\n style={cardStyle}\n {...touchableOpacityProps}\n {...props}\n >\n {children}\n </TouchableOpacity>\n );\n }\n\n return (\n <View style={cardStyle} {...props}>\n {children}\n </View>\n );\n};\n"]}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Card.types.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.types.cjs","sourceRoot":"","sources":["../../../src/components/Card/Card.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactNode } from 'react';\nimport type { TouchableOpacityProps, ViewProps } from 'react-native';\n\n/**\n * Card component props.\n */\nexport type CardProps = {\n /**\n * Content to display inside the card.\n */\n children: ReactNode;\n /**\n * Optional callback when the card is pressed.\n * When provided, the card wraps content in a TouchableOpacity.\n */\n onPress?: () => void;\n /**\n * Optional prop to add twrnc overriding classNames.\n */\n twClassName?: string;\n /**\n * Optional props to pass to the underlying TouchableOpacity when onPress is provided.\n */\n touchableOpacityProps?: Omit<\n TouchableOpacityProps,\n 'onPress' | 'style' | 'children'\n >;\n} & ViewProps;\n"]}
@@ -0,0 +1,25 @@
1
+ import type { ReactNode } from "react";
2
+ import type { TouchableOpacityProps, ViewProps } from "react-native/index.js";
3
+ /**
4
+ * Card component props.
5
+ */
6
+ export type CardProps = {
7
+ /**
8
+ * Content to display inside the card.
9
+ */
10
+ children: ReactNode;
11
+ /**
12
+ * Optional callback when the card is pressed.
13
+ * When provided, the card wraps content in a TouchableOpacity.
14
+ */
15
+ onPress?: () => void;
16
+ /**
17
+ * Optional prop to add twrnc overriding classNames.
18
+ */
19
+ twClassName?: string;
20
+ /**
21
+ * Optional props to pass to the underlying TouchableOpacity when onPress is provided.
22
+ */
23
+ touchableOpacityProps?: Omit<TouchableOpacityProps, 'onPress' | 'style' | 'children'>;
24
+ } & ViewProps;
25
+ //# sourceMappingURL=Card.types.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.types.d.cts","sourceRoot":"","sources":["../../../src/components/Card/Card.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc;AACvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,8BAAqB;AAErE;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,qBAAqB,CAAC,EAAE,IAAI,CAC1B,qBAAqB,EACrB,SAAS,GAAG,OAAO,GAAG,UAAU,CACjC,CAAC;CACH,GAAG,SAAS,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { ReactNode } from "react";
2
+ import type { TouchableOpacityProps, ViewProps } from "react-native/index.js";
3
+ /**
4
+ * Card component props.
5
+ */
6
+ export type CardProps = {
7
+ /**
8
+ * Content to display inside the card.
9
+ */
10
+ children: ReactNode;
11
+ /**
12
+ * Optional callback when the card is pressed.
13
+ * When provided, the card wraps content in a TouchableOpacity.
14
+ */
15
+ onPress?: () => void;
16
+ /**
17
+ * Optional prop to add twrnc overriding classNames.
18
+ */
19
+ twClassName?: string;
20
+ /**
21
+ * Optional props to pass to the underlying TouchableOpacity when onPress is provided.
22
+ */
23
+ touchableOpacityProps?: Omit<TouchableOpacityProps, 'onPress' | 'style' | 'children'>;
24
+ } & ViewProps;
25
+ //# sourceMappingURL=Card.types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.types.d.mts","sourceRoot":"","sources":["../../../src/components/Card/Card.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc;AACvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,8BAAqB;AAErE;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,qBAAqB,CAAC,EAAE,IAAI,CAC1B,qBAAqB,EACrB,SAAS,GAAG,OAAO,GAAG,UAAU,CACjC,CAAC;CACH,GAAG,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Card.types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.types.mjs","sourceRoot":"","sources":["../../../src/components/Card/Card.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactNode } from 'react';\nimport type { TouchableOpacityProps, ViewProps } from 'react-native';\n\n/**\n * Card component props.\n */\nexport type CardProps = {\n /**\n * Content to display inside the card.\n */\n children: ReactNode;\n /**\n * Optional callback when the card is pressed.\n * When provided, the card wraps content in a TouchableOpacity.\n */\n onPress?: () => void;\n /**\n * Optional prop to add twrnc overriding classNames.\n */\n twClassName?: string;\n /**\n * Optional props to pass to the underlying TouchableOpacity when onPress is provided.\n */\n touchableOpacityProps?: Omit<\n TouchableOpacityProps,\n 'onPress' | 'style' | 'children'\n >;\n} & ViewProps;\n"]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Card = void 0;
4
+ var Card_1 = require("./Card.cjs");
5
+ Object.defineProperty(exports, "Card", { enumerable: true, get: function () { return Card_1.Card; } });
6
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../src/components/Card/index.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;AAArB,4FAAA,IAAI,OAAA","sourcesContent":["export { Card } from './Card';\nexport type { CardProps } from './Card.types';\n"]}
@@ -0,0 +1,3 @@
1
+ export { Card } from "./Card.cjs";
2
+ export type { CardProps } from "./Card.types.cjs";
3
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/components/Card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,mBAAe;AAC9B,YAAY,EAAE,SAAS,EAAE,yBAAqB"}
@@ -0,0 +1,3 @@
1
+ export { Card } from "./Card.mjs";
2
+ export type { CardProps } from "./Card.types.mjs";
3
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/components/Card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,mBAAe;AAC9B,YAAY,EAAE,SAAS,EAAE,yBAAqB"}
@@ -0,0 +1,2 @@
1
+ export { Card } from "./Card.mjs";
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/components/Card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,mBAAe","sourcesContent":["export { Card } from './Card';\nexport type { CardProps } from './Card.types';\n"]}
@@ -30,7 +30,7 @@ const react_native_1 = require("react-native/index.js");
30
30
  const Icon_1 = require("../Icon/index.cjs");
31
31
  const TextOrChildren_1 = require("../temp-components/TextOrChildren/index.cjs");
32
32
  const AnimatedView = react_native_1.Animated.View;
33
- exports.Checkbox = (0, react_1.forwardRef)(({ isSelected, isDisabled = false, isInvalid = false, label = '', labelProps, onChange, checkboxContainerProps, checkedIconProps, twClassName = '', style, ...props }, ref) => {
33
+ exports.Checkbox = (0, react_1.forwardRef)(({ isSelected, isDisabled = false, isInvalid = false, label = '', labelProps, onChange, checkboxContainerProps, checkedIconProps, twClassName, style, ...props }, ref) => {
34
34
  // Animation values
35
35
  const scaleAnim = (0, react_1.useRef)(new react_native_1.Animated.Value(1)).current;
36
36
  const iconAnim = (0, react_1.useRef)(new react_native_1.Animated.Value(isSelected ? 1 : 0)).current;
@@ -70,7 +70,7 @@ exports.Checkbox = (0, react_1.forwardRef)(({ isSelected, isDisabled = false, is
70
70
  };
71
71
  (0, react_1.useImperativeHandle)(ref, () => ({ toggle: handlePress }), [handlePress]);
72
72
  const tw = (0, design_system_twrnc_preset_1.useTailwind)();
73
- const twContainerClassNames = tw `flex-row items-center ${isDisabled ? 'opacity-50' : 'opacity-100'} ${twClassName}`;
73
+ const twContainerClassNames = tw.style('flex-row items-center', isDisabled ? 'opacity-50' : 'opacity-100', twClassName);
74
74
  const getCheckboxContainerStyle = (0, react_1.useCallback)((pressed) => {
75
75
  const baseBg = isSelected ? 'bg-primary-default' : 'bg-default';
76
76
  let baseBorder = 'border-default';
@@ -97,10 +97,10 @@ exports.Checkbox = (0, react_1.forwardRef)(({ isSelected, isDisabled = false, is
97
97
  return (<react_native_1.Pressable onPress={handlePress} accessible accessibilityRole="checkbox" accessibilityState={{
98
98
  checked: isSelected,
99
99
  disabled: isDisabled,
100
- }} accessibilityLabel={typeof label === 'string' ? label : undefined} style={(state) => [
100
+ }} accessibilityLabel={typeof label === 'string' ? label : undefined} disabled={isDisabled} {...props} style={(state) => [
101
101
  twContainerClassNames,
102
102
  typeof style === 'function' ? style(state) : style,
103
- ]} disabled={isDisabled} {...props}>
103
+ ]}>
104
104
  {({ pressed }) => (<>
105
105
  <AnimatedView {...checkboxContainerProps} style={[
106
106
  tw `${getCheckboxContainerStyle(pressed)} flex size-[22px] items-center justify-center rounded border-2`,
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.cjs","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useTailwind } from '@metamask/design-system-twrnc-preset';\nimport React, {\n forwardRef,\n useRef,\n useImperativeHandle,\n useCallback,\n useEffect,\n} from 'react';\nimport type { PressableStateCallbackType } from 'react-native';\nimport { Pressable, Animated, Easing } from 'react-native';\n\nimport { Icon, IconName, IconColor, IconSize } from '../Icon';\nimport { TextOrChildren } from '../temp-components/TextOrChildren';\n\nimport type { CheckboxProps } from './Checkbox.types';\n\nconst AnimatedView = Animated.View;\n\nexport const Checkbox = forwardRef<{ toggle: () => void }, CheckboxProps>(\n (\n {\n isSelected,\n isDisabled = false,\n isInvalid = false,\n label = '',\n labelProps,\n onChange,\n checkboxContainerProps,\n checkedIconProps,\n twClassName = '',\n style,\n ...props\n },\n ref,\n ) => {\n // Animation values\n const scaleAnim = useRef(new Animated.Value(1)).current;\n const iconAnim = useRef(new Animated.Value(isSelected ? 1 : 0)).current;\n\n // Sync icon opacity whenever selection changes\n useEffect(() => {\n Animated.timing(iconAnim, {\n toValue: isSelected ? 1 : 0,\n duration: 300,\n easing: Easing.ease,\n useNativeDriver: true,\n }).start();\n }, [isSelected, iconAnim]);\n\n // Bounce effect when toggling\n const animateScale = useCallback(() => {\n Animated.sequence([\n Animated.timing(scaleAnim, {\n toValue: 1.15,\n duration: 100,\n easing: Easing.ease,\n useNativeDriver: true,\n }),\n Animated.timing(scaleAnim, {\n toValue: 1,\n duration: 100,\n easing: Easing.ease,\n useNativeDriver: true,\n }),\n ]).start();\n }, [scaleAnim]);\n\n // Press handler: notify parent, then bounce\n const handlePress = () => {\n if (isDisabled) {\n return;\n }\n onChange?.(!isSelected);\n animateScale();\n };\n\n useImperativeHandle(ref, () => ({ toggle: handlePress }), [handlePress]);\n\n const tw = useTailwind();\n const twContainerClassNames = tw`flex-row items-center ${\n isDisabled ? 'opacity-50' : 'opacity-100'\n } ${twClassName}`;\n\n const getCheckboxContainerStyle = useCallback(\n (pressed: boolean): string => {\n const baseBg = isSelected ? 'bg-primary-default' : 'bg-default';\n let baseBorder = 'border-default';\n if (isSelected) {\n baseBorder = 'border-primary-default';\n } else if (isInvalid) {\n baseBorder = 'border-error-default';\n }\n const pressedBg = isSelected\n ? 'bg-primary-default-pressed'\n : 'bg-default-pressed';\n let pressedBorder = 'border-default';\n if (isSelected) {\n pressedBorder = 'border-primary-default-pressed';\n } else if (isInvalid) {\n pressedBorder = 'border-error-default';\n }\n return pressed\n ? `${pressedBg} ${pressedBorder}`\n : `${baseBg} ${baseBorder}`;\n },\n [isSelected, isInvalid],\n );\n\n return (\n <Pressable\n onPress={handlePress}\n accessible\n accessibilityRole=\"checkbox\"\n accessibilityState={{\n checked: isSelected,\n disabled: isDisabled,\n }}\n accessibilityLabel={typeof label === 'string' ? label : undefined}\n style={(state: PressableStateCallbackType) => [\n twContainerClassNames,\n typeof style === 'function' ? style(state) : style,\n ]}\n disabled={isDisabled}\n {...props}\n >\n {({ pressed }) => (\n <>\n <AnimatedView\n {...checkboxContainerProps}\n style={[\n tw`${getCheckboxContainerStyle(pressed)} flex size-[22px] items-center justify-center rounded border-2`,\n { transform: [{ scale: scaleAnim }] },\n ]}\n >\n {/* Always render icon, opacity driven by iconAnim */}\n <Animated.View style={{ opacity: iconAnim }}>\n <Icon\n name={IconName.Check}\n color={IconColor.PrimaryInverse}\n size={IconSize.Sm}\n {...checkedIconProps}\n />\n </Animated.View>\n </AnimatedView>\n {label ? (\n <TextOrChildren\n textProps={{ ...labelProps, twClassName: 'ml-3' }}\n >\n {label}\n </TextOrChildren>\n ) : null}\n </>\n )}\n </Pressable>\n );\n },\n);\n"]}
1
+ {"version":3,"file":"Checkbox.cjs","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useTailwind } from '@metamask/design-system-twrnc-preset';\nimport React, {\n forwardRef,\n useRef,\n useImperativeHandle,\n useCallback,\n useEffect,\n} from 'react';\nimport type { PressableStateCallbackType } from 'react-native';\nimport { Pressable, Animated, Easing } from 'react-native';\n\nimport { Icon, IconName, IconColor, IconSize } from '../Icon';\nimport { TextOrChildren } from '../temp-components/TextOrChildren';\n\nimport type { CheckboxProps } from './Checkbox.types';\n\nconst AnimatedView = Animated.View;\n\nexport const Checkbox = forwardRef<{ toggle: () => void }, CheckboxProps>(\n (\n {\n isSelected,\n isDisabled = false,\n isInvalid = false,\n label = '',\n labelProps,\n onChange,\n checkboxContainerProps,\n checkedIconProps,\n twClassName,\n style,\n ...props\n },\n ref,\n ) => {\n // Animation values\n const scaleAnim = useRef(new Animated.Value(1)).current;\n const iconAnim = useRef(new Animated.Value(isSelected ? 1 : 0)).current;\n\n // Sync icon opacity whenever selection changes\n useEffect(() => {\n Animated.timing(iconAnim, {\n toValue: isSelected ? 1 : 0,\n duration: 300,\n easing: Easing.ease,\n useNativeDriver: true,\n }).start();\n }, [isSelected, iconAnim]);\n\n // Bounce effect when toggling\n const animateScale = useCallback(() => {\n Animated.sequence([\n Animated.timing(scaleAnim, {\n toValue: 1.15,\n duration: 100,\n easing: Easing.ease,\n useNativeDriver: true,\n }),\n Animated.timing(scaleAnim, {\n toValue: 1,\n duration: 100,\n easing: Easing.ease,\n useNativeDriver: true,\n }),\n ]).start();\n }, [scaleAnim]);\n\n // Press handler: notify parent, then bounce\n const handlePress = () => {\n if (isDisabled) {\n return;\n }\n onChange?.(!isSelected);\n animateScale();\n };\n\n useImperativeHandle(ref, () => ({ toggle: handlePress }), [handlePress]);\n\n const tw = useTailwind();\n const twContainerClassNames = tw.style(\n 'flex-row items-center',\n isDisabled ? 'opacity-50' : 'opacity-100',\n twClassName,\n );\n\n const getCheckboxContainerStyle = useCallback(\n (pressed: boolean): string => {\n const baseBg = isSelected ? 'bg-primary-default' : 'bg-default';\n let baseBorder = 'border-default';\n if (isSelected) {\n baseBorder = 'border-primary-default';\n } else if (isInvalid) {\n baseBorder = 'border-error-default';\n }\n const pressedBg = isSelected\n ? 'bg-primary-default-pressed'\n : 'bg-default-pressed';\n let pressedBorder = 'border-default';\n if (isSelected) {\n pressedBorder = 'border-primary-default-pressed';\n } else if (isInvalid) {\n pressedBorder = 'border-error-default';\n }\n return pressed\n ? `${pressedBg} ${pressedBorder}`\n : `${baseBg} ${baseBorder}`;\n },\n [isSelected, isInvalid],\n );\n\n return (\n <Pressable\n onPress={handlePress}\n accessible\n accessibilityRole=\"checkbox\"\n accessibilityState={{\n checked: isSelected,\n disabled: isDisabled,\n }}\n accessibilityLabel={typeof label === 'string' ? label : undefined}\n disabled={isDisabled}\n {...props}\n style={(state: PressableStateCallbackType) => [\n twContainerClassNames,\n typeof style === 'function' ? style(state) : style,\n ]}\n >\n {({ pressed }) => (\n <>\n <AnimatedView\n {...checkboxContainerProps}\n style={[\n tw`${getCheckboxContainerStyle(pressed)} flex size-[22px] items-center justify-center rounded border-2`,\n { transform: [{ scale: scaleAnim }] },\n ]}\n >\n {/* Always render icon, opacity driven by iconAnim */}\n <Animated.View style={{ opacity: iconAnim }}>\n <Icon\n name={IconName.Check}\n color={IconColor.PrimaryInverse}\n size={IconSize.Sm}\n {...checkedIconProps}\n />\n </Animated.View>\n </AnimatedView>\n {label ? (\n <TextOrChildren\n textProps={{ ...labelProps, twClassName: 'ml-3' }}\n >\n {label}\n </TextOrChildren>\n ) : null}\n </>\n )}\n </Pressable>\n );\n },\n);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.d.cts","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AACA,OAAO,KAMN,cAAc;AACf,OAAO,KAAK,EAAE,0BAA0B,EAAE,8BAAqB;AAU/D,eAAO,MAAM,QAAQ;;;;;;;;;;;;YAAwB,MAAM,IAAI;GA0ItD,CAAC"}
1
+ {"version":3,"file":"Checkbox.d.cts","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AACA,OAAO,KAMN,cAAc;AACf,OAAO,KAAK,EAAE,0BAA0B,EAAE,8BAAqB;AAU/D,eAAO,MAAM,QAAQ;;;;;;;;;;;;YAAwB,MAAM,IAAI;GA4ItD,CAAC"}