@metamask-previews/design-system-react-native 0.11.0-preview.fa05289 → 0.13.0-preview.b4e6ece

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 (419) hide show
  1. package/CHANGELOG.md +30 -1
  2. package/dist/components/AvatarAccount/AvatarAccount.cjs +4 -3
  3. package/dist/components/AvatarAccount/AvatarAccount.cjs.map +1 -1
  4. package/dist/components/AvatarAccount/AvatarAccount.constants.cjs +9 -1
  5. package/dist/components/AvatarAccount/AvatarAccount.constants.cjs.map +1 -1
  6. package/dist/components/AvatarAccount/AvatarAccount.constants.d.cts +2 -0
  7. package/dist/components/AvatarAccount/AvatarAccount.constants.d.cts.map +1 -1
  8. package/dist/components/AvatarAccount/AvatarAccount.constants.d.mts +2 -0
  9. package/dist/components/AvatarAccount/AvatarAccount.constants.d.mts.map +1 -1
  10. package/dist/components/AvatarAccount/AvatarAccount.constants.mjs +8 -0
  11. package/dist/components/AvatarAccount/AvatarAccount.constants.mjs.map +1 -1
  12. package/dist/components/AvatarAccount/AvatarAccount.d.cts.map +1 -1
  13. package/dist/components/AvatarAccount/AvatarAccount.d.mts.map +1 -1
  14. package/dist/components/AvatarAccount/AvatarAccount.mjs +4 -3
  15. package/dist/components/AvatarAccount/AvatarAccount.mjs.map +1 -1
  16. package/dist/components/AvatarBase/AvatarBase.cjs +3 -3
  17. package/dist/components/AvatarBase/AvatarBase.cjs.map +1 -1
  18. package/dist/components/AvatarBase/AvatarBase.constants.cjs +21 -21
  19. package/dist/components/AvatarBase/AvatarBase.constants.cjs.map +1 -1
  20. package/dist/components/AvatarBase/AvatarBase.constants.d.cts +1 -1
  21. package/dist/components/AvatarBase/AvatarBase.constants.d.cts.map +1 -1
  22. package/dist/components/AvatarBase/AvatarBase.constants.d.mts +1 -1
  23. package/dist/components/AvatarBase/AvatarBase.constants.d.mts.map +1 -1
  24. package/dist/components/AvatarBase/AvatarBase.constants.mjs +1 -1
  25. package/dist/components/AvatarBase/AvatarBase.constants.mjs.map +1 -1
  26. package/dist/components/AvatarBase/AvatarBase.d.cts.map +1 -1
  27. package/dist/components/AvatarBase/AvatarBase.d.mts.map +1 -1
  28. package/dist/components/AvatarBase/AvatarBase.mjs +1 -1
  29. package/dist/components/AvatarBase/AvatarBase.mjs.map +1 -1
  30. package/dist/components/AvatarBase/AvatarBase.types.cjs.map +1 -1
  31. package/dist/components/AvatarBase/AvatarBase.types.d.cts +3 -39
  32. package/dist/components/AvatarBase/AvatarBase.types.d.cts.map +1 -1
  33. package/dist/components/AvatarBase/AvatarBase.types.d.mts +3 -39
  34. package/dist/components/AvatarBase/AvatarBase.types.d.mts.map +1 -1
  35. package/dist/components/AvatarBase/AvatarBase.types.mjs.map +1 -1
  36. package/dist/components/AvatarBase/index.cjs +3 -3
  37. package/dist/components/AvatarBase/index.cjs.map +1 -1
  38. package/dist/components/AvatarBase/index.d.cts +1 -1
  39. package/dist/components/AvatarBase/index.d.cts.map +1 -1
  40. package/dist/components/AvatarBase/index.d.mts +1 -1
  41. package/dist/components/AvatarBase/index.d.mts.map +1 -1
  42. package/dist/components/AvatarBase/index.mjs +1 -1
  43. package/dist/components/AvatarBase/index.mjs.map +1 -1
  44. package/dist/components/AvatarNetwork/AvatarNetwork.types.cjs.map +1 -1
  45. package/dist/components/AvatarNetwork/AvatarNetwork.types.d.cts +7 -9
  46. package/dist/components/AvatarNetwork/AvatarNetwork.types.d.cts.map +1 -1
  47. package/dist/components/AvatarNetwork/AvatarNetwork.types.d.mts +7 -9
  48. package/dist/components/AvatarNetwork/AvatarNetwork.types.d.mts.map +1 -1
  49. package/dist/components/AvatarNetwork/AvatarNetwork.types.mjs.map +1 -1
  50. package/dist/components/BadgeWrapper/BadgeWrapper.cjs +8 -8
  51. package/dist/components/BadgeWrapper/BadgeWrapper.cjs.map +1 -1
  52. package/dist/components/BadgeWrapper/BadgeWrapper.d.cts.map +1 -1
  53. package/dist/components/BadgeWrapper/BadgeWrapper.d.mts.map +1 -1
  54. package/dist/components/BadgeWrapper/BadgeWrapper.mjs +1 -1
  55. package/dist/components/BadgeWrapper/BadgeWrapper.mjs.map +1 -1
  56. package/dist/components/BadgeWrapper/BadgeWrapper.types.cjs.map +1 -1
  57. package/dist/components/BadgeWrapper/BadgeWrapper.types.d.cts +4 -51
  58. package/dist/components/BadgeWrapper/BadgeWrapper.types.d.cts.map +1 -1
  59. package/dist/components/BadgeWrapper/BadgeWrapper.types.d.mts +4 -51
  60. package/dist/components/BadgeWrapper/BadgeWrapper.types.d.mts.map +1 -1
  61. package/dist/components/BadgeWrapper/BadgeWrapper.types.mjs.map +1 -1
  62. package/dist/components/BadgeWrapper/index.cjs +3 -3
  63. package/dist/components/BadgeWrapper/index.cjs.map +1 -1
  64. package/dist/components/BadgeWrapper/index.d.cts +1 -2
  65. package/dist/components/BadgeWrapper/index.d.cts.map +1 -1
  66. package/dist/components/BadgeWrapper/index.d.mts +1 -2
  67. package/dist/components/BadgeWrapper/index.d.mts.map +1 -1
  68. package/dist/components/BadgeWrapper/index.mjs +1 -1
  69. package/dist/components/BadgeWrapper/index.mjs.map +1 -1
  70. package/dist/components/BottomSheet/BottomSheet.cjs +7 -10
  71. package/dist/components/BottomSheet/BottomSheet.cjs.map +1 -1
  72. package/dist/components/BottomSheet/BottomSheet.d.cts +31 -2
  73. package/dist/components/BottomSheet/BottomSheet.d.cts.map +1 -1
  74. package/dist/components/BottomSheet/BottomSheet.d.mts +31 -2
  75. package/dist/components/BottomSheet/BottomSheet.d.mts.map +1 -1
  76. package/dist/components/BottomSheet/BottomSheet.mjs +6 -6
  77. package/dist/components/BottomSheet/BottomSheet.mjs.map +1 -1
  78. package/dist/components/BottomSheet/BottomSheet.types.cjs.map +1 -1
  79. package/dist/components/BottomSheet/BottomSheet.types.d.cts +3 -8
  80. package/dist/components/BottomSheet/BottomSheet.types.d.cts.map +1 -1
  81. package/dist/components/BottomSheet/BottomSheet.types.d.mts +3 -8
  82. package/dist/components/BottomSheet/BottomSheet.types.d.mts.map +1 -1
  83. package/dist/components/BottomSheet/BottomSheet.types.mjs.map +1 -1
  84. package/dist/components/BottomSheetDialog/BottomSheetDialog.cjs +3 -3
  85. package/dist/components/BottomSheetDialog/BottomSheetDialog.cjs.map +1 -1
  86. package/dist/components/BottomSheetDialog/BottomSheetDialog.d.cts +31 -2
  87. package/dist/components/BottomSheetDialog/BottomSheetDialog.d.cts.map +1 -1
  88. package/dist/components/BottomSheetDialog/BottomSheetDialog.d.mts +31 -2
  89. package/dist/components/BottomSheetDialog/BottomSheetDialog.d.mts.map +1 -1
  90. package/dist/components/BottomSheetDialog/BottomSheetDialog.mjs +2 -3
  91. package/dist/components/BottomSheetDialog/BottomSheetDialog.mjs.map +1 -1
  92. package/dist/components/BottomSheetDialog/BottomSheetDialog.types.cjs.map +1 -1
  93. package/dist/components/BottomSheetDialog/BottomSheetDialog.types.d.cts +7 -0
  94. package/dist/components/BottomSheetDialog/BottomSheetDialog.types.d.cts.map +1 -1
  95. package/dist/components/BottomSheetDialog/BottomSheetDialog.types.d.mts +7 -0
  96. package/dist/components/BottomSheetDialog/BottomSheetDialog.types.d.mts.map +1 -1
  97. package/dist/components/BottomSheetDialog/BottomSheetDialog.types.mjs.map +1 -1
  98. package/dist/components/BottomSheetDialog/index.cjs +2 -5
  99. package/dist/components/BottomSheetDialog/index.cjs.map +1 -1
  100. package/dist/components/BottomSheetDialog/index.d.cts +1 -1
  101. package/dist/components/BottomSheetDialog/index.d.cts.map +1 -1
  102. package/dist/components/BottomSheetDialog/index.d.mts +1 -1
  103. package/dist/components/BottomSheetDialog/index.d.mts.map +1 -1
  104. package/dist/components/BottomSheetDialog/index.mjs +1 -1
  105. package/dist/components/BottomSheetDialog/index.mjs.map +1 -1
  106. package/dist/components/BottomSheetHeader/BottomSheetHeader.cjs +2 -2
  107. package/dist/components/BottomSheetHeader/BottomSheetHeader.cjs.map +1 -1
  108. package/dist/components/BottomSheetHeader/BottomSheetHeader.mjs +2 -2
  109. package/dist/components/BottomSheetHeader/BottomSheetHeader.mjs.map +1 -1
  110. package/dist/components/BoxHorizontal/BoxHorizontal.cjs +18 -0
  111. package/dist/components/BoxHorizontal/BoxHorizontal.cjs.map +1 -0
  112. package/dist/components/BoxHorizontal/BoxHorizontal.d.cts +7 -0
  113. package/dist/components/BoxHorizontal/BoxHorizontal.d.cts.map +1 -0
  114. package/dist/components/BoxHorizontal/BoxHorizontal.d.mts +7 -0
  115. package/dist/components/BoxHorizontal/BoxHorizontal.d.mts.map +1 -0
  116. package/dist/components/BoxHorizontal/BoxHorizontal.mjs +18 -0
  117. package/dist/components/BoxHorizontal/BoxHorizontal.mjs.map +1 -0
  118. package/dist/components/BoxHorizontal/BoxHorizontal.types.cjs +3 -0
  119. package/dist/components/BoxHorizontal/BoxHorizontal.types.cjs.map +1 -0
  120. package/dist/components/BoxHorizontal/BoxHorizontal.types.d.cts +13 -0
  121. package/dist/components/BoxHorizontal/BoxHorizontal.types.d.cts.map +1 -0
  122. package/dist/components/BoxHorizontal/BoxHorizontal.types.d.mts +13 -0
  123. package/dist/components/BoxHorizontal/BoxHorizontal.types.d.mts.map +1 -0
  124. package/dist/components/BoxHorizontal/BoxHorizontal.types.mjs +2 -0
  125. package/dist/components/BoxHorizontal/BoxHorizontal.types.mjs.map +1 -0
  126. package/dist/components/BoxHorizontal/index.cjs +6 -0
  127. package/dist/components/BoxHorizontal/index.cjs.map +1 -0
  128. package/dist/components/BoxHorizontal/index.d.cts +3 -0
  129. package/dist/components/BoxHorizontal/index.d.cts.map +1 -0
  130. package/dist/components/BoxHorizontal/index.d.mts +3 -0
  131. package/dist/components/BoxHorizontal/index.d.mts.map +1 -0
  132. package/dist/components/BoxHorizontal/index.mjs +2 -0
  133. package/dist/components/BoxHorizontal/index.mjs.map +1 -0
  134. package/dist/components/BoxVertical/BoxVertical.cjs +18 -0
  135. package/dist/components/BoxVertical/BoxVertical.cjs.map +1 -0
  136. package/dist/components/BoxVertical/BoxVertical.d.cts +7 -0
  137. package/dist/components/BoxVertical/BoxVertical.d.cts.map +1 -0
  138. package/dist/components/BoxVertical/BoxVertical.d.mts +7 -0
  139. package/dist/components/BoxVertical/BoxVertical.d.mts.map +1 -0
  140. package/dist/components/BoxVertical/BoxVertical.mjs +18 -0
  141. package/dist/components/BoxVertical/BoxVertical.mjs.map +1 -0
  142. package/dist/components/BoxVertical/BoxVertical.types.cjs +3 -0
  143. package/dist/components/BoxVertical/BoxVertical.types.cjs.map +1 -0
  144. package/dist/components/BoxVertical/BoxVertical.types.d.cts +13 -0
  145. package/dist/components/BoxVertical/BoxVertical.types.d.cts.map +1 -0
  146. package/dist/components/BoxVertical/BoxVertical.types.d.mts +13 -0
  147. package/dist/components/BoxVertical/BoxVertical.types.d.mts.map +1 -0
  148. package/dist/components/BoxVertical/BoxVertical.types.mjs +2 -0
  149. package/dist/components/BoxVertical/BoxVertical.types.mjs.map +1 -0
  150. package/dist/components/BoxVertical/index.cjs +6 -0
  151. package/dist/components/BoxVertical/index.cjs.map +1 -0
  152. package/dist/components/BoxVertical/index.d.cts +3 -0
  153. package/dist/components/BoxVertical/index.d.cts.map +1 -0
  154. package/dist/components/BoxVertical/index.d.mts +3 -0
  155. package/dist/components/BoxVertical/index.d.mts.map +1 -0
  156. package/dist/components/BoxVertical/index.mjs +2 -0
  157. package/dist/components/BoxVertical/index.mjs.map +1 -0
  158. package/dist/components/HeaderRoot/HeaderRoot.cjs +61 -0
  159. package/dist/components/HeaderRoot/HeaderRoot.cjs.map +1 -0
  160. package/dist/components/HeaderRoot/HeaderRoot.d.cts +7 -0
  161. package/dist/components/HeaderRoot/HeaderRoot.d.cts.map +1 -0
  162. package/dist/components/HeaderRoot/HeaderRoot.d.mts +7 -0
  163. package/dist/components/HeaderRoot/HeaderRoot.d.mts.map +1 -0
  164. package/dist/components/HeaderRoot/HeaderRoot.mjs +61 -0
  165. package/dist/components/HeaderRoot/HeaderRoot.mjs.map +1 -0
  166. package/dist/components/HeaderRoot/HeaderRoot.types.cjs +3 -0
  167. package/dist/components/HeaderRoot/HeaderRoot.types.cjs.map +1 -0
  168. package/dist/components/HeaderRoot/HeaderRoot.types.d.cts +60 -0
  169. package/dist/components/HeaderRoot/HeaderRoot.types.d.cts.map +1 -0
  170. package/dist/components/HeaderRoot/HeaderRoot.types.d.mts +60 -0
  171. package/dist/components/HeaderRoot/HeaderRoot.types.d.mts.map +1 -0
  172. package/dist/components/HeaderRoot/HeaderRoot.types.mjs +2 -0
  173. package/dist/components/HeaderRoot/HeaderRoot.types.mjs.map +1 -0
  174. package/dist/components/HeaderRoot/index.cjs +6 -0
  175. package/dist/components/HeaderRoot/index.cjs.map +1 -0
  176. package/dist/components/HeaderRoot/index.d.cts +3 -0
  177. package/dist/components/HeaderRoot/index.d.cts.map +1 -0
  178. package/dist/components/HeaderRoot/index.d.mts +3 -0
  179. package/dist/components/HeaderRoot/index.d.mts.map +1 -0
  180. package/dist/components/HeaderRoot/index.mjs +2 -0
  181. package/dist/components/HeaderRoot/index.mjs.map +1 -0
  182. package/dist/components/HeaderStandard/HeaderStandard.cjs +101 -0
  183. package/dist/components/HeaderStandard/HeaderStandard.cjs.map +1 -0
  184. package/dist/components/HeaderStandard/HeaderStandard.d.cts +4 -0
  185. package/dist/components/HeaderStandard/HeaderStandard.d.cts.map +1 -0
  186. package/dist/components/HeaderStandard/HeaderStandard.d.mts +4 -0
  187. package/dist/components/HeaderStandard/HeaderStandard.d.mts.map +1 -0
  188. package/dist/components/HeaderStandard/HeaderStandard.mjs +81 -0
  189. package/dist/components/HeaderStandard/HeaderStandard.mjs.map +1 -0
  190. package/dist/components/HeaderStandard/HeaderStandard.types.cjs +8 -0
  191. package/dist/components/HeaderStandard/HeaderStandard.types.cjs.map +1 -0
  192. package/dist/components/HeaderStandard/HeaderStandard.types.d.cts +55 -0
  193. package/dist/components/HeaderStandard/HeaderStandard.types.d.cts.map +1 -0
  194. package/dist/components/HeaderStandard/HeaderStandard.types.d.mts +55 -0
  195. package/dist/components/HeaderStandard/HeaderStandard.types.d.mts.map +1 -0
  196. package/dist/components/HeaderStandard/HeaderStandard.types.mjs +10 -0
  197. package/dist/components/HeaderStandard/HeaderStandard.types.mjs.map +1 -0
  198. package/dist/components/HeaderStandard/index.cjs +6 -0
  199. package/dist/components/HeaderStandard/index.cjs.map +1 -0
  200. package/dist/components/HeaderStandard/index.d.cts +3 -0
  201. package/dist/components/HeaderStandard/index.d.cts.map +1 -0
  202. package/dist/components/HeaderStandard/index.d.mts +3 -0
  203. package/dist/components/HeaderStandard/index.d.mts.map +1 -0
  204. package/dist/components/HeaderStandard/index.mjs +2 -0
  205. package/dist/components/HeaderStandard/index.mjs.map +1 -0
  206. package/dist/components/Icon/assets/candlestick.svg +1 -1
  207. package/dist/components/Input/Input.cjs +4 -3
  208. package/dist/components/Input/Input.cjs.map +1 -1
  209. package/dist/components/Input/Input.constants.cjs +69 -0
  210. package/dist/components/Input/Input.constants.cjs.map +1 -0
  211. package/dist/components/Input/Input.constants.d.cts +11 -0
  212. package/dist/components/Input/Input.constants.d.cts.map +1 -0
  213. package/dist/components/Input/Input.constants.d.mts +11 -0
  214. package/dist/components/Input/Input.constants.d.mts.map +1 -0
  215. package/dist/components/Input/Input.constants.mjs +66 -0
  216. package/dist/components/Input/Input.constants.mjs.map +1 -0
  217. package/dist/components/Input/Input.d.cts.map +1 -1
  218. package/dist/components/Input/Input.d.mts.map +1 -1
  219. package/dist/components/Input/Input.mjs +4 -3
  220. package/dist/components/Input/Input.mjs.map +1 -1
  221. package/dist/components/KeyValueRow/KeyValueLabel/KeyValueLabel.cjs +34 -0
  222. package/dist/components/KeyValueRow/KeyValueLabel/KeyValueLabel.cjs.map +1 -0
  223. package/dist/components/KeyValueRow/KeyValueLabel/KeyValueLabel.d.cts +13 -0
  224. package/dist/components/KeyValueRow/KeyValueLabel/KeyValueLabel.d.cts.map +1 -0
  225. package/dist/components/KeyValueRow/KeyValueLabel/KeyValueLabel.d.mts +13 -0
  226. package/dist/components/KeyValueRow/KeyValueLabel/KeyValueLabel.d.mts.map +1 -0
  227. package/dist/components/KeyValueRow/KeyValueLabel/KeyValueLabel.mjs +34 -0
  228. package/dist/components/KeyValueRow/KeyValueLabel/KeyValueLabel.mjs.map +1 -0
  229. package/dist/components/KeyValueRow/KeyValueRoot/KeyValueRoot.cjs +40 -0
  230. package/dist/components/KeyValueRow/KeyValueRoot/KeyValueRoot.cjs.map +1 -0
  231. package/dist/components/KeyValueRow/KeyValueRoot/KeyValueRoot.d.cts +24 -0
  232. package/dist/components/KeyValueRow/KeyValueRoot/KeyValueRoot.d.cts.map +1 -0
  233. package/dist/components/KeyValueRow/KeyValueRoot/KeyValueRoot.d.mts +24 -0
  234. package/dist/components/KeyValueRow/KeyValueRoot/KeyValueRoot.d.mts.map +1 -0
  235. package/dist/components/KeyValueRow/KeyValueRoot/KeyValueRoot.mjs +40 -0
  236. package/dist/components/KeyValueRow/KeyValueRoot/KeyValueRoot.mjs.map +1 -0
  237. package/dist/components/KeyValueRow/KeyValueRow.cjs +76 -0
  238. package/dist/components/KeyValueRow/KeyValueRow.cjs.map +1 -0
  239. package/dist/components/KeyValueRow/KeyValueRow.d.cts +24 -0
  240. package/dist/components/KeyValueRow/KeyValueRow.d.cts.map +1 -0
  241. package/dist/components/KeyValueRow/KeyValueRow.d.mts +24 -0
  242. package/dist/components/KeyValueRow/KeyValueRow.d.mts.map +1 -0
  243. package/dist/components/KeyValueRow/KeyValueRow.mjs +76 -0
  244. package/dist/components/KeyValueRow/KeyValueRow.mjs.map +1 -0
  245. package/dist/components/KeyValueRow/KeyValueRow.types.cjs +29 -0
  246. package/dist/components/KeyValueRow/KeyValueRow.types.cjs.map +1 -0
  247. package/dist/components/KeyValueRow/KeyValueRow.types.d.cts +177 -0
  248. package/dist/components/KeyValueRow/KeyValueRow.types.d.cts.map +1 -0
  249. package/dist/components/KeyValueRow/KeyValueRow.types.d.mts +177 -0
  250. package/dist/components/KeyValueRow/KeyValueRow.types.d.mts.map +1 -0
  251. package/dist/components/KeyValueRow/KeyValueRow.types.mjs +26 -0
  252. package/dist/components/KeyValueRow/KeyValueRow.types.mjs.map +1 -0
  253. package/dist/components/KeyValueRow/KeyValueRow.utils.cjs +6 -0
  254. package/dist/components/KeyValueRow/KeyValueRow.utils.cjs.map +1 -0
  255. package/dist/components/KeyValueRow/KeyValueRow.utils.d.cts +3 -0
  256. package/dist/components/KeyValueRow/KeyValueRow.utils.d.cts.map +1 -0
  257. package/dist/components/KeyValueRow/KeyValueRow.utils.d.mts +3 -0
  258. package/dist/components/KeyValueRow/KeyValueRow.utils.d.mts.map +1 -0
  259. package/dist/components/KeyValueRow/KeyValueRow.utils.mjs +2 -0
  260. package/dist/components/KeyValueRow/KeyValueRow.utils.mjs.map +1 -0
  261. package/dist/components/KeyValueRow/KeyValueSection/KeyValueSection.cjs +30 -0
  262. package/dist/components/KeyValueRow/KeyValueSection/KeyValueSection.cjs.map +1 -0
  263. package/dist/components/KeyValueRow/KeyValueSection/KeyValueSection.d.cts +16 -0
  264. package/dist/components/KeyValueRow/KeyValueSection/KeyValueSection.d.cts.map +1 -0
  265. package/dist/components/KeyValueRow/KeyValueSection/KeyValueSection.d.mts +16 -0
  266. package/dist/components/KeyValueRow/KeyValueSection/KeyValueSection.d.mts.map +1 -0
  267. package/dist/components/KeyValueRow/KeyValueSection/KeyValueSection.mjs +30 -0
  268. package/dist/components/KeyValueRow/KeyValueSection/KeyValueSection.mjs.map +1 -0
  269. package/dist/components/KeyValueRow/index.cjs +12 -0
  270. package/dist/components/KeyValueRow/index.cjs.map +1 -0
  271. package/dist/components/KeyValueRow/index.d.cts +3 -0
  272. package/dist/components/KeyValueRow/index.d.cts.map +1 -0
  273. package/dist/components/KeyValueRow/index.d.mts +3 -0
  274. package/dist/components/KeyValueRow/index.d.mts.map +1 -0
  275. package/dist/components/KeyValueRow/index.mjs +3 -0
  276. package/dist/components/KeyValueRow/index.mjs.map +1 -0
  277. package/dist/components/Skeleton/Skeleton.cjs +2 -1
  278. package/dist/components/Skeleton/Skeleton.cjs.map +1 -1
  279. package/dist/components/Skeleton/Skeleton.d.cts +1 -2
  280. package/dist/components/Skeleton/Skeleton.d.cts.map +1 -1
  281. package/dist/components/Skeleton/Skeleton.d.mts +1 -2
  282. package/dist/components/Skeleton/Skeleton.d.mts.map +1 -1
  283. package/dist/components/Skeleton/Skeleton.mjs +1 -2
  284. package/dist/components/Skeleton/Skeleton.mjs.map +1 -1
  285. package/dist/components/Skeleton/index.cjs +1 -4
  286. package/dist/components/Skeleton/index.cjs.map +1 -1
  287. package/dist/components/Skeleton/index.d.cts +1 -1
  288. package/dist/components/Skeleton/index.d.cts.map +1 -1
  289. package/dist/components/Skeleton/index.d.mts +1 -1
  290. package/dist/components/Skeleton/index.d.mts.map +1 -1
  291. package/dist/components/Skeleton/index.mjs +1 -1
  292. package/dist/components/Skeleton/index.mjs.map +1 -1
  293. package/dist/components/Text/Text.types.cjs.map +1 -1
  294. package/dist/components/Text/Text.types.d.cts +1 -1
  295. package/dist/components/Text/Text.types.d.mts +1 -1
  296. package/dist/components/Text/Text.types.mjs.map +1 -1
  297. package/dist/components/TextButton/TextButton.cjs +12 -36
  298. package/dist/components/TextButton/TextButton.cjs.map +1 -1
  299. package/dist/components/TextButton/TextButton.d.cts.map +1 -1
  300. package/dist/components/TextButton/TextButton.d.mts.map +1 -1
  301. package/dist/components/TextButton/TextButton.mjs +14 -38
  302. package/dist/components/TextButton/TextButton.mjs.map +1 -1
  303. package/dist/components/TextButton/TextButton.types.cjs.map +1 -1
  304. package/dist/components/TextButton/TextButton.types.d.cts +8 -60
  305. package/dist/components/TextButton/TextButton.types.d.cts.map +1 -1
  306. package/dist/components/TextButton/TextButton.types.d.mts +8 -60
  307. package/dist/components/TextButton/TextButton.types.d.mts.map +1 -1
  308. package/dist/components/TextButton/TextButton.types.mjs.map +1 -1
  309. package/dist/components/TextButton/index.cjs +1 -3
  310. package/dist/components/TextButton/index.cjs.map +1 -1
  311. package/dist/components/TextButton/index.d.cts +0 -1
  312. package/dist/components/TextButton/index.d.cts.map +1 -1
  313. package/dist/components/TextButton/index.d.mts +0 -1
  314. package/dist/components/TextButton/index.d.mts.map +1 -1
  315. package/dist/components/TextButton/index.mjs +0 -1
  316. package/dist/components/TextButton/index.mjs.map +1 -1
  317. package/dist/components/TextField/TextField.cjs +22 -8
  318. package/dist/components/TextField/TextField.cjs.map +1 -1
  319. package/dist/components/TextField/TextField.d.cts +0 -2
  320. package/dist/components/TextField/TextField.d.cts.map +1 -1
  321. package/dist/components/TextField/TextField.d.mts +0 -2
  322. package/dist/components/TextField/TextField.d.mts.map +1 -1
  323. package/dist/components/TextField/TextField.mjs +22 -8
  324. package/dist/components/TextField/TextField.mjs.map +1 -1
  325. package/dist/components/TextField/TextField.types.cjs +0 -10
  326. package/dist/components/TextField/TextField.types.cjs.map +1 -1
  327. package/dist/components/TextField/TextField.types.d.cts +0 -14
  328. package/dist/components/TextField/TextField.types.d.cts.map +1 -1
  329. package/dist/components/TextField/TextField.types.d.mts +0 -14
  330. package/dist/components/TextField/TextField.types.d.mts.map +1 -1
  331. package/dist/components/TextField/TextField.types.mjs +1 -9
  332. package/dist/components/TextField/TextField.types.mjs.map +1 -1
  333. package/dist/components/TextField/index.cjs +1 -3
  334. package/dist/components/TextField/index.cjs.map +1 -1
  335. package/dist/components/TextField/index.d.cts +0 -1
  336. package/dist/components/TextField/index.d.cts.map +1 -1
  337. package/dist/components/TextField/index.d.mts +0 -1
  338. package/dist/components/TextField/index.d.mts.map +1 -1
  339. package/dist/components/TextField/index.mjs +0 -1
  340. package/dist/components/TextField/index.mjs.map +1 -1
  341. package/dist/components/TextFieldSearch/TextFieldSearch.cjs +45 -0
  342. package/dist/components/TextFieldSearch/TextFieldSearch.cjs.map +1 -0
  343. package/dist/components/TextFieldSearch/TextFieldSearch.d.cts +14 -0
  344. package/dist/components/TextFieldSearch/TextFieldSearch.d.cts.map +1 -0
  345. package/dist/components/TextFieldSearch/TextFieldSearch.d.mts +14 -0
  346. package/dist/components/TextFieldSearch/TextFieldSearch.d.mts.map +1 -0
  347. package/dist/components/TextFieldSearch/TextFieldSearch.mjs +26 -0
  348. package/dist/components/TextFieldSearch/TextFieldSearch.mjs.map +1 -0
  349. package/dist/components/TextFieldSearch/TextFieldSearch.types.cjs +3 -0
  350. package/dist/components/TextFieldSearch/TextFieldSearch.types.cjs.map +1 -0
  351. package/dist/components/TextFieldSearch/TextFieldSearch.types.d.cts +17 -0
  352. package/dist/components/TextFieldSearch/TextFieldSearch.types.d.cts.map +1 -0
  353. package/dist/components/TextFieldSearch/TextFieldSearch.types.d.mts +17 -0
  354. package/dist/components/TextFieldSearch/TextFieldSearch.types.d.mts.map +1 -0
  355. package/dist/components/TextFieldSearch/TextFieldSearch.types.mjs +2 -0
  356. package/dist/components/TextFieldSearch/TextFieldSearch.types.mjs.map +1 -0
  357. package/dist/components/TextFieldSearch/index.cjs +6 -0
  358. package/dist/components/TextFieldSearch/index.cjs.map +1 -0
  359. package/dist/components/TextFieldSearch/index.d.cts +3 -0
  360. package/dist/components/TextFieldSearch/index.d.cts.map +1 -0
  361. package/dist/components/TextFieldSearch/index.d.mts +3 -0
  362. package/dist/components/TextFieldSearch/index.d.mts.map +1 -0
  363. package/dist/components/TextFieldSearch/index.mjs +2 -0
  364. package/dist/components/TextFieldSearch/index.mjs.map +1 -0
  365. package/dist/components/Toast/Toast.cjs +2 -2
  366. package/dist/components/Toast/Toast.cjs.map +1 -1
  367. package/dist/components/Toast/Toast.d.cts +1 -2
  368. package/dist/components/Toast/Toast.d.cts.map +1 -1
  369. package/dist/components/Toast/Toast.d.mts +1 -2
  370. package/dist/components/Toast/Toast.d.mts.map +1 -1
  371. package/dist/components/Toast/Toast.mjs +1 -2
  372. package/dist/components/Toast/Toast.mjs.map +1 -1
  373. package/dist/components/Toast/index.cjs +1 -4
  374. package/dist/components/Toast/index.cjs.map +1 -1
  375. package/dist/components/Toast/index.d.cts +1 -1
  376. package/dist/components/Toast/index.d.cts.map +1 -1
  377. package/dist/components/Toast/index.d.mts +1 -1
  378. package/dist/components/Toast/index.d.mts.map +1 -1
  379. package/dist/components/Toast/index.mjs +1 -1
  380. package/dist/components/Toast/index.mjs.map +1 -1
  381. package/dist/components/index.cjs +14 -8
  382. package/dist/components/index.cjs.map +1 -1
  383. package/dist/components/index.d.cts +13 -3
  384. package/dist/components/index.d.cts.map +1 -1
  385. package/dist/components/index.d.mts +13 -3
  386. package/dist/components/index.d.mts.map +1 -1
  387. package/dist/components/index.mjs +8 -3
  388. package/dist/components/index.mjs.map +1 -1
  389. package/dist/components/temp-components/TextOrChildren/TextOrChildren.types.cjs.map +1 -1
  390. package/dist/components/temp-components/TextOrChildren/TextOrChildren.types.d.cts +2 -5
  391. package/dist/components/temp-components/TextOrChildren/TextOrChildren.types.d.cts.map +1 -1
  392. package/dist/components/temp-components/TextOrChildren/TextOrChildren.types.d.mts +2 -5
  393. package/dist/components/temp-components/TextOrChildren/TextOrChildren.types.d.mts.map +1 -1
  394. package/dist/components/temp-components/TextOrChildren/TextOrChildren.types.mjs.map +1 -1
  395. package/dist/types/index.cjs +20 -71
  396. package/dist/types/index.cjs.map +1 -1
  397. package/dist/types/index.d.cts +10 -82
  398. package/dist/types/index.d.cts.map +1 -1
  399. package/dist/types/index.d.mts +10 -82
  400. package/dist/types/index.d.mts.map +1 -1
  401. package/dist/types/index.mjs +10 -78
  402. package/dist/types/index.mjs.map +1 -1
  403. package/package.json +7 -8
  404. package/dist/components/TextButton/TextButton.constants.cjs +0 -12
  405. package/dist/components/TextButton/TextButton.constants.cjs.map +0 -1
  406. package/dist/components/TextButton/TextButton.constants.d.cts +0 -4
  407. package/dist/components/TextButton/TextButton.constants.d.cts.map +0 -1
  408. package/dist/components/TextButton/TextButton.constants.d.mts +0 -4
  409. package/dist/components/TextButton/TextButton.constants.d.mts.map +0 -1
  410. package/dist/components/TextButton/TextButton.constants.mjs +0 -9
  411. package/dist/components/TextButton/TextButton.constants.mjs.map +0 -1
  412. package/dist/components/TextField/TextField.constants.cjs +0 -13
  413. package/dist/components/TextField/TextField.constants.cjs.map +0 -1
  414. package/dist/components/TextField/TextField.constants.d.cts +0 -6
  415. package/dist/components/TextField/TextField.constants.d.cts.map +0 -1
  416. package/dist/components/TextField/TextField.constants.d.mts +0 -6
  417. package/dist/components/TextField/TextField.constants.d.mts.map +0 -1
  418. package/dist/components/TextField/TextField.constants.mjs +0 -10
  419. package/dist/components/TextField/TextField.constants.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.cjs","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useTailwind } from '@metamask-previews/design-system-twrnc-preset';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n} from 'react';\nimport { BackHandler, KeyboardAvoidingView, Platform } from 'react-native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\n\nimport BottomSheetDialog from '../BottomSheetDialog';\nimport type { BottomSheetDialogRef } from '../BottomSheetDialog';\nimport { BottomSheetOverlay } from '../BottomSheetOverlay/BottomSheetOverlay';\n\nimport type {\n BottomSheetPostCallback,\n BottomSheetProps,\n BottomSheetRef,\n} from './BottomSheet.types';\n\nexport const BottomSheet = forwardRef<BottomSheetRef, BottomSheetProps>(\n (\n {\n children,\n onClose,\n onOpen,\n goBack,\n style,\n twClassName,\n isInteractable = true,\n shouldNavigateBack = true,\n isFullscreen = false,\n keyboardAvoidingViewEnabled = true,\n ...props\n },\n ref,\n ) => {\n const tw = useTailwind();\n const { bottom: screenBottomPadding } = useSafeAreaInsets();\n const { y: frameY } = useSafeAreaFrame();\n const postCallback = useRef<BottomSheetPostCallback>();\n const bottomSheetDialogRef = useRef<BottomSheetDialogRef>(null);\n const didNavigateBackRef = useRef(false);\n const closeRequestedRef = useRef(false);\n const didRunPostCallbackRef = useRef(false);\n\n const onOpenCB = useCallback(() => {\n // Reset when the sheet is opened again.\n didNavigateBackRef.current = false;\n closeRequestedRef.current = false;\n didRunPostCallbackRef.current = false;\n\n onOpen?.(Boolean(postCallback.current));\n const callback = postCallback.current;\n postCallback.current = undefined;\n callback?.();\n }, [onOpen]);\n\n const onCloseCB = useCallback(() => {\n if (shouldNavigateBack && !didNavigateBackRef.current) {\n didNavigateBackRef.current = true;\n goBack();\n }\n\n const callback = postCallback.current;\n const hasCallback = Boolean(callback);\n\n onClose?.(hasCallback);\n\n if (!didRunPostCallbackRef.current && hasCallback) {\n didRunPostCallbackRef.current = true;\n postCallback.current = undefined;\n callback?.();\n }\n }, [goBack, onClose, shouldNavigateBack]);\n\n // Dismiss the sheet when Android back button is pressed.\n useEffect(() => {\n const hardwareBackPress = () => {\n if (isInteractable) {\n bottomSheetDialogRef.current?.onCloseDialog();\n }\n return true;\n };\n BackHandler.addEventListener('hardwareBackPress', hardwareBackPress);\n return () => {\n BackHandler.removeEventListener('hardwareBackPress', hardwareBackPress);\n };\n }, [isInteractable]);\n\n useImperativeHandle(ref, () => ({\n onCloseBottomSheet: (callback) => {\n if (closeRequestedRef.current) {\n return;\n }\n closeRequestedRef.current = true;\n postCallback.current = callback;\n bottomSheetDialogRef.current?.onCloseDialog();\n },\n onOpenBottomSheet: (callback) => {\n didNavigateBackRef.current = false;\n closeRequestedRef.current = false;\n didRunPostCallbackRef.current = false;\n postCallback.current = callback;\n bottomSheetDialogRef.current?.onOpenDialog();\n },\n }));\n\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={\n Platform.OS === 'ios' ? -screenBottomPadding : frameY\n }\n style={[tw.style('absolute inset-0 justify-end'), style]}\n enabled={keyboardAvoidingViewEnabled}\n {...props}\n >\n <BottomSheetOverlay\n onPress={\n isInteractable\n ? () => bottomSheetDialogRef.current?.onCloseDialog()\n : undefined\n }\n />\n <BottomSheetDialog\n isInteractable={isInteractable}\n onClose={onCloseCB}\n onOpen={onOpenCB}\n ref={bottomSheetDialogRef}\n isFullscreen={isFullscreen}\n twClassName={twClassName}\n keyboardAvoidingViewEnabled={keyboardAvoidingViewEnabled}\n >\n {children}\n </BottomSheetDialog>\n </KeyboardAvoidingView>\n );\n },\n);\n\nBottomSheet.displayName = 'BottomSheet';\n"]}
