@sendbird/uikit-react-native-foundation 3.7.6 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (336) hide show
  1. package/lib/commonjs/assets/bundle-icons.js.map +1 -1
  2. package/lib/commonjs/assets/icon/icon-thread.png +0 -0
  3. package/lib/commonjs/assets/icon/icon-thread@2x.png +0 -0
  4. package/lib/commonjs/assets/icon/icon-thread@3x.png +0 -0
  5. package/lib/commonjs/assets/icon/index.js +1 -2
  6. package/lib/commonjs/assets/icon/index.js.map +1 -1
  7. package/lib/commonjs/components/Box/index.js +8 -10
  8. package/lib/commonjs/components/Box/index.js.map +1 -1
  9. package/lib/commonjs/components/Divider/index.js +6 -8
  10. package/lib/commonjs/components/Divider/index.js.map +1 -1
  11. package/lib/commonjs/components/Icon/index.js +36 -18
  12. package/lib/commonjs/components/Icon/index.js.map +1 -1
  13. package/lib/commonjs/components/Image/FastImageInternal.js +1 -2
  14. package/lib/commonjs/components/Image/FastImageInternal.js.map +1 -1
  15. package/lib/commonjs/components/Image/Image.fastimage.js +14 -17
  16. package/lib/commonjs/components/Image/Image.fastimage.js.map +1 -1
  17. package/lib/commonjs/components/Image/Image.reactnative.js +10 -12
  18. package/lib/commonjs/components/Image/Image.reactnative.js.map +1 -1
  19. package/lib/commonjs/components/Image/index.js +1 -2
  20. package/lib/commonjs/components/Image/index.js.map +1 -1
  21. package/lib/commonjs/components/ImageWithPlaceholder/index.js +5 -7
  22. package/lib/commonjs/components/ImageWithPlaceholder/index.js.map +1 -1
  23. package/lib/commonjs/components/Modal/index.js +28 -37
  24. package/lib/commonjs/components/Modal/index.js.map +1 -1
  25. package/lib/commonjs/components/PressBox/index.js +17 -20
  26. package/lib/commonjs/components/PressBox/index.js.map +1 -1
  27. package/lib/commonjs/components/ProgressBar/index.js +24 -16
  28. package/lib/commonjs/components/ProgressBar/index.js.map +1 -1
  29. package/lib/commonjs/components/RegexText/index.js +11 -14
  30. package/lib/commonjs/components/RegexText/index.js.map +1 -1
  31. package/lib/commonjs/components/Switch/index.js +19 -19
  32. package/lib/commonjs/components/Switch/index.js.map +1 -1
  33. package/lib/commonjs/components/Text/index.js +46 -29
  34. package/lib/commonjs/components/Text/index.js.map +1 -1
  35. package/lib/commonjs/components/TextInput/index.js +38 -18
  36. package/lib/commonjs/components/TextInput/index.js.map +1 -1
  37. package/lib/commonjs/components/VideoThumbnail/index.js +11 -13
  38. package/lib/commonjs/components/VideoThumbnail/index.js.map +1 -1
  39. package/lib/commonjs/index.js +3 -3
  40. package/lib/commonjs/index.js.map +1 -1
  41. package/lib/commonjs/styles/HeaderStyleContext.js +8 -10
  42. package/lib/commonjs/styles/HeaderStyleContext.js.map +1 -1
  43. package/lib/commonjs/styles/createScaleFactor.js +3 -6
  44. package/lib/commonjs/styles/createScaleFactor.js.map +1 -1
  45. package/lib/commonjs/styles/createSelectByColorScheme.js +1 -2
  46. package/lib/commonjs/styles/createSelectByColorScheme.js.map +1 -1
  47. package/lib/commonjs/styles/createStyleSheet.js +9 -4
  48. package/lib/commonjs/styles/createStyleSheet.js.map +1 -1
  49. package/lib/commonjs/styles/createTypography.js +2 -5
  50. package/lib/commonjs/styles/createTypography.js.map +1 -1
  51. package/lib/commonjs/styles/getDefaultHeaderHeight.js +1 -2
  52. package/lib/commonjs/styles/getDefaultHeaderHeight.js.map +1 -1
  53. package/lib/commonjs/styles/useHeaderStyle.js +1 -2
  54. package/lib/commonjs/styles/useHeaderStyle.js.map +1 -1
  55. package/lib/commonjs/theme/DarkUIKitTheme.js +2 -3
  56. package/lib/commonjs/theme/DarkUIKitTheme.js.map +1 -1
  57. package/lib/commonjs/theme/LightUIKitTheme.js +2 -3
  58. package/lib/commonjs/theme/LightUIKitTheme.js.map +1 -1
  59. package/lib/commonjs/theme/Palette.js +1 -2
  60. package/lib/commonjs/theme/Palette.js.map +1 -1
  61. package/lib/commonjs/theme/UIKitThemeContext.js +2 -3
  62. package/lib/commonjs/theme/UIKitThemeContext.js.map +1 -1
  63. package/lib/commonjs/theme/UIKitThemeProvider.js +6 -8
  64. package/lib/commonjs/theme/UIKitThemeProvider.js.map +1 -1
  65. package/lib/commonjs/theme/createTheme.js +11 -13
  66. package/lib/commonjs/theme/createTheme.js.map +1 -1
  67. package/lib/commonjs/theme/useUIKitTheme.js +2 -3
  68. package/lib/commonjs/theme/useUIKitTheme.js.map +1 -1
  69. package/lib/commonjs/types.js.map +1 -1
  70. package/lib/commonjs/ui/ActionMenu/index.js +17 -17
  71. package/lib/commonjs/ui/ActionMenu/index.js.map +1 -1
  72. package/lib/commonjs/ui/Alert/index.js +23 -29
  73. package/lib/commonjs/ui/Alert/index.js.map +1 -1
  74. package/lib/commonjs/ui/Avatar/AvatarGroup.js +13 -15
  75. package/lib/commonjs/ui/Avatar/AvatarGroup.js.map +1 -1
  76. package/lib/commonjs/ui/Avatar/AvatarIcon.js +8 -10
  77. package/lib/commonjs/ui/Avatar/AvatarIcon.js.map +1 -1
  78. package/lib/commonjs/ui/Avatar/AvatarStack.js +13 -15
  79. package/lib/commonjs/ui/Avatar/AvatarStack.js.map +1 -1
  80. package/lib/commonjs/ui/Avatar/index.js +14 -17
  81. package/lib/commonjs/ui/Avatar/index.js.map +1 -1
  82. package/lib/commonjs/ui/Badge/index.js +10 -12
  83. package/lib/commonjs/ui/Badge/index.js.map +1 -1
  84. package/lib/commonjs/ui/BottomSheet/index.js +30 -39
  85. package/lib/commonjs/ui/BottomSheet/index.js.map +1 -1
  86. package/lib/commonjs/ui/Button/index.js +19 -23
  87. package/lib/commonjs/ui/Button/index.js.map +1 -1
  88. package/lib/commonjs/ui/ChannelFrozenBanner/index.js +8 -10
  89. package/lib/commonjs/ui/ChannelFrozenBanner/index.js.map +1 -1
  90. package/lib/commonjs/ui/Dialog/DialogBox.js +6 -8
  91. package/lib/commonjs/ui/Dialog/DialogBox.js.map +1 -1
  92. package/lib/commonjs/ui/Dialog/DialogSheet.js +23 -22
  93. package/lib/commonjs/ui/Dialog/DialogSheet.js.map +1 -1
  94. package/lib/commonjs/ui/Dialog/index.js +11 -12
  95. package/lib/commonjs/ui/Dialog/index.js.map +1 -1
  96. package/lib/commonjs/ui/GroupChannelMessage/Message.admin.js +2 -3
  97. package/lib/commonjs/ui/GroupChannelMessage/Message.admin.js.map +1 -1
  98. package/lib/commonjs/ui/GroupChannelMessage/Message.file.image.js +2 -3
  99. package/lib/commonjs/ui/GroupChannelMessage/Message.file.image.js.map +1 -1
  100. package/lib/commonjs/ui/GroupChannelMessage/Message.file.js +6 -8
  101. package/lib/commonjs/ui/GroupChannelMessage/Message.file.js.map +1 -1
  102. package/lib/commonjs/ui/GroupChannelMessage/Message.file.video.js +2 -3
  103. package/lib/commonjs/ui/GroupChannelMessage/Message.file.video.js.map +1 -1
  104. package/lib/commonjs/ui/GroupChannelMessage/Message.file.voice.js +8 -9
  105. package/lib/commonjs/ui/GroupChannelMessage/Message.file.voice.js.map +1 -1
  106. package/lib/commonjs/ui/GroupChannelMessage/Message.unknown.js +5 -7
  107. package/lib/commonjs/ui/GroupChannelMessage/Message.unknown.js.map +1 -1
  108. package/lib/commonjs/ui/GroupChannelMessage/Message.user.js +8 -12
  109. package/lib/commonjs/ui/GroupChannelMessage/Message.user.js.map +1 -1
  110. package/lib/commonjs/ui/GroupChannelMessage/Message.user.og.js +16 -20
  111. package/lib/commonjs/ui/GroupChannelMessage/Message.user.og.js.map +1 -1
  112. package/lib/commonjs/ui/GroupChannelMessage/MessageBubbleWithText.js +28 -24
  113. package/lib/commonjs/ui/GroupChannelMessage/MessageBubbleWithText.js.map +1 -1
  114. package/lib/commonjs/ui/GroupChannelMessage/MessageContainer.js +29 -31
  115. package/lib/commonjs/ui/GroupChannelMessage/MessageContainer.js.map +1 -1
  116. package/lib/commonjs/ui/GroupChannelMessage/MessageOpenGraph.js +38 -43
  117. package/lib/commonjs/ui/GroupChannelMessage/MessageOpenGraph.js.map +1 -1
  118. package/lib/commonjs/ui/GroupChannelMessage/index.js +2 -3
  119. package/lib/commonjs/ui/GroupChannelMessage/index.js.map +1 -1
  120. package/lib/commonjs/ui/GroupChannelPreview/index.js +55 -61
  121. package/lib/commonjs/ui/GroupChannelPreview/index.js.map +1 -1
  122. package/lib/commonjs/ui/Header/index.js +45 -56
  123. package/lib/commonjs/ui/Header/index.js.map +1 -1
  124. package/lib/commonjs/ui/LoadingSpinner/index.js +14 -18
  125. package/lib/commonjs/ui/LoadingSpinner/index.js.map +1 -1
  126. package/lib/commonjs/ui/MenuBar/index.js +23 -21
  127. package/lib/commonjs/ui/MenuBar/index.js.map +1 -1
  128. package/lib/commonjs/ui/OpenChannelMessage/Message.admin.js +2 -3
  129. package/lib/commonjs/ui/OpenChannelMessage/Message.admin.js.map +1 -1
  130. package/lib/commonjs/ui/OpenChannelMessage/Message.file.image.js +2 -3
  131. package/lib/commonjs/ui/OpenChannelMessage/Message.file.image.js.map +1 -1
  132. package/lib/commonjs/ui/OpenChannelMessage/Message.file.js +6 -8
  133. package/lib/commonjs/ui/OpenChannelMessage/Message.file.js.map +1 -1
  134. package/lib/commonjs/ui/OpenChannelMessage/Message.file.video.js +2 -3
  135. package/lib/commonjs/ui/OpenChannelMessage/Message.file.video.js.map +1 -1
  136. package/lib/commonjs/ui/OpenChannelMessage/Message.unknown.js +6 -8
  137. package/lib/commonjs/ui/OpenChannelMessage/Message.unknown.js.map +1 -1
  138. package/lib/commonjs/ui/OpenChannelMessage/Message.user.js +28 -20
  139. package/lib/commonjs/ui/OpenChannelMessage/Message.user.js.map +1 -1
  140. package/lib/commonjs/ui/OpenChannelMessage/Message.user.og.js +54 -49
  141. package/lib/commonjs/ui/OpenChannelMessage/Message.user.og.js.map +1 -1
  142. package/lib/commonjs/ui/OpenChannelMessage/MessageContainer.js +16 -19
  143. package/lib/commonjs/ui/OpenChannelMessage/MessageContainer.js.map +1 -1
  144. package/lib/commonjs/ui/OpenChannelMessage/index.js +2 -3
  145. package/lib/commonjs/ui/OpenChannelMessage/index.js.map +1 -1
  146. package/lib/commonjs/ui/OpenChannelPreview/index.js +25 -30
  147. package/lib/commonjs/ui/OpenChannelPreview/index.js.map +1 -1
  148. package/lib/commonjs/ui/OutlinedButton/index.js +7 -9
  149. package/lib/commonjs/ui/OutlinedButton/index.js.map +1 -1
  150. package/lib/commonjs/ui/Placeholder/index.js +9 -11
  151. package/lib/commonjs/ui/Placeholder/index.js.map +1 -1
  152. package/lib/commonjs/ui/ProfileCard/index.js +11 -12
  153. package/lib/commonjs/ui/ProfileCard/index.js.map +1 -1
  154. package/lib/commonjs/ui/Prompt/index.js +30 -37
  155. package/lib/commonjs/ui/Prompt/index.js.map +1 -1
  156. package/lib/commonjs/ui/Toast/index.js +21 -27
  157. package/lib/commonjs/ui/Toast/index.js.map +1 -1
  158. package/lib/commonjs/ui/TypingIndicatorBubble/index.js +25 -32
  159. package/lib/commonjs/ui/TypingIndicatorBubble/index.js.map +1 -1
  160. package/lib/module/assets/bundle-icons.js.map +1 -1
  161. package/lib/module/assets/icon/icon-thread.png +0 -0
  162. package/lib/module/assets/icon/icon-thread@2x.png +0 -0
  163. package/lib/module/assets/icon/icon-thread@3x.png +0 -0
  164. package/lib/module/assets/icon/index.js.map +1 -1
  165. package/lib/module/components/Box/index.js +6 -7
  166. package/lib/module/components/Box/index.js.map +1 -1
  167. package/lib/module/components/Divider/index.js +4 -5
  168. package/lib/module/components/Divider/index.js.map +1 -1
  169. package/lib/module/components/Icon/index.js +35 -16
  170. package/lib/module/components/Icon/index.js.map +1 -1
  171. package/lib/module/components/Image/FastImageInternal.js.map +1 -1
  172. package/lib/module/components/Image/Image.fastimage.js +12 -14
  173. package/lib/module/components/Image/Image.fastimage.js.map +1 -1
  174. package/lib/module/components/Image/Image.reactnative.js +8 -9
  175. package/lib/module/components/Image/Image.reactnative.js.map +1 -1
  176. package/lib/module/components/Image/index.js.map +1 -1
  177. package/lib/module/components/ImageWithPlaceholder/index.js +1 -2
  178. package/lib/module/components/ImageWithPlaceholder/index.js.map +1 -1
  179. package/lib/module/components/Modal/index.js +24 -32
  180. package/lib/module/components/Modal/index.js.map +1 -1
  181. package/lib/module/components/PressBox/index.js +10 -12
  182. package/lib/module/components/PressBox/index.js.map +1 -1
  183. package/lib/module/components/ProgressBar/index.js +21 -12
  184. package/lib/module/components/ProgressBar/index.js.map +1 -1
  185. package/lib/module/components/RegexText/index.js +9 -11
  186. package/lib/module/components/RegexText/index.js.map +1 -1
  187. package/lib/module/components/Switch/index.js +16 -15
  188. package/lib/module/components/Switch/index.js.map +1 -1
  189. package/lib/module/components/Text/index.js +45 -27
  190. package/lib/module/components/Text/index.js.map +1 -1
  191. package/lib/module/components/TextInput/index.js +37 -16
  192. package/lib/module/components/TextInput/index.js.map +1 -1
  193. package/lib/module/components/VideoThumbnail/index.js +8 -10
  194. package/lib/module/components/VideoThumbnail/index.js.map +1 -1
  195. package/lib/module/index.js.map +1 -1
  196. package/lib/module/styles/HeaderStyleContext.js +6 -7
  197. package/lib/module/styles/HeaderStyleContext.js.map +1 -1
  198. package/lib/module/styles/createScaleFactor.js +1 -2
  199. package/lib/module/styles/createScaleFactor.js.map +1 -1
  200. package/lib/module/styles/createSelectByColorScheme.js.map +1 -1
  201. package/lib/module/styles/createStyleSheet.js +8 -2
  202. package/lib/module/styles/createStyleSheet.js.map +1 -1
  203. package/lib/module/styles/createTypography.js +1 -3
  204. package/lib/module/styles/createTypography.js.map +1 -1
  205. package/lib/module/styles/getDefaultHeaderHeight.js.map +1 -1
  206. package/lib/module/styles/useHeaderStyle.js.map +1 -1
  207. package/lib/module/theme/DarkUIKitTheme.js.map +1 -1
  208. package/lib/module/theme/LightUIKitTheme.js.map +1 -1
  209. package/lib/module/theme/Palette.js.map +1 -1
  210. package/lib/module/theme/UIKitThemeContext.js.map +1 -1
  211. package/lib/module/theme/UIKitThemeProvider.js +4 -5
  212. package/lib/module/theme/UIKitThemeProvider.js.map +1 -1
  213. package/lib/module/theme/createTheme.js +9 -10
  214. package/lib/module/theme/createTheme.js.map +1 -1
  215. package/lib/module/theme/useUIKitTheme.js.map +1 -1
  216. package/lib/module/types.js.map +1 -1
  217. package/lib/module/ui/ActionMenu/index.js +13 -12
  218. package/lib/module/ui/ActionMenu/index.js.map +1 -1
  219. package/lib/module/ui/Alert/index.js +21 -26
  220. package/lib/module/ui/Alert/index.js.map +1 -1
  221. package/lib/module/ui/Avatar/AvatarGroup.js +11 -12
  222. package/lib/module/ui/Avatar/AvatarGroup.js.map +1 -1
  223. package/lib/module/ui/Avatar/AvatarIcon.js +6 -7
  224. package/lib/module/ui/Avatar/AvatarIcon.js.map +1 -1
  225. package/lib/module/ui/Avatar/AvatarStack.js +11 -12
  226. package/lib/module/ui/Avatar/AvatarStack.js.map +1 -1
  227. package/lib/module/ui/Avatar/index.js +10 -12
  228. package/lib/module/ui/Avatar/index.js.map +1 -1
  229. package/lib/module/ui/Badge/index.js +8 -9
  230. package/lib/module/ui/Badge/index.js.map +1 -1
  231. package/lib/module/ui/BottomSheet/index.js +28 -36
  232. package/lib/module/ui/BottomSheet/index.js.map +1 -1
  233. package/lib/module/ui/Button/index.js +17 -20
  234. package/lib/module/ui/Button/index.js.map +1 -1
  235. package/lib/module/ui/ChannelFrozenBanner/index.js +6 -7
  236. package/lib/module/ui/ChannelFrozenBanner/index.js.map +1 -1
  237. package/lib/module/ui/Dialog/DialogBox.js +4 -5
  238. package/lib/module/ui/Dialog/DialogBox.js.map +1 -1
  239. package/lib/module/ui/Dialog/DialogSheet.js +21 -19
  240. package/lib/module/ui/Dialog/DialogSheet.js.map +1 -1
  241. package/lib/module/ui/Dialog/index.js +8 -9
  242. package/lib/module/ui/Dialog/index.js.map +1 -1
  243. package/lib/module/ui/GroupChannelMessage/Message.admin.js.map +1 -1
  244. package/lib/module/ui/GroupChannelMessage/Message.file.image.js.map +1 -1
  245. package/lib/module/ui/GroupChannelMessage/Message.file.js +4 -5
  246. package/lib/module/ui/GroupChannelMessage/Message.file.js.map +1 -1
  247. package/lib/module/ui/GroupChannelMessage/Message.file.video.js.map +1 -1
  248. package/lib/module/ui/GroupChannelMessage/Message.file.voice.js +4 -4
  249. package/lib/module/ui/GroupChannelMessage/Message.file.voice.js.map +1 -1
  250. package/lib/module/ui/GroupChannelMessage/Message.unknown.js +3 -4
  251. package/lib/module/ui/GroupChannelMessage/Message.unknown.js.map +1 -1
  252. package/lib/module/ui/GroupChannelMessage/Message.user.js +6 -9
  253. package/lib/module/ui/GroupChannelMessage/Message.user.js.map +1 -1
  254. package/lib/module/ui/GroupChannelMessage/Message.user.og.js +14 -17
  255. package/lib/module/ui/GroupChannelMessage/Message.user.og.js.map +1 -1
  256. package/lib/module/ui/GroupChannelMessage/MessageBubbleWithText.js +26 -21
  257. package/lib/module/ui/GroupChannelMessage/MessageBubbleWithText.js.map +1 -1
  258. package/lib/module/ui/GroupChannelMessage/MessageContainer.js +27 -28
  259. package/lib/module/ui/GroupChannelMessage/MessageContainer.js.map +1 -1
  260. package/lib/module/ui/GroupChannelMessage/MessageOpenGraph.js +36 -40
  261. package/lib/module/ui/GroupChannelMessage/MessageOpenGraph.js.map +1 -1
  262. package/lib/module/ui/GroupChannelMessage/index.js.map +1 -1
  263. package/lib/module/ui/GroupChannelPreview/index.js +53 -58
  264. package/lib/module/ui/GroupChannelPreview/index.js.map +1 -1
  265. package/lib/module/ui/Header/index.js +44 -54
  266. package/lib/module/ui/Header/index.js.map +1 -1
  267. package/lib/module/ui/LoadingSpinner/index.js +10 -13
  268. package/lib/module/ui/LoadingSpinner/index.js.map +1 -1
  269. package/lib/module/ui/MenuBar/index.js +21 -18
  270. package/lib/module/ui/MenuBar/index.js.map +1 -1
  271. package/lib/module/ui/OpenChannelMessage/Message.admin.js.map +1 -1
  272. package/lib/module/ui/OpenChannelMessage/Message.file.image.js.map +1 -1
  273. package/lib/module/ui/OpenChannelMessage/Message.file.js +4 -5
  274. package/lib/module/ui/OpenChannelMessage/Message.file.js.map +1 -1
  275. package/lib/module/ui/OpenChannelMessage/Message.file.video.js.map +1 -1
  276. package/lib/module/ui/OpenChannelMessage/Message.unknown.js +4 -5
  277. package/lib/module/ui/OpenChannelMessage/Message.unknown.js.map +1 -1
  278. package/lib/module/ui/OpenChannelMessage/Message.user.js +26 -17
  279. package/lib/module/ui/OpenChannelMessage/Message.user.js.map +1 -1
  280. package/lib/module/ui/OpenChannelMessage/Message.user.og.js +52 -46
  281. package/lib/module/ui/OpenChannelMessage/Message.user.og.js.map +1 -1
  282. package/lib/module/ui/OpenChannelMessage/MessageContainer.js +14 -16
  283. package/lib/module/ui/OpenChannelMessage/MessageContainer.js.map +1 -1
  284. package/lib/module/ui/OpenChannelMessage/index.js.map +1 -1
  285. package/lib/module/ui/OpenChannelPreview/index.js +23 -27
  286. package/lib/module/ui/OpenChannelPreview/index.js.map +1 -1
  287. package/lib/module/ui/OutlinedButton/index.js +5 -6
  288. package/lib/module/ui/OutlinedButton/index.js.map +1 -1
  289. package/lib/module/ui/Placeholder/index.js +7 -8
  290. package/lib/module/ui/Placeholder/index.js.map +1 -1
  291. package/lib/module/ui/ProfileCard/index.js +9 -9
  292. package/lib/module/ui/ProfileCard/index.js.map +1 -1
  293. package/lib/module/ui/Prompt/index.js +26 -32
  294. package/lib/module/ui/Prompt/index.js.map +1 -1
  295. package/lib/module/ui/Toast/index.js +17 -22
  296. package/lib/module/ui/Toast/index.js.map +1 -1
  297. package/lib/module/ui/TypingIndicatorBubble/index.js +21 -27
  298. package/lib/module/ui/TypingIndicatorBubble/index.js.map +1 -1
  299. package/lib/typescript/src/components/Box/index.d.ts +12 -2
  300. package/lib/typescript/src/components/Icon/index.d.ts +2 -1
  301. package/lib/typescript/src/components/Text/index.d.ts +14 -2
  302. package/lib/typescript/src/components/TextInput/index.d.ts +2 -1
  303. package/package.json +3 -3
  304. package/src/assets/icon/icon-thread.png +0 -0
  305. package/src/assets/icon/icon-thread@2x.png +0 -0
  306. package/src/assets/icon/icon-thread@3x.png +0 -0
  307. package/src/components/Box/index.tsx +16 -5
  308. package/src/components/Icon/index.tsx +35 -3
  309. package/src/components/ProgressBar/index.tsx +23 -12
  310. package/src/components/Switch/index.tsx +10 -6
  311. package/src/components/Text/index.tsx +48 -7
  312. package/src/components/TextInput/index.tsx +39 -12
  313. package/src/styles/createStyleSheet.ts +8 -2
  314. package/src/ui/ActionMenu/index.tsx +3 -1
  315. package/src/ui/Alert/index.tsx +4 -4
  316. package/src/ui/Avatar/AvatarGroup.tsx +6 -6
  317. package/src/ui/Avatar/AvatarStack.tsx +3 -3
  318. package/src/ui/BottomSheet/index.tsx +5 -4
  319. package/src/ui/Button/index.tsx +1 -1
  320. package/src/ui/Dialog/DialogSheet.tsx +15 -12
  321. package/src/ui/GroupChannelMessage/Message.file.tsx +1 -1
  322. package/src/ui/GroupChannelMessage/Message.file.voice.tsx +1 -1
  323. package/src/ui/GroupChannelMessage/MessageBubbleWithText.tsx +5 -2
  324. package/src/ui/GroupChannelMessage/MessageContainer.tsx +7 -7
  325. package/src/ui/GroupChannelPreview/index.tsx +46 -48
  326. package/src/ui/Header/index.tsx +4 -5
  327. package/src/ui/MenuBar/index.tsx +9 -6
  328. package/src/ui/OpenChannelMessage/Message.file.tsx +1 -1
  329. package/src/ui/OpenChannelMessage/Message.user.og.tsx +43 -29
  330. package/src/ui/OpenChannelMessage/Message.user.tsx +46 -29
  331. package/src/ui/OpenChannelMessage/MessageContainer.tsx +4 -4
  332. package/src/ui/OpenChannelPreview/index.tsx +9 -9
  333. package/src/ui/ProfileCard/index.tsx +1 -0
  334. package/src/ui/Prompt/index.tsx +4 -5
  335. package/src/ui/Toast/index.tsx +1 -1
  336. package/src/ui/TypingIndicatorBubble/index.tsx +2 -2
