@metamask/design-system-react-native 0.5.1 → 0.7.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 (374) hide show
  1. package/CHANGELOG.md +41 -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 +5 -5
  57. package/dist/components/BadgeStatus/BadgeStatus.cjs.map +1 -1
  58. package/dist/components/BadgeStatus/BadgeStatus.d.cts.map +1 -1
  59. package/dist/components/BadgeStatus/BadgeStatus.d.mts.map +1 -1
  60. package/dist/components/BadgeStatus/BadgeStatus.mjs +5 -5
  61. package/dist/components/BadgeStatus/BadgeStatus.mjs.map +1 -1
  62. package/dist/components/BadgeWrapper/BadgeWrapper.cjs +3 -3
  63. package/dist/components/BadgeWrapper/BadgeWrapper.cjs.map +1 -1
  64. package/dist/components/BadgeWrapper/BadgeWrapper.d.cts.map +1 -1
  65. package/dist/components/BadgeWrapper/BadgeWrapper.d.mts.map +1 -1
  66. package/dist/components/BadgeWrapper/BadgeWrapper.mjs +3 -3
  67. package/dist/components/BadgeWrapper/BadgeWrapper.mjs.map +1 -1
  68. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.cjs +51 -0
  69. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.cjs.map +1 -0
  70. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.constants.cjs +7 -0
  71. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.constants.cjs.map +1 -0
  72. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.constants.d.cts +3 -0
  73. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.constants.d.cts.map +1 -0
  74. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.constants.d.mts +3 -0
  75. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.constants.d.mts.map +1 -0
  76. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.constants.mjs +4 -0
  77. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.constants.mjs.map +1 -0
  78. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.d.cts +4 -0
  79. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.d.cts.map +1 -0
  80. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.d.mts +4 -0
  81. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.d.mts.map +1 -0
  82. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.mjs +31 -0
  83. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.mjs.map +1 -0
  84. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.types.cjs +3 -0
  85. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.types.cjs.map +1 -0
  86. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.types.d.cts +20 -0
  87. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.types.d.cts.map +1 -0
  88. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.types.d.mts +20 -0
  89. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.types.d.mts.map +1 -0
  90. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.types.mjs +2 -0
  91. package/dist/components/BottomSheetOverlay/BottomSheetOverlay.types.mjs.map +1 -0
  92. package/dist/components/BottomSheetOverlay/index.cjs +6 -0
  93. package/dist/components/BottomSheetOverlay/index.cjs.map +1 -0
  94. package/dist/components/BottomSheetOverlay/index.d.cts +3 -0
  95. package/dist/components/BottomSheetOverlay/index.d.cts.map +1 -0
  96. package/dist/components/BottomSheetOverlay/index.d.mts +3 -0
  97. package/dist/components/BottomSheetOverlay/index.d.mts.map +1 -0
  98. package/dist/components/BottomSheetOverlay/index.mjs +2 -0
  99. package/dist/components/BottomSheetOverlay/index.mjs.map +1 -0
  100. package/dist/components/BottomSheets/BottomSheetFooter/BottomSheetFooter.cjs +35 -0
  101. package/dist/components/BottomSheets/BottomSheetFooter/BottomSheetFooter.cjs.map +1 -0
  102. package/dist/components/BottomSheets/BottomSheetFooter/BottomSheetFooter.d.cts +4 -0
  103. package/dist/components/BottomSheets/BottomSheetFooter/BottomSheetFooter.d.cts.map +1 -0
  104. package/dist/components/BottomSheets/BottomSheetFooter/BottomSheetFooter.d.mts +4 -0
  105. package/dist/components/BottomSheets/BottomSheetFooter/BottomSheetFooter.d.mts.map +1 -0
  106. package/dist/components/BottomSheets/BottomSheetFooter/BottomSheetFooter.mjs +35 -0
  107. package/dist/components/BottomSheets/BottomSheetFooter/BottomSheetFooter.mjs.map +1 -0
  108. package/dist/components/BottomSheets/BottomSheetFooter/BottomSheetFooter.types.cjs +12 -0
  109. package/dist/components/BottomSheets/BottomSheetFooter/BottomSheetFooter.types.cjs.map +1 -0
  110. package/dist/components/BottomSheets/BottomSheetFooter/BottomSheetFooter.types.d.cts +41 -0
  111. package/dist/components/BottomSheets/BottomSheetFooter/BottomSheetFooter.types.d.cts.map +1 -0
  112. package/dist/components/BottomSheets/BottomSheetFooter/BottomSheetFooter.types.d.mts +41 -0
  113. package/dist/components/BottomSheets/BottomSheetFooter/BottomSheetFooter.types.d.mts.map +1 -0
  114. package/dist/components/BottomSheets/BottomSheetFooter/BottomSheetFooter.types.mjs +9 -0
  115. package/dist/components/BottomSheets/BottomSheetFooter/BottomSheetFooter.types.mjs.map +1 -0
  116. package/dist/components/BottomSheets/BottomSheetFooter/index.cjs +8 -0
  117. package/dist/components/BottomSheets/BottomSheetFooter/index.cjs.map +1 -0
  118. package/dist/components/BottomSheets/BottomSheetFooter/index.d.cts +4 -0
  119. package/dist/components/BottomSheets/BottomSheetFooter/index.d.cts.map +1 -0
  120. package/dist/components/BottomSheets/BottomSheetFooter/index.d.mts +4 -0
  121. package/dist/components/BottomSheets/BottomSheetFooter/index.d.mts.map +1 -0
  122. package/dist/components/BottomSheets/BottomSheetFooter/index.mjs +3 -0
  123. package/dist/components/BottomSheets/BottomSheetFooter/index.mjs.map +1 -0
  124. package/dist/components/Box/Box.cjs +12 -27
  125. package/dist/components/Box/Box.cjs.map +1 -1
  126. package/dist/components/Box/Box.d.cts.map +1 -1
  127. package/dist/components/Box/Box.d.mts.map +1 -1
  128. package/dist/components/Box/Box.mjs +12 -27
  129. package/dist/components/Box/Box.mjs.map +1 -1
  130. package/dist/components/ButtonBase/ButtonBase.cjs +50 -41
  131. package/dist/components/ButtonBase/ButtonBase.cjs.map +1 -1
  132. package/dist/components/ButtonBase/ButtonBase.d.cts.map +1 -1
  133. package/dist/components/ButtonBase/ButtonBase.d.mts.map +1 -1
  134. package/dist/components/ButtonBase/ButtonBase.mjs +50 -41
  135. package/dist/components/ButtonBase/ButtonBase.mjs.map +1 -1
  136. package/dist/components/ButtonIcon/ButtonIcon.cjs +5 -10
  137. package/dist/components/ButtonIcon/ButtonIcon.cjs.map +1 -1
  138. package/dist/components/ButtonIcon/ButtonIcon.d.cts.map +1 -1
  139. package/dist/components/ButtonIcon/ButtonIcon.d.mts.map +1 -1
  140. package/dist/components/ButtonIcon/ButtonIcon.mjs +5 -10
  141. package/dist/components/ButtonIcon/ButtonIcon.mjs.map +1 -1
  142. package/dist/components/Card/Card.cjs +26 -0
  143. package/dist/components/Card/Card.cjs.map +1 -0
  144. package/dist/components/Card/Card.d.cts +4 -0
  145. package/dist/components/Card/Card.d.cts.map +1 -0
  146. package/dist/components/Card/Card.d.mts +4 -0
  147. package/dist/components/Card/Card.d.mts.map +1 -0
  148. package/dist/components/Card/Card.mjs +26 -0
  149. package/dist/components/Card/Card.mjs.map +1 -0
  150. package/dist/components/Card/Card.types.cjs +3 -0
  151. package/dist/components/Card/Card.types.cjs.map +1 -0
  152. package/dist/components/Card/Card.types.d.cts +25 -0
  153. package/dist/components/Card/Card.types.d.cts.map +1 -0
  154. package/dist/components/Card/Card.types.d.mts +25 -0
  155. package/dist/components/Card/Card.types.d.mts.map +1 -0
  156. package/dist/components/Card/Card.types.mjs +2 -0
  157. package/dist/components/Card/Card.types.mjs.map +1 -0
  158. package/dist/components/Card/index.cjs +6 -0
  159. package/dist/components/Card/index.cjs.map +1 -0
  160. package/dist/components/Card/index.d.cts +3 -0
  161. package/dist/components/Card/index.d.cts.map +1 -0
  162. package/dist/components/Card/index.d.mts +3 -0
  163. package/dist/components/Card/index.d.mts.map +1 -0
  164. package/dist/components/Card/index.mjs +2 -0
  165. package/dist/components/Card/index.mjs.map +1 -0
  166. package/dist/components/Checkbox/Checkbox.cjs +4 -4
  167. package/dist/components/Checkbox/Checkbox.cjs.map +1 -1
  168. package/dist/components/Checkbox/Checkbox.d.cts.map +1 -1
  169. package/dist/components/Checkbox/Checkbox.d.mts.map +1 -1
  170. package/dist/components/Checkbox/Checkbox.mjs +4 -4
  171. package/dist/components/Checkbox/Checkbox.mjs.map +1 -1
  172. package/dist/components/HeaderBase/HeaderBase.cjs +123 -0
  173. package/dist/components/HeaderBase/HeaderBase.cjs.map +1 -0
  174. package/dist/components/HeaderBase/HeaderBase.d.cts +4 -0
  175. package/dist/components/HeaderBase/HeaderBase.d.cts.map +1 -0
  176. package/dist/components/HeaderBase/HeaderBase.d.mts +4 -0
  177. package/dist/components/HeaderBase/HeaderBase.d.mts.map +1 -0
  178. package/dist/components/HeaderBase/HeaderBase.mjs +103 -0
  179. package/dist/components/HeaderBase/HeaderBase.mjs.map +1 -0
  180. package/dist/components/HeaderBase/HeaderBase.types.cjs +3 -0
  181. package/dist/components/HeaderBase/HeaderBase.types.cjs.map +1 -0
  182. package/dist/components/HeaderBase/HeaderBase.types.d.cts +71 -0
  183. package/dist/components/HeaderBase/HeaderBase.types.d.cts.map +1 -0
  184. package/dist/components/HeaderBase/HeaderBase.types.d.mts +71 -0
  185. package/dist/components/HeaderBase/HeaderBase.types.d.mts.map +1 -0
  186. package/dist/components/HeaderBase/HeaderBase.types.mjs +2 -0
  187. package/dist/components/HeaderBase/HeaderBase.types.mjs.map +1 -0
  188. package/dist/components/HeaderBase/index.cjs +6 -0
  189. package/dist/components/HeaderBase/index.cjs.map +1 -0
  190. package/dist/components/HeaderBase/index.d.cts +3 -0
  191. package/dist/components/HeaderBase/index.d.cts.map +1 -0
  192. package/dist/components/HeaderBase/index.d.mts +3 -0
  193. package/dist/components/HeaderBase/index.d.mts.map +1 -0
  194. package/dist/components/HeaderBase/index.mjs +2 -0
  195. package/dist/components/HeaderBase/index.mjs.map +1 -0
  196. package/dist/components/Icon/Icon.assets.cjs +4 -0
  197. package/dist/components/Icon/Icon.assets.cjs.map +1 -1
  198. package/dist/components/Icon/Icon.assets.d.cts.map +1 -1
  199. package/dist/components/Icon/Icon.assets.d.mts.map +1 -1
  200. package/dist/components/Icon/Icon.assets.mjs +4 -0
  201. package/dist/components/Icon/Icon.assets.mjs.map +1 -1
  202. package/dist/components/Icon/Icon.cjs +4 -32
  203. package/dist/components/Icon/Icon.cjs.map +1 -1
  204. package/dist/components/Icon/Icon.d.cts.map +1 -1
  205. package/dist/components/Icon/Icon.d.mts.map +1 -1
  206. package/dist/components/Icon/Icon.mjs +2 -10
  207. package/dist/components/Icon/Icon.mjs.map +1 -1
  208. package/dist/components/Icon/assets/after-hours.svg +1 -0
  209. package/dist/components/Icon/assets/corporate-fare.svg +1 -0
  210. package/dist/components/Input/Input.cjs +53 -0
  211. package/dist/components/Input/Input.cjs.map +1 -0
  212. package/dist/components/Input/Input.d.cts +10 -0
  213. package/dist/components/Input/Input.d.cts.map +1 -0
  214. package/dist/components/Input/Input.d.mts +10 -0
  215. package/dist/components/Input/Input.d.mts.map +1 -0
  216. package/dist/components/Input/Input.mjs +50 -0
  217. package/dist/components/Input/Input.mjs.map +1 -0
  218. package/dist/components/Input/Input.types.cjs +3 -0
  219. package/dist/components/Input/Input.types.cjs.map +1 -0
  220. package/dist/components/Input/Input.types.d.cts +33 -0
  221. package/dist/components/Input/Input.types.d.cts.map +1 -0
  222. package/dist/components/Input/Input.types.d.mts +33 -0
  223. package/dist/components/Input/Input.types.d.mts.map +1 -0
  224. package/dist/components/Input/Input.types.mjs +2 -0
  225. package/dist/components/Input/Input.types.mjs.map +1 -0
  226. package/dist/components/Input/index.cjs +6 -0
  227. package/dist/components/Input/index.cjs.map +1 -0
  228. package/dist/components/Input/index.d.cts +3 -0
  229. package/dist/components/Input/index.d.cts.map +1 -0
  230. package/dist/components/Input/index.d.mts +3 -0
  231. package/dist/components/Input/index.d.mts.map +1 -0
  232. package/dist/components/Input/index.mjs +2 -0
  233. package/dist/components/Input/index.mjs.map +1 -0
  234. package/dist/components/Label/Label.cjs +11 -0
  235. package/dist/components/Label/Label.cjs.map +1 -0
  236. package/dist/components/Label/Label.d.cts +4 -0
  237. package/dist/components/Label/Label.d.cts.map +1 -0
  238. package/dist/components/Label/Label.d.mts +4 -0
  239. package/dist/components/Label/Label.d.mts.map +1 -0
  240. package/dist/components/Label/Label.mjs +11 -0
  241. package/dist/components/Label/Label.mjs.map +1 -0
  242. package/dist/components/Label/Label.types.cjs +3 -0
  243. package/dist/components/Label/Label.types.cjs.map +1 -0
  244. package/dist/components/Label/Label.types.d.cts +9 -0
  245. package/dist/components/Label/Label.types.d.cts.map +1 -0
  246. package/dist/components/Label/Label.types.d.mts +9 -0
  247. package/dist/components/Label/Label.types.d.mts.map +1 -0
  248. package/dist/components/Label/Label.types.mjs +2 -0
  249. package/dist/components/Label/Label.types.mjs.map +1 -0
  250. package/dist/components/Label/index.cjs +6 -0
  251. package/dist/components/Label/index.cjs.map +1 -0
  252. package/dist/components/Label/index.d.cts +3 -0
  253. package/dist/components/Label/index.d.cts.map +1 -0
  254. package/dist/components/Label/index.d.mts +3 -0
  255. package/dist/components/Label/index.d.mts.map +1 -0
  256. package/dist/components/Label/index.mjs +2 -0
  257. package/dist/components/Label/index.mjs.map +1 -0
  258. package/dist/components/Skeleton/Skeleton.cjs +86 -0
  259. package/dist/components/Skeleton/Skeleton.cjs.map +1 -0
  260. package/dist/components/Skeleton/Skeleton.d.cts +5 -0
  261. package/dist/components/Skeleton/Skeleton.d.cts.map +1 -0
  262. package/dist/components/Skeleton/Skeleton.d.mts +5 -0
  263. package/dist/components/Skeleton/Skeleton.d.mts.map +1 -0
  264. package/dist/components/Skeleton/Skeleton.mjs +68 -0
  265. package/dist/components/Skeleton/Skeleton.mjs.map +1 -0
  266. package/dist/components/Skeleton/Skeleton.types.cjs +3 -0
  267. package/dist/components/Skeleton/Skeleton.types.cjs.map +1 -0
  268. package/dist/components/Skeleton/Skeleton.types.d.cts +51 -0
  269. package/dist/components/Skeleton/Skeleton.types.d.cts.map +1 -0
  270. package/dist/components/Skeleton/Skeleton.types.d.mts +51 -0
  271. package/dist/components/Skeleton/Skeleton.types.d.mts.map +1 -0
  272. package/dist/components/Skeleton/Skeleton.types.mjs +2 -0
  273. package/dist/components/Skeleton/Skeleton.types.mjs.map +1 -0
  274. package/dist/components/Skeleton/index.cjs +9 -0
  275. package/dist/components/Skeleton/index.cjs.map +1 -0
  276. package/dist/components/Skeleton/index.d.cts +3 -0
  277. package/dist/components/Skeleton/index.d.cts.map +1 -0
  278. package/dist/components/Skeleton/index.d.mts +3 -0
  279. package/dist/components/Skeleton/index.d.mts.map +1 -0
  280. package/dist/components/Skeleton/index.mjs +2 -0
  281. package/dist/components/Skeleton/index.mjs.map +1 -0
  282. package/dist/components/Text/Text.cjs +9 -14
  283. package/dist/components/Text/Text.cjs.map +1 -1
  284. package/dist/components/Text/Text.d.cts.map +1 -1
  285. package/dist/components/Text/Text.d.mts.map +1 -1
  286. package/dist/components/Text/Text.mjs +10 -15
  287. package/dist/components/Text/Text.mjs.map +1 -1
  288. package/dist/components/Toast/Toast.cjs +174 -0
  289. package/dist/components/Toast/Toast.cjs.map +1 -0
  290. package/dist/components/Toast/Toast.constants.cjs +12 -0
  291. package/dist/components/Toast/Toast.constants.cjs.map +1 -0
  292. package/dist/components/Toast/Toast.constants.d.cts +8 -0
  293. package/dist/components/Toast/Toast.constants.d.cts.map +1 -0
  294. package/dist/components/Toast/Toast.constants.d.mts +8 -0
  295. package/dist/components/Toast/Toast.constants.d.mts.map +1 -0
  296. package/dist/components/Toast/Toast.constants.mjs +9 -0
  297. package/dist/components/Toast/Toast.constants.mjs.map +1 -0
  298. package/dist/components/Toast/Toast.context.cjs +40 -0
  299. package/dist/components/Toast/Toast.context.cjs.map +1 -0
  300. package/dist/components/Toast/Toast.context.d.cts +7 -0
  301. package/dist/components/Toast/Toast.context.d.cts.map +1 -0
  302. package/dist/components/Toast/Toast.context.d.mts +7 -0
  303. package/dist/components/Toast/Toast.context.d.mts.map +1 -0
  304. package/dist/components/Toast/Toast.context.mjs +20 -0
  305. package/dist/components/Toast/Toast.context.mjs.map +1 -0
  306. package/dist/components/Toast/Toast.d.cts +8 -0
  307. package/dist/components/Toast/Toast.d.cts.map +1 -0
  308. package/dist/components/Toast/Toast.d.mts +8 -0
  309. package/dist/components/Toast/Toast.d.mts.map +1 -0
  310. package/dist/components/Toast/Toast.mjs +156 -0
  311. package/dist/components/Toast/Toast.mjs.map +1 -0
  312. package/dist/components/Toast/Toast.types.cjs +19 -0
  313. package/dist/components/Toast/Toast.types.cjs.map +1 -0
  314. package/dist/components/Toast/Toast.types.d.cts +123 -0
  315. package/dist/components/Toast/Toast.types.d.cts.map +1 -0
  316. package/dist/components/Toast/Toast.types.d.mts +123 -0
  317. package/dist/components/Toast/Toast.types.d.mts.map +1 -0
  318. package/dist/components/Toast/Toast.types.mjs +16 -0
  319. package/dist/components/Toast/Toast.types.mjs.map +1 -0
  320. package/dist/components/Toast/index.cjs +19 -0
  321. package/dist/components/Toast/index.cjs.map +1 -0
  322. package/dist/components/Toast/index.d.cts +6 -0
  323. package/dist/components/Toast/index.d.cts.map +1 -0
  324. package/dist/components/Toast/index.d.mts +6 -0
  325. package/dist/components/Toast/index.d.mts.map +1 -0
  326. package/dist/components/Toast/index.mjs +5 -0
  327. package/dist/components/Toast/index.mjs.map +1 -0
  328. package/dist/components/index.cjs +21 -2
  329. package/dist/components/index.cjs.map +1 -1
  330. package/dist/components/index.d.cts +16 -0
  331. package/dist/components/index.d.cts.map +1 -1
  332. package/dist/components/index.d.mts +16 -0
  333. package/dist/components/index.d.mts.map +1 -1
  334. package/dist/components/index.mjs +8 -0
  335. package/dist/components/index.mjs.map +1 -1
  336. package/dist/components/temp-components/ButtonAnimated/ButtonAnimated.cjs +17 -9
  337. package/dist/components/temp-components/ButtonAnimated/ButtonAnimated.cjs.map +1 -1
  338. package/dist/components/temp-components/ButtonAnimated/ButtonAnimated.d.cts +1 -1
  339. package/dist/components/temp-components/ButtonAnimated/ButtonAnimated.d.cts.map +1 -1
  340. package/dist/components/temp-components/ButtonAnimated/ButtonAnimated.d.mts +1 -1
  341. package/dist/components/temp-components/ButtonAnimated/ButtonAnimated.d.mts.map +1 -1
  342. package/dist/components/temp-components/ButtonAnimated/ButtonAnimated.mjs +17 -6
  343. package/dist/components/temp-components/ButtonAnimated/ButtonAnimated.mjs.map +1 -1
  344. package/dist/components/temp-components/Spinner/Spinner.cjs +2 -2
  345. package/dist/components/temp-components/Spinner/Spinner.cjs.map +1 -1
  346. package/dist/components/temp-components/Spinner/Spinner.d.cts.map +1 -1
  347. package/dist/components/temp-components/Spinner/Spinner.d.mts.map +1 -1
  348. package/dist/components/temp-components/Spinner/Spinner.mjs +2 -2
  349. package/dist/components/temp-components/Spinner/Spinner.mjs.map +1 -1
  350. package/dist/types/index.cjs +19 -17
  351. package/dist/types/index.cjs.map +1 -1
  352. package/dist/types/index.d.cts +19 -17
  353. package/dist/types/index.d.cts.map +1 -1
  354. package/dist/types/index.d.mts +19 -17
  355. package/dist/types/index.d.mts.map +1 -1
  356. package/dist/types/index.mjs +19 -17
  357. package/dist/types/index.mjs.map +1 -1
  358. package/package.json +13 -9
  359. package/dist/components/Icon/Icon.utilities.cjs +0 -31
  360. package/dist/components/Icon/Icon.utilities.cjs.map +0 -1
  361. package/dist/components/Icon/Icon.utilities.d.cts +0 -22
  362. package/dist/components/Icon/Icon.utilities.d.cts.map +0 -1
  363. package/dist/components/Icon/Icon.utilities.d.mts +0 -22
  364. package/dist/components/Icon/Icon.utilities.d.mts.map +0 -1
  365. package/dist/components/Icon/Icon.utilities.mjs +0 -27
  366. package/dist/components/Icon/Icon.utilities.mjs.map +0 -1
  367. package/dist/components/Text/Text.utilities.cjs +0 -46
  368. package/dist/components/Text/Text.utilities.cjs.map +0 -1
  369. package/dist/components/Text/Text.utilities.d.cts +0 -32
  370. package/dist/components/Text/Text.utilities.d.cts.map +0 -1
  371. package/dist/components/Text/Text.utilities.d.mts +0 -32
  372. package/dist/components/Text/Text.utilities.d.mts.map +0 -1
  373. package/dist/components/Text/Text.utilities.mjs +0 -42
  374. package/dist/components/Text/Text.utilities.mjs.map +0 -1