1
+ {"version":3,"file":"BottomSheet.cjs","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useTailwind } from '@metamask-previews/design-system-twrnc-preset';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n} from 'react';\nimport { BackHandler, KeyboardAvoidingView, Platform } from 'react-native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\n\nimport { BottomSheetDialog } from '../BottomSheetDialog';\nimport type { BottomSheetDialogRef } from '../BottomSheetDialog';\nimport { BottomSheetOverlay } from '../BottomSheetOverlay/BottomSheetOverlay';\n\nimport type {\n BottomSheetPostCallback,\n BottomSheetProps,\n BottomSheetRef,\n} from './BottomSheet.types';\n\nexport const BottomSheet = forwardRef<BottomSheetRef, BottomSheetProps>(\n (\n {\n children,\n onClose,\n onOpen,\n goBack,\n style,\n twClassName,\n isInteractable = true,\n isFullscreen = false,\n keyboardAvoidingViewEnabled = true,\n panGestureHandlerProps,\n ...props\n },\n ref,\n ) => {\n const tw = useTailwind();\n const { bottom: screenBottomPadding } = useSafeAreaInsets();\n const { y: frameY } = useSafeAreaFrame();\n const postCallback = useRef<BottomSheetPostCallback>();\n const bottomSheetDialogRef = useRef<BottomSheetDialogRef>(null);\n const didNavigateBackRef = useRef(false);\n const closeRequestedRef = useRef(false);\n const didRunPostCallbackRef = useRef(false);\n\n const onOpenCB = useCallback(() => {\n // Reset when the sheet is opened again.\n didNavigateBackRef.current = false;\n closeRequestedRef.current = false;\n didRunPostCallbackRef.current = false;\n\n onOpen?.(Boolean(postCallback.current));\n const callback = postCallback.current;\n postCallback.current = undefined;\n callback?.();\n }, [onOpen]);\n\n const onCloseCB = useCallback(() => {\n if (goBack && !didNavigateBackRef.current) {\n didNavigateBackRef.current = true;\n goBack?.();\n }\n\n const callback = postCallback.current;\n const hasCallback = Boolean(callback);\n\n onClose?.(hasCallback);\n\n if (!didRunPostCallbackRef.current && hasCallback) {\n didRunPostCallbackRef.current = true;\n postCallback.current = undefined;\n callback?.();\n }\n }, [goBack, onClose]);\n\n // Dismiss the sheet when Android back button is pressed.\n useEffect(() => {\n const hardwareBackPress = () => {\n if (isInteractable) {\n bottomSheetDialogRef.current?.onCloseDialog();\n }\n return true;\n };\n BackHandler.addEventListener('hardwareBackPress', hardwareBackPress);\n return () => {\n BackHandler.removeEventListener('hardwareBackPress', hardwareBackPress);\n };\n }, [isInteractable]);\n\n useImperativeHandle(ref, () => ({\n onCloseBottomSheet: (callback) => {\n if (closeRequestedRef.current) {\n return;\n }\n closeRequestedRef.current = true;\n postCallback.current = callback;\n bottomSheetDialogRef.current?.onCloseDialog();\n },\n onOpenBottomSheet: (callback) => {\n didNavigateBackRef.current = false;\n closeRequestedRef.current = false;\n didRunPostCallbackRef.current = false;\n postCallback.current = callback;\n bottomSheetDialogRef.current?.onOpenDialog();\n },\n }));\n\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={\n Platform.OS === 'ios' ? -screenBottomPadding : frameY\n }\n style={[tw.style('absolute inset-0 justify-end'), style]}\n enabled={keyboardAvoidingViewEnabled}\n {...props}\n >\n <BottomSheetOverlay\n onPress={\n isInteractable\n ? () => bottomSheetDialogRef.current?.onCloseDialog()\n : undefined\n }\n />\n <BottomSheetDialog\n isInteractable={isInteractable}\n onClose={onCloseCB}\n onOpen={onOpenCB}\n ref={bottomSheetDialogRef}\n isFullscreen={isFullscreen}\n twClassName={twClassName}\n keyboardAvoidingViewEnabled={keyboardAvoidingViewEnabled}\n panGestureHandlerProps={panGestureHandlerProps}\n >\n {children}\n </BottomSheetDialog>\n </KeyboardAvoidingView>\n );\n },\n);\n\nBottomSheet.displayName = 'BottomSheet';\n"]}
@@ -1,8 +1,7 @@
1
1
  import React from "react";