@@ -1 +1 @@
1
- {"version":3,"names":["fs","require","path","prettier","ignorePatterns","requireBasePath","iconPath","join","__dirname","icons","readdirSync","forEach","filename","match","ext","extname","name","replace","assetPath","serializedIcons","JSON","stringify","_","a","b","c","exportString","writeFileSync","format"],"sources":["bundle-icons.js"],"sourcesContent":["const fs = require('fs');\nconst path = require('path');\nconst prettier = require('prettier');\n\nconst ignorePatterns = /bundle-icons\\.js|\\.DS_Store|index\\.ts|@2x|@3x/;\nconst requireBasePath = './';\nconst iconPath = path.join(__dirname, 'icon');\nconst icons = {};\n\nfs.readdirSync(iconPath).forEach((filename) => {\n if (filename.match(ignorePatterns)) return;\n const ext = path.extname(filename);\n const name = filename.replace(ext, '').replace(/icon-|ic-/g, '');\n const assetPath = requireBasePath + filename;\n icons[name] = `require('${assetPath}')`;\n});\n\nconst serializedIcons = JSON.stringify(icons, null, 4).replace(\n /(\"require\\()('.+')(\\)\")/g,\n (_, a, b, c) => a.replace('\"', '') + b + c.replace('\"', ''),\n);\nconst exportString = `const IconAssets = ${serializedIcons}; export default IconAssets`;\n\nfs.writeFileSync(\n path.join(iconPath, 'index.ts'),\n prettier.format(exportString, {\n 'printWidth': 120,\n 'tabWidth': 2,\n 'useTabs': false,\n 'semi': true,\n 'singleQuote': true,\n 'quoteProps': 'preserve',\n 'trailingComma': 'all',\n 'bracketSpacing': true,\n 'arrowParens': 'always',\n }),\n);\n"],"mappings":"AAAA,MAAMA,EAAE,GAAGC,OAAO,CAAC,IAAI,CAAC;AACxB,MAAMC,IAAI,GAAGD,OAAO,CAAC,MAAM,CAAC;AAC5B,MAAME,QAAQ,GAAGF,OAAO,CAAC,UAAU,CAAC;AAEpC,MAAMG,cAAc,GAAG,+CAA+C;AACtE,MAAMC,eAAe,GAAG,IAAI;AAC5B,MAAMC,QAAQ,GAAGJ,IAAI,CAACK,IAAI,CAACC,SAAS,EAAE,MAAM,CAAC;AAC7C,MAAMC,KAAK,GAAG,CAAC,CAAC;AAEhBT,EAAE,CAACU,WAAW,CAACJ,QAAQ,CAAC,CAACK,OAAO,CAAEC,QAAQ,IAAK;EAC7C,IAAIA,QAAQ,CAACC,KAAK,CAACT,cAAc,CAAC,EAAE;EACpC,MAAMU,GAAG,GAAGZ,IAAI,CAACa,OAAO,CAACH,QAAQ,CAAC;EAClC,MAAMI,IAAI,GAAGJ,QAAQ,CAACK,OAAO,CAACH,GAAG,EAAE,EAAE,CAAC,CAACG,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;EAChE,MAAMC,SAAS,GAAGb,eAAe,GAAGO,QAAQ;EAC5CH,KAAK,CAACO,IAAI,CAAC,GAAI,YAAWE,SAAU,IAAG;AACzC,CAAC,CAAC;AAEF,MAAMC,eAAe,GAAGC,IAAI,CAACC,SAAS,CAACZ,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAACQ,OAAO,CAC5D,0BAA0B,EAC1B,CAACK,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,KAAKF,CAAC,CAACN,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,GAAGO,CAAC,GAAGC,CAAC,CAACR,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAC5D;AACD,MAAMS,YAAY,GAAI,sBAAqBP,eAAgB,6BAA4B;AAEvFnB,EAAE,CAAC2B,aAAa,CACdzB,IAAI,CAACK,IAAI,CAACD,QAAQ,EAAE,UAAU,CAAC,EAC/BH,QAAQ,CAACyB,MAAM,CAACF,YAAY,EAAE;EAC5B,YAAY,EAAE,GAAG;EACjB,UAAU,EAAE,CAAC;EACb,SAAS,EAAE,KAAK;EAChB,MAAM,EAAE,IAAI;EACZ,aAAa,EAAE,IAAI;EACnB,YAAY,EAAE,UAAU;EACxB,eAAe,EAAE,KAAK;EACtB,gBAAgB,EAAE,IAAI;EACtB,aAAa,EAAE;AACjB,CAAC,CAAC,CACH"}
1
+ {"version":3,"names":["fs","require","path","prettier","ignorePatterns","requireBasePath","iconPath","join","__dirname","icons","readdirSync","forEach","filename","match","ext","extname","name","replace","assetPath","serializedIcons","JSON","stringify","_","a","b","c","exportString","writeFileSync","format"],"sources":["bundle-icons.js"],"sourcesContent":["const fs = require('fs');\nconst path = require('path');\nconst prettier = require('prettier');\n\nconst ignorePatterns = /bundle-icons\\.js|\\.DS_Store|index\\.ts|@2x|@3x/;\nconst requireBasePath = './';\nconst iconPath = path.join(__dirname, 'icon');\nconst icons = {};\n\nfs.readdirSync(iconPath).forEach((filename) => {\n if (filename.match(ignorePatterns)) return;\n const ext = path.extname(filename);\n const name = filename.replace(ext, '').replace(/icon-|ic-/g, '');\n const assetPath = requireBasePath + filename;\n icons[name] = `require('${assetPath}')`;\n});\n\nconst serializedIcons = JSON.stringify(icons, null, 4).replace(\n /(\"require\\()('.+')(\\)\")/g,\n (_, a, b, c) => a.replace('\"', '') + b + c.replace('\"', ''),\n);\nconst exportString = `const IconAssets = ${serializedIcons}; export default IconAssets`;\n\nfs.writeFileSync(\n path.join(iconPath, 'index.ts'),\n prettier.format(exportString, {\n 'printWidth': 120,\n 'tabWidth': 2,\n 'useTabs': false,\n 'semi': true,\n 'singleQuote': true,\n 'quoteProps': 'preserve',\n 'trailingComma': 'all',\n 'bracketSpacing': true,\n 'arrowParens': 'always',\n }),\n);\n"],"mappings":"AAAA,MAAMA,EAAE,GAAGC,OAAO,CAAC,IAAI,CAAC;AACxB,MAAMC,IAAI,GAAGD,OAAO,CAAC,MAAM,CAAC;AAC5B,MAAME,QAAQ,GAAGF,OAAO,CAAC,UAAU,CAAC;AAEpC,MAAMG,cAAc,GAAG,+CAA+C;AACtE,MAAMC,eAAe,GAAG,IAAI;AAC5B,MAAMC,QAAQ,GAAGJ,IAAI,CAACK,IAAI,CAACC,SAAS,EAAE,MAAM,CAAC;AAC7C,MAAMC,KAAK,GAAG,CAAC,CAAC;AAEhBT,EAAE,CAACU,WAAW,CAACJ,QAAQ,CAAC,CAACK,OAAO,CAAEC,QAAQ,IAAK;EAC7C,IAAIA,QAAQ,CAACC,KAAK,CAACT,cAAc,CAAC,EAAE;EACpC,MAAMU,GAAG,GAAGZ,IAAI,CAACa,OAAO,CAACH,QAAQ,CAAC;EAClC,MAAMI,IAAI,GAAGJ,QAAQ,CAACK,OAAO,CAACH,GAAG,EAAE,EAAE,CAAC,CAACG,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;EAChE,MAAMC,SAAS,GAAGb,eAAe,GAAGO,QAAQ;EAC5CH,KAAK,CAACO,IAAI,CAAC,GAAG,YAAYE,SAAS,IAAI;AACzC,CAAC,CAAC;AAEF,MAAMC,eAAe,GAAGC,IAAI,CAACC,SAAS,CAACZ,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAACQ,OAAO,CAC5D,0BAA0B,EAC1B,CAACK,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,KAAKF,CAAC,CAACN,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,GAAGO,CAAC,GAAGC,CAAC,CAACR,OAAO,CAAC,GAAG,EAAE,EAAE,CAC5D,CAAC;AACD,MAAMS,YAAY,GAAG,sBAAsBP,eAAe,6BAA6B;AAEvFnB,EAAE,CAAC2B,aAAa,CACdzB,IAAI,CAACK,IAAI,CAACD,QAAQ,EAAE,UAAU,CAAC,EAC/BH,QAAQ,CAACyB,MAAM,CAACF,YAAY,EAAE;EAC5B,YAAY,EAAE,GAAG;EACjB,UAAU,EAAE,CAAC;EACb,SAAS,EAAE,KAAK;EAChB,MAAM,EAAE,IAAI;EACZ,aAAa,EAAE,IAAI;EACnB,YAAY,EAAE,UAAU;EACxB,eAAe,EAAE,KAAK;EACtB,gBAAgB,EAAE,IAAI;EACtB,aAAa,EAAE;AACjB,CAAC,CACH,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["IconAssets","require"],"sources":["index.ts"],"sourcesContent":["const IconAssets = {\n 'chat-hide': require('./ic-chat-hide.png'),\n 'chat-show': require('./ic-chat-show.png'),\n 'add': require('./icon-add.png'),\n 'archive': require('./icon-archive.png'),\n 'arrow-left': require('./icon-arrow-left.png'),\n 'audio-off-filled': require('./icon-audio-off-filled.png'),\n 'audio-off': require('./icon-audio-off.png'),\n 'audio-on-filled': require('./icon-audio-on-filled.png'),\n 'audio-on': require('./icon-audio-on.png'),\n 'ban': require('./icon-ban.png'),\n 'broadcast': require('./icon-broadcast.png'),\n 'camera': require('./icon-camera.png'),\n 'channels': require('./icon-channels.png'),\n 'chat-filled': require('./icon-chat-filled.png'),\n 'chat': require('./icon-chat.png'),\n 'checkbox-off': require('./icon-checkbox-off.png'),\n 'checkbox-on': require('./icon-checkbox-on.png'),\n 'chevron-down': require('./icon-chevron-down.png'),\n 'chevron-right': require('./icon-chevron-right.png'),\n 'close': require('./icon-close.png'),\n 'copy': require('./icon-copy.png'),\n 'create': require('./icon-create.png'),\n 'delete': require('./icon-delete.png'),\n 'document': require('./icon-document.png'),\n 'done-all': require('./icon-done-all.png'),\n 'done': require('./icon-done.png'),\n 'download': require('./icon-download.png'),\n 'edit': require('./icon-edit.png'),\n 'emoji-more': require('./icon-emoji-more.png'),\n 'error': require('./icon-error.png'),\n 'file-audio': require('./icon-file-audio.png'),\n 'file-document': require('./icon-file-document.png'),\n 'freeze': require('./icon-freeze.png'),\n 'gif': require('./icon-gif.png'),\n 'info': require('./icon-info.png'),\n 'leave': require('./icon-leave.png'),\n 'members': require('./icon-members.png'),\n 'message': require('./icon-message.png'),\n 'moderation': require('./icon-moderation.png'),\n 'more': require('./icon-more.png'),\n 'mute': require('./icon-mute.png'),\n 'notifications-filled': require('./icon-notifications-filled.png'),\n 'notifications-off-filled': require('./icon-notifications-off-filled.png'),\n 'notifications': require('./icon-notifications.png'),\n 'operator': require('./icon-operator.png'),\n 'pause': require('./icon-pause.png'),\n 'photo': require('./icon-photo.png'),\n 'play': require('./icon-play.png'),\n 'plus': require('./icon-plus.png'),\n 'question': require('./icon-question.png'),\n 'radio-off': require('./icon-radio-off.png'),\n 'radio-on': require('./icon-radio-on.png'),\n 'recording': require('./icon-recording.png'),\n 'refresh': require('./icon-refresh.png'),\n 'remove': require('./icon-remove.png'),\n 'reply-filled': require('./icon-reply-filled.png'),\n 'reply': require('./icon-reply.png'),\n 'search': require('./icon-search.png'),\n 'send': require('./icon-send.png'),\n 'settings-filled': require('./icon-settings-filled.png'),\n 'spinner': require('./icon-spinner.png'),\n 'stop': require('./icon-stop.png'),\n 'streaming': require('./icon-streaming.png'),\n 'supergroup': require('./icon-supergroup.png'),\n 'theme': require('./icon-theme.png'),\n 'thread': require('./icon-thread.png'),\n 'thumbnail-none': require('./icon-thumbnail-none.png'),\n 'unarchive': require('./icon-unarchive.png'),\n 'user': require('./icon-user.png'),\n};\nexport default IconAssets;\n"],"mappings":"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"}
1
+ {"version":3,"names":["IconAssets","require"],"sources":["index.ts"],"sourcesContent":["const IconAssets = {\n 'chat-hide': require('./ic-chat-hide.png'),\n 'chat-show': require('./ic-chat-show.png'),\n 'add': require('./icon-add.png'),\n 'archive': require('./icon-archive.png'),\n 'arrow-left': require('./icon-arrow-left.png'),\n 'audio-off-filled': require('./icon-audio-off-filled.png'),\n 'audio-off': require('./icon-audio-off.png'),\n 'audio-on-filled': require('./icon-audio-on-filled.png'),\n 'audio-on': require('./icon-audio-on.png'),\n 'ban': require('./icon-ban.png'),\n 'broadcast': require('./icon-broadcast.png'),\n 'camera': require('./icon-camera.png'),\n 'channels': require('./icon-channels.png'),\n 'chat-filled': require('./icon-chat-filled.png'),\n 'chat': require('./icon-chat.png'),\n 'checkbox-off': require('./icon-checkbox-off.png'),\n 'checkbox-on': require('./icon-checkbox-on.png'),\n 'chevron-down': require('./icon-chevron-down.png'),\n 'chevron-right': require('./icon-chevron-right.png'),\n 'close': require('./icon-close.png'),\n 'copy': require('./icon-copy.png'),\n 'create': require('./icon-create.png'),\n 'delete': require('./icon-delete.png'),\n 'document': require('./icon-document.png'),\n 'done-all': require('./icon-done-all.png'),\n 'done': require('./icon-done.png'),\n 'download': require('./icon-download.png'),\n 'edit': require('./icon-edit.png'),\n 'emoji-more': require('./icon-emoji-more.png'),\n 'error': require('./icon-error.png'),\n 'file-audio': require('./icon-file-audio.png'),\n 'file-document': require('./icon-file-document.png'),\n 'freeze': require('./icon-freeze.png'),\n 'gif': require('./icon-gif.png'),\n 'info': require('./icon-info.png'),\n 'leave': require('./icon-leave.png'),\n 'members': require('./icon-members.png'),\n 'message': require('./icon-message.png'),\n 'moderation': require('./icon-moderation.png'),\n 'more': require('./icon-more.png'),\n 'mute': require('./icon-mute.png'),\n 'notifications-filled': require('./icon-notifications-filled.png'),\n 'notifications-off-filled': require('./icon-notifications-off-filled.png'),\n 'notifications': require('./icon-notifications.png'),\n 'operator': require('./icon-operator.png'),\n 'pause': require('./icon-pause.png'),\n 'photo': require('./icon-photo.png'),\n 'play': require('./icon-play.png'),\n 'plus': require('./icon-plus.png'),\n 'question': require('./icon-question.png'),\n 'radio-off': require('./icon-radio-off.png'),\n 'radio-on': require('./icon-radio-on.png'),\n 'recording': require('./icon-recording.png'),\n 'refresh': require('./icon-refresh.png'),\n 'remove': require('./icon-remove.png'),\n 'reply-filled': require('./icon-reply-filled.png'),\n 'reply': require('./icon-reply.png'),\n 'search': require('./icon-search.png'),\n 'send': require('./icon-send.png'),\n 'settings-filled': require('./icon-settings-filled.png'),\n 'spinner': require('./icon-spinner.png'),\n 'stop': require('./icon-stop.png'),\n 'streaming': require('./icon-streaming.png'),\n 'supergroup': require('./icon-supergroup.png'),\n 'theme': require('./icon-theme.png'),\n 'thread': require('./icon-thread.png'),\n 'thumbnail-none': require('./icon-thumbnail-none.png'),\n 'unarchive': require('./icon-unarchive.png'),\n 'user': require('./icon-user.png'),\n};\nexport default IconAssets;\n"],"mappings":"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","ignoreList":[]}
@@ -1,14 +1,13 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
2
  import React from 'react';
3
3
  import { View } from 'react-native';
4
4
  import { isFunction } from '@sendbird/uikit-utils';
5
5
  import useUIKitTheme from '../../theme/useUIKitTheme';
6
- const Box = _ref => {
7
- let {
8
- style,
9
- children,
10
- ...props
11
- } = _ref;
6
+ const Box = ({
7
+ style,
8
+ children,
9
+ ...props
10
+ }) => {
12
11
  const boxStyle = useBoxStyle(props);
13
12
  return /*#__PURE__*/React.createElement(View, _extends({}, props, {
14
13
  style: [boxStyle, style]
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","isFunction","useUIKitTheme","Box","_ref","style","children","props","boxStyle","useBoxStyle","createElement","_extends","theme","backgroundColor","rest"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleProp, View, ViewProps, ViewStyle } from 'react-native';\n\nimport { isFunction } from '@sendbird/uikit-utils';\n\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport type { UIKitColors, UIKitPalette } from '../../types';\n\ntype BaseBoxProps = Pick<\n ViewStyle,\n | 'flex'\n | 'flexShrink'\n | 'flexGrow'\n | 'flexDirection'\n | 'alignItems'\n | 'justifyContent'\n | 'borderRadius'\n | 'borderWidth'\n | 'borderColor'\n | 'borderBottomColor'\n | 'borderBottomWidth'\n | 'margin'\n | 'marginHorizontal'\n | 'marginVertical'\n | 'marginLeft'\n | 'marginRight'\n | 'marginTop'\n | 'marginBottom'\n | 'padding'\n | 'paddingHorizontal'\n | 'paddingVertical'\n | 'paddingLeft'\n | 'paddingRight'\n | 'paddingTop'\n | 'paddingBottom'\n | 'overflow'\n | 'width'\n | 'height'\n> & {\n backgroundColor?: string | ((theme: { colors: UIKitColors; palette: UIKitPalette }) => string);\n};\n\ntype BoxProps = BaseBoxProps & ViewProps;\nconst Box = ({ style, children, ...props }: BoxProps) => {\n const boxStyle = useBoxStyle(props);\n\n return (\n <View {...props} style={[boxStyle, style]}>\n {children}\n </View>\n );\n};\n\nconst useBoxStyle = (props: BaseBoxProps): StyleProp<ViewStyle> => {\n const theme = useUIKitTheme();\n\n const { backgroundColor, ...rest } = props;\n\n return {\n backgroundColor: isFunction(backgroundColor) ? backgroundColor(theme) : backgroundColor,\n ...rest,\n };\n};\n\nexport default Box;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAoBC,IAAI,QAA8B,cAAc;AAEpE,SAASC,UAAU,QAAQ,uBAAuB;AAElD,OAAOC,aAAa,MAAM,2BAA2B;AAsCrD,MAAMC,GAAG,GAAGC,IAAA,IAA6C;EAAA,IAA5C;IAAEC,KAAK;IAAEC,QAAQ;IAAE,GAAGC;EAAgB,CAAC,GAAAH,IAAA;EAClD,MAAMI,QAAQ,GAAGC,WAAW,CAACF,KAAK,CAAC;EAEnC,oBACER,KAAA,CAAAW,aAAA,CAACV,IAAI,EAAAW,QAAA,KAAKJ,KAAK;IAAEF,KAAK,EAAE,CAACG,QAAQ,EAAEH,KAAK;EAAE,IACvCC,QAAQ,CACJ;AAEX,CAAC;AAED,MAAMG,WAAW,GAAIF,KAAmB,IAA2B;EACjE,MAAMK,KAAK,GAAGV,aAAa,EAAE;EAE7B,MAAM;IAAEW,eAAe;IAAE,GAAGC;EAAK,CAAC,GAAGP,KAAK;EAE1C,OAAO;IACLM,eAAe,EAAEZ,UAAU,CAACY,eAAe,CAAC,GAAGA,eAAe,CAACD,KAAK,CAAC,GAAGC,eAAe;IACvF,GAAGC;EACL,CAAC;AACH,CAAC;AAED,eAAeX,GAAG"}
1
+ {"version":3,"names":["React","View","isFunction","useUIKitTheme","Box","style","children","props","boxStyle","useBoxStyle","createElement","_extends","theme","backgroundColor","rest"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleProp, View, ViewProps, ViewStyle } from 'react-native';\n\nimport { isFunction } from '@sendbird/uikit-utils';\n\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport type { UIKitColors, UIKitPalette } from '../../types';\n\ntype DeprecatedBoxProps = {\n /** @deprecated Please use `paddingStart` instead **/\n paddingLeft?: ViewStyle['paddingLeft'];\n /** @deprecated Please use `paddingEnd` instead **/\n paddingRight?: ViewStyle['paddingRight'];\n /** @deprecated Please use `marginStart` instead **/\n marginLeft?: ViewStyle['marginLeft'];\n /** @deprecated Please use `marginEnd` instead **/\n marginRight?: ViewStyle['marginRight'];\n};\n\ntype BaseBoxProps = Pick<\n ViewStyle,\n | 'flex'\n | 'flexShrink'\n | 'flexGrow'\n | 'flexDirection'\n | 'alignItems'\n | 'justifyContent'\n | 'borderRadius'\n | 'borderWidth'\n | 'borderColor'\n | 'borderBottomColor'\n | 'borderBottomWidth'\n | 'margin'\n | 'marginHorizontal'\n | 'marginVertical'\n | 'marginStart'\n | 'marginEnd'\n | 'marginTop'\n | 'marginBottom'\n | 'padding'\n | 'paddingHorizontal'\n | 'paddingVertical'\n | 'paddingStart'\n | 'paddingEnd'\n | 'paddingTop'\n | 'paddingBottom'\n | 'overflow'\n | 'width'\n | 'height'\n> & {\n backgroundColor?: string | ((theme: { colors: UIKitColors; palette: UIKitPalette }) => string);\n};\n\ntype BoxProps = BaseBoxProps & DeprecatedBoxProps & ViewProps;\nconst Box = ({ style, children, ...props }: BoxProps) => {\n const boxStyle = useBoxStyle(props);\n\n return (\n <View {...props} style={[boxStyle, style]}>\n {children}\n </View>\n );\n};\n\nconst useBoxStyle = (props: BaseBoxProps): StyleProp<ViewStyle> => {\n const theme = useUIKitTheme();\n\n const { backgroundColor, ...rest } = props;\n\n return {\n backgroundColor: isFunction(backgroundColor) ? backgroundColor(theme) : backgroundColor,\n ...rest,\n };\n};\n\nexport default Box;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAoBC,IAAI,QAA8B,cAAc;AAEpE,SAASC,UAAU,QAAQ,uBAAuB;AAElD,OAAOC,aAAa,MAAM,2BAA2B;AAiDrD,MAAMC,GAAG,GAAGA,CAAC;EAAEC,KAAK;EAAEC,QAAQ;EAAE,GAAGC;AAAgB,CAAC,KAAK;EACvD,MAAMC,QAAQ,GAAGC,WAAW,CAACF,KAAK,CAAC;EAEnC,oBACEP,KAAA,CAAAU,aAAA,CAACT,IAAI,EAAAU,QAAA,KAAKJ,KAAK;IAAEF,KAAK,EAAE,CAACG,QAAQ,EAAEH,KAAK;EAAE,IACvCC,QACG,CAAC;AAEX,CAAC;AAED,MAAMG,WAAW,GAAIF,KAAmB,IAA2B;EACjE,MAAMK,KAAK,GAAGT,aAAa,CAAC,CAAC;EAE7B,MAAM;IAAEU,eAAe;IAAE,GAAGC;EAAK,CAAC,GAAGP,KAAK;EAE1C,OAAO;IACLM,eAAe,EAAEX,UAAU,CAACW,eAAe,CAAC,GAAGA,eAAe,CAACD,KAAK,CAAC,GAAGC,eAAe;IACvF,GAAGC;EACL,CAAC;AACH,CAAC;AAED,eAAeV,GAAG","ignoreList":[]}
@@ -2,11 +2,10 @@ import React from 'react';
2
2
  import { View } from 'react-native';
3
3
  import createStyleSheet from '../../styles/createStyleSheet';
4
4
  import useUIKitTheme from '../../theme/useUIKitTheme';
5
- const Divider = _ref => {
6
- let {
7
- style,
8
- space
9
- } = _ref;
5
+ const Divider = ({
6
+ style,
7
+ space
8
+ }) => {
10
9
  const {
11
10
  colors
12
11
  } = useUIKitTheme();
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","createStyleSheet","useUIKitTheme","Divider","_ref","style","space","colors","createElement","styles","divider","paddingHorizontal","inner","backgroundColor","onBackground04","width","height"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\n\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\ntype Props = {\n style?: StyleProp<ViewStyle>;\n space?: number;\n};\n\nconst Divider = ({ style, space }: Props) => {\n const { colors } = useUIKitTheme();\n return (\n <View style={[style, styles.divider, { paddingHorizontal: space }]}>\n <View style={[styles.inner, { backgroundColor: colors.onBackground04 }]} />\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n divider: {\n width: '100%',\n height: 1,\n },\n inner: {\n width: '100%',\n height: '100%',\n },\n});\n\nexport default Divider;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAoBC,IAAI,QAAmB,cAAc;AAEzD,OAAOC,gBAAgB,MAAM,+BAA+B;AAC5D,OAAOC,aAAa,MAAM,2BAA2B;AAOrD,MAAMC,OAAO,GAAGC,IAAA,IAA6B;EAAA,IAA5B;IAAEC,KAAK;IAAEC;EAAa,CAAC,GAAAF,IAAA;EACtC,MAAM;IAAEG;EAAO,CAAC,GAAGL,aAAa,EAAE;EAClC,oBACEH,KAAA,CAAAS,aAAA,CAACR,IAAI;IAACK,KAAK,EAAE,CAACA,KAAK,EAAEI,MAAM,CAACC,OAAO,EAAE;MAAEC,iBAAiB,EAAEL;IAAM,CAAC;EAAE,gBACjEP,KAAA,CAAAS,aAAA,CAACR,IAAI;IAACK,KAAK,EAAE,CAACI,MAAM,CAACG,KAAK,EAAE;MAAEC,eAAe,EAAEN,MAAM,CAACO;IAAe,CAAC;EAAE,EAAG,CACtE;AAEX,CAAC;AAED,MAAML,MAAM,GAAGR,gBAAgB,CAAC;EAC9BS,OAAO,EAAE;IACPK,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE;EACV,CAAC;EACDJ,KAAK,EAAE;IACLG,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE;EACV;AACF,CAAC,CAAC;AAEF,eAAeb,OAAO"}
1
+ {"version":3,"names":["React","View","createStyleSheet","useUIKitTheme","Divider","style","space","colors","createElement","styles","divider","paddingHorizontal","inner","backgroundColor","onBackground04","width","height"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\n\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\ntype Props = {\n style?: StyleProp<ViewStyle>;\n space?: number;\n};\n\nconst Divider = ({ style, space }: Props) => {\n const { colors } = useUIKitTheme();\n return (\n <View style={[style, styles.divider, { paddingHorizontal: space }]}>\n <View style={[styles.inner, { backgroundColor: colors.onBackground04 }]} />\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n divider: {\n width: '100%',\n height: 1,\n },\n inner: {\n width: '100%',\n height: '100%',\n },\n});\n\nexport default Divider;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAoBC,IAAI,QAAmB,cAAc;AAEzD,OAAOC,gBAAgB,MAAM,+BAA+B;AAC5D,OAAOC,aAAa,MAAM,2BAA2B;AAOrD,MAAMC,OAAO,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAa,CAAC,KAAK;EAC3C,MAAM;IAAEC;EAAO,CAAC,GAAGJ,aAAa,CAAC,CAAC;EAClC,oBACEH,KAAA,CAAAQ,aAAA,CAACP,IAAI;IAACI,KAAK,EAAE,CAACA,KAAK,EAAEI,MAAM,CAACC,OAAO,EAAE;MAAEC,iBAAiB,EAAEL;IAAM,CAAC;EAAE,gBACjEN,KAAA,CAAAQ,aAAA,CAACP,IAAI;IAACI,KAAK,EAAE,CAACI,MAAM,CAACG,KAAK,EAAE;MAAEC,eAAe,EAAEN,MAAM,CAACO;IAAe,CAAC;EAAE,CAAE,CACtE,CAAC;AAEX,CAAC;AAED,MAAML,MAAM,GAAGP,gBAAgB,CAAC;EAC9BQ,OAAO,EAAE;IACPK,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE;EACV,CAAC;EACDJ,KAAK,EAAE;IACLG,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE;EACV;AACF,CAAC,CAAC;AAEF,eAAeZ,OAAO","ignoreList":[]}
@@ -1,18 +1,33 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
2
  import React from 'react';
3
- import { Image, StyleSheet, View } from 'react-native';
3
+ import { I18nManager, Image, StyleSheet, View } from 'react-native';
4
4
  import { convertFileTypeToMessageType, getFileIconFromMessageType } from '@sendbird/uikit-utils';
5
5
  import IconAssets from '../../assets/icon';
6
6
  import createStyleSheet from '../../styles/createStyleSheet';
7
7
  import useUIKitTheme from '../../theme/useUIKitTheme';
8
- const Icon = _ref => {
9
- let {
10
- icon,
11
- color,
12
- size = 24,
13
- containerStyle,
14
- style
15
- } = _ref;
8
+ const mirroredIcons = {
9
+ create: true,
10
+ send: true,
11
+ reply: true,
12
+ 'reply-filled': true,
13
+ thread: true,
14
+ chat: true,
15
+ 'chat-filled': true,
16
+ message: true,
17
+ broadcast: true,
18
+ 'file-audio': true,
19
+ 'arrow-left': true,
20
+ leave: true,
21
+ 'chevron-right': true
22
+ };
23
+ const Icon = ({
24
+ icon,
25
+ color,
26
+ size = 24,
27
+ containerStyle,
28
+ style,
29
+ direction = I18nManager.isRTL ? 'rtl' : 'ltr'
30
+ }) => {
16
31
  const sizeStyle = sizeStyles[size] ?? {
17
32
  width: size,
18
33
  height: size
@@ -20,6 +35,7 @@ const Icon = _ref => {
20
35
  const {
21
36
  colors
22
37
  } = useUIKitTheme();
38
+ const shouldMirror = direction === 'rtl' && mirroredIcons[icon];
23
39
  return /*#__PURE__*/React.createElement(View, {
24
40
  style: [containerStyle, containerStyles.container]
25
41
  }, /*#__PURE__*/React.createElement(Image, {
@@ -27,14 +43,17 @@ const Icon = _ref => {
27
43
  source: IconAssets[icon],
28
44
  style: [{
29
45
  tintColor: color ?? colors.primary
30
- }, sizeStyle, style]
46
+ }, sizeStyle, shouldMirror && {
47
+ transform: [{
48
+ scaleX: -1
49
+ }]
50
+ }, style]
31
51
  }));
32
52
  };
33
- const FileIcon = _ref2 => {
34
- let {
35
- fileType,
36
- ...props
37
- } = _ref2;
53
+ const FileIcon = ({
54
+ fileType,
55
+ ...props
56
+ }) => {
38
57
  return /*#__PURE__*/React.createElement(Icon, _extends({
39
58
  icon: getFileIconFromMessageType(convertFileTypeToMessageType(fileType))
40
59
  }, props));
@@ -1 +1 @@
1
- {"version":3,"names":["React","Image","StyleSheet","View","convertFileTypeToMessageType","getFileIconFromMessageType","IconAssets","createStyleSheet","useUIKitTheme","Icon","_ref","icon","color","size","containerStyle","style","sizeStyle","sizeStyles","width","height","colors","createElement","containerStyles","container","resizeMode","source","tintColor","primary","FileIcon","_ref2","fileType","props","_extends","create","alignItems","justifyContent","Object","assign","Assets","File"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { Image, ImageStyle, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { FileType, convertFileTypeToMessageType, getFileIconFromMessageType } from '@sendbird/uikit-utils';\n\nimport IconAssets from '../../assets/icon';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\ntype IconNames = keyof typeof IconAssets;\ntype SizeFactor = keyof typeof sizeStyles;\n\ntype Props = {\n icon: IconNames;\n color?: string;\n size?: number;\n style?: StyleProp<ImageStyle>;\n containerStyle?: StyleProp<ViewStyle>;\n};\n\nconst Icon = ({ icon, color, size = 24, containerStyle, style }: Props) => {\n const sizeStyle = sizeStyles[size as SizeFactor] ?? { width: size, height: size };\n const { colors } = useUIKitTheme();\n return (\n <View style={[containerStyle, containerStyles.container]}>\n <Image\n resizeMode={'contain'}\n source={IconAssets[icon]}\n style={[{ tintColor: color ?? colors.primary }, sizeStyle, style]}\n />\n </View>\n );\n};\n\nconst FileIcon = ({ fileType, ...props }: Omit<Props, 'icon'> & { fileType: FileType }) => {\n return <Icon icon={getFileIconFromMessageType(convertFileTypeToMessageType(fileType))} {...props} />;\n};\n\nconst containerStyles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nconst sizeStyles = createStyleSheet({\n 16: {\n width: 16,\n height: 16,\n },\n 20: {\n width: 20,\n height: 20,\n },\n 24: {\n width: 24,\n height: 24,\n },\n 28: {\n width: 28,\n height: 28,\n },\n 32: {\n width: 32,\n height: 32,\n },\n});\n\nexport default Object.assign(Icon, {\n Assets: IconAssets,\n File: FileIcon,\n});\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,EAAyBC,UAAU,EAAEC,IAAI,QAAmB,cAAc;AAExF,SAAmBC,4BAA4B,EAAEC,0BAA0B,QAAQ,uBAAuB;AAE1G,OAAOC,UAAU,MAAM,mBAAmB;AAC1C,OAAOC,gBAAgB,MAAM,+BAA+B;AAC5D,OAAOC,aAAa,MAAM,2BAA2B;AAarD,MAAMC,IAAI,GAAGC,IAAA,IAA8D;EAAA,IAA7D;IAAEC,IAAI;IAAEC,KAAK;IAAEC,IAAI,GAAG,EAAE;IAAEC,cAAc;IAAEC;EAAa,CAAC,GAAAL,IAAA;EACpE,MAAMM,SAAS,GAAGC,UAAU,CAACJ,IAAI,CAAe,IAAI;IAAEK,KAAK,EAAEL,IAAI;IAAEM,MAAM,EAAEN;EAAK,CAAC;EACjF,MAAM;IAAEO;EAAO,CAAC,GAAGZ,aAAa,EAAE;EAClC,oBACER,KAAA,CAAAqB,aAAA,CAAClB,IAAI;IAACY,KAAK,EAAE,CAACD,cAAc,EAAEQ,eAAe,CAACC,SAAS;EAAE,gBACvDvB,KAAA,CAAAqB,aAAA,CAACpB,KAAK;IACJuB,UAAU,EAAE,SAAU;IACtBC,MAAM,EAAEnB,UAAU,CAACK,IAAI,CAAE;IACzBI,KAAK,EAAE,CAAC;MAAEW,SAAS,EAAEd,KAAK,IAAIQ,MAAM,CAACO;IAAQ,CAAC,EAAEX,SAAS,EAAED,KAAK;EAAE,EAClE,CACG;AAEX,CAAC;AAED,MAAMa,QAAQ,GAAGC,KAAA,IAA0E;EAAA,IAAzE;IAAEC,QAAQ;IAAE,GAAGC;EAAoD,CAAC,GAAAF,KAAA;EACpF,oBAAO7B,KAAA,CAAAqB,aAAA,CAACZ,IAAI,EAAAuB,QAAA;IAACrB,IAAI,EAAEN,0BAA0B,CAACD,4BAA4B,CAAC0B,QAAQ,CAAC;EAAE,GAAKC,KAAK,EAAI;AACtG,CAAC;AAED,MAAMT,eAAe,GAAGpB,UAAU,CAAC+B,MAAM,CAAC;EACxCV,SAAS,EAAE;IACTW,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC;AAEF,MAAMlB,UAAU,GAAGV,gBAAgB,CAAC;EAClC,EAAE,EAAE;IACFW,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE;EACV,CAAC;EACD,EAAE,EAAE;IACFD,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE;EACV,CAAC;EACD,EAAE,EAAE;IACFD,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE;EACV,CAAC;EACD,EAAE,EAAE;IACFD,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE;EACV,CAAC;EACD,EAAE,EAAE;IACFD,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE;EACV;AACF,CAAC,CAAC;AAEF,eAAeiB,MAAM,CAACC,MAAM,CAAC5B,IAAI,EAAE;EACjC6B,MAAM,EAAEhC,UAAU;EAClBiC,IAAI,EAAEX;AACR,CAAC,CAAC"}
1
+ {"version":3,"names":["React","I18nManager","Image","StyleSheet","View","convertFileTypeToMessageType","getFileIconFromMessageType","IconAssets","createStyleSheet","useUIKitTheme","mirroredIcons","create","send","reply","thread","chat","message","broadcast","leave","Icon","icon","color","size","containerStyle","style","direction","isRTL","sizeStyle","sizeStyles","width","height","colors","shouldMirror","createElement","containerStyles","container","resizeMode","source","tintColor","primary","transform","scaleX","FileIcon","fileType","props","_extends","alignItems","justifyContent","Object","assign","Assets","File"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { I18nManager, Image, ImageStyle, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { FileType, convertFileTypeToMessageType, getFileIconFromMessageType } from '@sendbird/uikit-utils';\n\nimport IconAssets from '../../assets/icon';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\ntype IconNames = keyof typeof IconAssets;\ntype SizeFactor = keyof typeof sizeStyles;\n\nconst mirroredIcons: Partial<Record<IconNames, boolean>> = {\n create: true,\n send: true,\n reply: true,\n 'reply-filled': true,\n thread: true,\n chat: true,\n 'chat-filled': true,\n message: true,\n broadcast: true,\n 'file-audio': true,\n 'arrow-left': true,\n leave: true,\n 'chevron-right': true,\n};\n\ntype Props = {\n icon: IconNames;\n color?: string;\n size?: number;\n style?: StyleProp<ImageStyle>;\n containerStyle?: StyleProp<ViewStyle>;\n direction?: 'ltr' | 'rtl';\n};\n\nconst Icon = ({\n icon,\n color,\n size = 24,\n containerStyle,\n style,\n direction = I18nManager.isRTL ? 'rtl' : 'ltr',\n}: Props) => {\n const sizeStyle = sizeStyles[size as SizeFactor] ?? { width: size, height: size };\n const { colors } = useUIKitTheme();\n\n const shouldMirror = direction === 'rtl' && mirroredIcons[icon];\n\n return (\n <View style={[containerStyle, containerStyles.container]}>\n <Image\n resizeMode={'contain'}\n source={IconAssets[icon]}\n style={[\n { tintColor: color ?? colors.primary },\n sizeStyle,\n shouldMirror && { transform: [{ scaleX: -1 }] },\n style,\n ]}\n />\n </View>\n );\n};\n\nconst FileIcon = ({ fileType, ...props }: Omit<Props, 'icon'> & { fileType: FileType }) => {\n return <Icon icon={getFileIconFromMessageType(convertFileTypeToMessageType(fileType))} {...props} />;\n};\n\nconst containerStyles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nconst sizeStyles = createStyleSheet({\n 16: {\n width: 16,\n height: 16,\n },\n 20: {\n width: 20,\n height: 20,\n },\n 24: {\n width: 24,\n height: 24,\n },\n 28: {\n width: 28,\n height: 28,\n },\n 32: {\n width: 32,\n height: 32,\n },\n});\n\nexport default Object.assign(Icon, {\n Assets: IconAssets,\n File: FileIcon,\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["FastImageInternal","require"],"sources":["FastImageInternal.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type { FastImageProps } from 'react-native-fast-image';\n\nlet FastImageInternal: (props: FastImageProps) => ReactNode | null = () => null;\n\ntry {\n FastImageInternal = require('react-native-fast-image') as (props: FastImageProps) => ReactNode;\n} catch {}\n\nexport default FastImageInternal;\n"],"mappings":"AAGA,IAAIA,iBAA8D,GAAGA,CAAA,KAAM,IAAI;AAE/E,IAAI;EACFA,iBAAiB,GAAGC,OAAO,CAAC,yBAAyB,CAAyC;AAChG,CAAC,CAAC,MAAM,CAAC;AAET,eAAeD,iBAAiB"}
1
+ {"version":3,"names":["FastImageInternal","require"],"sources":["FastImageInternal.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type { FastImageProps } from 'react-native-fast-image';\n\nlet FastImageInternal: (props: FastImageProps) => ReactNode | null = () => null;\n\ntry {\n FastImageInternal = require('react-native-fast-image') as (props: FastImageProps) => ReactNode;\n} catch {}\n\nexport default FastImageInternal;\n"],"mappings":"AAGA,IAAIA,iBAA8D,GAAGA,CAAA,KAAM,IAAI;AAE/E,IAAI;EACFA,iBAAiB,GAAGC,OAAO,CAAC,yBAAyB,CAAyC;AAChG,CAAC,CAAC,MAAM,CAAC;AAET,eAAeD,iBAAiB","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
2
  import React from 'react';
3
3
  import { Image } from 'react-native';
4
4
  import FastImageInternal from './FastImageInternal';
@@ -24,7 +24,6 @@ function convertSource(source) {
24
24
  cache: convertCache(source === null || source === void 0 ? void 0 : source.cache) //'immutable' | 'web' | 'cacheOnly'
25
25
  };
26
26
  }
27
-
28
27
  function convertDefaultSource(source) {
29
28
  if (typeof source === 'number') {
30
29
  return source;
@@ -45,18 +44,17 @@ function convertResizeMode(mode) {
45
44
  return undefined;
46
45
  }
47
46
  }
48
- const Image_FastImage = _ref => {
49
- let {
50
- source,
51
- defaultSource,
52
- resizeMode,
53
- onLoad,
54
- onError,
55
- style,
56
- tintColor,
57
- disableFastImage = false,
58
- ...props
59
- } = _ref;
47
+ const Image_FastImage = ({
48
+ source,
49
+ defaultSource,
50
+ resizeMode,
51
+ onLoad,
52
+ onError,
53
+ style,
54
+ tintColor,
55
+ disableFastImage = false,
56
+ ...props
57
+ }) => {
60
58
  if (disableFastImage) {
61
59
  return /*#__PURE__*/React.createElement(Image, _extends({}, props, {
62
60
  source: source,
@@ -1 +1 @@
1
- {"version":3,"names":["React","Image","FastImageInternal","convertCache","cache","convertSource","source","Array","isArray","uri","headers","convertDefaultSource","undefined","convertResizeMode","mode","Image_FastImage","_ref","defaultSource","resizeMode","onLoad","onError","style","tintColor","disableFastImage","props","createElement","_extends","e","nativeEvent"],"sources":["Image.fastimage.tsx"],"sourcesContent":["import React from 'react';\nimport { Image } from 'react-native';\nimport type { FastImageProps, ResizeMode, Source } from 'react-native-fast-image';\n\nimport FastImageInternal from './FastImageInternal';\nimport type { SendbirdImageComponent, SendbirdImageProps } from './index';\n\nfunction convertCache(\n cache?: 'default' | 'reload' | 'force-cache' | 'only-if-cached' | undefined,\n): 'immutable' | 'web' | 'cacheOnly' {\n switch (cache) {\n case 'force-cache':\n case 'only-if-cached':\n return 'cacheOnly';\n default:\n return 'immutable';\n }\n}\n\nfunction convertSource(source: SendbirdImageProps['source']): Source | number {\n if (Array.isArray(source)) {\n return convertSource(source[0]);\n }\n\n if (typeof source === 'number') {\n return source;\n }\n\n return {\n uri: source?.uri,\n headers: source?.headers,\n cache: convertCache(source?.cache), //'immutable' | 'web' | 'cacheOnly'\n };\n}\nfunction convertDefaultSource(source?: SendbirdImageProps['defaultSource']): number | undefined {\n if (typeof source === 'number') {\n return source;\n }\n\n return undefined;\n}\n\nfunction convertResizeMode(mode?: SendbirdImageProps['resizeMode']): ResizeMode | undefined {\n switch (mode) {\n case 'center':\n return 'center';\n case 'contain':\n return 'contain';\n case 'cover':\n return 'cover';\n case 'stretch':\n return 'stretch';\n default:\n return undefined;\n }\n}\n\nconst Image_FastImage: SendbirdImageComponent = ({\n source,\n defaultSource,\n resizeMode,\n onLoad,\n onError,\n style,\n tintColor,\n disableFastImage = false,\n ...props\n}) => {\n if (disableFastImage) {\n return (\n <Image\n {...props}\n source={source}\n style={[style, { tintColor }]}\n onError={onError && ((e) => onError(e.nativeEvent))}\n onLoad={onLoad && ((e) => onLoad(e.nativeEvent.source))}\n />\n );\n }\n return (\n <FastImageInternal\n {...props}\n onLoad={onLoad && ((e) => onLoad(e.nativeEvent))}\n onError={onError && (() => onError({}))}\n style={style as FastImageProps['style']}\n source={convertSource(source)}\n defaultSource={convertDefaultSource(defaultSource)}\n resizeMode={convertResizeMode(resizeMode)}\n />\n );\n};\n\nexport default Image_FastImage;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,QAAQ,cAAc;AAGpC,OAAOC,iBAAiB,MAAM,qBAAqB;AAGnD,SAASC,YAAYA,CACnBC,KAA2E,EACxC;EACnC,QAAQA,KAAK;IACX,KAAK,aAAa;IAClB,KAAK,gBAAgB;MACnB,OAAO,WAAW;IACpB;MACE,OAAO,WAAW;EAAC;AAEzB;AAEA,SAASC,aAAaA,CAACC,MAAoC,EAAmB;EAC5E,IAAIC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,EAAE;IACzB,OAAOD,aAAa,CAACC,MAAM,CAAC,CAAC,CAAC,CAAC;EACjC;EAEA,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAOA,MAAM;EACf;EAEA,OAAO;IACLG,GAAG,EAAEH,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEG,GAAG;IAChBC,OAAO,EAAEJ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEI,OAAO;IACxBN,KAAK,EAAED,YAAY,CAACG,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEF,KAAK,CAAC,CAAE;EACtC,CAAC;AACH;;AACA,SAASO,oBAAoBA,CAACL,MAA4C,EAAsB;EAC9F,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAOA,MAAM;EACf;EAEA,OAAOM,SAAS;AAClB;AAEA,SAASC,iBAAiBA,CAACC,IAAuC,EAA0B;EAC1F,QAAQA,IAAI;IACV,KAAK,QAAQ;MACX,OAAO,QAAQ;IACjB,KAAK,SAAS;MACZ,OAAO,SAAS;IAClB,KAAK,OAAO;MACV,OAAO,OAAO;IAChB,KAAK,SAAS;MACZ,OAAO,SAAS;IAClB;MACE,OAAOF,SAAS;EAAC;AAEvB;AAEA,MAAMG,eAAuC,GAAGC,IAAA,IAU1C;EAAA,IAV2C;IAC/CV,MAAM;IACNW,aAAa;IACbC,UAAU;IACVC,MAAM;IACNC,OAAO;IACPC,KAAK;IACLC,SAAS;IACTC,gBAAgB,GAAG,KAAK;IACxB,GAAGC;EACL,CAAC,GAAAR,IAAA;EACC,IAAIO,gBAAgB,EAAE;IACpB,oBACEvB,KAAA,CAAAyB,aAAA,CAACxB,KAAK,EAAAyB,QAAA,KACAF,KAAK;MACTlB,MAAM,EAAEA,MAAO;MACfe,KAAK,EAAE,CAACA,KAAK,EAAE;QAAEC;MAAU,CAAC,CAAE;MAC9BF,OAAO,EAAEA,OAAO,KAAMO,CAAC,IAAKP,OAAO,CAACO,CAAC,CAACC,WAAW,CAAC,CAAE;MACpDT,MAAM,EAAEA,MAAM,KAAMQ,CAAC,IAAKR,MAAM,CAACQ,CAAC,CAACC,WAAW,CAACtB,MAAM,CAAC;IAAE,GACxD;EAEN;EACA,oBACEN,KAAA,CAAAyB,aAAA,CAACvB,iBAAiB,EAAAwB,QAAA,KACZF,KAAK;IACTL,MAAM,EAAEA,MAAM,KAAMQ,CAAC,IAAKR,MAAM,CAACQ,CAAC,CAACC,WAAW,CAAC,CAAE;IACjDR,OAAO,EAAEA,OAAO,KAAK,MAAMA,OAAO,CAAC,CAAC,CAAC,CAAC,CAAE;IACxCC,KAAK,EAAEA,KAAiC;IACxCf,MAAM,EAAED,aAAa,CAACC,MAAM,CAAE;IAC9BW,aAAa,EAAEN,oBAAoB,CAACM,aAAa,CAAE;IACnDC,UAAU,EAAEL,iBAAiB,CAACK,UAAU;EAAE,GAC1C;AAEN,CAAC;AAED,eAAeH,eAAe"}
1
+ {"version":3,"names":["React","Image","FastImageInternal","convertCache","cache","convertSource","source","Array","isArray","uri","headers","convertDefaultSource","undefined","convertResizeMode","mode","Image_FastImage","defaultSource","resizeMode","onLoad","onError","style","tintColor","disableFastImage","props","createElement","_extends","e","nativeEvent"],"sources":["Image.fastimage.tsx"],"sourcesContent":["import React from 'react';\nimport { Image } from 'react-native';\nimport type { FastImageProps, ResizeMode, Source } from 'react-native-fast-image';\n\nimport FastImageInternal from './FastImageInternal';\nimport type { SendbirdImageComponent, SendbirdImageProps } from './index';\n\nfunction convertCache(\n cache?: 'default' | 'reload' | 'force-cache' | 'only-if-cached' | undefined,\n): 'immutable' | 'web' | 'cacheOnly' {\n switch (cache) {\n case 'force-cache':\n case 'only-if-cached':\n return 'cacheOnly';\n default:\n return 'immutable';\n }\n}\n\nfunction convertSource(source: SendbirdImageProps['source']): Source | number {\n if (Array.isArray(source)) {\n return convertSource(source[0]);\n }\n\n if (typeof source === 'number') {\n return source;\n }\n\n return {\n uri: source?.uri,\n headers: source?.headers,\n cache: convertCache(source?.cache), //'immutable' | 'web' | 'cacheOnly'\n };\n}\nfunction convertDefaultSource(source?: SendbirdImageProps['defaultSource']): number | undefined {\n if (typeof source === 'number') {\n return source;\n }\n\n return undefined;\n}\n\nfunction convertResizeMode(mode?: SendbirdImageProps['resizeMode']): ResizeMode | undefined {\n switch (mode) {\n case 'center':\n return 'center';\n case 'contain':\n return 'contain';\n case 'cover':\n return 'cover';\n case 'stretch':\n return 'stretch';\n default:\n return undefined;\n }\n}\n\nconst Image_FastImage: SendbirdImageComponent = ({\n source,\n defaultSource,\n resizeMode,\n onLoad,\n onError,\n style,\n tintColor,\n disableFastImage = false,\n ...props\n}) => {\n if (disableFastImage) {\n return (\n <Image\n {...props}\n source={source}\n style={[style, { tintColor }]}\n onError={onError && ((e) => onError(e.nativeEvent))}\n onLoad={onLoad && ((e) => onLoad(e.nativeEvent.source))}\n />\n );\n }\n return (\n <FastImageInternal\n {...props}\n onLoad={onLoad && ((e) => onLoad(e.nativeEvent))}\n onError={onError && (() => onError({}))}\n style={style as FastImageProps['style']}\n source={convertSource(source)}\n defaultSource={convertDefaultSource(defaultSource)}\n resizeMode={convertResizeMode(resizeMode)}\n />\n );\n};\n\nexport default Image_FastImage;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,QAAQ,cAAc;AAGpC,OAAOC,iBAAiB,MAAM,qBAAqB;AAGnD,SAASC,YAAYA,CACnBC,KAA2E,EACxC;EACnC,QAAQA,KAAK;IACX,KAAK,aAAa;IAClB,KAAK,gBAAgB;MACnB,OAAO,WAAW;IACpB;MACE,OAAO,WAAW;EACtB;AACF;AAEA,SAASC,aAAaA,CAACC,MAAoC,EAAmB;EAC5E,IAAIC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,EAAE;IACzB,OAAOD,aAAa,CAACC,MAAM,CAAC,CAAC,CAAC,CAAC;EACjC;EAEA,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAOA,MAAM;EACf;EAEA,OAAO;IACLG,GAAG,EAAEH,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEG,GAAG;IAChBC,OAAO,EAAEJ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEI,OAAO;IACxBN,KAAK,EAAED,YAAY,CAACG,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEF,KAAK,CAAC,CAAE;EACtC,CAAC;AACH;AACA,SAASO,oBAAoBA,CAACL,MAA4C,EAAsB;EAC9F,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAOA,MAAM;EACf;EAEA,OAAOM,SAAS;AAClB;AAEA,SAASC,iBAAiBA,CAACC,IAAuC,EAA0B;EAC1F,QAAQA,IAAI;IACV,KAAK,QAAQ;MACX,OAAO,QAAQ;IACjB,KAAK,SAAS;MACZ,OAAO,SAAS;IAClB,KAAK,OAAO;MACV,OAAO,OAAO;IAChB,KAAK,SAAS;MACZ,OAAO,SAAS;IAClB;MACE,OAAOF,SAAS;EACpB;AACF;AAEA,MAAMG,eAAuC,GAAGA,CAAC;EAC/CT,MAAM;EACNU,aAAa;EACbC,UAAU;EACVC,MAAM;EACNC,OAAO;EACPC,KAAK;EACLC,SAAS;EACTC,gBAAgB,GAAG,KAAK;EACxB,GAAGC;AACL,CAAC,KAAK;EACJ,IAAID,gBAAgB,EAAE;IACpB,oBACEtB,KAAA,CAAAwB,aAAA,CAACvB,KAAK,EAAAwB,QAAA,KACAF,KAAK;MACTjB,MAAM,EAAEA,MAAO;MACfc,KAAK,EAAE,CAACA,KAAK,EAAE;QAAEC;MAAU,CAAC,CAAE;MAC9BF,OAAO,EAAEA,OAAO,KAAMO,CAAC,IAAKP,OAAO,CAACO,CAAC,CAACC,WAAW,CAAC,CAAE;MACpDT,MAAM,EAAEA,MAAM,KAAMQ,CAAC,IAAKR,MAAM,CAACQ,CAAC,CAACC,WAAW,CAACrB,MAAM,CAAC;IAAE,EACzD,CAAC;EAEN;EACA,oBACEN,KAAA,CAAAwB,aAAA,CAACtB,iBAAiB,EAAAuB,QAAA,KACZF,KAAK;IACTL,MAAM,EAAEA,MAAM,KAAMQ,CAAC,IAAKR,MAAM,CAACQ,CAAC,CAACC,WAAW,CAAC,CAAE;IACjDR,OAAO,EAAEA,OAAO,KAAK,MAAMA,OAAO,CAAC,CAAC,CAAC,CAAC,CAAE;IACxCC,KAAK,EAAEA,KAAiC;IACxCd,MAAM,EAAED,aAAa,CAACC,MAAM,CAAE;IAC9BU,aAAa,EAAEL,oBAAoB,CAACK,aAAa,CAAE;IACnDC,UAAU,EAAEJ,iBAAiB,CAACI,UAAU;EAAE,EAC3C,CAAC;AAEN,CAAC;AAED,eAAeF,eAAe","ignoreList":[]}
@@ -1,14 +1,13 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
2
  import React from 'react';
3
3
  import { Image } from 'react-native';
4
- const Image_ReactNative = _ref => {
5
- let {
6
- onLoad,
7
- onError,
8
- style,
9
- tintColor,
10
- ...props
11
- } = _ref;
4
+ const Image_ReactNative = ({
5
+ onLoad,
6
+ onError,
7
+ style,
8
+ tintColor,
9
+ ...props
10
+ }) => {
12
11
  return /*#__PURE__*/React.createElement(Image, _extends({}, props, {
13
12
  style: [style, {
14
13
  tintColor
@@ -1 +1 @@
1
- {"version":3,"names":["React","Image","Image_ReactNative","_ref","onLoad","onError","style","tintColor","props","createElement","_extends","e","nativeEvent","source"],"sources":["Image.reactnative.tsx"],"sourcesContent":["import React from 'react';\nimport { Image } from 'react-native';\n\nimport type { SendbirdImageComponent } from './index';\n\nconst Image_ReactNative: SendbirdImageComponent = ({ onLoad, onError, style, tintColor, ...props }) => {\n return (\n <Image\n {...props}\n style={[style, { tintColor }]}\n onError={onError && ((e) => onError(e.nativeEvent))}\n onLoad={onLoad && ((e) => onLoad(e.nativeEvent.source))}\n />\n );\n};\n\nexport default Image_ReactNative;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,QAAQ,cAAc;AAIpC,MAAMC,iBAAyC,GAAGC,IAAA,IAAqD;EAAA,IAApD;IAAEC,MAAM;IAAEC,OAAO;IAAEC,KAAK;IAAEC,SAAS;IAAE,GAAGC;EAAM,CAAC,GAAAL,IAAA;EAChG,oBACEH,KAAA,CAAAS,aAAA,CAACR,KAAK,EAAAS,QAAA,KACAF,KAAK;IACTF,KAAK,EAAE,CAACA,KAAK,EAAE;MAAEC;IAAU,CAAC,CAAE;IAC9BF,OAAO,EAAEA,OAAO,KAAMM,CAAC,IAAKN,OAAO,CAACM,CAAC,CAACC,WAAW,CAAC,CAAE;IACpDR,MAAM,EAAEA,MAAM,KAAMO,CAAC,IAAKP,MAAM,CAACO,CAAC,CAACC,WAAW,CAACC,MAAM,CAAC;EAAE,GACxD;AAEN,CAAC;AAED,eAAeX,iBAAiB"}
1
+ {"version":3,"names":["React","Image","Image_ReactNative","onLoad","onError","style","tintColor","props","createElement","_extends","e","nativeEvent","source"],"sources":["Image.reactnative.tsx"],"sourcesContent":["import React from 'react';\nimport { Image } from 'react-native';\n\nimport type { SendbirdImageComponent } from './index';\n\nconst Image_ReactNative: SendbirdImageComponent = ({ onLoad, onError, style, tintColor, ...props }) => {\n return (\n <Image\n {...props}\n style={[style, { tintColor }]}\n onError={onError && ((e) => onError(e.nativeEvent))}\n onLoad={onLoad && ((e) => onLoad(e.nativeEvent.source))}\n />\n );\n};\n\nexport default Image_ReactNative;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,QAAQ,cAAc;AAIpC,MAAMC,iBAAyC,GAAGA,CAAC;EAAEC,MAAM;EAAEC,OAAO;EAAEC,KAAK;EAAEC,SAAS;EAAE,GAAGC;AAAM,CAAC,KAAK;EACrG,oBACEP,KAAA,CAAAQ,aAAA,CAACP,KAAK,EAAAQ,QAAA,KACAF,KAAK;IACTF,KAAK,EAAE,CAACA,KAAK,EAAE;MAAEC;IAAU,CAAC,CAAE;IAC9BF,OAAO,EAAEA,OAAO,KAAMM,CAAC,IAAKN,OAAO,CAACM,CAAC,CAACC,WAAW,CAAC,CAAE;IACpDR,MAAM,EAAEA,MAAM,KAAMO,CAAC,IAAKP,MAAM,CAACO,CAAC,CAACC,WAAW,CAACC,MAAM,CAAC;EAAE,EACzD,CAAC;AAEN,CAAC;AAED,eAAeV,iBAAiB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","getImageModule","hasFastImage","Boolean","FastImageView","require","default","e","Image"],"sources":["index.ts"],"sourcesContent":["import { ComponentType } from 'react';\nimport type { ImageProps as NativeImageProps } from 'react-native';\nimport { NativeModules } from 'react-native';\n\nexport interface SendbirdImageProps extends Omit<NativeImageProps, 'onLoad' | 'onError'> {\n disableFastImage?: boolean;\n onLoad?: (event: { width: number; height: number }) => void;\n onError?: (event: { error?: unknown }) => void;\n tintColor?: string;\n}\n\nexport type SendbirdImageComponent = ComponentType<SendbirdImageProps>;\nfunction getImageModule(): SendbirdImageComponent {\n const hasFastImage = Boolean(NativeModules.FastImageView);\n if (hasFastImage) {\n try {\n return require('./Image.fastimage').default;\n } catch (e) {\n return require('./Image.reactnative').default;\n }\n } else {\n return require('./Image.reactnative').default;\n }\n}\n\nconst Image = getImageModule();\n\nexport default Image;\n"],"mappings":"AAEA,SAASA,aAAa,QAAQ,cAAc;AAU5C,SAASC,cAAcA,CAAA,EAA2B;EAChD,MAAMC,YAAY,GAAGC,OAAO,CAACH,aAAa,CAACI,aAAa,CAAC;EACzD,IAAIF,YAAY,EAAE;IAChB,IAAI;MACF,OAAOG,OAAO,CAAC,mBAAmB,CAAC,CAACC,OAAO;IAC7C,CAAC,CAAC,OAAOC,CAAC,EAAE;MACV,OAAOF,OAAO,CAAC,qBAAqB,CAAC,CAACC,OAAO;IAC/C;EACF,CAAC,MAAM;IACL,OAAOD,OAAO,CAAC,qBAAqB,CAAC,CAACC,OAAO;EAC/C;AACF;AAEA,MAAME,KAAK,GAAGP,cAAc,EAAE;AAE9B,eAAeO,KAAK"}
1
+ {"version":3,"names":["NativeModules","getImageModule","hasFastImage","Boolean","FastImageView","require","default","e","Image"],"sources":["index.ts"],"sourcesContent":["import { ComponentType } from 'react';\nimport type { ImageProps as NativeImageProps } from 'react-native';\nimport { NativeModules } from 'react-native';\n\nexport interface SendbirdImageProps extends Omit<NativeImageProps, 'onLoad' | 'onError'> {\n disableFastImage?: boolean;\n onLoad?: (event: { width: number; height: number }) => void;\n onError?: (event: { error?: unknown }) => void;\n tintColor?: string;\n}\n\nexport type SendbirdImageComponent = ComponentType<SendbirdImageProps>;\nfunction getImageModule(): SendbirdImageComponent {\n const hasFastImage = Boolean(NativeModules.FastImageView);\n if (hasFastImage) {\n try {\n return require('./Image.fastimage').default;\n } catch (e) {\n return require('./Image.reactnative').default;\n }\n } else {\n return require('./Image.reactnative').default;\n }\n}\n\nconst Image = getImageModule();\n\nexport default Image;\n"],"mappings":"AAEA,SAASA,aAAa,QAAQ,cAAc;AAU5C,SAASC,cAAcA,CAAA,EAA2B;EAChD,MAAMC,YAAY,GAAGC,OAAO,CAACH,aAAa,CAACI,aAAa,CAAC;EACzD,IAAIF,YAAY,EAAE;IAChB,IAAI;MACF,OAAOG,OAAO,CAAC,mBAAmB,CAAC,CAACC,OAAO;IAC7C,CAAC,CAAC,OAAOC,CAAC,EAAE;MACV,OAAOF,OAAO,CAAC,qBAAqB,CAAC,CAACC,OAAO;IAC/C;EACF,CAAC,MAAM;IACL,OAAOD,OAAO,CAAC,qBAAqB,CAAC,CAACC,OAAO;EAC/C;AACF;AAEA,MAAME,KAAK,GAAGP,cAAc,CAAC,CAAC;AAE9B,eAAeO,KAAK","ignoreList":[]}
@@ -6,8 +6,7 @@ import useUIKitTheme from '../../theme/useUIKitTheme';
6
6
  import Box from '../Box';
7
7
  import Icon from '../Icon';
8
8
  import Image from '../Image';
9
- const useRetry = function (hasError) {
10
- let retryCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;
9
+ const useRetry = (hasError, retryCount = 5) => {
11
10
  // NOTE: Glide(fast-image) will retry automatically on Android
12
11
  if (Platform.OS === 'android') return '';
13
12
  const forceUpdate = useForceUpdate();
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useRef","useState","Platform","StyleSheet","useForceUpdate","createStyleSheet","useUIKitTheme","Box","Icon","Image","useRetry","hasError","retryCount","arguments","length","undefined","OS","forceUpdate","retryCountRef","retryTimeoutRef","reloadReservation","current","setTimeout","clearTimeout","ImageWithPlaceholder","props","palette","select","colors","imageNotFound","setImageNotFound","key","createElement","style","overflow","width","height","backgroundColor","dark","background400","light","background100","source","absoluteFill","styles","hide","resizeMode","resizeMethod","onError","onLoad","containerStyle","icon","size","color","onBackground02","display"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Platform, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { useForceUpdate } from '@sendbird/uikit-utils';\n\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport Box from '../Box';\nimport Icon from '../Icon';\nimport Image from '../Image';\n\nconst useRetry = (hasError: boolean, retryCount = 5) => {\n // NOTE: Glide(fast-image) will retry automatically on Android\n if (Platform.OS === 'android') return '';\n\n const forceUpdate = useForceUpdate();\n const retryCountRef = useRef(1);\n const retryTimeoutRef = useRef<NodeJS.Timeout>();\n\n useEffect(() => {\n if (hasError) {\n const reloadReservation = () => {\n if (retryCountRef.current < retryCount) {\n retryTimeoutRef.current = setTimeout(() => {\n retryCountRef.current++;\n reloadReservation();\n forceUpdate();\n }, retryCountRef.current * 5000);\n }\n };\n\n return reloadReservation();\n } else {\n return clearTimeout(retryTimeoutRef.current);\n }\n }, [hasError]);\n\n return retryCountRef.current;\n};\n\ntype Props = {\n source: number | { uri: string };\n width?: number | `${number}%`;\n height?: number | `${number}%`;\n style?: StyleProp<ViewStyle>;\n};\nconst ImageWithPlaceholder = (props: Props) => {\n const { palette, select, colors } = useUIKitTheme();\n const [imageNotFound, setImageNotFound] = useState(false);\n\n const key = useRetry(imageNotFound);\n return (\n <Box\n style={[{ overflow: 'hidden', width: props.width, height: props.height }, props.style]}\n backgroundColor={select({ dark: palette.background400, light: palette.background100 })}\n >\n <Image\n key={key}\n source={props.source}\n style={[StyleSheet.absoluteFill, imageNotFound && styles.hide]}\n resizeMode={'cover'}\n resizeMethod={'resize'}\n onError={() => setImageNotFound(true)}\n onLoad={() => setImageNotFound(false)}\n />\n {imageNotFound && (\n <Icon\n containerStyle={StyleSheet.absoluteFill}\n icon={'thumbnail-none'}\n size={48}\n color={colors.onBackground02}\n />\n )}\n </Box>\n );\n};\n\nconst styles = createStyleSheet({\n hide: {\n display: 'none',\n },\n});\n\nexport default ImageWithPlaceholder;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useEffect","useRef","useState","Platform","StyleSheet","useForceUpdate","createStyleSheet","useUIKitTheme","Box","Icon","Image","useRetry","hasError","retryCount","OS","forceUpdate","retryCountRef","retryTimeoutRef","reloadReservation","current","setTimeout","clearTimeout","ImageWithPlaceholder","props","palette","select","colors","imageNotFound","setImageNotFound","key","createElement","style","overflow","width","height","backgroundColor","dark","background400","light","background100","source","absoluteFill","styles","hide","resizeMode","resizeMethod","onError","onLoad","containerStyle","icon","size","color","onBackground02","display"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Platform, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { useForceUpdate } from '@sendbird/uikit-utils';\n\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport Box from '../Box';\nimport Icon from '../Icon';\nimport Image from '../Image';\n\nconst useRetry = (hasError: boolean, retryCount = 5) => {\n // NOTE: Glide(fast-image) will retry automatically on Android\n if (Platform.OS === 'android') return '';\n\n const forceUpdate = useForceUpdate();\n const retryCountRef = useRef(1);\n const retryTimeoutRef = useRef<NodeJS.Timeout>();\n\n useEffect(() => {\n if (hasError) {\n const reloadReservation = () => {\n if (retryCountRef.current < retryCount) {\n retryTimeoutRef.current = setTimeout(() => {\n retryCountRef.current++;\n reloadReservation();\n forceUpdate();\n }, retryCountRef.current * 5000);\n }\n };\n\n return reloadReservation();\n } else {\n return clearTimeout(retryTimeoutRef.current);\n }\n }, [hasError]);\n\n return retryCountRef.current;\n};\n\ntype Props = {\n source: number | { uri: string };\n width?: number | `${number}%`;\n height?: number | `${number}%`;\n style?: StyleProp<ViewStyle>;\n};\nconst ImageWithPlaceholder = (props: Props) => {\n const { palette, select, colors } = useUIKitTheme();\n const [imageNotFound, setImageNotFound] = useState(false);\n\n const key = useRetry(imageNotFound);\n return (\n <Box\n style={[{ overflow: 'hidden', width: props.width, height: props.height }, props.style]}\n backgroundColor={select({ dark: palette.background400, light: palette.background100 })}\n >\n <Image\n key={key}\n source={props.source}\n style={[StyleSheet.absoluteFill, imageNotFound && styles.hide]}\n resizeMode={'cover'}\n resizeMethod={'resize'}\n onError={() => setImageNotFound(true)}\n onLoad={() => setImageNotFound(false)}\n />\n {imageNotFound && (\n <Icon\n containerStyle={StyleSheet.absoluteFill}\n icon={'thumbnail-none'}\n size={48}\n color={colors.onBackground02}\n />\n )}\n </Box>\n );\n};\n\nconst styles = createStyleSheet({\n hide: {\n display: 'none',\n },\n});\n\nexport default ImageWithPlaceholder;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC1D,SAASC,QAAQ,EAAaC,UAAU,QAAmB,cAAc;AAEzE,SAASC,cAAc,QAAQ,uBAAuB;AAEtD,OAAOC,gBAAgB,MAAM,+BAA+B;AAC5D,OAAOC,aAAa,MAAM,2BAA2B;AACrD,OAAOC,GAAG,MAAM,QAAQ;AACxB,OAAOC,IAAI,MAAM,SAAS;AAC1B,OAAOC,KAAK,MAAM,UAAU;AAE5B,MAAMC,QAAQ,GAAGA,CAACC,QAAiB,EAAEC,UAAU,GAAG,CAAC,KAAK;EACtD;EACA,IAAIV,QAAQ,CAACW,EAAE,KAAK,SAAS,EAAE,OAAO,EAAE;EAExC,MAAMC,WAAW,GAAGV,cAAc,CAAC,CAAC;EACpC,MAAMW,aAAa,GAAGf,MAAM,CAAC,CAAC,CAAC;EAC/B,MAAMgB,eAAe,GAAGhB,MAAM,CAAiB,CAAC;EAEhDD,SAAS,CAAC,MAAM;IACd,IAAIY,QAAQ,EAAE;MACZ,MAAMM,iBAAiB,GAAGA,CAAA,KAAM;QAC9B,IAAIF,aAAa,CAACG,OAAO,GAAGN,UAAU,EAAE;UACtCI,eAAe,CAACE,OAAO,GAAGC,UAAU,CAAC,MAAM;YACzCJ,aAAa,CAACG,OAAO,EAAE;YACvBD,iBAAiB,CAAC,CAAC;YACnBH,WAAW,CAAC,CAAC;UACf,CAAC,EAAEC,aAAa,CAACG,OAAO,GAAG,IAAI,CAAC;QAClC;MACF,CAAC;MAED,OAAOD,iBAAiB,CAAC,CAAC;IAC5B,CAAC,MAAM;MACL,OAAOG,YAAY,CAACJ,eAAe,CAACE,OAAO,CAAC;IAC9C;EACF,CAAC,EAAE,CAACP,QAAQ,CAAC,CAAC;EAEd,OAAOI,aAAa,CAACG,OAAO;AAC9B,CAAC;AAQD,MAAMG,oBAAoB,GAAIC,KAAY,IAAK;EAC7C,MAAM;IAAEC,OAAO;IAAEC,MAAM;IAAEC;EAAO,CAAC,GAAGnB,aAAa,CAAC,CAAC;EACnD,MAAM,CAACoB,aAAa,EAAEC,gBAAgB,CAAC,GAAG1B,QAAQ,CAAC,KAAK,CAAC;EAEzD,MAAM2B,GAAG,GAAGlB,QAAQ,CAACgB,aAAa,CAAC;EACnC,oBACE5B,KAAA,CAAA+B,aAAA,CAACtB,GAAG;IACFuB,KAAK,EAAE,CAAC;MAAEC,QAAQ,EAAE,QAAQ;MAAEC,KAAK,EAAEV,KAAK,CAACU,KAAK;MAAEC,MAAM,EAAEX,KAAK,CAACW;IAAO,CAAC,EAAEX,KAAK,CAACQ,KAAK,CAAE;IACvFI,eAAe,EAAEV,MAAM,CAAC;MAAEW,IAAI,EAAEZ,OAAO,CAACa,aAAa;MAAEC,KAAK,EAAEd,OAAO,CAACe;IAAc,CAAC;EAAE,gBAEvFxC,KAAA,CAAA+B,aAAA,CAACpB,KAAK;IACJmB,GAAG,EAAEA,GAAI;IACTW,MAAM,EAAEjB,KAAK,CAACiB,MAAO;IACrBT,KAAK,EAAE,CAAC3B,UAAU,CAACqC,YAAY,EAAEd,aAAa,IAAIe,MAAM,CAACC,IAAI,CAAE;IAC/DC,UAAU,EAAE,OAAQ;IACpBC,YAAY,EAAE,QAAS;IACvBC,OAAO,EAAEA,CAAA,KAAMlB,gBAAgB,CAAC,IAAI,CAAE;IACtCmB,MAAM,EAAEA,CAAA,KAAMnB,gBAAgB,CAAC,KAAK;EAAE,CACvC,CAAC,EACDD,aAAa,iBACZ5B,KAAA,CAAA+B,aAAA,CAACrB,IAAI;IACHuC,cAAc,EAAE5C,UAAU,CAACqC,YAAa;IACxCQ,IAAI,EAAE,gBAAiB;IACvBC,IAAI,EAAE,EAAG;IACTC,KAAK,EAAEzB,MAAM,CAAC0B;EAAe,CAC9B,CAEA,CAAC;AAEV,CAAC;AAED,MAAMV,MAAM,GAAGpC,gBAAgB,CAAC;EAC9BqC,IAAI,EAAE;IACJU,OAAO,EAAE;EACX;AACF,CAAC,CAAC;AAEF,eAAe/B,oBAAoB","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
2
  import React, { useEffect, useRef, useState } from 'react';
3
3
  import { Animated, Dimensions, KeyboardAvoidingView, PanResponder, Platform, Pressable, Modal as RNModal, StyleSheet, TouchableWithoutFeedback, useWindowDimensions } from 'react-native';
4
4
  import createStyleSheet from '../../styles/createStyleSheet';
@@ -11,19 +11,18 @@ import useUIKitTheme from '../../theme/useUIKitTheme';
11
11
  * Modal Close: Triggered by Modal.props.onClose() call
12
12
  * - Modal.props.onClose() -> visible false -> animation start -> modalVisible false
13
13
  * */
14
- const Modal = _ref => {
15
- let {
16
- children,
17
- onClose,
18
- backgroundStyle,
19
- onDismiss,
20
- type = 'fade',
21
- visible = false,
22
- disableBackgroundClose = false,
23
- enableKeyboardAvoid = false,
24
- statusBarTranslucent,
25
- ...props
26
- } = _ref;
14
+ const Modal = ({
15
+ children,
16
+ onClose,
17
+ backgroundStyle,
18
+ onDismiss,
19
+ type = 'fade',
20
+ visible = false,
21
+ disableBackgroundClose = false,
22
+ enableKeyboardAvoid = false,
23
+ statusBarTranslucent,
24
+ ...props
25
+ }) => {
27
26
  const {
28
27
  palette
29
28
  } = useUIKitTheme();
@@ -99,26 +98,19 @@ const useModalPanResponder = (type, translateY, show, hide) => {
99
98
  panHandlers: {}
100
99
  };
101
100
  return React.useRef(PanResponder.create({
102
- onMoveShouldSetPanResponderCapture: (_, _ref2) => {
103
- let {
104
- dy
105
- } = _ref2;
106
- return dy > 8;
107
- },
101
+ onMoveShouldSetPanResponderCapture: (_, {
102
+ dy
103
+ }) => dy > 8,
108
104
  // @ts-ignore
109
105
  onPanResponderGrant: () => translateY.setOffset(translateY.__getValue()),
110
- onPanResponderMove: (_, _ref3) => {
111
- let {
112
- dy
113
- } = _ref3;
114
- return dy >= 0 && translateY.setValue(dy);
115
- },
106
+ onPanResponderMove: (_, {
107
+ dy
108
+ }) => dy >= 0 && translateY.setValue(dy),
116
109
  // Animated.event([null, { dy: translateY }], { useNativeDriver: false }),
117
- onPanResponderRelease: (_, _ref4) => {
118
- let {
119
- dy,
120
- vy
121
- } = _ref4;
110
+ onPanResponderRelease: (_, {
111
+ dy,
112
+ vy
113
+ }) => {
122
114
  if (isHideGesture(dy, vy)) hide();else show();
123
115
  }
124
116
  })).current;
@@ -166,7 +158,7 @@ const useOnDismiss = (visible, onDismiss) => {
166
158
  const prevVisible = usePrevProp(visible);
167
159
  useEffect(() => {
168
160
  if (Platform.OS === 'ios') return;
169
- if (prevVisible && !visible) onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss();
161
+ if (prevVisible && !visible) onDismiss === null || onDismiss === void 0 || onDismiss();
170
162
  }, [prevVisible, visible]);
171
163
  };
172
164
  const usePrevProp = prop => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useRef","useState","Animated","Dimensions","KeyboardAvoidingView","PanResponder","Platform","Pressable","Modal","RNModal","StyleSheet","TouchableWithoutFeedback","useWindowDimensions","createStyleSheet","useHeaderStyle","useUIKitTheme","_ref","children","onClose","backgroundStyle","onDismiss","type","visible","disableBackgroundClose","enableKeyboardAvoid","statusBarTranslucent","props","palette","content","backdrop","showTransition","hideTransition","useModalAnimation","panResponder","useModalPanResponder","translateY","topInset","modalVisible","setModalVisible","showAction","hideAction","width","height","useOnDismiss","createElement","_extends","transparent","hardwareAccelerated","onRequestClose","onShow","supportedOrientations","animationType","onPress","undefined","View","style","absoluteFill","opacity","backgroundColor","onBackgroundLight03","key","OS","enabled","styles","background","behavior","select","ios","default","pointerEvents","keyboardVerticalOffset","transform","panHandlers","isHideGesture","distanceY","velocityY","show","hide","create","onMoveShouldSetPanResponderCapture","_","_ref2","dy","onPanResponderGrant","setOffset","__getValue","onPanResponderMove","_ref3","setValue","onPanResponderRelease","_ref4","vy","current","initialY","get","baseAnimBackground","Value","baseAnimContent","interpolate","inputRange","outputRange","createTransition","toValue","config","duration","useNativeDriver","parallel","timing","start","prevVisible","usePrevProp","prop","prev","curr","flex"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport {\n Animated,\n Dimensions,\n KeyboardAvoidingView,\n ModalProps,\n PanResponder,\n Platform,\n Pressable,\n Modal as RNModal,\n StyleProp,\n StyleSheet,\n TouchableWithoutFeedback,\n ViewStyle,\n useWindowDimensions,\n} from 'react-native';\n\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useHeaderStyle from '../../styles/useHeaderStyle';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\ntype ModalAnimationType = 'slide' | 'slide-no-gesture' | 'fade';\ntype Props = {\n type?: ModalAnimationType;\n onClose: () => void;\n backgroundStyle?: StyleProp<ViewStyle>;\n disableBackgroundClose?: boolean;\n enableKeyboardAvoid?: boolean;\n} & Omit<ModalProps, 'animationType' | 'onRequestClose'>;\n\n/**\n * Modal Open: Triggered by Modal.props.visible state changed to true\n * - visible true -> modalVisible true -> animation start\n *\n * Modal Close: Triggered by Modal.props.onClose() call\n * - Modal.props.onClose() -> visible false -> animation start -> modalVisible false\n * */\nconst Modal = ({\n children,\n onClose,\n backgroundStyle,\n onDismiss,\n type = 'fade',\n visible = false,\n disableBackgroundClose = false,\n enableKeyboardAvoid = false,\n statusBarTranslucent,\n ...props\n}: Props) => {\n const { palette } = useUIKitTheme();\n const { content, backdrop, showTransition, hideTransition } = useModalAnimation(type);\n const panResponder = useModalPanResponder(type, content.translateY, showTransition, onClose);\n const { topInset } = useHeaderStyle();\n\n const [modalVisible, setModalVisible] = useState(false);\n const showAction = () => setModalVisible(true);\n const hideAction = () => hideTransition(() => setModalVisible(false));\n\n const { width, height } = useWindowDimensions();\n\n useEffect(() => {\n if (visible) showAction();\n else hideAction();\n }, [visible]);\n\n useOnDismiss(modalVisible, onDismiss);\n\n return (\n <RNModal\n statusBarTranslucent={statusBarTranslucent}\n transparent\n hardwareAccelerated\n visible={modalVisible}\n onRequestClose={onClose}\n onShow={() => showTransition()}\n onDismiss={onDismiss}\n supportedOrientations={['portrait', 'portrait-upside-down', 'landscape', 'landscape-left', 'landscape-right']}\n animationType={'none'}\n {...props}\n >\n <TouchableWithoutFeedback onPress={disableBackgroundClose ? undefined : onClose}>\n <Animated.View\n style={[StyleSheet.absoluteFill, { opacity: backdrop.opacity, backgroundColor: palette.onBackgroundLight03 }]}\n />\n </TouchableWithoutFeedback>\n <KeyboardAvoidingView\n // NOTE: This is trick for Android.\n // When orientation is changed on Android, the offset that to avoid soft-keyboard is not updated normally.\n key={Platform.OS === 'android' && enableKeyboardAvoid ? `${width}-${height}` : undefined}\n enabled={enableKeyboardAvoid}\n style={styles.background}\n behavior={Platform.select({ ios: 'padding', default: 'height' })}\n pointerEvents={'box-none'}\n keyboardVerticalOffset={enableKeyboardAvoid && statusBarTranslucent ? -topInset : 0}\n >\n <Animated.View\n style={[\n styles.background,\n backgroundStyle,\n { opacity: content.opacity, transform: [{ translateY: content.translateY }] },\n ]}\n pointerEvents={'box-none'}\n {...panResponder.panHandlers}\n >\n <Pressable\n // NOTE: https://github.com/facebook/react-native/issues/14295\n // Due to 'Pressable', the width of the children must be explicitly specified as a number.\n >\n {children}\n </Pressable>\n </Animated.View>\n </KeyboardAvoidingView>\n </RNModal>\n );\n};\n\nconst isHideGesture = (distanceY: number, velocityY: number) => {\n return distanceY > 125 || (distanceY > 0 && velocityY > 0.1);\n};\nconst useModalPanResponder = (\n type: ModalAnimationType,\n translateY: Animated.Value,\n show: () => void,\n hide: () => void,\n) => {\n if (type === 'fade' || type === 'slide-no-gesture') return { panHandlers: {} };\n return React.useRef(\n PanResponder.create({\n onMoveShouldSetPanResponderCapture: (_, { dy }) => dy > 8,\n // @ts-ignore\n onPanResponderGrant: () => translateY.setOffset(translateY.__getValue()),\n onPanResponderMove: (_, { dy }) => dy >= 0 && translateY.setValue(dy), // Animated.event([null, { dy: translateY }], { useNativeDriver: false }),\n onPanResponderRelease: (_, { dy, vy }) => {\n if (isHideGesture(dy, vy)) hide();\n else show();\n },\n }),\n ).current;\n};\n\nconst useModalAnimation = (type: ModalAnimationType) => {\n const initialY = type === 'fade' ? 0 : Dimensions.get('window').height;\n const baseAnimBackground = useRef(new Animated.Value(0)).current;\n const baseAnimContent = useRef(new Animated.Value(initialY)).current;\n\n const content = {\n opacity: baseAnimBackground.interpolate({\n inputRange: [0, 1],\n outputRange: [type === 'fade' ? 0 : 1, 1],\n }),\n translateY: baseAnimContent,\n };\n const backdrop = {\n opacity: baseAnimBackground.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n }),\n };\n const createTransition = (toValue: 0 | 1) => {\n const config = { duration: 250, useNativeDriver: false };\n return Animated.parallel([\n Animated.timing(baseAnimBackground, { toValue, ...config }),\n Animated.timing(baseAnimContent, { toValue: toValue === 0 ? initialY : 0, ...config }),\n ]).start;\n };\n return {\n content,\n backdrop,\n showTransition: createTransition(1),\n hideTransition: createTransition(0),\n };\n};\n\n// NOTE: onDismiss is supports iOS only\nconst useOnDismiss = (visible: boolean, onDismiss?: () => void) => {\n const prevVisible = usePrevProp(visible);\n useEffect(() => {\n if (Platform.OS === 'ios') return;\n if (prevVisible && !visible) onDismiss?.();\n }, [prevVisible, visible]);\n};\n\nconst usePrevProp = <T,>(prop: T) => {\n const prev = useRef(prop);\n const curr = useRef(prop);\n useEffect(() => {\n prev.current = curr.current;\n curr.current = prop;\n });\n return prev.current;\n};\n\nconst styles = createStyleSheet({\n background: { flex: 1 },\n});\n\nexport default Modal;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useEffect","useRef","useState","Animated","Dimensions","KeyboardAvoidingView","PanResponder","Platform","Pressable","Modal","RNModal","StyleSheet","TouchableWithoutFeedback","useWindowDimensions","createStyleSheet","useHeaderStyle","useUIKitTheme","children","onClose","backgroundStyle","onDismiss","type","visible","disableBackgroundClose","enableKeyboardAvoid","statusBarTranslucent","props","palette","content","backdrop","showTransition","hideTransition","useModalAnimation","panResponder","useModalPanResponder","translateY","topInset","modalVisible","setModalVisible","showAction","hideAction","width","height","useOnDismiss","createElement","_extends","transparent","hardwareAccelerated","onRequestClose","onShow","supportedOrientations","animationType","onPress","undefined","View","style","absoluteFill","opacity","backgroundColor","onBackgroundLight03","key","OS","enabled","styles","background","behavior","select","ios","default","pointerEvents","keyboardVerticalOffset","transform","panHandlers","isHideGesture","distanceY","velocityY","show","hide","create","onMoveShouldSetPanResponderCapture","_","dy","onPanResponderGrant","setOffset","__getValue","onPanResponderMove","setValue","onPanResponderRelease","vy","current","initialY","get","baseAnimBackground","Value","baseAnimContent","interpolate","inputRange","outputRange","createTransition","toValue","config","duration","useNativeDriver","parallel","timing","start","prevVisible","usePrevProp","prop","prev","curr","flex"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport {\n Animated,\n Dimensions,\n KeyboardAvoidingView,\n ModalProps,\n PanResponder,\n Platform,\n Pressable,\n Modal as RNModal,\n StyleProp,\n StyleSheet,\n TouchableWithoutFeedback,\n ViewStyle,\n useWindowDimensions,\n} from 'react-native';\n\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useHeaderStyle from '../../styles/useHeaderStyle';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\ntype ModalAnimationType = 'slide' | 'slide-no-gesture' | 'fade';\ntype Props = {\n type?: ModalAnimationType;\n onClose: () => void;\n backgroundStyle?: StyleProp<ViewStyle>;\n disableBackgroundClose?: boolean;\n enableKeyboardAvoid?: boolean;\n} & Omit<ModalProps, 'animationType' | 'onRequestClose'>;\n\n/**\n * Modal Open: Triggered by Modal.props.visible state changed to true\n * - visible true -> modalVisible true -> animation start\n *\n * Modal Close: Triggered by Modal.props.onClose() call\n * - Modal.props.onClose() -> visible false -> animation start -> modalVisible false\n * */\nconst Modal = ({\n children,\n onClose,\n backgroundStyle,\n onDismiss,\n type = 'fade',\n visible = false,\n disableBackgroundClose = false,\n enableKeyboardAvoid = false,\n statusBarTranslucent,\n ...props\n}: Props) => {\n const { palette } = useUIKitTheme();\n const { content, backdrop, showTransition, hideTransition } = useModalAnimation(type);\n const panResponder = useModalPanResponder(type, content.translateY, showTransition, onClose);\n const { topInset } = useHeaderStyle();\n\n const [modalVisible, setModalVisible] = useState(false);\n const showAction = () => setModalVisible(true);\n const hideAction = () => hideTransition(() => setModalVisible(false));\n\n const { width, height } = useWindowDimensions();\n\n useEffect(() => {\n if (visible) showAction();\n else hideAction();\n }, [visible]);\n\n useOnDismiss(modalVisible, onDismiss);\n\n return (\n <RNModal\n statusBarTranslucent={statusBarTranslucent}\n transparent\n hardwareAccelerated\n visible={modalVisible}\n onRequestClose={onClose}\n onShow={() => showTransition()}\n onDismiss={onDismiss}\n supportedOrientations={['portrait', 'portrait-upside-down', 'landscape', 'landscape-left', 'landscape-right']}\n animationType={'none'}\n {...props}\n >\n <TouchableWithoutFeedback onPress={disableBackgroundClose ? undefined : onClose}>\n <Animated.View\n style={[StyleSheet.absoluteFill, { opacity: backdrop.opacity, backgroundColor: palette.onBackgroundLight03 }]}\n />\n </TouchableWithoutFeedback>\n <KeyboardAvoidingView\n // NOTE: This is trick for Android.\n // When orientation is changed on Android, the offset that to avoid soft-keyboard is not updated normally.\n key={Platform.OS === 'android' && enableKeyboardAvoid ? `${width}-${height}` : undefined}\n enabled={enableKeyboardAvoid}\n style={styles.background}\n behavior={Platform.select({ ios: 'padding', default: 'height' })}\n pointerEvents={'box-none'}\n keyboardVerticalOffset={enableKeyboardAvoid && statusBarTranslucent ? -topInset : 0}\n >\n <Animated.View\n style={[\n styles.background,\n backgroundStyle,\n { opacity: content.opacity, transform: [{ translateY: content.translateY }] },\n ]}\n pointerEvents={'box-none'}\n {...panResponder.panHandlers}\n >\n <Pressable\n // NOTE: https://github.com/facebook/react-native/issues/14295\n // Due to 'Pressable', the width of the children must be explicitly specified as a number.\n >\n {children}\n </Pressable>\n </Animated.View>\n </KeyboardAvoidingView>\n </RNModal>\n );\n};\n\nconst isHideGesture = (distanceY: number, velocityY: number) => {\n return distanceY > 125 || (distanceY > 0 && velocityY > 0.1);\n};\nconst useModalPanResponder = (\n type: ModalAnimationType,\n translateY: Animated.Value,\n show: () => void,\n hide: () => void,\n) => {\n if (type === 'fade' || type === 'slide-no-gesture') return { panHandlers: {} };\n return React.useRef(\n PanResponder.create({\n onMoveShouldSetPanResponderCapture: (_, { dy }) => dy > 8,\n // @ts-ignore\n onPanResponderGrant: () => translateY.setOffset(translateY.__getValue()),\n onPanResponderMove: (_, { dy }) => dy >= 0 && translateY.setValue(dy), // Animated.event([null, { dy: translateY }], { useNativeDriver: false }),\n onPanResponderRelease: (_, { dy, vy }) => {\n if (isHideGesture(dy, vy)) hide();\n else show();\n },\n }),\n ).current;\n};\n\nconst useModalAnimation = (type: ModalAnimationType) => {\n const initialY = type === 'fade' ? 0 : Dimensions.get('window').height;\n const baseAnimBackground = useRef(new Animated.Value(0)).current;\n const baseAnimContent = useRef(new Animated.Value(initialY)).current;\n\n const content = {\n opacity: baseAnimBackground.interpolate({\n inputRange: [0, 1],\n outputRange: [type === 'fade' ? 0 : 1, 1],\n }),\n translateY: baseAnimContent,\n };\n const backdrop = {\n opacity: baseAnimBackground.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n }),\n };\n const createTransition = (toValue: 0 | 1) => {\n const config = { duration: 250, useNativeDriver: false };\n return Animated.parallel([\n Animated.timing(baseAnimBackground, { toValue, ...config }),\n Animated.timing(baseAnimContent, { toValue: toValue === 0 ? initialY : 0, ...config }),\n ]).start;\n };\n return {\n content,\n backdrop,\n showTransition: createTransition(1),\n hideTransition: createTransition(0),\n };\n};\n\n// NOTE: onDismiss is supports iOS only\nconst useOnDismiss = (visible: boolean, onDismiss?: () => void) => {\n const prevVisible = usePrevProp(visible);\n useEffect(() => {\n if (Platform.OS === 'ios') return;\n if (prevVisible && !visible) onDismiss?.();\n }, [prevVisible, visible]);\n};\n\nconst usePrevProp = <T,>(prop: T) => {\n const prev = useRef(prop);\n const curr = useRef(prop);\n useEffect(() => {\n prev.current = curr.current;\n curr.current = prop;\n });\n return prev.current;\n};\n\nconst styles = createStyleSheet({\n background: { flex: 1 },\n});\n\nexport default Modal;\n"],"mappings":"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","ignoreList":[]}