@@ -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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.d.mts","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.mts","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"}
@@ -11,7 +11,7 @@ import { Pressable, Animated, Easing } from "react-native/index.js";
11
11
  import { Icon, IconName, IconColor, IconSize } from "../Icon/index.mjs";
12
12
  import { TextOrChildren } from "../temp-components/TextOrChildren/index.mjs";
13
13
  const AnimatedView = Animated.View;
14
- export const Checkbox = forwardRef(({ isSelected, isDisabled = false, isInvalid = false, label = '', labelProps, onChange, checkboxContainerProps, checkedIconProps, twClassName = '', style, ...props }, ref) => {
14
+ export const Checkbox = forwardRef(({ isSelected, isDisabled = false, isInvalid = false, label = '', labelProps, onChange, checkboxContainerProps, checkedIconProps, twClassName, style, ...props }, ref) => {
15
15
  // Animation values
16
16
  const scaleAnim = useRef(new Animated.Value(1)).current;
17
17
  const iconAnim = useRef(new Animated.Value(isSelected ? 1 : 0)).current;
@@ -51,7 +51,7 @@ export const Checkbox = forwardRef(({ isSelected, isDisabled = false, isInvalid
51
51
  };
52
52
  useImperativeHandle(ref, () => ({ toggle: handlePress }), [handlePress]);
53
53
  const tw = useTailwind();
54
- const twContainerClassNames = tw `flex-row items-center ${isDisabled ? 'opacity-50' : 'opacity-100'} ${twClassName}`;
54
+ const twContainerClassNames = tw.style('flex-row items-center', isDisabled ? 'opacity-50' : 'opacity-100', twClassName);
55
55
  const getCheckboxContainerStyle = useCallback((pressed) => {
56
56
  const baseBg = isSelected ? 'bg-primary-default' : 'bg-default';
57
57
  let baseBorder = 'border-default';
@@ -78,10 +78,10 @@ export const Checkbox = forwardRef(({ isSelected, isDisabled = false, isInvalid
78
78
  return (<Pressable onPress={handlePress} accessible accessibilityRole="checkbox" accessibilityState={{
79
79
  checked: isSelected,
80
80
  disabled: isDisabled,
81
- }} accessibilityLabel={typeof label === 'string' ? label : undefined} style={(state) => [
81
+ }} accessibilityLabel={typeof label === 'string' ? label : undefined} disabled={isDisabled} {...props} style={(state) => [
82
82
  twContainerClassNames,
83
83
  typeof style === 'function' ? style(state) : style,
84
- ]} disabled={isDisabled} {...props}>
84
+ ]}>
85
85
  {({ pressed }) => (<>
86
86
  <AnimatedView {...checkboxContainerProps} style={[
87
87
  tw `${getCheckboxContainerStyle(pressed)} flex size-[22px] items-center justify-center rounded border-2`,
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.mjs","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.mjs","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"]}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.HeaderBase = void 0;
27
+ // Third party dependencies.
28
+ const design_system_twrnc_preset_1 = require("@metamask/design-system-twrnc-preset");
29
+ const react_1 = __importStar(require("react"));
30
+ const react_native_1 = require("react-native/index.js");
31
+ const react_native_safe_area_context_1 = require("react-native-safe-area-context");
32
+ // External dependencies.
33
+ const Box_1 = require("../Box/index.cjs");
34
+ const ButtonIcon_1 = require("../ButtonIcon/index.cjs");
35
+ const Text_1 = require("../Text/index.cjs");
36
+ const HeaderBase = ({ children, style, startAccessory, endAccessory, startButtonIconProps, endButtonIconProps, includesTopInset = false, startAccessoryWrapperProps, endAccessoryWrapperProps, titleTestID, twClassName, ...props }) => {
37
+ const tw = (0, design_system_twrnc_preset_1.useTailwind)();
38
+ const insets = (0, react_native_safe_area_context_1.useSafeAreaInsets)();
39
+ const [startAccessoryWidth, setStartAccessoryWidth] = (0, react_1.useState)(0);
40
+ const [endAccessoryWidth, setEndAccessoryWidth] = (0, react_1.useState)(0);
41
+ const handleStartAccessoryLayout = (0, react_1.useCallback)((e) => {
42
+ setStartAccessoryWidth(e.nativeEvent.layout.width);
43
+ }, []);
44
+ const handleEndAccessoryLayout = (0, react_1.useCallback)((e) => {
45
+ setEndAccessoryWidth(e.nativeEvent.layout.width);
46
+ }, []);
47
+ // Determine what to render for start/end
48
+ const hasStartContent = startAccessory || startButtonIconProps;
49
+ const hasEndContent = endAccessory || (endButtonIconProps && endButtonIconProps.length > 0);
50
+ const hasAnyAccessory = hasStartContent || hasEndContent;
51
+ // Render both wrappers if any accessory exists (for centering)
52
+ const shouldRenderStartWrapper = Boolean(hasAnyAccessory);
53
+ const shouldRenderEndWrapper = Boolean(hasAnyAccessory);
54
+ // Calculate equal width for both accessory wrappers to ensure title stays centered
55
+ const accessoryWrapperWidth = hasAnyAccessory && (startAccessoryWidth || endAccessoryWidth)
56
+ ? Math.max(startAccessoryWidth, endAccessoryWidth)
57
+ : undefined;
58
+ const renderStartContent = () => {
59
+ if (startAccessory) {
60
+ return startAccessory;
61
+ }
62
+ if (startButtonIconProps) {
63
+ return <ButtonIcon_1.ButtonIcon size={ButtonIcon_1.ButtonIconSize.Md} {...startButtonIconProps}/>;
64
+ }
65
+ return null;
66
+ };
67
+ const renderEndContent = () => {
68
+ if (endAccessory) {
69
+ return endAccessory;
70
+ }
71
+ if (endButtonIconProps && endButtonIconProps.length > 0) {
72
+ // Reverse the array so first item appears rightmost
73
+ // Use original index (before reversal) for stable React keys
74
+ const reversedProps = endButtonIconProps
75
+ .map((iconProps, originalIndex) => ({
76
+ iconProps,
77
+ originalIndex,
78
+ }))
79
+ .reverse();
80
+ return reversedProps.map(({ iconProps, originalIndex }) => (<ButtonIcon_1.ButtonIcon key={`end-button-icon-${originalIndex}`} size={ButtonIcon_1.ButtonIconSize.Md} {...iconProps}/>));
81
+ }
82
+ return null;
83
+ };
84
+ // Check if we have multiple end buttons for layout styling
85
+ const hasMultipleEndButtons = !endAccessory && endButtonIconProps && endButtonIconProps.length > 1;
86
+ // Merge default styles with passed-in twClassName
87
+ const baseStyles = 'flex-row items-center gap-4 h-14';
88
+ const resolvedTwClassName = twClassName
89
+ ? `${baseStyles} ${twClassName}`
90
+ : baseStyles;
91
+ return (<react_native_1.View style={[
92
+ tw.style(resolvedTwClassName),
93
+ includesTopInset && { marginTop: insets.top },
94
+ style,
95
+ ]} {...props}>
96
+ {/* Start accessory */}
97
+ {shouldRenderStartWrapper && (<react_native_1.View style={accessoryWrapperWidth
98
+ ? tw.style('items-start', { width: accessoryWrapperWidth })
99
+ : undefined} {...startAccessoryWrapperProps}>
100
+ <react_native_1.View onLayout={handleStartAccessoryLayout}>
101
+ {renderStartContent()}
102
+ </react_native_1.View>
103
+ </react_native_1.View>)}
104
+
105
+ {/* Title */}
106
+ <Box_1.Box twClassName="flex-1 items-center">
107
+ {typeof children === 'string' ? (<Text_1.Text variant={Text_1.TextVariant.HeadingSm} testID={titleTestID} style={tw.style('text-center')}>
108
+ {children}
109
+ </Text_1.Text>) : (children)}
110
+ </Box_1.Box>
111
+
112
+ {/* End accessory */}
113
+ {shouldRenderEndWrapper && (<react_native_1.View style={accessoryWrapperWidth
114
+ ? tw.style('items-end', { width: accessoryWrapperWidth })
115
+ : undefined} {...endAccessoryWrapperProps}>
116
+ <react_native_1.View onLayout={handleEndAccessoryLayout} style={hasMultipleEndButtons ? tw.style('flex-row gap-2') : undefined}>
117
+ {renderEndContent()}
118
+ </react_native_1.View>
119
+ </react_native_1.View>)}
120
+ </react_native_1.View>);
121
+ };
122
+ exports.HeaderBase = HeaderBase;
123
+ //# sourceMappingURL=HeaderBase.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeaderBase.cjs","sourceRoot":"","sources":["../../../src/components/HeaderBase/HeaderBase.tsx"],"names":[],"mappings":"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","sourcesContent":["// Third party dependencies.\nimport { useTailwind } from '@metamask/design-system-twrnc-preset';\nimport React, { useCallback, useState } from 'react';\nimport type { LayoutChangeEvent } from 'react-native';\nimport { View } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\n// External dependencies.\nimport { Box } from '../Box';\nimport { ButtonIcon, ButtonIconSize } from '../ButtonIcon';\nimport { Text, TextVariant } from '../Text';\n\n// Internal dependencies.\nimport type { HeaderBaseProps } from './HeaderBase.types';\n\nexport const HeaderBase: React.FC<HeaderBaseProps> = ({\n children,\n style,\n startAccessory,\n endAccessory,\n startButtonIconProps,\n endButtonIconProps,\n includesTopInset = false,\n startAccessoryWrapperProps,\n endAccessoryWrapperProps,\n titleTestID,\n twClassName,\n ...props\n}) => {\n const tw = useTailwind();\n const insets = useSafeAreaInsets();\n\n const [startAccessoryWidth, setStartAccessoryWidth] = useState(0);\n const [endAccessoryWidth, setEndAccessoryWidth] = useState(0);\n\n const handleStartAccessoryLayout = useCallback((e: LayoutChangeEvent) => {\n setStartAccessoryWidth(e.nativeEvent.layout.width);\n }, []);\n\n const handleEndAccessoryLayout = useCallback((e: LayoutChangeEvent) => {\n setEndAccessoryWidth(e.nativeEvent.layout.width);\n }, []);\n\n // Determine what to render for start/end\n const hasStartContent = startAccessory || startButtonIconProps;\n const hasEndContent =\n endAccessory || (endButtonIconProps && endButtonIconProps.length > 0);\n const hasAnyAccessory = hasStartContent || hasEndContent;\n\n // Render both wrappers if any accessory exists (for centering)\n const shouldRenderStartWrapper = Boolean(hasAnyAccessory);\n const shouldRenderEndWrapper = Boolean(hasAnyAccessory);\n\n // Calculate equal width for both accessory wrappers to ensure title stays centered\n const accessoryWrapperWidth =\n hasAnyAccessory && (startAccessoryWidth || endAccessoryWidth)\n ? Math.max(startAccessoryWidth, endAccessoryWidth)\n : undefined;\n\n const renderStartContent = () => {\n if (startAccessory) {\n return startAccessory;\n }\n if (startButtonIconProps) {\n return <ButtonIcon size={ButtonIconSize.Md} {...startButtonIconProps} />;\n }\n return null;\n };\n\n const renderEndContent = () => {\n if (endAccessory) {\n return endAccessory;\n }\n if (endButtonIconProps && endButtonIconProps.length > 0) {\n // Reverse the array so first item appears rightmost\n // Use original index (before reversal) for stable React keys\n const reversedProps = endButtonIconProps\n .map((iconProps, originalIndex) => ({\n iconProps,\n originalIndex,\n }))\n .reverse();\n return reversedProps.map(({ iconProps, originalIndex }) => (\n <ButtonIcon\n key={`end-button-icon-${originalIndex}`}\n size={ButtonIconSize.Md}\n {...iconProps}\n />\n ));\n }\n return null;\n };\n\n // Check if we have multiple end buttons for layout styling\n const hasMultipleEndButtons =\n !endAccessory && endButtonIconProps && endButtonIconProps.length > 1;\n\n // Merge default styles with passed-in twClassName\n const baseStyles = 'flex-row items-center gap-4 h-14';\n const resolvedTwClassName = twClassName\n ? `${baseStyles} ${twClassName}`\n : baseStyles;\n\n return (\n <View\n style={[\n tw.style(resolvedTwClassName),\n includesTopInset && { marginTop: insets.top },\n style,\n ]}\n {...props}\n >\n {/* Start accessory */}\n {shouldRenderStartWrapper && (\n <View\n style={\n accessoryWrapperWidth\n ? tw.style('items-start', { width: accessoryWrapperWidth })\n : undefined\n }\n {...startAccessoryWrapperProps}\n >\n <View onLayout={handleStartAccessoryLayout}>\n {renderStartContent()}\n </View>\n </View>\n )}\n\n {/* Title */}\n <Box twClassName=\"flex-1 items-center\">\n {typeof children === 'string' ? (\n <Text\n variant={TextVariant.HeadingSm}\n testID={titleTestID}\n style={tw.style('text-center')}\n >\n {children}\n </Text>\n ) : (\n children\n )}\n </Box>\n\n {/* End accessory */}\n {shouldRenderEndWrapper && (\n <View\n style={\n accessoryWrapperWidth\n ? tw.style('items-end', { width: accessoryWrapperWidth })\n : undefined\n }\n {...endAccessoryWrapperProps}\n >\n <View\n onLayout={handleEndAccessoryLayout}\n style={\n hasMultipleEndButtons ? tw.style('flex-row gap-2') : undefined\n }\n >\n {renderEndContent()}\n </View>\n </View>\n )}\n </View>\n );\n};\n"]}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import type { HeaderBaseProps } from "./HeaderBase.types.cjs";
3
+ export declare const HeaderBase: React.FC<HeaderBaseProps>;
4
+ //# sourceMappingURL=HeaderBase.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeaderBase.d.cts","sourceRoot":"","sources":["../../../src/components/HeaderBase/HeaderBase.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAgC,cAAc;AAWrD,OAAO,KAAK,EAAE,eAAe,EAAE,+BAA2B;AAE1D,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsJhD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import type { HeaderBaseProps } from "./HeaderBase.types.mjs";
3
+ export declare const HeaderBase: React.FC<HeaderBaseProps>;
4
+ //# sourceMappingURL=HeaderBase.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeaderBase.d.mts","sourceRoot":"","sources":["../../../src/components/HeaderBase/HeaderBase.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAgC,cAAc;AAWrD,OAAO,KAAK,EAAE,eAAe,EAAE,+BAA2B;AAE1D,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsJhD,CAAC"}