2
2
  import type { BottomSheetRef } from "./BottomSheet.types.cjs";
3
3
  export declare const BottomSheet: React.ForwardRefExoticComponent<{
4
- shouldNavigateBack?: boolean | undefined;
5
- goBack: () => void;
4
+ goBack?: (() => void) | undefined;
6
5
  keyboardAvoidingViewEnabled?: boolean | undefined;
7
6
  } & {
8
7
  children?: React.ReactNode;
@@ -11,6 +10,36 @@ export declare const BottomSheet: React.ForwardRefExoticComponent<{
11
10
  keyboardAvoidingViewEnabled?: boolean | undefined;
12
11
  onClose?: ((hasPendingAction?: boolean | undefined) => void) | undefined;
13
12
  onOpen?: ((hasPendingAction?: boolean | undefined) => void) | undefined;
13
+ panGestureHandlerProps?: {
14
+ children?: React.ReactNode;
15
+ hitSlop?: import("react-native-gesture-handler/lib/typescript/handlers/gestureHandlerCommon").HitSlop | undefined;
16
+ id?: string | undefined;
17
+ testID?: string | undefined;
18
+ activeOffsetY?: number | number[] | undefined;
19
+ activeOffsetX?: number | number[] | undefined;
20
+ failOffsetY?: number | number[] | undefined;
21
+ failOffsetX?: number | number[] | undefined;
22
+ shouldCancelWhenOutside?: boolean | undefined;
23
+ userSelect?: import("react-native-gesture-handler/lib/typescript/handlers/gestureHandlerCommon").UserSelect | undefined;
24
+ waitFor?: React.Ref<unknown> | React.Ref<unknown>[] | undefined;
25
+ simultaneousHandlers?: React.Ref<unknown> | React.Ref<unknown>[] | undefined;
26
+ cancelsTouchesInView?: boolean | undefined;
27
+ onBegan?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<Record<string, unknown>>) => void) | undefined;
28
+ onFailed?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<Record<string, unknown>>) => void) | undefined;
29
+ onCancelled?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<Record<string, unknown>>) => void) | undefined;
30
+ onActivated?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<Record<string, unknown>>) => void) | undefined;
31
+ onEnded?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<Record<string, unknown>>) => void) | undefined;
32
+ onHandlerStateChange?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<import("react-native-gesture-handler").PanGestureHandlerEventPayload>) => void) | undefined;
33
+ minDist?: number | undefined;
34
+ avgTouches?: boolean | undefined;
35
+ enableTrackpadTwoFingerGesture?: boolean | undefined;
36
+ minPointers?: number | undefined;
37
+ maxPointers?: number | undefined;
38
+ minVelocity?: number | undefined;
39
+ minVelocityX?: number | undefined;
40
+ minVelocityY?: number | undefined;
41
+ activateAfterLongPress?: number | undefined;
42
+ } | undefined;
14
43
  twClassName?: string | undefined;
15
44
  } & import("react-native").ViewProps & React.RefAttributes<BottomSheetRef>>;
16
45
  //# sourceMappingURL=BottomSheet.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.d.cts","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"AACA,OAAO,KAMN,cAAc;AAWf,OAAO,KAAK,EAGV,cAAc,EACf,gCAA4B;AAE7B,eAAO,MAAM,WAAW;;;;;;;;;;;;2EAuHvB,CAAC"}
1
+ {"version":3,"file":"BottomSheet.d.cts","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"AACA,OAAO,KAMN,cAAc;AAWf,OAAO,KAAK,EAGV,cAAc,EACf,gCAA4B;AAE7B,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2EAwHvB,CAAC"}
@@ -1,8 +1,7 @@
1
1
  import React from "react";
2
2
  import type { BottomSheetRef } from "./BottomSheet.types.mjs";
3
3
  export declare const BottomSheet: React.ForwardRefExoticComponent<{
4
- shouldNavigateBack?: boolean | undefined;
5
- goBack: () => void;
4
+ goBack?: (() => void) | undefined;
6
5
  keyboardAvoidingViewEnabled?: boolean | undefined;
7
6
  } & {
8
7
  children?: React.ReactNode;
@@ -11,6 +10,36 @@ export declare const BottomSheet: React.ForwardRefExoticComponent<{
11
10
  keyboardAvoidingViewEnabled?: boolean | undefined;
12
11
  onClose?: ((hasPendingAction?: boolean | undefined) => void) | undefined;
13
12
  onOpen?: ((hasPendingAction?: boolean | undefined) => void) | undefined;
13
+ panGestureHandlerProps?: {
14
+ children?: React.ReactNode;
15
+ hitSlop?: import("react-native-gesture-handler/lib/typescript/handlers/gestureHandlerCommon").HitSlop | undefined;
16
+ id?: string | undefined;
17
+ testID?: string | undefined;
18
+ activeOffsetY?: number | number[] | undefined;
19
+ activeOffsetX?: number | number[] | undefined;
20
+ failOffsetY?: number | number[] | undefined;
21
+ failOffsetX?: number | number[] | undefined;
22
+ shouldCancelWhenOutside?: boolean | undefined;
23
+ userSelect?: import("react-native-gesture-handler/lib/typescript/handlers/gestureHandlerCommon").UserSelect | undefined;
24
+ waitFor?: React.Ref<unknown> | React.Ref<unknown>[] | undefined;
25
+ simultaneousHandlers?: React.Ref<unknown> | React.Ref<unknown>[] | undefined;
26
+ cancelsTouchesInView?: boolean | undefined;
27
+ onBegan?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<Record<string, unknown>>) => void) | undefined;
28
+ onFailed?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<Record<string, unknown>>) => void) | undefined;
29
+ onCancelled?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<Record<string, unknown>>) => void) | undefined;
30
+ onActivated?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<Record<string, unknown>>) => void) | undefined;
31
+ onEnded?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<Record<string, unknown>>) => void) | undefined;
32
+ onHandlerStateChange?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<import("react-native-gesture-handler").PanGestureHandlerEventPayload>) => void) | undefined;
33
+ minDist?: number | undefined;
34
+ avgTouches?: boolean | undefined;
35
+ enableTrackpadTwoFingerGesture?: boolean | undefined;
36
+ minPointers?: number | undefined;
37
+ maxPointers?: number | undefined;
38
+ minVelocity?: number | undefined;
39
+ minVelocityX?: number | undefined;
40
+ minVelocityY?: number | undefined;
41
+ activateAfterLongPress?: number | undefined;
42
+ } | undefined;
14
43
  twClassName?: string | undefined;
15
44
  } & import("react-native").ViewProps & React.RefAttributes<BottomSheetRef>>;
16
45
  //# sourceMappingURL=BottomSheet.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.d.mts","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"AACA,OAAO,KAMN,cAAc;AAWf,OAAO,KAAK,EAGV,cAAc,EACf,gCAA4B;AAE7B,eAAO,MAAM,WAAW;;;;;;;;;;;;2EAuHvB,CAAC"}
1
+ {"version":3,"file":"BottomSheet.d.mts","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"AACA,OAAO,KAMN,cAAc;AAWf,OAAO,KAAK,EAGV,cAAc,EACf,gCAA4B;AAE7B,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2EAwHvB,CAAC"}
@@ -9,9 +9,9 @@ import $React, { forwardRef, useCallback, useEffect, useImperativeHandle, useRef
9
9
  const React = $importDefault($React);
10
10
  import { BackHandler, KeyboardAvoidingView, Platform } from "react-native/index.js";
11
11
  import { useSafeAreaFrame, useSafeAreaInsets } from "react-native-safe-area-context";
12
- import BottomSheetDialog from "../BottomSheetDialog/index.mjs";
12
+ import { BottomSheetDialog } from "../BottomSheetDialog/index.mjs";
13
13
  import { BottomSheetOverlay } from "../BottomSheetOverlay/BottomSheetOverlay.mjs";
14
- export const BottomSheet = forwardRef(({ children, onClose, onOpen, goBack, style, twClassName, isInteractable = true, shouldNavigateBack = true, isFullscreen = false, keyboardAvoidingViewEnabled = true, ...props }, ref) => {
14
+ export const BottomSheet = forwardRef(({ children, onClose, onOpen, goBack, style, twClassName, isInteractable = true, isFullscreen = false, keyboardAvoidingViewEnabled = true, panGestureHandlerProps, ...props }, ref) => {
15
15
  const tw = useTailwind();
16
16
  const { bottom: screenBottomPadding } = useSafeAreaInsets();
17
17
  const { y: frameY } = useSafeAreaFrame();
@@ -31,9 +31,9 @@ export const BottomSheet = forwardRef(({ children, onClose, onOpen, goBack, styl
31
31
  callback?.();
32
32
  }, [onOpen]);
33
33
  const onCloseCB = useCallback(() => {
34
- if (shouldNavigateBack && !didNavigateBackRef.current) {
34
+ if (goBack && !didNavigateBackRef.current) {
35
35
  didNavigateBackRef.current = true;
36
- goBack();
36
+ goBack?.();
37
37
  }
38
38
  const callback = postCallback.current;
39
39
  const hasCallback = Boolean(callback);
@@ -43,7 +43,7 @@ export const BottomSheet = forwardRef(({ children, onClose, onOpen, goBack, styl
43
43
  postCallback.current = undefined;
44
44
  callback?.();
45
45
  }
46
- }, [goBack, onClose, shouldNavigateBack]);
46
+ }, [goBack, onClose]);
47
47
  // Dismiss the sheet when Android back button is pressed.
48
48
  useEffect(() => {
49
49
  const hardwareBackPress = () => {
@@ -78,7 +78,7 @@ export const BottomSheet = forwardRef(({ children, onClose, onOpen, goBack, styl
78
78
  <BottomSheetOverlay onPress={isInteractable
79
79
  ? () => bottomSheetDialogRef.current?.onCloseDialog()
80
80
  : undefined}/>
81
- <BottomSheetDialog isInteractable={isInteractable} onClose={onCloseCB} onOpen={onOpenCB} ref={bottomSheetDialogRef} isFullscreen={isFullscreen} twClassName={twClassName} keyboardAvoidingViewEnabled={keyboardAvoidingViewEnabled}>
81
+ <BottomSheetDialog isInteractable={isInteractable} onClose={onCloseCB} onOpen={onOpenCB} ref={bottomSheetDialogRef} isFullscreen={isFullscreen} twClassName={twClassName} keyboardAvoidingViewEnabled={keyboardAvoidingViewEnabled} panGestureHandlerProps={panGestureHandlerProps}>
82
82
  {children}
83
83
  </BottomSheetDialog>
84
84
  </KeyboardAvoidingView>);
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.mjs","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,sDAAsD;AAC5E,OAAO,QAAO,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,MAAM,EACP,cAAc;;AACf,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,8BAAqB;AAC3E,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EAClB,uCAAuC;AAExC,OAAO,iBAAiB,uCAA6B;AAErD,OAAO,EAAE,kBAAkB,EAAE,qDAAiD;AAQ9E,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CACnC,CACE,EACE,QAAQ,EACR,OAAO,EACP,MAAM,EACN,MAAM,EACN,KAAK,EACL,WAAW,EACX,cAAc,GAAG,IAAI,EACrB,kBAAkB,GAAG,IAAI,EACzB,YAAY,GAAG,KAAK,EACpB,2BAA2B,GAAG,IAAI,EAClC,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAC5D,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,YAAY,GAAG,MAAM,EAA2B,CAAC;IACvD,MAAM,oBAAoB,GAAG,MAAM,CAAuB,IAAI,CAAC,CAAC;IAChE,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,qBAAqB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,wCAAwC;QACxC,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;QACnC,iBAAiB,CAAC,OAAO,GAAG,KAAK,CAAC;QAClC,qBAAqB,CAAC,OAAO,GAAG,KAAK,CAAC;QAEtC,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC;QACtC,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;QACjC,QAAQ,EAAE,EAAE,CAAC;IACf,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,IAAI,kBAAkB,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;YACrD,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;YAClC,MAAM,EAAE,CAAC;SACV;QAED,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC;QACtC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEtC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC;QAEvB,IAAI,CAAC,qBAAqB,CAAC,OAAO,IAAI,WAAW,EAAE;YACjD,qBAAqB,CAAC,OAAO,GAAG,IAAI,CAAC;YACrC,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;YACjC,QAAQ,EAAE,EAAE,CAAC;SACd;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE1C,yDAAyD;IACzD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,iBAAiB,GAAG,GAAG,EAAE;YAC7B,IAAI,cAAc,EAAE;gBAClB,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC;aAC/C;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QACF,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;QACrE,OAAO,GAAG,EAAE;YACV,WAAW,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;QAC1E,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,kBAAkB,EAAE,CAAC,QAAQ,EAAE,EAAE;YAC/B,IAAI,iBAAiB,CAAC,OAAO,EAAE;gBAC7B,OAAO;aACR;YACD,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;YACjC,YAAY,CAAC,OAAO,GAAG,QAAQ,CAAC;YAChC,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC;QAChD,CAAC;QACD,iBAAiB,EAAE,CAAC,QAAQ,EAAE,EAAE;YAC9B,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;YACnC,iBAAiB,CAAC,OAAO,GAAG,KAAK,CAAC;YAClC,qBAAqB,CAAC,OAAO,GAAG,KAAK,CAAC;YACtC,YAAY,CAAC,OAAO,GAAG,QAAQ,CAAC;YAChC,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;QAC/C,CAAC;KACF,CAAC,CAAC,CAAC;IAEJ,OAAO,CACL,CAAC,oBAAoB,CACnB,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CACxD,sBAAsB,CAAC,CACrB,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CACtD,CACD,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,EAAE,KAAK,CAAC,CAAC,CACzD,OAAO,CAAC,CAAC,2BAA2B,CAAC,CACrC,IAAI,KAAK,CAAC,CAEV;QAAA,CAAC,kBAAkB,CACjB,OAAO,CAAC,CACN,cAAc;YACZ,CAAC,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE;YACrD,CAAC,CAAC,SAAS,CACd,EAEH;QAAA,CAAC,iBAAiB,CAChB,cAAc,CAAC,CAAC,cAAc,CAAC,CAC/B,OAAO,CAAC,CAAC,SAAS,CAAC,CACnB,MAAM,CAAC,CAAC,QAAQ,CAAC,CACjB,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAC1B,YAAY,CAAC,CAAC,YAAY,CAAC,CAC3B,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,2BAA2B,CAAC,CAAC,2BAA2B,CAAC,CAEzD;UAAA,CAAC,QAAQ,CACX;QAAA,EAAE,iBAAiB,CACrB;MAAA,EAAE,oBAAoB,CAAC,CACxB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC","sourcesContent":["import { useTailwind } from '@metamask-previews/design-system-twrnc-preset';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n} from 'react';\nimport { BackHandler, KeyboardAvoidingView, Platform } from 'react-native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\n\nimport BottomSheetDialog from '../BottomSheetDialog';\nimport type { BottomSheetDialogRef } from '../BottomSheetDialog';\nimport { BottomSheetOverlay } from '../BottomSheetOverlay/BottomSheetOverlay';\n\nimport type {\n BottomSheetPostCallback,\n BottomSheetProps,\n BottomSheetRef,\n} from './BottomSheet.types';\n\nexport const BottomSheet = forwardRef<BottomSheetRef, BottomSheetProps>(\n (\n {\n children,\n onClose,\n onOpen,\n goBack,\n style,\n twClassName,\n isInteractable = true,\n shouldNavigateBack = true,\n isFullscreen = false,\n keyboardAvoidingViewEnabled = true,\n ...props\n },\n ref,\n ) => {\n const tw = useTailwind();\n const { bottom: screenBottomPadding } = useSafeAreaInsets();\n const { y: frameY } = useSafeAreaFrame();\n const postCallback = useRef<BottomSheetPostCallback>();\n const bottomSheetDialogRef = useRef<BottomSheetDialogRef>(null);\n const didNavigateBackRef = useRef(false);\n const closeRequestedRef = useRef(false);\n const didRunPostCallbackRef = useRef(false);\n\n const onOpenCB = useCallback(() => {\n // Reset when the sheet is opened again.\n didNavigateBackRef.current = false;\n closeRequestedRef.current = false;\n didRunPostCallbackRef.current = false;\n\n onOpen?.(Boolean(postCallback.current));\n const callback = postCallback.current;\n postCallback.current = undefined;\n callback?.();\n }, [onOpen]);\n\n const onCloseCB = useCallback(() => {\n if (shouldNavigateBack && !didNavigateBackRef.current) {\n didNavigateBackRef.current = true;\n goBack();\n }\n\n const callback = postCallback.current;\n const hasCallback = Boolean(callback);\n\n onClose?.(hasCallback);\n\n if (!didRunPostCallbackRef.current && hasCallback) {\n didRunPostCallbackRef.current = true;\n postCallback.current = undefined;\n callback?.();\n }\n }, [goBack, onClose, shouldNavigateBack]);\n\n // Dismiss the sheet when Android back button is pressed.\n useEffect(() => {\n const hardwareBackPress = () => {\n if (isInteractable) {\n bottomSheetDialogRef.current?.onCloseDialog();\n }\n return true;\n };\n BackHandler.addEventListener('hardwareBackPress', hardwareBackPress);\n return () => {\n BackHandler.removeEventListener('hardwareBackPress', hardwareBackPress);\n };\n }, [isInteractable]);\n\n useImperativeHandle(ref, () => ({\n onCloseBottomSheet: (callback) => {\n if (closeRequestedRef.current) {\n return;\n }\n closeRequestedRef.current = true;\n postCallback.current = callback;\n bottomSheetDialogRef.current?.onCloseDialog();\n },\n onOpenBottomSheet: (callback) => {\n didNavigateBackRef.current = false;\n closeRequestedRef.current = false;\n didRunPostCallbackRef.current = false;\n postCallback.current = callback;\n bottomSheetDialogRef.current?.onOpenDialog();\n },\n }));\n\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={\n Platform.OS === 'ios' ? -screenBottomPadding : frameY\n }\n style={[tw.style('absolute inset-0 justify-end'), style]}\n enabled={keyboardAvoidingViewEnabled}\n {...props}\n >\n <BottomSheetOverlay\n onPress={\n isInteractable\n ? () => bottomSheetDialogRef.current?.onCloseDialog()\n : undefined\n }\n />\n <BottomSheetDialog\n isInteractable={isInteractable}\n onClose={onCloseCB}\n onOpen={onOpenCB}\n ref={bottomSheetDialogRef}\n isFullscreen={isFullscreen}\n twClassName={twClassName}\n keyboardAvoidingViewEnabled={keyboardAvoidingViewEnabled}\n >\n {children}\n </BottomSheetDialog>\n </KeyboardAvoidingView>\n );\n },\n);\n\nBottomSheet.displayName = 'BottomSheet';\n"]}
1
+ {"version":3,"file":"BottomSheet.mjs","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useTailwind } from '@metamask-previews/design-system-twrnc-preset';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n} from 'react';\nimport { BackHandler, KeyboardAvoidingView, Platform } from 'react-native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\n\nimport { BottomSheetDialog } from '../BottomSheetDialog';\nimport type { BottomSheetDialogRef } from '../BottomSheetDialog';\nimport { BottomSheetOverlay } from '../BottomSheetOverlay/BottomSheetOverlay';\n\nimport type {\n BottomSheetPostCallback,\n BottomSheetProps,\n BottomSheetRef,\n} from './BottomSheet.types';\n\nexport const BottomSheet = forwardRef<BottomSheetRef, BottomSheetProps>(\n (\n {\n children,\n onClose,\n onOpen,\n goBack,\n style,\n twClassName,\n isInteractable = true,\n isFullscreen = false,\n keyboardAvoidingViewEnabled = true,\n panGestureHandlerProps,\n ...props\n },\n ref,\n ) => {\n const tw = useTailwind();\n const { bottom: screenBottomPadding } = useSafeAreaInsets();\n const { y: frameY } = useSafeAreaFrame();\n const postCallback = useRef<BottomSheetPostCallback>();\n const bottomSheetDialogRef = useRef<BottomSheetDialogRef>(null);\n const didNavigateBackRef = useRef(false);\n const closeRequestedRef = useRef(false);\n const didRunPostCallbackRef = useRef(false);\n\n const onOpenCB = useCallback(() => {\n // Reset when the sheet is opened again.\n didNavigateBackRef.current = false;\n closeRequestedRef.current = false;\n didRunPostCallbackRef.current = false;\n\n onOpen?.(Boolean(postCallback.current));\n const callback = postCallback.current;\n postCallback.current = undefined;\n callback?.();\n }, [onOpen]);\n\n const onCloseCB = useCallback(() => {\n if (goBack && !didNavigateBackRef.current) {\n didNavigateBackRef.current = true;\n goBack?.();\n }\n\n const callback = postCallback.current;\n const hasCallback = Boolean(callback);\n\n onClose?.(hasCallback);\n\n if (!didRunPostCallbackRef.current && hasCallback) {\n didRunPostCallbackRef.current = true;\n postCallback.current = undefined;\n callback?.();\n }\n }, [goBack, onClose]);\n\n // Dismiss the sheet when Android back button is pressed.\n useEffect(() => {\n const hardwareBackPress = () => {\n if (isInteractable) {\n bottomSheetDialogRef.current?.onCloseDialog();\n }\n return true;\n };\n BackHandler.addEventListener('hardwareBackPress', hardwareBackPress);\n return () => {\n BackHandler.removeEventListener('hardwareBackPress', hardwareBackPress);\n };\n }, [isInteractable]);\n\n useImperativeHandle(ref, () => ({\n onCloseBottomSheet: (callback) => {\n if (closeRequestedRef.current) {\n return;\n }\n closeRequestedRef.current = true;\n postCallback.current = callback;\n bottomSheetDialogRef.current?.onCloseDialog();\n },\n onOpenBottomSheet: (callback) => {\n didNavigateBackRef.current = false;\n closeRequestedRef.current = false;\n didRunPostCallbackRef.current = false;\n postCallback.current = callback;\n bottomSheetDialogRef.current?.onOpenDialog();\n },\n }));\n\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={\n Platform.OS === 'ios' ? -screenBottomPadding : frameY\n }\n style={[tw.style('absolute inset-0 justify-end'), style]}\n enabled={keyboardAvoidingViewEnabled}\n {...props}\n >\n <BottomSheetOverlay\n onPress={\n isInteractable\n ? () => bottomSheetDialogRef.current?.onCloseDialog()\n : undefined\n }\n />\n <BottomSheetDialog\n isInteractable={isInteractable}\n onClose={onCloseCB}\n onOpen={onOpenCB}\n ref={bottomSheetDialogRef}\n isFullscreen={isFullscreen}\n twClassName={twClassName}\n keyboardAvoidingViewEnabled={keyboardAvoidingViewEnabled}\n panGestureHandlerProps={panGestureHandlerProps}\n >\n {children}\n </BottomSheetDialog>\n </KeyboardAvoidingView>\n );\n },\n);\n\nBottomSheet.displayName = 'BottomSheet';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.types.cjs","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { BottomSheetDialogProps } from '../BottomSheetDialog/BottomSheetDialog.types';\n\n/**\n * BottomSheet component props.\n */\nexport type BottomSheetProps = {\n /**\n * Optional boolean that indicates if sheet is unmounted from the stack or not when closed.\n *\n * @default true\n */\n shouldNavigateBack?: boolean;\n\n /**\n * Callback invoked to navigate back when shouldNavigateBack is true and the sheet closes.\n */\n goBack: () => void;\n\n /**\n * Optional boolean that indicates if the KeyboardAvoidingView is enabled.\n *\n * @default true\n */\n keyboardAvoidingViewEnabled?: boolean;\n} & BottomSheetDialogProps;\n\nexport type BottomSheetPostCallback = () => void;\n\nexport type BottomSheetRef = {\n onOpenBottomSheet: (callback?: BottomSheetPostCallback) => void;\n onCloseBottomSheet: (callback?: BottomSheetPostCallback) => void;\n};\n"]}
1
+ {"version":3,"file":"BottomSheet.types.cjs","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { BottomSheetDialogProps } from '../BottomSheetDialog/BottomSheetDialog.types';\n\n/**\n * BottomSheet component props.\n */\nexport type BottomSheetProps = {\n /**\n * Optional callback. Will be **always** invoked when provided.\n * This callback serves as a replacement for `shouldNavigateBack` prop.\n */\n goBack?: () => void;\n\n /**\n * Optional boolean that indicates if the KeyboardAvoidingView is enabled.\n *\n * @default true\n */\n keyboardAvoidingViewEnabled?: boolean;\n} & BottomSheetDialogProps;\n\nexport type BottomSheetPostCallback = () => void;\n\nexport type BottomSheetRef = {\n onOpenBottomSheet: (callback?: BottomSheetPostCallback) => void;\n onCloseBottomSheet: (callback?: BottomSheetPostCallback) => void;\n};\n"]}
@@ -4,15 +4,10 @@ import type { BottomSheetDialogProps } from "../BottomSheetDialog/BottomSheetDia
4
4
  */
5
5
  export type BottomSheetProps = {
6
6
  /**
7
- * Optional boolean that indicates if sheet is unmounted from the stack or not when closed.
8
- *
9
- * @default true
10
- */
11
- shouldNavigateBack?: boolean;
12
- /**
13
- * Callback invoked to navigate back when shouldNavigateBack is true and the sheet closes.
7
+ * Optional callback. Will be **always** invoked when provided.
8
+ * This callback serves as a replacement for `shouldNavigateBack` prop.
14
9
  */
15
- goBack: () => void;
10
+ goBack?: () => void;
16
11
  /**
17
12
  * Optional boolean that indicates if the KeyboardAvoidingView is enabled.
18
13
  *
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.types.d.cts","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,yDAAqD;AAE3F;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC,GAAG,sBAAsB,CAAC;AAE3B,MAAM,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC;AAEjD,MAAM,MAAM,cAAc,GAAG;IAC3B,iBAAiB,EAAE,CAAC,QAAQ,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAChE,kBAAkB,EAAE,CAAC,QAAQ,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAC;CAClE,CAAC"}
1
+ {"version":3,"file":"BottomSheet.types.d.cts","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,yDAAqD;AAE3F;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC,GAAG,sBAAsB,CAAC;AAE3B,MAAM,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC;AAEjD,MAAM,MAAM,cAAc,GAAG;IAC3B,iBAAiB,EAAE,CAAC,QAAQ,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAChE,kBAAkB,EAAE,CAAC,QAAQ,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAC;CAClE,CAAC"}
@@ -4,15 +4,10 @@ import type { BottomSheetDialogProps } from "../BottomSheetDialog/BottomSheetDia
4
4
  */
5
5
  export type BottomSheetProps = {
6
6
  /**
7
- * Optional boolean that indicates if sheet is unmounted from the stack or not when closed.
8
- *
9
- * @default true
10
- */
11
- shouldNavigateBack?: boolean;
12
- /**
13
- * Callback invoked to navigate back when shouldNavigateBack is true and the sheet closes.
7
+ * Optional callback. Will be **always** invoked when provided.
8
+ * This callback serves as a replacement for `shouldNavigateBack` prop.
14
9
  */
15
- goBack: () => void;
10
+ goBack?: () => void;
16
11
  /**
17
12
  * Optional boolean that indicates if the KeyboardAvoidingView is enabled.
18
13
  *
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.types.d.mts","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,yDAAqD;AAE3F;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC,GAAG,sBAAsB,CAAC;AAE3B,MAAM,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC;AAEjD,MAAM,MAAM,cAAc,GAAG;IAC3B,iBAAiB,EAAE,CAAC,QAAQ,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAChE,kBAAkB,EAAE,CAAC,QAAQ,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAC;CAClE,CAAC"}
1
+ {"version":3,"file":"BottomSheet.types.d.mts","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,yDAAqD;AAE3F;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC,GAAG,sBAAsB,CAAC;AAE3B,MAAM,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC;AAEjD,MAAM,MAAM,cAAc,GAAG;IAC3B,iBAAiB,EAAE,CAAC,QAAQ,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAChE,kBAAkB,EAAE,CAAC,QAAQ,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAC;CAClE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.types.mjs","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { BottomSheetDialogProps } from '../BottomSheetDialog/BottomSheetDialog.types';\n\n/**\n * BottomSheet component props.\n */\nexport type BottomSheetProps = {\n /**\n * Optional boolean that indicates if sheet is unmounted from the stack or not when closed.\n *\n * @default true\n */\n shouldNavigateBack?: boolean;\n\n /**\n * Callback invoked to navigate back when shouldNavigateBack is true and the sheet closes.\n */\n goBack: () => void;\n\n /**\n * Optional boolean that indicates if the KeyboardAvoidingView is enabled.\n *\n * @default true\n */\n keyboardAvoidingViewEnabled?: boolean;\n} & BottomSheetDialogProps;\n\nexport type BottomSheetPostCallback = () => void;\n\nexport type BottomSheetRef = {\n onOpenBottomSheet: (callback?: BottomSheetPostCallback) => void;\n onCloseBottomSheet: (callback?: BottomSheetPostCallback) => void;\n};\n"]}
1
+ {"version":3,"file":"BottomSheet.types.mjs","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { BottomSheetDialogProps } from '../BottomSheetDialog/BottomSheetDialog.types';\n\n/**\n * BottomSheet component props.\n */\nexport type BottomSheetProps = {\n /**\n * Optional callback. Will be **always** invoked when provided.\n * This callback serves as a replacement for `shouldNavigateBack` prop.\n */\n goBack?: () => void;\n\n /**\n * Optional boolean that indicates if the KeyboardAvoidingView is enabled.\n *\n * @default true\n */\n keyboardAvoidingViewEnabled?: boolean;\n} & BottomSheetDialogProps;\n\nexport type BottomSheetPostCallback = () => void;\n\nexport type BottomSheetRef = {\n onOpenBottomSheet: (callback?: BottomSheetPostCallback) => void;\n onCloseBottomSheet: (callback?: BottomSheetPostCallback) => void;\n};\n"]}
@@ -23,6 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.BottomSheetDialog = void 0;
26
27
  const design_system_twrnc_preset_1 = require("@metamask-previews/design-system-twrnc-preset");
27
28
  const design_tokens_1 = require("@metamask-previews/design-tokens");
28
29
  const lodash_1 = require("lodash");
@@ -34,7 +35,7 @@ const react_native_reanimated_1 = __importStar(require("react-native-reanimated"
34
35
  const react_native_safe_area_context_1 = require("react-native-safe-area-context");
35
36
  // Internal dependencies.
36
37
  const BottomSheetDialog_constants_1 = require("./BottomSheetDialog.constants.cjs");
37
- const BottomSheetDialog = (0, react_1.forwardRef)(({ children, isFullscreen = false, isInteractable = true, keyboardAvoidingViewEnabled = true, onClose, onOpen, style, twClassName, ...props }, ref) => {
38
+ exports.BottomSheetDialog = (0, react_1.forwardRef)(({ children, isFullscreen = false, isInteractable = true, keyboardAvoidingViewEnabled = true, onClose, onOpen, panGestureHandlerProps, style, twClassName, ...props }, ref) => {
38
39
  const tw = (0, design_system_twrnc_preset_1.useTailwind)();
39
40
  const currentTheme = (0, design_system_twrnc_preset_1.useTheme)();
40
41
  const shadowLg = currentTheme === design_system_twrnc_preset_1.Theme.Light
@@ -193,7 +194,7 @@ const BottomSheetDialog = (0, react_1.forwardRef)(({ children, isFullscreen = fa
193
194
  onCloseDialog,
194
195
  }));
195
196
  return (<react_native_1.KeyboardAvoidingView style={tw.style('absolute bottom-0 inset-x-0')} behavior={react_native_1.Platform.OS === 'ios' ? 'padding' : undefined} keyboardVerticalOffset={react_native_1.Platform.OS === 'ios' ? -screenBottomPadding : frameY} enabled={keyboardAvoidingViewEnabled} {...props}>
196
- <react_native_gesture_handler_1.PanGestureHandler enabled={isInteractable} onGestureEvent={gestureHandler}>
197
+ <react_native_gesture_handler_1.PanGestureHandler {...panGestureHandlerProps} enabled={isInteractable} onGestureEvent={gestureHandler}>
197
198
  <react_native_reanimated_1.default.View onLayout={updateSheetHeight} style={combinedSheetStyle}>
198
199
  {isInteractable && (<react_native_1.View style={tw.style('self-stretch items-center p-1')}>
199
200
  <react_native_1.View style={tw.style('h-1 w-10 rounded-sm bg-border-muted')}/>
@@ -203,5 +204,4 @@ const BottomSheetDialog = (0, react_1.forwardRef)(({ children, isFullscreen = fa
203
204
  </react_native_gesture_handler_1.PanGestureHandler>
204
205
  </react_native_1.KeyboardAvoidingView>);
205
206
  });
206
- exports.default = BottomSheetDialog;
207
207
  //# sourceMappingURL=BottomSheetDialog.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetDialog.cjs","sourceRoot":"","sources":["../../../src/components/BottomSheetDialog/BottomSheetDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Theme,\n useTailwind,\n useTheme,\n} from '@metamask-previews/design-system-twrnc-preset';\nimport { lightTheme, darkTheme } from '@metamask-previews/design-tokens';\nimport { debounce } from 'lodash';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useImperativeHandle,\n} from 'react';\nimport {\n LayoutChangeEvent,\n View,\n Platform,\n KeyboardAvoidingView,\n} from 'react-native';\nimport {\n PanGestureHandler,\n PanGestureHandlerGestureEvent,\n} from 'react-native-gesture-handler';\n// eslint-disable-next-line import-x/default\nimport Animated, {\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedStyle,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\n\n// Internal dependencies.\nimport {\n DEFAULT_BOTTOMSHEETDIALOG_DISPLAY_DURATION,\n DEFAULT_BOTTOMSHEETDIALOG_DISMISSTHRESHOLD,\n DEFAULT_BOTTOMSHEETDIALOG_SWIPETHRESHOLD_DURATION,\n} from './BottomSheetDialog.constants';\nimport type {\n BottomSheetDialogRef,\n BottomSheetDialogProps,\n} from './BottomSheetDialog.types';\n\nconst BottomSheetDialog = forwardRef<\n BottomSheetDialogRef,\n BottomSheetDialogProps\n>(\n (\n {\n children,\n isFullscreen = false,\n isInteractable = true,\n keyboardAvoidingViewEnabled = true,\n onClose,\n onOpen,\n style,\n twClassName,\n ...props\n },\n ref,\n ) => {\n const tw = useTailwind();\n const currentTheme = useTheme();\n const shadowLg =\n currentTheme === Theme.Light\n ? lightTheme.shadows.size.lg\n : darkTheme.shadows.size.lg;\n\n const { top: screenTopPadding, bottom: screenBottomPadding } =\n useSafeAreaInsets();\n const { y: frameY, height: screenHeight } = useSafeAreaFrame();\n\n const maxSheetHeight = screenHeight - screenTopPadding;\n // X and Y values start on top left of the DIALOG\n // currentYOffset will be used to animate the Y position of the Dialog\n const currentYOffset = useSharedValue(screenHeight);\n const topOfDialogYValue = useSharedValue(0);\n const bottomOfDialogYValue = useSharedValue(screenHeight);\n const isMounted = useRef(false);\n\n const onOpenCB = useCallback(() => {\n onOpen?.();\n }, [onOpen]);\n const onCloseCB = useCallback(() => {\n onClose?.();\n }, [onClose]);\n\n const onCloseDialog = useCallback(\n (callback?: () => void) => {\n currentYOffset.value = withTiming(\n bottomOfDialogYValue.value,\n { duration: DEFAULT_BOTTOMSHEETDIALOG_DISPLAY_DURATION },\n () => {\n runOnJS(onCloseCB)();\n if (callback) {\n runOnJS(callback)();\n }\n },\n );\n // Ref values do not affect deps.\n },\n [onCloseCB],\n );\n\n const gestureHandler = useAnimatedGestureHandler<\n PanGestureHandlerGestureEvent,\n { startY: number }\n >({\n onStart: (_, ctx) => {\n // Starts tracking vertical position of gesture\n ctx.startY = currentYOffset.value;\n },\n onActive: (event, ctx) => {\n const { translationY } = event;\n currentYOffset.value = ctx.startY + translationY;\n // If gesture Y value goes above the bottom of Dialog Y value(bottom of dialog),\n // which means the gesture is currently below the bottom of the dialog,\n // sets it to bottom of Dialog Y value\n if (currentYOffset.value >= bottomOfDialogYValue.value) {\n currentYOffset.value = bottomOfDialogYValue.value;\n }\n // If gesture Y value goes below the top of Dialog Y value(top of dialog),\n // which means the gesture is currently above the top of the dialog,\n // sets it to top of Dialog Y value\n if (currentYOffset.value <= topOfDialogYValue.value) {\n currentYOffset.value = topOfDialogYValue.value;\n }\n },\n onEnd: (event, ctx) => {\n const { translationY, velocityY } = event;\n // finalYOffset is used to animate the Y position of the Dialog after the gesture event\n let finalYOffset: number;\n // Measuring dismissing swipe action\n const latestOffset = ctx.startY + translationY;\n // Check if the swipe distance reach the dismiss offset threshold,\n // which is currently 60% of sheet height\n const hasReachedDismissOffset =\n latestOffset >\n bottomOfDialogYValue.value *\n DEFAULT_BOTTOMSHEETDIALOG_DISMISSTHRESHOLD;\n // Check if the gesture's vertical speed has reached the threshold to determine a swipe action\n const hasReachedSwipeThreshold =\n Math.abs(velocityY) >\n DEFAULT_BOTTOMSHEETDIALOG_SWIPETHRESHOLD_DURATION;\n const isQuickDismissing = velocityY > 0;\n\n // If user is swiping\n if (hasReachedSwipeThreshold) {\n // Quick swipe takes priority\n if (isQuickDismissing) {\n finalYOffset = bottomOfDialogYValue.value;\n } else {\n finalYOffset = topOfDialogYValue.value;\n }\n } else if (hasReachedDismissOffset) {\n finalYOffset = bottomOfDialogYValue.value;\n } else {\n finalYOffset = topOfDialogYValue.value;\n }\n\n const isDismissed = finalYOffset === bottomOfDialogYValue.value;\n\n if (isDismissed) {\n runOnJS(onCloseDialog)();\n } else {\n // Only animate dialog to a certain Y position instead\n currentYOffset.value = withTiming(finalYOffset, {\n duration: DEFAULT_BOTTOMSHEETDIALOG_DISPLAY_DURATION,\n });\n }\n },\n });\n\n // Animate in sheet on initial render.\n const onOpenDialog = (callback?: () => void) => {\n // Starts setting the Y position of the dialog to the bottom of the dialog\n currentYOffset.value = bottomOfDialogYValue.value;\n // Animate the Y position to the top of the dialog, then call onOpenCB\n currentYOffset.value = withTiming(\n topOfDialogYValue.value,\n {\n duration: DEFAULT_BOTTOMSHEETDIALOG_DISPLAY_DURATION,\n },\n () => {\n runOnJS(onOpenCB)();\n if (callback) {\n runOnJS(callback)();\n }\n },\n );\n };\n\n const onDebouncedCloseDialog = useMemo(\n // Prevent hide from being called multiple times. Potentially caused by taps in quick succession.\n () => debounce(onCloseDialog, 2000, { leading: true }),\n [onCloseDialog],\n );\n\n useEffect(\n () =>\n // Automatically handles animation when content changes\n // Disable for now since network switches causes the screen to hang with this on.\n // LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);\n onDebouncedCloseDialog.cancel(),\n [children, onDebouncedCloseDialog],\n );\n\n const updateSheetHeight = (e: LayoutChangeEvent) => {\n const { height } = e.nativeEvent.layout;\n bottomOfDialogYValue.value = height;\n\n if (!isMounted.current) {\n isMounted.current = true;\n onOpenDialog();\n }\n };\n\n const animatedSheetStyle = useAnimatedStyle(() => ({\n transform: [\n {\n translateY: currentYOffset.value,\n },\n ],\n }));\n\n const sheetStyle = useMemo(\n () => [\n tw.style(\n 'bg-default rounded-t-3xl overflow-hidden border border-muted',\n twClassName,\n ),\n {\n maxHeight: maxSheetHeight,\n paddingBottom: Platform.select({\n ios: screenBottomPadding,\n macos: screenBottomPadding,\n default: screenBottomPadding + 16,\n }),\n ...(isFullscreen && { height: maxSheetHeight }),\n ...shadowLg,\n },\n style,\n ],\n\n [\n tw,\n maxSheetHeight,\n screenBottomPadding,\n isFullscreen,\n shadowLg,\n style,\n twClassName,\n ],\n );\n\n const combinedSheetStyle = useMemo(\n () => [...sheetStyle, animatedSheetStyle],\n\n [sheetStyle],\n );\n\n useImperativeHandle(ref, () => ({\n onOpenDialog,\n onCloseDialog,\n }));\n\n return (\n <KeyboardAvoidingView\n style={tw.style('absolute bottom-0 inset-x-0')}\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={\n Platform.OS === 'ios' ? -screenBottomPadding : frameY\n }\n enabled={keyboardAvoidingViewEnabled}\n {...props}\n >\n <PanGestureHandler\n enabled={isInteractable}\n onGestureEvent={gestureHandler}\n >\n <Animated.View\n onLayout={updateSheetHeight}\n style={combinedSheetStyle}\n >\n {isInteractable && (\n <View style={tw.style('self-stretch items-center p-1')}>\n <View style={tw.style('h-1 w-10 rounded-sm bg-border-muted')} />\n </View>\n )}\n {children}\n </Animated.View>\n </PanGestureHandler>\n </KeyboardAvoidingView>\n );\n },\n);\n\nexport default BottomSheetDialog;\n"]}
1
+ {"version":3,"file":"BottomSheetDialog.cjs","sourceRoot":"","sources":["../../../src/components/BottomSheetDialog/BottomSheetDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Theme,\n useTailwind,\n useTheme,\n} from '@metamask-previews/design-system-twrnc-preset';\nimport { lightTheme, darkTheme } from '@metamask-previews/design-tokens';\nimport { debounce } from 'lodash';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useImperativeHandle,\n} from 'react';\nimport {\n LayoutChangeEvent,\n View,\n Platform,\n KeyboardAvoidingView,\n} from 'react-native';\nimport {\n PanGestureHandler,\n PanGestureHandlerGestureEvent,\n} from 'react-native-gesture-handler';\n// eslint-disable-next-line import-x/default\nimport Animated, {\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedStyle,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\n\n// Internal dependencies.\nimport {\n DEFAULT_BOTTOMSHEETDIALOG_DISPLAY_DURATION,\n DEFAULT_BOTTOMSHEETDIALOG_DISMISSTHRESHOLD,\n DEFAULT_BOTTOMSHEETDIALOG_SWIPETHRESHOLD_DURATION,\n} from './BottomSheetDialog.constants';\nimport type {\n BottomSheetDialogRef,\n BottomSheetDialogProps,\n} from './BottomSheetDialog.types';\n\nexport const BottomSheetDialog = forwardRef<\n BottomSheetDialogRef,\n BottomSheetDialogProps\n>(\n (\n {\n children,\n isFullscreen = false,\n isInteractable = true,\n keyboardAvoidingViewEnabled = true,\n onClose,\n onOpen,\n panGestureHandlerProps,\n style,\n twClassName,\n ...props\n },\n ref,\n ) => {\n const tw = useTailwind();\n const currentTheme = useTheme();\n const shadowLg =\n currentTheme === Theme.Light\n ? lightTheme.shadows.size.lg\n : darkTheme.shadows.size.lg;\n\n const { top: screenTopPadding, bottom: screenBottomPadding } =\n useSafeAreaInsets();\n const { y: frameY, height: screenHeight } = useSafeAreaFrame();\n\n const maxSheetHeight = screenHeight - screenTopPadding;\n // X and Y values start on top left of the DIALOG\n // currentYOffset will be used to animate the Y position of the Dialog\n const currentYOffset = useSharedValue(screenHeight);\n const topOfDialogYValue = useSharedValue(0);\n const bottomOfDialogYValue = useSharedValue(screenHeight);\n const isMounted = useRef(false);\n\n const onOpenCB = useCallback(() => {\n onOpen?.();\n }, [onOpen]);\n const onCloseCB = useCallback(() => {\n onClose?.();\n }, [onClose]);\n\n const onCloseDialog = useCallback(\n (callback?: () => void) => {\n currentYOffset.value = withTiming(\n bottomOfDialogYValue.value,\n { duration: DEFAULT_BOTTOMSHEETDIALOG_DISPLAY_DURATION },\n () => {\n runOnJS(onCloseCB)();\n if (callback) {\n runOnJS(callback)();\n }\n },\n );\n // Ref values do not affect deps.\n },\n [onCloseCB],\n );\n\n const gestureHandler = useAnimatedGestureHandler<\n PanGestureHandlerGestureEvent,\n { startY: number }\n >({\n onStart: (_, ctx) => {\n // Starts tracking vertical position of gesture\n ctx.startY = currentYOffset.value;\n },\n onActive: (event, ctx) => {\n const { translationY } = event;\n currentYOffset.value = ctx.startY + translationY;\n // If gesture Y value goes above the bottom of Dialog Y value(bottom of dialog),\n // which means the gesture is currently below the bottom of the dialog,\n // sets it to bottom of Dialog Y value\n if (currentYOffset.value >= bottomOfDialogYValue.value) {\n currentYOffset.value = bottomOfDialogYValue.value;\n }\n // If gesture Y value goes below the top of Dialog Y value(top of dialog),\n // which means the gesture is currently above the top of the dialog,\n // sets it to top of Dialog Y value\n if (currentYOffset.value <= topOfDialogYValue.value) {\n currentYOffset.value = topOfDialogYValue.value;\n }\n },\n onEnd: (event, ctx) => {\n const { translationY, velocityY } = event;\n // finalYOffset is used to animate the Y position of the Dialog after the gesture event\n let finalYOffset: number;\n // Measuring dismissing swipe action\n const latestOffset = ctx.startY + translationY;\n // Check if the swipe distance reach the dismiss offset threshold,\n // which is currently 60% of sheet height\n const hasReachedDismissOffset =\n latestOffset >\n bottomOfDialogYValue.value *\n DEFAULT_BOTTOMSHEETDIALOG_DISMISSTHRESHOLD;\n // Check if the gesture's vertical speed has reached the threshold to determine a swipe action\n const hasReachedSwipeThreshold =\n Math.abs(velocityY) >\n DEFAULT_BOTTOMSHEETDIALOG_SWIPETHRESHOLD_DURATION;\n const isQuickDismissing = velocityY > 0;\n\n // If user is swiping\n if (hasReachedSwipeThreshold) {\n // Quick swipe takes priority\n if (isQuickDismissing) {\n finalYOffset = bottomOfDialogYValue.value;\n } else {\n finalYOffset = topOfDialogYValue.value;\n }\n } else if (hasReachedDismissOffset) {\n finalYOffset = bottomOfDialogYValue.value;\n } else {\n finalYOffset = topOfDialogYValue.value;\n }\n\n const isDismissed = finalYOffset === bottomOfDialogYValue.value;\n\n if (isDismissed) {\n runOnJS(onCloseDialog)();\n } else {\n // Only animate dialog to a certain Y position instead\n currentYOffset.value = withTiming(finalYOffset, {\n duration: DEFAULT_BOTTOMSHEETDIALOG_DISPLAY_DURATION,\n });\n }\n },\n });\n\n // Animate in sheet on initial render.\n const onOpenDialog = (callback?: () => void) => {\n // Starts setting the Y position of the dialog to the bottom of the dialog\n currentYOffset.value = bottomOfDialogYValue.value;\n // Animate the Y position to the top of the dialog, then call onOpenCB\n currentYOffset.value = withTiming(\n topOfDialogYValue.value,\n {\n duration: DEFAULT_BOTTOMSHEETDIALOG_DISPLAY_DURATION,\n },\n () => {\n runOnJS(onOpenCB)();\n if (callback) {\n runOnJS(callback)();\n }\n },\n );\n };\n\n const onDebouncedCloseDialog = useMemo(\n // Prevent hide from being called multiple times. Potentially caused by taps in quick succession.\n () => debounce(onCloseDialog, 2000, { leading: true }),\n [onCloseDialog],\n );\n\n useEffect(\n () =>\n // Automatically handles animation when content changes\n // Disable for now since network switches causes the screen to hang with this on.\n // LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);\n onDebouncedCloseDialog.cancel(),\n [children, onDebouncedCloseDialog],\n );\n\n const updateSheetHeight = (e: LayoutChangeEvent) => {\n const { height } = e.nativeEvent.layout;\n bottomOfDialogYValue.value = height;\n\n if (!isMounted.current) {\n isMounted.current = true;\n onOpenDialog();\n }\n };\n\n const animatedSheetStyle = useAnimatedStyle(() => ({\n transform: [\n {\n translateY: currentYOffset.value,\n },\n ],\n }));\n\n const sheetStyle = useMemo(\n () => [\n tw.style(\n 'bg-default rounded-t-3xl overflow-hidden border border-muted',\n twClassName,\n ),\n {\n maxHeight: maxSheetHeight,\n paddingBottom: Platform.select({\n ios: screenBottomPadding,\n macos: screenBottomPadding,\n default: screenBottomPadding + 16,\n }),\n ...(isFullscreen && { height: maxSheetHeight }),\n ...shadowLg,\n },\n style,\n ],\n\n [\n tw,\n maxSheetHeight,\n screenBottomPadding,\n isFullscreen,\n shadowLg,\n style,\n twClassName,\n ],\n );\n\n const combinedSheetStyle = useMemo(\n () => [...sheetStyle, animatedSheetStyle],\n\n [sheetStyle],\n );\n\n useImperativeHandle(ref, () => ({\n onOpenDialog,\n onCloseDialog,\n }));\n\n return (\n <KeyboardAvoidingView\n style={tw.style('absolute bottom-0 inset-x-0')}\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={\n Platform.OS === 'ios' ? -screenBottomPadding : frameY\n }\n enabled={keyboardAvoidingViewEnabled}\n {...props}\n >\n <PanGestureHandler\n {...panGestureHandlerProps}\n enabled={isInteractable}\n onGestureEvent={gestureHandler}\n >\n <Animated.View\n onLayout={updateSheetHeight}\n style={combinedSheetStyle}\n >\n {isInteractable && (\n <View style={tw.style('self-stretch items-center p-1')}>\n <View style={tw.style('h-1 w-10 rounded-sm bg-border-muted')} />\n </View>\n )}\n {children}\n </Animated.View>\n </PanGestureHandler>\n </KeyboardAvoidingView>\n );\n },\n);\n"]}
@@ -1,13 +1,42 @@
1
1
  import React from "react";
2
2
  import type { BottomSheetDialogRef } from "./BottomSheetDialog.types.cjs";
3
- declare const BottomSheetDialog: React.ForwardRefExoticComponent<{
3
+ export declare const BottomSheetDialog: React.ForwardRefExoticComponent<{
4
4
  children?: React.ReactNode;
5
5
  isFullscreen?: boolean | undefined;
6
6
  isInteractable?: boolean | undefined;
7
7
  keyboardAvoidingViewEnabled?: boolean | undefined;
8
8
  onClose?: ((hasPendingAction?: boolean | undefined) => void) | undefined;
9
9
  onOpen?: ((hasPendingAction?: boolean | undefined) => void) | undefined;
10
+ panGestureHandlerProps?: {
11
+ children?: React.ReactNode;
12
+ hitSlop?: import("react-native-gesture-handler/lib/typescript/handlers/gestureHandlerCommon").HitSlop | undefined;
13
+ id?: string | undefined;
14
+ testID?: string | undefined;
15
+ activeOffsetY?: number | number[] | undefined;
16
+ activeOffsetX?: number | number[] | undefined;
17
+ failOffsetY?: number | number[] | undefined;
18
+ failOffsetX?: number | number[] | undefined;
19
+ shouldCancelWhenOutside?: boolean | undefined;
20
+ userSelect?: import("react-native-gesture-handler/lib/typescript/handlers/gestureHandlerCommon").UserSelect | undefined;
21
+ waitFor?: React.Ref<unknown> | React.Ref<unknown>[] | undefined;
22
+ simultaneousHandlers?: React.Ref<unknown> | React.Ref<unknown>[] | undefined;
23
+ cancelsTouchesInView?: boolean | undefined;
24
+ onBegan?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<Record<string, unknown>>) => void) | undefined;
25
+ onFailed?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<Record<string, unknown>>) => void) | undefined;
26
+ onCancelled?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<Record<string, unknown>>) => void) | undefined;
27
+ onActivated?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<Record<string, unknown>>) => void) | undefined;
28
+ onEnded?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<Record<string, unknown>>) => void) | undefined;
29
+ onHandlerStateChange?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<import("react-native-gesture-handler").PanGestureHandlerEventPayload>) => void) | undefined;
30
+ minDist?: number | undefined;
31
+ avgTouches?: boolean | undefined;
32
+ enableTrackpadTwoFingerGesture?: boolean | undefined;
33
+ minPointers?: number | undefined;
34
+ maxPointers?: number | undefined;
35
+ minVelocity?: number | undefined;
36
+ minVelocityX?: number | undefined;
37
+ minVelocityY?: number | undefined;
38
+ activateAfterLongPress?: number | undefined;
39
+ } | undefined;
10
40
  twClassName?: string | undefined;
11
41
  } & import("react-native").ViewProps & React.RefAttributes<BottomSheetDialogRef>>;
12
- export default BottomSheetDialog;
13
42
  //# sourceMappingURL=BottomSheetDialog.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetDialog.d.cts","sourceRoot":"","sources":["../../../src/components/BottomSheetDialog/BottomSheetDialog.tsx"],"names":[],"mappings":"AAOA,OAAO,KAON,cAAc;AA8Bf,OAAO,KAAK,EACV,oBAAoB,EAErB,sCAAkC;AAEnC,QAAA,MAAM,iBAAiB;;;;;;;;iFA4PtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"BottomSheetDialog.d.cts","sourceRoot":"","sources":["../../../src/components/BottomSheetDialog/BottomSheetDialog.tsx"],"names":[],"mappings":"AAOA,OAAO,KAON,cAAc;AA8Bf,OAAO,KAAK,EACV,oBAAoB,EAErB,sCAAkC;AAEnC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iFA8P7B,CAAC"}
@@ -1,13 +1,42 @@
1
1
  import React from "react";
2
2
  import type { BottomSheetDialogRef } from "./BottomSheetDialog.types.mjs";
3
- declare const BottomSheetDialog: React.ForwardRefExoticComponent<{
3
+ export declare const BottomSheetDialog: React.ForwardRefExoticComponent<{
4
4
  children?: React.ReactNode;
5
5
  isFullscreen?: boolean | undefined;
6
6
  isInteractable?: boolean | undefined;
7
7
  keyboardAvoidingViewEnabled?: boolean | undefined;
8
8
  onClose?: ((hasPendingAction?: boolean | undefined) => void) | undefined;
9
9
  onOpen?: ((hasPendingAction?: boolean | undefined) => void) | undefined;
10
+ panGestureHandlerProps?: {
11
+ children?: React.ReactNode;
12
+ hitSlop?: import("react-native-gesture-handler/lib/typescript/handlers/gestureHandlerCommon").HitSlop | undefined;
13
+ id?: string | undefined;
14
+ testID?: string | undefined;
15
+ activeOffsetY?: number | number[] | undefined;
16
+ activeOffsetX?: number | number[] | undefined;
17
+ failOffsetY?: number | number[] | undefined;
18
+ failOffsetX?: number | number[] | undefined;
19
+ shouldCancelWhenOutside?: boolean | undefined;
20
+ userSelect?: import("react-native-gesture-handler/lib/typescript/handlers/gestureHandlerCommon").UserSelect | undefined;
21
+ waitFor?: React.Ref<unknown> | React.Ref<unknown>[] | undefined;
22
+ simultaneousHandlers?: React.Ref<unknown> | React.Ref<unknown>[] | undefined;
23
+ cancelsTouchesInView?: boolean | undefined;
24
+ onBegan?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<Record<string, unknown>>) => void) | undefined;
25
+ onFailed?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<Record<string, unknown>>) => void) | undefined;
26
+ onCancelled?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<Record<string, unknown>>) => void) | undefined;
27
+ onActivated?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<Record<string, unknown>>) => void) | undefined;
28
+ onEnded?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<Record<string, unknown>>) => void) | undefined;
29
+ onHandlerStateChange?: ((event: import("react-native-gesture-handler").HandlerStateChangeEvent<import("react-native-gesture-handler").PanGestureHandlerEventPayload>) => void) | undefined;
30
+ minDist?: number | undefined;
31
+ avgTouches?: boolean | undefined;
32
+ enableTrackpadTwoFingerGesture?: boolean | undefined;
33
+ minPointers?: number | undefined;
34
+ maxPointers?: number | undefined;
35
+ minVelocity?: number | undefined;
36
+ minVelocityX?: number | undefined;
37
+ minVelocityY?: number | undefined;
38
+ activateAfterLongPress?: number | undefined;
39
+ } | undefined;
10
40
  twClassName?: string | undefined;
11
41
  } & import("react-native").ViewProps & React.RefAttributes<BottomSheetDialogRef>>;
12
- export default BottomSheetDialog;
13
42
  //# sourceMappingURL=BottomSheetDialog.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetDialog.d.mts","sourceRoot":"","sources":["../../../src/components/BottomSheetDialog/BottomSheetDialog.tsx"],"names":[],"mappings":"AAOA,OAAO,KAON,cAAc;AA8Bf,OAAO,KAAK,EACV,oBAAoB,EAErB,sCAAkC;AAEnC,QAAA,MAAM,iBAAiB;;;;;;;;iFA4PtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"BottomSheetDialog.d.mts","sourceRoot":"","sources":["../../../src/components/BottomSheetDialog/BottomSheetDialog.tsx"],"names":[],"mappings":"AAOA,OAAO,KAON,cAAc;AA8Bf,OAAO,KAAK,EACV,oBAAoB,EAErB,sCAAkC;AAEnC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iFA8P7B,CAAC"}
@@ -17,7 +17,7 @@ import Animated, { runOnJS, useAnimatedGestureHandler, useAnimatedStyle, useShar
17
17
  import { useSafeAreaFrame, useSafeAreaInsets } from "react-native-safe-area-context";
18
18
  // Internal dependencies.
19
19
  import { DEFAULT_BOTTOMSHEETDIALOG_DISPLAY_DURATION, DEFAULT_BOTTOMSHEETDIALOG_DISMISSTHRESHOLD, DEFAULT_BOTTOMSHEETDIALOG_SWIPETHRESHOLD_DURATION } from "./BottomSheetDialog.constants.mjs";
20
- const BottomSheetDialog = forwardRef(({ children, isFullscreen = false, isInteractable = true, keyboardAvoidingViewEnabled = true, onClose, onOpen, style, twClassName, ...props }, ref) => {
20
+ export const BottomSheetDialog = forwardRef(({ children, isFullscreen = false, isInteractable = true, keyboardAvoidingViewEnabled = true, onClose, onOpen, panGestureHandlerProps, style, twClassName, ...props }, ref) => {
21
21
  const tw = useTailwind();
22
22
  const currentTheme = useTheme();
23
23
  const shadowLg = currentTheme === Theme.Light
@@ -176,7 +176,7 @@ const BottomSheetDialog = forwardRef(({ children, isFullscreen = false, isIntera
176
176
  onCloseDialog,
177
177
  }));
178
178
  return (<KeyboardAvoidingView style={tw.style('absolute bottom-0 inset-x-0')} behavior={Platform.OS === 'ios' ? 'padding' : undefined} keyboardVerticalOffset={Platform.OS === 'ios' ? -screenBottomPadding : frameY} enabled={keyboardAvoidingViewEnabled} {...props}>
179
- <PanGestureHandler enabled={isInteractable} onGestureEvent={gestureHandler}>
179
+ <PanGestureHandler {...panGestureHandlerProps} enabled={isInteractable} onGestureEvent={gestureHandler}>
180
180
  <Animated.View onLayout={updateSheetHeight} style={combinedSheetStyle}>
181
181
  {isInteractable && (<View style={tw.style('self-stretch items-center p-1')}>
182
182
  <View style={tw.style('h-1 w-10 rounded-sm bg-border-muted')}/>
@@ -186,5 +186,4 @@ const BottomSheetDialog = forwardRef(({ children, isFullscreen = false, isIntera
186
186
  </PanGestureHandler>
187
187
  </KeyboardAvoidingView>);
188
188
  });
189
- export default BottomSheetDialog;
190
189
  //# sourceMappingURL=BottomSheetDialog.mjs.map