@sendbird/uikit-react-native-foundation 1.0.0-rc.3 → 1.0.1

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 (617) hide show
  1. package/package.json +5 -5
  2. package/src/components/Image/index.ts +1 -3
  3. package/src/styles/HeaderStyleContext.tsx +2 -2
  4. package/src/theme/UIKitThemeProvider.tsx +4 -2
  5. package/src/ui/ActionMenu/index.tsx +1 -1
  6. package/src/ui/Alert/index.tsx +1 -8
  7. package/src/ui/Avatar/AvatarGroup.tsx +5 -2
  8. package/src/ui/Avatar/AvatarIcon.tsx +1 -1
  9. package/src/ui/Avatar/index.tsx +12 -3
  10. package/src/ui/Badge/index.tsx +1 -1
  11. package/src/ui/BottomSheet/index.tsx +1 -1
  12. package/src/ui/Button/index.tsx +4 -4
  13. package/src/ui/ChannelFrozenBanner/index.tsx +1 -1
  14. package/src/ui/Dialog/DialogBox.tsx +3 -3
  15. package/src/ui/Dialog/DialogSheet.tsx +4 -4
  16. package/src/ui/Dialog/index.tsx +3 -3
  17. package/src/ui/Divider/index.tsx +1 -1
  18. package/src/ui/GroupChannelPreview/index.tsx +2 -2
  19. package/src/ui/Header/index.tsx +6 -12
  20. package/src/ui/Icon/index.tsx +7 -2
  21. package/src/ui/LoadingSpinner/index.tsx +2 -2
  22. package/src/ui/MenuBar/index.tsx +2 -2
  23. package/src/ui/Modal/index.tsx +2 -2
  24. package/src/ui/Placeholder/index.tsx +1 -1
  25. package/src/ui/Prompt/index.tsx +2 -2
  26. package/src/ui/Switch/index.tsx +4 -4
  27. package/src/ui/Text/index.tsx +1 -1
  28. package/src/ui/Toast/index.tsx +8 -4
  29. package/src/ui/URLParsedText/index.tsx +1 -1
  30. package/lib/commonjs/assets/bundle-icons.js +0 -33
  31. package/lib/commonjs/assets/bundle-icons.js.map +0 -1
  32. package/lib/commonjs/assets/icon/ic-chat-hide.png +0 -0
  33. package/lib/commonjs/assets/icon/ic-chat-hide@2x.png +0 -0
  34. package/lib/commonjs/assets/icon/ic-chat-hide@3x.png +0 -0
  35. package/lib/commonjs/assets/icon/ic-chat-show.png +0 -0
  36. package/lib/commonjs/assets/icon/ic-chat-show@2x.png +0 -0
  37. package/lib/commonjs/assets/icon/ic-chat-show@3x.png +0 -0
  38. package/lib/commonjs/assets/icon/icon-add.png +0 -0
  39. package/lib/commonjs/assets/icon/icon-add@2x.png +0 -0
  40. package/lib/commonjs/assets/icon/icon-add@3x.png +0 -0
  41. package/lib/commonjs/assets/icon/icon-archive.png +0 -0
  42. package/lib/commonjs/assets/icon/icon-archive@2x.png +0 -0
  43. package/lib/commonjs/assets/icon/icon-archive@3x.png +0 -0
  44. package/lib/commonjs/assets/icon/icon-arrow-left.png +0 -0
  45. package/lib/commonjs/assets/icon/icon-arrow-left@2x.png +0 -0
  46. package/lib/commonjs/assets/icon/icon-arrow-left@3x.png +0 -0
  47. package/lib/commonjs/assets/icon/icon-ban.png +0 -0
  48. package/lib/commonjs/assets/icon/icon-ban@2x.png +0 -0
  49. package/lib/commonjs/assets/icon/icon-ban@3x.png +0 -0
  50. package/lib/commonjs/assets/icon/icon-broadcast.png +0 -0
  51. package/lib/commonjs/assets/icon/icon-broadcast@2x.png +0 -0
  52. package/lib/commonjs/assets/icon/icon-broadcast@3x.png +0 -0
  53. package/lib/commonjs/assets/icon/icon-camera.png +0 -0
  54. package/lib/commonjs/assets/icon/icon-camera@2x.png +0 -0
  55. package/lib/commonjs/assets/icon/icon-camera@3x.png +0 -0
  56. package/lib/commonjs/assets/icon/icon-channels.png +0 -0
  57. package/lib/commonjs/assets/icon/icon-channels@2x.png +0 -0
  58. package/lib/commonjs/assets/icon/icon-channels@3x.png +0 -0
  59. package/lib/commonjs/assets/icon/icon-chat-filled.png +0 -0
  60. package/lib/commonjs/assets/icon/icon-chat-filled@2x.png +0 -0
  61. package/lib/commonjs/assets/icon/icon-chat-filled@3x.png +0 -0
  62. package/lib/commonjs/assets/icon/icon-chat.png +0 -0
  63. package/lib/commonjs/assets/icon/icon-chat@2x.png +0 -0
  64. package/lib/commonjs/assets/icon/icon-chat@3x.png +0 -0
  65. package/lib/commonjs/assets/icon/icon-checkbox-off.png +0 -0
  66. package/lib/commonjs/assets/icon/icon-checkbox-off@2x.png +0 -0
  67. package/lib/commonjs/assets/icon/icon-checkbox-off@3x.png +0 -0
  68. package/lib/commonjs/assets/icon/icon-checkbox-on.png +0 -0
  69. package/lib/commonjs/assets/icon/icon-checkbox-on@2x.png +0 -0
  70. package/lib/commonjs/assets/icon/icon-checkbox-on@3x.png +0 -0
  71. package/lib/commonjs/assets/icon/icon-chevron-down.png +0 -0
  72. package/lib/commonjs/assets/icon/icon-chevron-down@2x.png +0 -0
  73. package/lib/commonjs/assets/icon/icon-chevron-down@3x.png +0 -0
  74. package/lib/commonjs/assets/icon/icon-chevron-right.png +0 -0
  75. package/lib/commonjs/assets/icon/icon-chevron-right@2x.png +0 -0
  76. package/lib/commonjs/assets/icon/icon-chevron-right@3x.png +0 -0
  77. package/lib/commonjs/assets/icon/icon-close.png +0 -0
  78. package/lib/commonjs/assets/icon/icon-close@2x.png +0 -0
  79. package/lib/commonjs/assets/icon/icon-close@3x.png +0 -0
  80. package/lib/commonjs/assets/icon/icon-copy.png +0 -0
  81. package/lib/commonjs/assets/icon/icon-copy@2x.png +0 -0
  82. package/lib/commonjs/assets/icon/icon-copy@3x.png +0 -0
  83. package/lib/commonjs/assets/icon/icon-create.png +0 -0
  84. package/lib/commonjs/assets/icon/icon-create@2x.png +0 -0
  85. package/lib/commonjs/assets/icon/icon-create@3x.png +0 -0
  86. package/lib/commonjs/assets/icon/icon-delete.png +0 -0
  87. package/lib/commonjs/assets/icon/icon-delete@2x.png +0 -0
  88. package/lib/commonjs/assets/icon/icon-delete@3x.png +0 -0
  89. package/lib/commonjs/assets/icon/icon-document.png +0 -0
  90. package/lib/commonjs/assets/icon/icon-document@2x.png +0 -0
  91. package/lib/commonjs/assets/icon/icon-document@3x.png +0 -0
  92. package/lib/commonjs/assets/icon/icon-done-all.png +0 -0
  93. package/lib/commonjs/assets/icon/icon-done-all@2x.png +0 -0
  94. package/lib/commonjs/assets/icon/icon-done-all@3x.png +0 -0
  95. package/lib/commonjs/assets/icon/icon-done.png +0 -0
  96. package/lib/commonjs/assets/icon/icon-done@2x.png +0 -0
  97. package/lib/commonjs/assets/icon/icon-done@3x.png +0 -0
  98. package/lib/commonjs/assets/icon/icon-download.png +0 -0
  99. package/lib/commonjs/assets/icon/icon-download@2x.png +0 -0
  100. package/lib/commonjs/assets/icon/icon-download@3x.png +0 -0
  101. package/lib/commonjs/assets/icon/icon-edit.png +0 -0
  102. package/lib/commonjs/assets/icon/icon-edit@2x.png +0 -0
  103. package/lib/commonjs/assets/icon/icon-edit@3x.png +0 -0
  104. package/lib/commonjs/assets/icon/icon-emoji-more.png +0 -0
  105. package/lib/commonjs/assets/icon/icon-emoji-more@2x.png +0 -0
  106. package/lib/commonjs/assets/icon/icon-emoji-more@3x.png +0 -0
  107. package/lib/commonjs/assets/icon/icon-error.png +0 -0
  108. package/lib/commonjs/assets/icon/icon-error@2x.png +0 -0
  109. package/lib/commonjs/assets/icon/icon-error@3x.png +0 -0
  110. package/lib/commonjs/assets/icon/icon-file-audio.png +0 -0
  111. package/lib/commonjs/assets/icon/icon-file-audio@2x.png +0 -0
  112. package/lib/commonjs/assets/icon/icon-file-audio@3x.png +0 -0
  113. package/lib/commonjs/assets/icon/icon-file-document.png +0 -0
  114. package/lib/commonjs/assets/icon/icon-file-document@2x.png +0 -0
  115. package/lib/commonjs/assets/icon/icon-file-document@3x.png +0 -0
  116. package/lib/commonjs/assets/icon/icon-freeze.png +0 -0
  117. package/lib/commonjs/assets/icon/icon-freeze@2x.png +0 -0
  118. package/lib/commonjs/assets/icon/icon-freeze@3x.png +0 -0
  119. package/lib/commonjs/assets/icon/icon-gif.png +0 -0
  120. package/lib/commonjs/assets/icon/icon-gif@2x.png +0 -0
  121. package/lib/commonjs/assets/icon/icon-gif@3x.png +0 -0
  122. package/lib/commonjs/assets/icon/icon-info.png +0 -0
  123. package/lib/commonjs/assets/icon/icon-info@2x.png +0 -0
  124. package/lib/commonjs/assets/icon/icon-info@3x.png +0 -0
  125. package/lib/commonjs/assets/icon/icon-leave.png +0 -0
  126. package/lib/commonjs/assets/icon/icon-leave@2x.png +0 -0
  127. package/lib/commonjs/assets/icon/icon-leave@3x.png +0 -0
  128. package/lib/commonjs/assets/icon/icon-members.png +0 -0
  129. package/lib/commonjs/assets/icon/icon-members@2x.png +0 -0
  130. package/lib/commonjs/assets/icon/icon-members@3x.png +0 -0
  131. package/lib/commonjs/assets/icon/icon-message.png +0 -0
  132. package/lib/commonjs/assets/icon/icon-message@2x.png +0 -0
  133. package/lib/commonjs/assets/icon/icon-message@3x.png +0 -0
  134. package/lib/commonjs/assets/icon/icon-moderations.png +0 -0
  135. package/lib/commonjs/assets/icon/icon-moderations@2x.png +0 -0
  136. package/lib/commonjs/assets/icon/icon-moderations@3x.png +0 -0
  137. package/lib/commonjs/assets/icon/icon-more.png +0 -0
  138. package/lib/commonjs/assets/icon/icon-more@2x.png +0 -0
  139. package/lib/commonjs/assets/icon/icon-more@3x.png +0 -0
  140. package/lib/commonjs/assets/icon/icon-mute.png +0 -0
  141. package/lib/commonjs/assets/icon/icon-mute@2x.png +0 -0
  142. package/lib/commonjs/assets/icon/icon-mute@3x.png +0 -0
  143. package/lib/commonjs/assets/icon/icon-notifications-filled.png +0 -0
  144. package/lib/commonjs/assets/icon/icon-notifications-filled@2x.png +0 -0
  145. package/lib/commonjs/assets/icon/icon-notifications-filled@3x.png +0 -0
  146. package/lib/commonjs/assets/icon/icon-notifications-off-filled.png +0 -0
  147. package/lib/commonjs/assets/icon/icon-notifications-off-filled@2x.png +0 -0
  148. package/lib/commonjs/assets/icon/icon-notifications-off-filled@3x.png +0 -0
  149. package/lib/commonjs/assets/icon/icon-notifications.png +0 -0
  150. package/lib/commonjs/assets/icon/icon-notifications@2x.png +0 -0
  151. package/lib/commonjs/assets/icon/icon-notifications@3x.png +0 -0
  152. package/lib/commonjs/assets/icon/icon-operator.png +0 -0
  153. package/lib/commonjs/assets/icon/icon-operator@2x.png +0 -0
  154. package/lib/commonjs/assets/icon/icon-operator@3x.png +0 -0
  155. package/lib/commonjs/assets/icon/icon-photo.png +0 -0
  156. package/lib/commonjs/assets/icon/icon-photo@2x.png +0 -0
  157. package/lib/commonjs/assets/icon/icon-photo@3x.png +0 -0
  158. package/lib/commonjs/assets/icon/icon-play.png +0 -0
  159. package/lib/commonjs/assets/icon/icon-play@2x.png +0 -0
  160. package/lib/commonjs/assets/icon/icon-play@3x.png +0 -0
  161. package/lib/commonjs/assets/icon/icon-plus.png +0 -0
  162. package/lib/commonjs/assets/icon/icon-plus@2x.png +0 -0
  163. package/lib/commonjs/assets/icon/icon-plus@3x.png +0 -0
  164. package/lib/commonjs/assets/icon/icon-question.png +0 -0
  165. package/lib/commonjs/assets/icon/icon-question@2x.png +0 -0
  166. package/lib/commonjs/assets/icon/icon-question@3x.png +0 -0
  167. package/lib/commonjs/assets/icon/icon-refresh.png +0 -0
  168. package/lib/commonjs/assets/icon/icon-refresh@2x.png +0 -0
  169. package/lib/commonjs/assets/icon/icon-refresh@3x.png +0 -0
  170. package/lib/commonjs/assets/icon/icon-remove.png +0 -0
  171. package/lib/commonjs/assets/icon/icon-remove@2x.png +0 -0
  172. package/lib/commonjs/assets/icon/icon-remove@3x.png +0 -0
  173. package/lib/commonjs/assets/icon/icon-reply-filled.png +0 -0
  174. package/lib/commonjs/assets/icon/icon-reply-filled@2x.png +0 -0
  175. package/lib/commonjs/assets/icon/icon-reply-filled@3x.png +0 -0
  176. package/lib/commonjs/assets/icon/icon-reply.png +0 -0
  177. package/lib/commonjs/assets/icon/icon-reply@2x.png +0 -0
  178. package/lib/commonjs/assets/icon/icon-reply@3x.png +0 -0
  179. package/lib/commonjs/assets/icon/icon-search.png +0 -0
  180. package/lib/commonjs/assets/icon/icon-search@2x.png +0 -0
  181. package/lib/commonjs/assets/icon/icon-search@3x.png +0 -0
  182. package/lib/commonjs/assets/icon/icon-send.png +0 -0
  183. package/lib/commonjs/assets/icon/icon-send@2x.png +0 -0
  184. package/lib/commonjs/assets/icon/icon-send@3x.png +0 -0
  185. package/lib/commonjs/assets/icon/icon-settings-filled.png +0 -0
  186. package/lib/commonjs/assets/icon/icon-settings-filled@2x.png +0 -0
  187. package/lib/commonjs/assets/icon/icon-settings-filled@3x.png +0 -0
  188. package/lib/commonjs/assets/icon/icon-spinner.png +0 -0
  189. package/lib/commonjs/assets/icon/icon-spinner@2x.png +0 -0
  190. package/lib/commonjs/assets/icon/icon-spinner@3x.png +0 -0
  191. package/lib/commonjs/assets/icon/icon-streaming.png +0 -0
  192. package/lib/commonjs/assets/icon/icon-streaming@2x.png +0 -0
  193. package/lib/commonjs/assets/icon/icon-streaming@3x.png +0 -0
  194. package/lib/commonjs/assets/icon/icon-supergroup.png +0 -0
  195. package/lib/commonjs/assets/icon/icon-supergroup@2x.png +0 -0
  196. package/lib/commonjs/assets/icon/icon-supergroup@3x.png +0 -0
  197. package/lib/commonjs/assets/icon/icon-theme.png +0 -0
  198. package/lib/commonjs/assets/icon/icon-theme@2x.png +0 -0
  199. package/lib/commonjs/assets/icon/icon-theme@3x.png +0 -0
  200. package/lib/commonjs/assets/icon/icon-thumbnail-none.png +0 -0
  201. package/lib/commonjs/assets/icon/icon-thumbnail-none@2x.png +0 -0
  202. package/lib/commonjs/assets/icon/icon-thumbnail-none@3x.png +0 -0
  203. package/lib/commonjs/assets/icon/icon-unarchive.png +0 -0
  204. package/lib/commonjs/assets/icon/icon-unarchive@2x.png +0 -0
  205. package/lib/commonjs/assets/icon/icon-unarchive@3x.png +0 -0
  206. package/lib/commonjs/assets/icon/icon-user.png +0 -0
  207. package/lib/commonjs/assets/icon/icon-user@2x.png +0 -0
  208. package/lib/commonjs/assets/icon/icon-user@3x.png +0 -0
  209. package/lib/commonjs/assets/icon/index.js +0 -70
  210. package/lib/commonjs/assets/icon/index.js.map +0 -1
  211. package/lib/commonjs/components/Image/Image.fastimage.js +0 -85
  212. package/lib/commonjs/components/Image/Image.fastimage.js.map +0 -1
  213. package/lib/commonjs/components/Image/Image.reactnative.js +0 -35
  214. package/lib/commonjs/components/Image/Image.reactnative.js.map +0 -1
  215. package/lib/commonjs/components/Image/index.js +0 -27
  216. package/lib/commonjs/components/Image/index.js.map +0 -1
  217. package/lib/commonjs/index.js +0 -388
  218. package/lib/commonjs/index.js.map +0 -1
  219. package/lib/commonjs/styles/HeaderStyleContext.js +0 -46
  220. package/lib/commonjs/styles/HeaderStyleContext.js.map +0 -1
  221. package/lib/commonjs/styles/createScaleFactor.js +0 -31
  222. package/lib/commonjs/styles/createScaleFactor.js.map +0 -1
  223. package/lib/commonjs/styles/createSelectByColorScheme.js +0 -24
  224. package/lib/commonjs/styles/createSelectByColorScheme.js.map +0 -1
  225. package/lib/commonjs/styles/createStyleSheet.js +0 -62
  226. package/lib/commonjs/styles/createStyleSheet.js.map +0 -1
  227. package/lib/commonjs/styles/createTypography.js +0 -106
  228. package/lib/commonjs/styles/createTypography.js.map +0 -1
  229. package/lib/commonjs/styles/getDefaultHeaderHeight.js +0 -17
  230. package/lib/commonjs/styles/getDefaultHeaderHeight.js.map +0 -1
  231. package/lib/commonjs/styles/useHeaderStyle.js +0 -18
  232. package/lib/commonjs/styles/useHeaderStyle.js.map +0 -1
  233. package/lib/commonjs/theme/DarkUIKitTheme.js +0 -186
  234. package/lib/commonjs/theme/DarkUIKitTheme.js.map +0 -1
  235. package/lib/commonjs/theme/LightUIKitTheme.js +0 -186
  236. package/lib/commonjs/theme/LightUIKitTheme.js.map +0 -1
  237. package/lib/commonjs/theme/Palette.js +0 -47
  238. package/lib/commonjs/theme/Palette.js.map +0 -1
  239. package/lib/commonjs/theme/UIKitThemeContext.js +0 -16
  240. package/lib/commonjs/theme/UIKitThemeContext.js.map +0 -1
  241. package/lib/commonjs/theme/UIKitThemeProvider.js +0 -28
  242. package/lib/commonjs/theme/UIKitThemeProvider.js.map +0 -1
  243. package/lib/commonjs/theme/createTheme.js +0 -58
  244. package/lib/commonjs/theme/createTheme.js.map +0 -1
  245. package/lib/commonjs/theme/useUIKitTheme.js +0 -22
  246. package/lib/commonjs/theme/useUIKitTheme.js.map +0 -1
  247. package/lib/commonjs/types.js +0 -6
  248. package/lib/commonjs/types.js.map +0 -1
  249. package/lib/commonjs/ui/ActionMenu/index.js +0 -131
  250. package/lib/commonjs/ui/ActionMenu/index.js.map +0 -1
  251. package/lib/commonjs/ui/Alert/index.js +0 -122
  252. package/lib/commonjs/ui/Alert/index.js.map +0 -1
  253. package/lib/commonjs/ui/Avatar/AvatarGroup.js +0 -119
  254. package/lib/commonjs/ui/Avatar/AvatarGroup.js.map +0 -1
  255. package/lib/commonjs/ui/Avatar/AvatarIcon.js +0 -54
  256. package/lib/commonjs/ui/Avatar/AvatarIcon.js.map +0 -1
  257. package/lib/commonjs/ui/Avatar/index.js +0 -100
  258. package/lib/commonjs/ui/Avatar/index.js.map +0 -1
  259. package/lib/commonjs/ui/Badge/index.js +0 -77
  260. package/lib/commonjs/ui/Badge/index.js.map +0 -1
  261. package/lib/commonjs/ui/BottomSheet/index.js +0 -80
  262. package/lib/commonjs/ui/BottomSheet/index.js.map +0 -1
  263. package/lib/commonjs/ui/Button/index.js +0 -90
  264. package/lib/commonjs/ui/Button/index.js.map +0 -1
  265. package/lib/commonjs/ui/ChannelFrozenBanner/index.js +0 -51
  266. package/lib/commonjs/ui/ChannelFrozenBanner/index.js.map +0 -1
  267. package/lib/commonjs/ui/Dialog/DialogBox.js +0 -41
  268. package/lib/commonjs/ui/Dialog/DialogBox.js.map +0 -1
  269. package/lib/commonjs/ui/Dialog/DialogSheet.js +0 -86
  270. package/lib/commonjs/ui/Dialog/DialogSheet.js.map +0 -1
  271. package/lib/commonjs/ui/Dialog/index.js +0 -182
  272. package/lib/commonjs/ui/Dialog/index.js.map +0 -1
  273. package/lib/commonjs/ui/Divider/index.js +0 -49
  274. package/lib/commonjs/ui/Divider/index.js.map +0 -1
  275. package/lib/commonjs/ui/GroupChannelPreview/index.js +0 -210
  276. package/lib/commonjs/ui/GroupChannelPreview/index.js.map +0 -1
  277. package/lib/commonjs/ui/Header/index.js +0 -237
  278. package/lib/commonjs/ui/Header/index.js.map +0 -1
  279. package/lib/commonjs/ui/Icon/index.js +0 -78
  280. package/lib/commonjs/ui/Icon/index.js.map +0 -1
  281. package/lib/commonjs/ui/LoadingSpinner/index.js +0 -82
  282. package/lib/commonjs/ui/LoadingSpinner/index.js.map +0 -1
  283. package/lib/commonjs/ui/MenuBar/index.js +0 -88
  284. package/lib/commonjs/ui/MenuBar/index.js.map +0 -1
  285. package/lib/commonjs/ui/Modal/index.js +0 -214
  286. package/lib/commonjs/ui/Modal/index.js.map +0 -1
  287. package/lib/commonjs/ui/Placeholder/index.js +0 -82
  288. package/lib/commonjs/ui/Placeholder/index.js.map +0 -1
  289. package/lib/commonjs/ui/Prompt/index.js +0 -175
  290. package/lib/commonjs/ui/Prompt/index.js.map +0 -1
  291. package/lib/commonjs/ui/Switch/index.js +0 -125
  292. package/lib/commonjs/ui/Switch/index.js.map +0 -1
  293. package/lib/commonjs/ui/Text/index.js +0 -71
  294. package/lib/commonjs/ui/Text/index.js.map +0 -1
  295. package/lib/commonjs/ui/TextInput/index.js +0 -58
  296. package/lib/commonjs/ui/TextInput/index.js.map +0 -1
  297. package/lib/commonjs/ui/Toast/index.js +0 -183
  298. package/lib/commonjs/ui/Toast/index.js.map +0 -1
  299. package/lib/commonjs/ui/URLParsedText/index.js +0 -64
  300. package/lib/commonjs/ui/URLParsedText/index.js.map +0 -1
  301. package/lib/module/assets/bundle-icons.js +0 -31
  302. package/lib/module/assets/bundle-icons.js.map +0 -1
  303. package/lib/module/assets/icon/ic-chat-hide.png +0 -0
  304. package/lib/module/assets/icon/ic-chat-hide@2x.png +0 -0
  305. package/lib/module/assets/icon/ic-chat-hide@3x.png +0 -0
  306. package/lib/module/assets/icon/ic-chat-show.png +0 -0
  307. package/lib/module/assets/icon/ic-chat-show@2x.png +0 -0
  308. package/lib/module/assets/icon/ic-chat-show@3x.png +0 -0
  309. package/lib/module/assets/icon/icon-add.png +0 -0
  310. package/lib/module/assets/icon/icon-add@2x.png +0 -0
  311. package/lib/module/assets/icon/icon-add@3x.png +0 -0
  312. package/lib/module/assets/icon/icon-archive.png +0 -0
  313. package/lib/module/assets/icon/icon-archive@2x.png +0 -0
  314. package/lib/module/assets/icon/icon-archive@3x.png +0 -0
  315. package/lib/module/assets/icon/icon-arrow-left.png +0 -0
  316. package/lib/module/assets/icon/icon-arrow-left@2x.png +0 -0
  317. package/lib/module/assets/icon/icon-arrow-left@3x.png +0 -0
  318. package/lib/module/assets/icon/icon-ban.png +0 -0
  319. package/lib/module/assets/icon/icon-ban@2x.png +0 -0
  320. package/lib/module/assets/icon/icon-ban@3x.png +0 -0
  321. package/lib/module/assets/icon/icon-broadcast.png +0 -0
  322. package/lib/module/assets/icon/icon-broadcast@2x.png +0 -0
  323. package/lib/module/assets/icon/icon-broadcast@3x.png +0 -0
  324. package/lib/module/assets/icon/icon-camera.png +0 -0
  325. package/lib/module/assets/icon/icon-camera@2x.png +0 -0
  326. package/lib/module/assets/icon/icon-camera@3x.png +0 -0
  327. package/lib/module/assets/icon/icon-channels.png +0 -0
  328. package/lib/module/assets/icon/icon-channels@2x.png +0 -0
  329. package/lib/module/assets/icon/icon-channels@3x.png +0 -0
  330. package/lib/module/assets/icon/icon-chat-filled.png +0 -0
  331. package/lib/module/assets/icon/icon-chat-filled@2x.png +0 -0
  332. package/lib/module/assets/icon/icon-chat-filled@3x.png +0 -0
  333. package/lib/module/assets/icon/icon-chat.png +0 -0
  334. package/lib/module/assets/icon/icon-chat@2x.png +0 -0
  335. package/lib/module/assets/icon/icon-chat@3x.png +0 -0
  336. package/lib/module/assets/icon/icon-checkbox-off.png +0 -0
  337. package/lib/module/assets/icon/icon-checkbox-off@2x.png +0 -0
  338. package/lib/module/assets/icon/icon-checkbox-off@3x.png +0 -0
  339. package/lib/module/assets/icon/icon-checkbox-on.png +0 -0
  340. package/lib/module/assets/icon/icon-checkbox-on@2x.png +0 -0
  341. package/lib/module/assets/icon/icon-checkbox-on@3x.png +0 -0
  342. package/lib/module/assets/icon/icon-chevron-down.png +0 -0
  343. package/lib/module/assets/icon/icon-chevron-down@2x.png +0 -0
  344. package/lib/module/assets/icon/icon-chevron-down@3x.png +0 -0
  345. package/lib/module/assets/icon/icon-chevron-right.png +0 -0
  346. package/lib/module/assets/icon/icon-chevron-right@2x.png +0 -0
  347. package/lib/module/assets/icon/icon-chevron-right@3x.png +0 -0
  348. package/lib/module/assets/icon/icon-close.png +0 -0
  349. package/lib/module/assets/icon/icon-close@2x.png +0 -0
  350. package/lib/module/assets/icon/icon-close@3x.png +0 -0
  351. package/lib/module/assets/icon/icon-copy.png +0 -0
  352. package/lib/module/assets/icon/icon-copy@2x.png +0 -0
  353. package/lib/module/assets/icon/icon-copy@3x.png +0 -0
  354. package/lib/module/assets/icon/icon-create.png +0 -0
  355. package/lib/module/assets/icon/icon-create@2x.png +0 -0
  356. package/lib/module/assets/icon/icon-create@3x.png +0 -0
  357. package/lib/module/assets/icon/icon-delete.png +0 -0
  358. package/lib/module/assets/icon/icon-delete@2x.png +0 -0
  359. package/lib/module/assets/icon/icon-delete@3x.png +0 -0
  360. package/lib/module/assets/icon/icon-document.png +0 -0
  361. package/lib/module/assets/icon/icon-document@2x.png +0 -0
  362. package/lib/module/assets/icon/icon-document@3x.png +0 -0
  363. package/lib/module/assets/icon/icon-done-all.png +0 -0
  364. package/lib/module/assets/icon/icon-done-all@2x.png +0 -0
  365. package/lib/module/assets/icon/icon-done-all@3x.png +0 -0
  366. package/lib/module/assets/icon/icon-done.png +0 -0
  367. package/lib/module/assets/icon/icon-done@2x.png +0 -0
  368. package/lib/module/assets/icon/icon-done@3x.png +0 -0
  369. package/lib/module/assets/icon/icon-download.png +0 -0
  370. package/lib/module/assets/icon/icon-download@2x.png +0 -0
  371. package/lib/module/assets/icon/icon-download@3x.png +0 -0
  372. package/lib/module/assets/icon/icon-edit.png +0 -0
  373. package/lib/module/assets/icon/icon-edit@2x.png +0 -0
  374. package/lib/module/assets/icon/icon-edit@3x.png +0 -0
  375. package/lib/module/assets/icon/icon-emoji-more.png +0 -0
  376. package/lib/module/assets/icon/icon-emoji-more@2x.png +0 -0
  377. package/lib/module/assets/icon/icon-emoji-more@3x.png +0 -0
  378. package/lib/module/assets/icon/icon-error.png +0 -0
  379. package/lib/module/assets/icon/icon-error@2x.png +0 -0
  380. package/lib/module/assets/icon/icon-error@3x.png +0 -0
  381. package/lib/module/assets/icon/icon-file-audio.png +0 -0
  382. package/lib/module/assets/icon/icon-file-audio@2x.png +0 -0
  383. package/lib/module/assets/icon/icon-file-audio@3x.png +0 -0
  384. package/lib/module/assets/icon/icon-file-document.png +0 -0
  385. package/lib/module/assets/icon/icon-file-document@2x.png +0 -0
  386. package/lib/module/assets/icon/icon-file-document@3x.png +0 -0
  387. package/lib/module/assets/icon/icon-freeze.png +0 -0
  388. package/lib/module/assets/icon/icon-freeze@2x.png +0 -0
  389. package/lib/module/assets/icon/icon-freeze@3x.png +0 -0
  390. package/lib/module/assets/icon/icon-gif.png +0 -0
  391. package/lib/module/assets/icon/icon-gif@2x.png +0 -0
  392. package/lib/module/assets/icon/icon-gif@3x.png +0 -0
  393. package/lib/module/assets/icon/icon-info.png +0 -0
  394. package/lib/module/assets/icon/icon-info@2x.png +0 -0
  395. package/lib/module/assets/icon/icon-info@3x.png +0 -0
  396. package/lib/module/assets/icon/icon-leave.png +0 -0
  397. package/lib/module/assets/icon/icon-leave@2x.png +0 -0
  398. package/lib/module/assets/icon/icon-leave@3x.png +0 -0
  399. package/lib/module/assets/icon/icon-members.png +0 -0
  400. package/lib/module/assets/icon/icon-members@2x.png +0 -0
  401. package/lib/module/assets/icon/icon-members@3x.png +0 -0
  402. package/lib/module/assets/icon/icon-message.png +0 -0
  403. package/lib/module/assets/icon/icon-message@2x.png +0 -0
  404. package/lib/module/assets/icon/icon-message@3x.png +0 -0
  405. package/lib/module/assets/icon/icon-moderations.png +0 -0
  406. package/lib/module/assets/icon/icon-moderations@2x.png +0 -0
  407. package/lib/module/assets/icon/icon-moderations@3x.png +0 -0
  408. package/lib/module/assets/icon/icon-more.png +0 -0
  409. package/lib/module/assets/icon/icon-more@2x.png +0 -0
  410. package/lib/module/assets/icon/icon-more@3x.png +0 -0
  411. package/lib/module/assets/icon/icon-mute.png +0 -0
  412. package/lib/module/assets/icon/icon-mute@2x.png +0 -0
  413. package/lib/module/assets/icon/icon-mute@3x.png +0 -0
  414. package/lib/module/assets/icon/icon-notifications-filled.png +0 -0
  415. package/lib/module/assets/icon/icon-notifications-filled@2x.png +0 -0
  416. package/lib/module/assets/icon/icon-notifications-filled@3x.png +0 -0
  417. package/lib/module/assets/icon/icon-notifications-off-filled.png +0 -0
  418. package/lib/module/assets/icon/icon-notifications-off-filled@2x.png +0 -0
  419. package/lib/module/assets/icon/icon-notifications-off-filled@3x.png +0 -0
  420. package/lib/module/assets/icon/icon-notifications.png +0 -0
  421. package/lib/module/assets/icon/icon-notifications@2x.png +0 -0
  422. package/lib/module/assets/icon/icon-notifications@3x.png +0 -0
  423. package/lib/module/assets/icon/icon-operator.png +0 -0
  424. package/lib/module/assets/icon/icon-operator@2x.png +0 -0
  425. package/lib/module/assets/icon/icon-operator@3x.png +0 -0
  426. package/lib/module/assets/icon/icon-photo.png +0 -0
  427. package/lib/module/assets/icon/icon-photo@2x.png +0 -0
  428. package/lib/module/assets/icon/icon-photo@3x.png +0 -0
  429. package/lib/module/assets/icon/icon-play.png +0 -0
  430. package/lib/module/assets/icon/icon-play@2x.png +0 -0
  431. package/lib/module/assets/icon/icon-play@3x.png +0 -0
  432. package/lib/module/assets/icon/icon-plus.png +0 -0
  433. package/lib/module/assets/icon/icon-plus@2x.png +0 -0
  434. package/lib/module/assets/icon/icon-plus@3x.png +0 -0
  435. package/lib/module/assets/icon/icon-question.png +0 -0
  436. package/lib/module/assets/icon/icon-question@2x.png +0 -0
  437. package/lib/module/assets/icon/icon-question@3x.png +0 -0
  438. package/lib/module/assets/icon/icon-refresh.png +0 -0
  439. package/lib/module/assets/icon/icon-refresh@2x.png +0 -0
  440. package/lib/module/assets/icon/icon-refresh@3x.png +0 -0
  441. package/lib/module/assets/icon/icon-remove.png +0 -0
  442. package/lib/module/assets/icon/icon-remove@2x.png +0 -0
  443. package/lib/module/assets/icon/icon-remove@3x.png +0 -0
  444. package/lib/module/assets/icon/icon-reply-filled.png +0 -0
  445. package/lib/module/assets/icon/icon-reply-filled@2x.png +0 -0
  446. package/lib/module/assets/icon/icon-reply-filled@3x.png +0 -0
  447. package/lib/module/assets/icon/icon-reply.png +0 -0
  448. package/lib/module/assets/icon/icon-reply@2x.png +0 -0
  449. package/lib/module/assets/icon/icon-reply@3x.png +0 -0
  450. package/lib/module/assets/icon/icon-search.png +0 -0
  451. package/lib/module/assets/icon/icon-search@2x.png +0 -0
  452. package/lib/module/assets/icon/icon-search@3x.png +0 -0
  453. package/lib/module/assets/icon/icon-send.png +0 -0
  454. package/lib/module/assets/icon/icon-send@2x.png +0 -0
  455. package/lib/module/assets/icon/icon-send@3x.png +0 -0
  456. package/lib/module/assets/icon/icon-settings-filled.png +0 -0
  457. package/lib/module/assets/icon/icon-settings-filled@2x.png +0 -0
  458. package/lib/module/assets/icon/icon-settings-filled@3x.png +0 -0
  459. package/lib/module/assets/icon/icon-spinner.png +0 -0
  460. package/lib/module/assets/icon/icon-spinner@2x.png +0 -0
  461. package/lib/module/assets/icon/icon-spinner@3x.png +0 -0
  462. package/lib/module/assets/icon/icon-streaming.png +0 -0
  463. package/lib/module/assets/icon/icon-streaming@2x.png +0 -0
  464. package/lib/module/assets/icon/icon-streaming@3x.png +0 -0
  465. package/lib/module/assets/icon/icon-supergroup.png +0 -0
  466. package/lib/module/assets/icon/icon-supergroup@2x.png +0 -0
  467. package/lib/module/assets/icon/icon-supergroup@3x.png +0 -0
  468. package/lib/module/assets/icon/icon-theme.png +0 -0
  469. package/lib/module/assets/icon/icon-theme@2x.png +0 -0
  470. package/lib/module/assets/icon/icon-theme@3x.png +0 -0
  471. package/lib/module/assets/icon/icon-thumbnail-none.png +0 -0
  472. package/lib/module/assets/icon/icon-thumbnail-none@2x.png +0 -0
  473. package/lib/module/assets/icon/icon-thumbnail-none@3x.png +0 -0
  474. package/lib/module/assets/icon/icon-unarchive.png +0 -0
  475. package/lib/module/assets/icon/icon-unarchive@2x.png +0 -0
  476. package/lib/module/assets/icon/icon-unarchive@3x.png +0 -0
  477. package/lib/module/assets/icon/icon-user.png +0 -0
  478. package/lib/module/assets/icon/icon-user@2x.png +0 -0
  479. package/lib/module/assets/icon/icon-user@3x.png +0 -0
  480. package/lib/module/assets/icon/index.js +0 -63
  481. package/lib/module/assets/icon/index.js.map +0 -1
  482. package/lib/module/components/Image/Image.fastimage.js +0 -74
  483. package/lib/module/components/Image/Image.fastimage.js.map +0 -1
  484. package/lib/module/components/Image/Image.reactnative.js +0 -24
  485. package/lib/module/components/Image/Image.reactnative.js.map +0 -1
  486. package/lib/module/components/Image/index.js +0 -20
  487. package/lib/module/components/Image/index.js.map +0 -1
  488. package/lib/module/index.js +0 -49
  489. package/lib/module/index.js.map +0 -1
  490. package/lib/module/styles/HeaderStyleContext.js +0 -29
  491. package/lib/module/styles/HeaderStyleContext.js.map +0 -1
  492. package/lib/module/styles/createScaleFactor.js +0 -20
  493. package/lib/module/styles/createScaleFactor.js.map +0 -1
  494. package/lib/module/styles/createSelectByColorScheme.js +0 -16
  495. package/lib/module/styles/createSelectByColorScheme.js.map +0 -1
  496. package/lib/module/styles/createStyleSheet.js +0 -53
  497. package/lib/module/styles/createStyleSheet.js.map +0 -1
  498. package/lib/module/styles/createTypography.js +0 -98
  499. package/lib/module/styles/createTypography.js.map +0 -1
  500. package/lib/module/styles/getDefaultHeaderHeight.js +0 -10
  501. package/lib/module/styles/getDefaultHeaderHeight.js.map +0 -1
  502. package/lib/module/styles/useHeaderStyle.js +0 -9
  503. package/lib/module/styles/useHeaderStyle.js.map +0 -1
  504. package/lib/module/theme/DarkUIKitTheme.js +0 -175
  505. package/lib/module/theme/DarkUIKitTheme.js.map +0 -1
  506. package/lib/module/theme/LightUIKitTheme.js +0 -175
  507. package/lib/module/theme/LightUIKitTheme.js.map +0 -1
  508. package/lib/module/theme/Palette.js +0 -40
  509. package/lib/module/theme/Palette.js.map +0 -1
  510. package/lib/module/theme/UIKitThemeContext.js +0 -4
  511. package/lib/module/theme/UIKitThemeContext.js.map +0 -1
  512. package/lib/module/theme/UIKitThemeProvider.js +0 -16
  513. package/lib/module/theme/UIKitThemeProvider.js.map +0 -1
  514. package/lib/module/theme/createTheme.js +0 -46
  515. package/lib/module/theme/createTheme.js.map +0 -1
  516. package/lib/module/theme/useUIKitTheme.js +0 -11
  517. package/lib/module/theme/useUIKitTheme.js.map +0 -1
  518. package/lib/module/types.js +0 -2
  519. package/lib/module/types.js.map +0 -1
  520. package/lib/module/ui/ActionMenu/index.js +0 -108
  521. package/lib/module/ui/ActionMenu/index.js.map +0 -1
  522. package/lib/module/ui/Alert/index.js +0 -104
  523. package/lib/module/ui/Alert/index.js.map +0 -1
  524. package/lib/module/ui/Avatar/AvatarGroup.js +0 -104
  525. package/lib/module/ui/Avatar/AvatarGroup.js.map +0 -1
  526. package/lib/module/ui/Avatar/AvatarIcon.js +0 -40
  527. package/lib/module/ui/Avatar/AvatarIcon.js.map +0 -1
  528. package/lib/module/ui/Avatar/index.js +0 -78
  529. package/lib/module/ui/Avatar/index.js.map +0 -1
  530. package/lib/module/ui/Badge/index.js +0 -62
  531. package/lib/module/ui/Badge/index.js.map +0 -1
  532. package/lib/module/ui/BottomSheet/index.js +0 -65
  533. package/lib/module/ui/BottomSheet/index.js.map +0 -1
  534. package/lib/module/ui/Button/index.js +0 -75
  535. package/lib/module/ui/Button/index.js.map +0 -1
  536. package/lib/module/ui/ChannelFrozenBanner/index.js +0 -37
  537. package/lib/module/ui/ChannelFrozenBanner/index.js.map +0 -1
  538. package/lib/module/ui/Dialog/DialogBox.js +0 -28
  539. package/lib/module/ui/Dialog/DialogBox.js.map +0 -1
  540. package/lib/module/ui/Dialog/DialogSheet.js +0 -71
  541. package/lib/module/ui/Dialog/DialogSheet.js.map +0 -1
  542. package/lib/module/ui/Dialog/index.js +0 -144
  543. package/lib/module/ui/Dialog/index.js.map +0 -1
  544. package/lib/module/ui/Divider/index.js +0 -36
  545. package/lib/module/ui/Divider/index.js.map +0 -1
  546. package/lib/module/ui/GroupChannelPreview/index.js +0 -190
  547. package/lib/module/ui/GroupChannelPreview/index.js.map +0 -1
  548. package/lib/module/ui/Header/index.js +0 -218
  549. package/lib/module/ui/Header/index.js.map +0 -1
  550. package/lib/module/ui/Icon/index.js +0 -63
  551. package/lib/module/ui/Icon/index.js.map +0 -1
  552. package/lib/module/ui/LoadingSpinner/index.js +0 -64
  553. package/lib/module/ui/LoadingSpinner/index.js.map +0 -1
  554. package/lib/module/ui/MenuBar/index.js +0 -71
  555. package/lib/module/ui/MenuBar/index.js.map +0 -1
  556. package/lib/module/ui/Modal/index.js +0 -196
  557. package/lib/module/ui/Modal/index.js.map +0 -1
  558. package/lib/module/ui/Placeholder/index.js +0 -64
  559. package/lib/module/ui/Placeholder/index.js.map +0 -1
  560. package/lib/module/ui/Prompt/index.js +0 -151
  561. package/lib/module/ui/Prompt/index.js.map +0 -1
  562. package/lib/module/ui/Switch/index.js +0 -107
  563. package/lib/module/ui/Switch/index.js.map +0 -1
  564. package/lib/module/ui/Text/index.js +0 -59
  565. package/lib/module/ui/Text/index.js.map +0 -1
  566. package/lib/module/ui/TextInput/index.js +0 -43
  567. package/lib/module/ui/TextInput/index.js.map +0 -1
  568. package/lib/module/ui/Toast/index.js +0 -156
  569. package/lib/module/ui/Toast/index.js.map +0 -1
  570. package/lib/module/ui/URLParsedText/index.js +0 -45
  571. package/lib/module/ui/URLParsedText/index.js.map +0 -1
  572. package/lib/typescript/src/assets/icon/index.d.ts +0 -62
  573. package/lib/typescript/src/components/Image/Image.fastimage.d.ts +0 -3
  574. package/lib/typescript/src/components/Image/Image.reactnative.d.ts +0 -3
  575. package/lib/typescript/src/components/Image/index.d.ts +0 -15
  576. package/lib/typescript/src/index.d.ts +0 -45
  577. package/lib/typescript/src/styles/HeaderStyleContext.d.ts +0 -20
  578. package/lib/typescript/src/styles/createScaleFactor.d.ts +0 -6
  579. package/lib/typescript/src/styles/createSelectByColorScheme.d.ts +0 -9
  580. package/lib/typescript/src/styles/createStyleSheet.d.ts +0 -9
  581. package/lib/typescript/src/styles/createTypography.d.ts +0 -6
  582. package/lib/typescript/src/styles/getDefaultHeaderHeight.d.ts +0 -2
  583. package/lib/typescript/src/styles/useHeaderStyle.d.ts +0 -2
  584. package/lib/typescript/src/theme/DarkUIKitTheme.d.ts +0 -2
  585. package/lib/typescript/src/theme/LightUIKitTheme.d.ts +0 -2
  586. package/lib/typescript/src/theme/Palette.d.ts +0 -3
  587. package/lib/typescript/src/theme/UIKitThemeContext.d.ts +0 -4
  588. package/lib/typescript/src/theme/UIKitThemeProvider.d.ts +0 -7
  589. package/lib/typescript/src/theme/createTheme.d.ts +0 -10
  590. package/lib/typescript/src/theme/useUIKitTheme.d.ts +0 -3
  591. package/lib/typescript/src/types.d.ts +0 -167
  592. package/lib/typescript/src/ui/ActionMenu/index.d.ts +0 -17
  593. package/lib/typescript/src/ui/Alert/index.d.ts +0 -14
  594. package/lib/typescript/src/ui/Avatar/AvatarGroup.d.ts +0 -8
  595. package/lib/typescript/src/ui/Avatar/AvatarIcon.d.ts +0 -11
  596. package/lib/typescript/src/ui/Avatar/index.d.ts +0 -17
  597. package/lib/typescript/src/ui/Badge/index.d.ts +0 -12
  598. package/lib/typescript/src/ui/BottomSheet/index.d.ts +0 -19
  599. package/lib/typescript/src/ui/Button/index.d.ts +0 -14
  600. package/lib/typescript/src/ui/ChannelFrozenBanner/index.d.ts +0 -10
  601. package/lib/typescript/src/ui/Dialog/DialogBox.d.ts +0 -7
  602. package/lib/typescript/src/ui/Dialog/DialogSheet.d.ts +0 -17
  603. package/lib/typescript/src/ui/Dialog/index.d.ts +0 -46
  604. package/lib/typescript/src/ui/Divider/index.d.ts +0 -8
  605. package/lib/typescript/src/ui/GroupChannelPreview/index.d.ts +0 -17
  606. package/lib/typescript/src/ui/Header/index.d.ts +0 -29
  607. package/lib/typescript/src/ui/Icon/index.d.ts +0 -15
  608. package/lib/typescript/src/ui/LoadingSpinner/index.d.ts +0 -9
  609. package/lib/typescript/src/ui/MenuBar/index.d.ts +0 -15
  610. package/lib/typescript/src/ui/Modal/index.d.ts +0 -18
  611. package/lib/typescript/src/ui/Placeholder/index.d.ts +0 -11
  612. package/lib/typescript/src/ui/Prompt/index.d.ts +0 -18
  613. package/lib/typescript/src/ui/Switch/index.d.ts +0 -11
  614. package/lib/typescript/src/ui/Text/index.d.ts +0 -9
  615. package/lib/typescript/src/ui/TextInput/index.d.ts +0 -6
  616. package/lib/typescript/src/ui/Toast/index.d.ts +0 -18
  617. package/lib/typescript/src/ui/URLParsedText/index.d.ts +0 -9
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","useEffect","useRef","Animated","Easing","useUIKitTheme","Icon","LoadingSpinner","size","color","style","colors","primary","useLoopAnimated","duration","useNativeDriver","animated","Value","current","loop","timing","toValue","easing","inOut","linear","resetBeforeIteration","start","stopAnimation","setValue","Rotate","children","rotate","interpolate","inputRange","outputRange","transform"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Animated, Easing, StyleProp, ViewStyle } from 'react-native';\n\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport Icon from '../Icon';\n\ntype Props = {\n size?: number;\n color?: string;\n style?: StyleProp<ViewStyle>;\n};\n\nconst LoadingSpinner: React.FC<Props> = ({ size = 24, color, style }) => {\n const { colors } = useUIKitTheme();\n return (\n <Rotate style={style}>\n <Icon icon={'spinner'} size={size} color={color ?? colors.primary} />\n </Rotate>\n );\n};\n\nconst useLoopAnimated = (duration: number, useNativeDriver = true) => {\n const animated = useRef(new Animated.Value(0)).current;\n\n useEffect(() => {\n Animated.loop(\n Animated.timing(animated, { toValue: 1, duration, useNativeDriver, easing: Easing.inOut(Easing.linear) }),\n { resetBeforeIteration: true },\n ).start();\n\n return () => {\n animated.stopAnimation();\n animated.setValue(0);\n };\n }, []);\n\n return animated;\n};\n\nconst Rotate: React.FC<{ style: StyleProp<ViewStyle> }> = ({ children, style }) => {\n const loop = useLoopAnimated(1000);\n const rotate = loop.interpolate({ inputRange: [0, 1], outputRange: ['0deg', '360deg'] });\n return <Animated.View style={[style, { transform: [{ rotate }] }]}>{children}</Animated.View>;\n};\n\nexport default LoadingSpinner;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,SAAhB,EAA2BC,MAA3B,QAAyC,OAAzC;AACA,SAASC,QAAT,EAAmBC,MAAnB,QAAuD,cAAvD;AAEA,OAAOC,aAAP,MAA0B,2BAA1B;AACA,OAAOC,IAAP,MAAiB,SAAjB;;AAQA,MAAMC,cAA+B,GAAG,QAAiC;EAAA,IAAhC;IAAEC,IAAI,GAAG,EAAT;IAAaC,KAAb;IAAoBC;EAApB,CAAgC;EACvE,MAAM;IAAEC;EAAF,IAAaN,aAAa,EAAhC;EACA,oBACE,oBAAC,MAAD;IAAQ,KAAK,EAAEK;EAAf,gBACE,oBAAC,IAAD;IAAM,IAAI,EAAE,SAAZ;IAAuB,IAAI,EAAEF,IAA7B;IAAmC,KAAK,EAAEC,KAAK,IAAIE,MAAM,CAACC;EAA1D,EADF,CADF;AAKD,CAPD;;AASA,MAAMC,eAAe,GAAG,UAACC,QAAD,EAA8C;EAAA,IAA3BC,eAA2B,uEAAT,IAAS;EACpE,MAAMC,QAAQ,GAAGd,MAAM,CAAC,IAAIC,QAAQ,CAACc,KAAb,CAAmB,CAAnB,CAAD,CAAN,CAA8BC,OAA/C;EAEAjB,SAAS,CAAC,MAAM;IACdE,QAAQ,CAACgB,IAAT,CACEhB,QAAQ,CAACiB,MAAT,CAAgBJ,QAAhB,EAA0B;MAAEK,OAAO,EAAE,CAAX;MAAcP,QAAd;MAAwBC,eAAxB;MAAyCO,MAAM,EAAElB,MAAM,CAACmB,KAAP,CAAanB,MAAM,CAACoB,MAApB;IAAjD,CAA1B,CADF,EAEE;MAAEC,oBAAoB,EAAE;IAAxB,CAFF,EAGEC,KAHF;IAKA,OAAO,MAAM;MACXV,QAAQ,CAACW,aAAT;MACAX,QAAQ,CAACY,QAAT,CAAkB,CAAlB;IACD,CAHD;EAID,CAVQ,EAUN,EAVM,CAAT;EAYA,OAAOZ,QAAP;AACD,CAhBD;;AAkBA,MAAMa,MAAiD,GAAG,SAAyB;EAAA,IAAxB;IAAEC,QAAF;IAAYpB;EAAZ,CAAwB;EACjF,MAAMS,IAAI,GAAGN,eAAe,CAAC,IAAD,CAA5B;EACA,MAAMkB,MAAM,GAAGZ,IAAI,CAACa,WAAL,CAAiB;IAAEC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CAAd;IAAsBC,WAAW,EAAE,CAAC,MAAD,EAAS,QAAT;EAAnC,CAAjB,CAAf;EACA,oBAAO,oBAAC,QAAD,CAAU,IAAV;IAAe,KAAK,EAAE,CAACxB,KAAD,EAAQ;MAAEyB,SAAS,EAAE,CAAC;QAAEJ;MAAF,CAAD;IAAb,CAAR;EAAtB,GAA6DD,QAA7D,CAAP;AACD,CAJD;;AAMA,eAAevB,cAAf"}
@@ -1,71 +0,0 @@
1
- import React from 'react';
2
- import { Pressable, View } from 'react-native';
3
- import { conditionChaining } from '@sendbird/uikit-utils';
4
- import createStyleSheet from '../../styles/createStyleSheet';
5
- import useUIKitTheme from '../../theme/useUIKitTheme';
6
- import Divider from '../Divider';
7
- import Icon from '../Icon';
8
- import Text from '../Text';
9
-
10
- const MenuBar = _ref => {
11
- let {
12
- variant = 'default',
13
- disabled,
14
- onPress,
15
- name,
16
- icon,
17
- iconColor,
18
- iconBackgroundColor,
19
- actionLabel,
20
- actionItem = null
21
- } = _ref;
22
- const {
23
- palette,
24
- colors
25
- } = useUIKitTheme();
26
- return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Pressable, {
27
- disabled: disabled,
28
- onPress: onPress,
29
- style: styles.container
30
- }, icon && /*#__PURE__*/React.createElement(Icon, {
31
- icon: icon,
32
- size: variant === 'contained' ? 16 : 24,
33
- color: conditionChaining([variant === 'contained', iconColor], [palette.background50, iconColor, colors.primary]),
34
- containerStyle: [styles.icon, variant === 'contained' && styles.containedIcon, variant === 'contained' && {
35
- backgroundColor: iconBackgroundColor ?? palette.background400
36
- }]
37
- }), /*#__PURE__*/React.createElement(Text, {
38
- subtitle2: true,
39
- numberOfLines: 1,
40
- style: styles.name
41
- }, name), Boolean(actionLabel) && /*#__PURE__*/React.createElement(Text, {
42
- subtitle2: true,
43
- numberOfLines: 1,
44
- color: colors.onBackground02,
45
- style: styles.actionLabel
46
- }, actionLabel), actionItem), /*#__PURE__*/React.createElement(Divider, null));
47
- };
48
-
49
- const styles = createStyleSheet({
50
- container: {
51
- paddingVertical: 16,
52
- flexDirection: 'row',
53
- alignItems: 'center'
54
- },
55
- name: {
56
- flex: 1,
57
- marginRight: 8
58
- },
59
- icon: {
60
- marginRight: 16
61
- },
62
- containedIcon: {
63
- borderRadius: 24,
64
- padding: 4
65
- },
66
- actionLabel: {
67
- marginRight: 4
68
- }
69
- });
70
- export default MenuBar;
71
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","Pressable","View","conditionChaining","createStyleSheet","useUIKitTheme","Divider","Icon","Text","MenuBar","variant","disabled","onPress","name","icon","iconColor","iconBackgroundColor","actionLabel","actionItem","palette","colors","styles","container","background50","primary","containedIcon","backgroundColor","background400","Boolean","onBackground02","paddingVertical","flexDirection","alignItems","flex","marginRight","borderRadius","padding"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { Pressable, View } from 'react-native';\n\nimport { conditionChaining } from '@sendbird/uikit-utils';\n\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport Divider from '../Divider';\nimport Icon from '../Icon';\nimport Text from '../Text';\n\nexport type MenuBarProps = {\n variant?: 'default' | 'contained';\n\n onPress: () => void;\n disabled?: boolean;\n\n icon: keyof typeof Icon.Assets;\n iconColor?: string;\n iconBackgroundColor?: string;\n name: string;\n\n actionLabel?: string;\n actionItem?: React.ReactNode;\n};\nconst MenuBar: React.FC<MenuBarProps> = ({\n variant = 'default',\n disabled,\n onPress,\n name,\n icon,\n iconColor,\n iconBackgroundColor,\n actionLabel,\n actionItem = null,\n}) => {\n const { palette, colors } = useUIKitTheme();\n\n return (\n <View>\n <Pressable disabled={disabled} onPress={onPress} style={styles.container}>\n {icon && (\n <Icon\n icon={icon}\n size={variant === 'contained' ? 16 : 24}\n color={conditionChaining(\n [variant === 'contained', iconColor],\n [palette.background50, iconColor, colors.primary],\n )}\n containerStyle={[\n styles.icon,\n variant === 'contained' && styles.containedIcon,\n variant === 'contained' && { backgroundColor: iconBackgroundColor ?? palette.background400 },\n ]}\n />\n )}\n <Text subtitle2 numberOfLines={1} style={styles.name}>\n {name}\n </Text>\n {Boolean(actionLabel) && (\n <Text subtitle2 numberOfLines={1} color={colors.onBackground02} style={styles.actionLabel}>\n {actionLabel}\n </Text>\n )}\n {actionItem}\n </Pressable>\n <Divider />\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n paddingVertical: 16,\n flexDirection: 'row',\n alignItems: 'center',\n },\n name: {\n flex: 1,\n marginRight: 8,\n },\n icon: {\n marginRight: 16,\n },\n containedIcon: {\n borderRadius: 24,\n padding: 4,\n },\n actionLabel: {\n marginRight: 4,\n },\n});\n\nexport default MenuBar;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,EAAoBC,IAApB,QAAgC,cAAhC;AAEA,SAASC,iBAAT,QAAkC,uBAAlC;AAEA,OAAOC,gBAAP,MAA6B,+BAA7B;AACA,OAAOC,aAAP,MAA0B,2BAA1B;AACA,OAAOC,OAAP,MAAoB,YAApB;AACA,OAAOC,IAAP,MAAiB,SAAjB;AACA,OAAOC,IAAP,MAAiB,SAAjB;;AAgBA,MAAMC,OAA+B,GAAG,QAUlC;EAAA,IAVmC;IACvCC,OAAO,GAAG,SAD6B;IAEvCC,QAFuC;IAGvCC,OAHuC;IAIvCC,IAJuC;IAKvCC,IALuC;IAMvCC,SANuC;IAOvCC,mBAPuC;IAQvCC,WARuC;IASvCC,UAAU,GAAG;EAT0B,CAUnC;EACJ,MAAM;IAAEC,OAAF;IAAWC;EAAX,IAAsBf,aAAa,EAAzC;EAEA,oBACE,oBAAC,IAAD,qBACE,oBAAC,SAAD;IAAW,QAAQ,EAAEM,QAArB;IAA+B,OAAO,EAAEC,OAAxC;IAAiD,KAAK,EAAES,MAAM,CAACC;EAA/D,GACGR,IAAI,iBACH,oBAAC,IAAD;IACE,IAAI,EAAEA,IADR;IAEE,IAAI,EAAEJ,OAAO,KAAK,WAAZ,GAA0B,EAA1B,GAA+B,EAFvC;IAGE,KAAK,EAAEP,iBAAiB,CACtB,CAACO,OAAO,KAAK,WAAb,EAA0BK,SAA1B,CADsB,EAEtB,CAACI,OAAO,CAACI,YAAT,EAAuBR,SAAvB,EAAkCK,MAAM,CAACI,OAAzC,CAFsB,CAH1B;IAOE,cAAc,EAAE,CACdH,MAAM,CAACP,IADO,EAEdJ,OAAO,KAAK,WAAZ,IAA2BW,MAAM,CAACI,aAFpB,EAGdf,OAAO,KAAK,WAAZ,IAA2B;MAAEgB,eAAe,EAAEV,mBAAmB,IAAIG,OAAO,CAACQ;IAAlD,CAHb;EAPlB,EAFJ,eAgBE,oBAAC,IAAD;IAAM,SAAS,MAAf;IAAgB,aAAa,EAAE,CAA/B;IAAkC,KAAK,EAAEN,MAAM,CAACR;EAAhD,GACGA,IADH,CAhBF,EAmBGe,OAAO,CAACX,WAAD,CAAP,iBACC,oBAAC,IAAD;IAAM,SAAS,MAAf;IAAgB,aAAa,EAAE,CAA/B;IAAkC,KAAK,EAAEG,MAAM,CAACS,cAAhD;IAAgE,KAAK,EAAER,MAAM,CAACJ;EAA9E,GACGA,WADH,CApBJ,EAwBGC,UAxBH,CADF,eA2BE,oBAAC,OAAD,OA3BF,CADF;AA+BD,CA5CD;;AA8CA,MAAMG,MAAM,GAAGjB,gBAAgB,CAAC;EAC9BkB,SAAS,EAAE;IACTQ,eAAe,EAAE,EADR;IAETC,aAAa,EAAE,KAFN;IAGTC,UAAU,EAAE;EAHH,CADmB;EAM9BnB,IAAI,EAAE;IACJoB,IAAI,EAAE,CADF;IAEJC,WAAW,EAAE;EAFT,CANwB;EAU9BpB,IAAI,EAAE;IACJoB,WAAW,EAAE;EADT,CAVwB;EAa9BT,aAAa,EAAE;IACbU,YAAY,EAAE,EADD;IAEbC,OAAO,EAAE;EAFI,CAbe;EAiB9BnB,WAAW,EAAE;IACXiB,WAAW,EAAE;EADF;AAjBiB,CAAD,CAA/B;AAsBA,eAAezB,OAAf"}
@@ -1,196 +0,0 @@
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); }
2
-
3
- import React, { useEffect, useRef, useState } from 'react';
4
- import { Animated, Dimensions, KeyboardAvoidingView, PanResponder, Platform, Pressable, Modal as RNModal, StyleSheet, TouchableWithoutFeedback, useWindowDimensions } from 'react-native';
5
- import createStyleSheet from '../../styles/createStyleSheet';
6
- import useHeaderStyle from '../../styles/useHeaderStyle';
7
- import useUIKitTheme from '../../theme/useUIKitTheme';
8
-
9
- /**
10
- * Modal Open: Triggered by Modal.props.visible state changed to true
11
- * - visible true -> modalVisible true -> animation start
12
- *
13
- * Modal Close: Triggered by Modal.props.onClose() call
14
- * - Modal.props.onClose() -> visible false -> animation start -> modalVisible false
15
- * */
16
- const Modal = _ref => {
17
- let {
18
- children,
19
- onClose,
20
- backgroundStyle,
21
- onDismiss,
22
- type = 'fade',
23
- visible = false,
24
- disableBackgroundClose = false,
25
- enableKeyboardAvoid = false,
26
- statusBarTranslucent,
27
- ...props
28
- } = _ref;
29
- const {
30
- palette
31
- } = useUIKitTheme();
32
- const {
33
- content,
34
- backdrop,
35
- showTransition,
36
- hideTransition
37
- } = useModalAnimation(type);
38
- const panResponder = useModalPanResponder(type, content.translateY, showTransition, onClose);
39
- const {
40
- topInset
41
- } = useHeaderStyle();
42
- const [modalVisible, setModalVisible] = useState(false);
43
-
44
- const showAction = () => setModalVisible(true);
45
-
46
- const hideAction = () => hideTransition(() => setModalVisible(false));
47
-
48
- const {
49
- width,
50
- height
51
- } = useWindowDimensions();
52
- useEffect(() => {
53
- if (visible) showAction();else hideAction();
54
- }, [visible]);
55
- useOnDismiss(modalVisible, onDismiss);
56
- return /*#__PURE__*/React.createElement(RNModal, _extends({
57
- transparent: true,
58
- hardwareAccelerated: true,
59
- visible: modalVisible,
60
- onRequestClose: onClose,
61
- onShow: () => showTransition(),
62
- onDismiss: onDismiss,
63
- supportedOrientations: ['portrait', 'portrait-upside-down', 'landscape', 'landscape-left', 'landscape-right'],
64
- animationType: 'none'
65
- }, props), /*#__PURE__*/React.createElement(TouchableWithoutFeedback, {
66
- onPress: disableBackgroundClose ? undefined : onClose
67
- }, /*#__PURE__*/React.createElement(Animated.View, {
68
- style: [StyleSheet.absoluteFill, {
69
- opacity: backdrop.opacity,
70
- backgroundColor: palette.onBackgroundLight03
71
- }]
72
- })), /*#__PURE__*/React.createElement(KeyboardAvoidingView // NOTE: This is trick for Android.
73
- // When orientation is changed on Android, the offset that to avoid soft-keyboard is not updated normally.
74
- , {
75
- key: `${width}-${height}`,
76
- enabled: enableKeyboardAvoid,
77
- style: styles.background,
78
- behavior: Platform.select({
79
- ios: 'padding',
80
- default: 'height'
81
- }),
82
- pointerEvents: 'box-none',
83
- keyboardVerticalOffset: enableKeyboardAvoid && statusBarTranslucent ? -topInset : 0
84
- }, /*#__PURE__*/React.createElement(Animated.View, _extends({
85
- style: [styles.background, backgroundStyle, {
86
- opacity: content.opacity,
87
- transform: [{
88
- translateY: content.translateY
89
- }]
90
- }],
91
- pointerEvents: 'box-none'
92
- }, panResponder.panHandlers), /*#__PURE__*/React.createElement(Pressable // NOTE: https://github.com/facebook/react-native/issues/14295
93
- // Due to 'Pressable', the width of the children must be explicitly specified as a number.
94
- , null, children))));
95
- };
96
-
97
- const isHideGesture = (distanceY, velocityY) => {
98
- return distanceY > 125 || distanceY > 0 && velocityY > 0.1;
99
- };
100
-
101
- const useModalPanResponder = (type, translateY, show, hide) => {
102
- if (type === 'fade') return {
103
- panHandlers: {}
104
- };
105
- return React.useRef(PanResponder.create({
106
- onMoveShouldSetPanResponderCapture: (_, _ref2) => {
107
- let {
108
- dy
109
- } = _ref2;
110
- return dy > 8;
111
- },
112
- // @ts-ignore
113
- onPanResponderGrant: () => translateY.setOffset(translateY.__getValue()),
114
- onPanResponderMove: (_, _ref3) => {
115
- let {
116
- dy
117
- } = _ref3;
118
- return dy >= 0 && translateY.setValue(dy);
119
- },
120
- // Animated.event([null, { dy: translateY }], { useNativeDriver: false }),
121
- onPanResponderRelease: (_, _ref4) => {
122
- let {
123
- dy,
124
- vy
125
- } = _ref4;
126
- if (isHideGesture(dy, vy)) hide();else show();
127
- }
128
- })).current;
129
- };
130
-
131
- const useModalAnimation = type => {
132
- const initialY = type === 'slide' ? Dimensions.get('window').height : 0;
133
- const baseAnimBackground = useRef(new Animated.Value(0)).current;
134
- const baseAnimContent = useRef(new Animated.Value(initialY)).current;
135
- const content = {
136
- opacity: baseAnimBackground.interpolate({
137
- inputRange: [0, 1],
138
- outputRange: [type === 'slide' ? 1 : 0, 1]
139
- }),
140
- translateY: baseAnimContent
141
- };
142
- const backdrop = {
143
- opacity: baseAnimBackground.interpolate({
144
- inputRange: [0, 1],
145
- outputRange: [0, 1]
146
- })
147
- };
148
-
149
- const createTransition = toValue => {
150
- const config = {
151
- duration: 250,
152
- useNativeDriver: false
153
- };
154
- return Animated.parallel([Animated.timing(baseAnimBackground, {
155
- toValue,
156
- ...config
157
- }), Animated.timing(baseAnimContent, {
158
- toValue: toValue === 0 ? initialY : 0,
159
- ...config
160
- })]).start;
161
- };
162
-
163
- return {
164
- content,
165
- backdrop,
166
- showTransition: createTransition(1),
167
- hideTransition: createTransition(0)
168
- };
169
- }; // NOTE: onDismiss is supports iOS only
170
-
171
-
172
- const useOnDismiss = (visible, onDismiss) => {
173
- const prevVisible = usePrevProp(visible);
174
- useEffect(() => {
175
- if (Platform.OS === 'ios') return;
176
- if (prevVisible && !visible) onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss();
177
- }, [prevVisible, visible]);
178
- };
179
-
180
- const usePrevProp = prop => {
181
- const prev = useRef(prop);
182
- const curr = useRef(prop);
183
- useEffect(() => {
184
- prev.current = curr.current;
185
- curr.current = prop;
186
- });
187
- return prev.current;
188
- };
189
-
190
- const styles = createStyleSheet({
191
- background: {
192
- flex: 1
193
- }
194
- });
195
- export default Modal;
196
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
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","undefined","absoluteFill","opacity","backgroundColor","onBackgroundLight03","styles","background","select","ios","default","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","OS","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 Props = {\n type?: 'slide' | 'fade';\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: React.FC<Props> = ({\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}) => {\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 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={`${width}-${height}`}\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: 'slide' | 'fade',\n translateY: Animated.Value,\n show: () => void,\n hide: () => void,\n) => {\n if (type === 'fade') 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: 'slide' | 'fade') => {\n const initialY = type === 'slide' ? Dimensions.get('window').height : 0;\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 === 'slide' ? 1 : 0, 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,64 +0,0 @@
1
- import React from 'react';
2
- import { View } from 'react-native';
3
- import { conditionChaining } from '@sendbird/uikit-utils';
4
- import createStyleSheet from '../../styles/createStyleSheet';
5
- import useUIKitTheme from '../../theme/useUIKitTheme';
6
- import Button from '../Button';
7
- import Icon from '../Icon';
8
- import LoadingSpinner from '../LoadingSpinner';
9
- import Text from '../Text';
10
-
11
- const Placeholder = _ref => {
12
- let {
13
- icon,
14
- loading = false,
15
- message = '',
16
- errorRetryLabel,
17
- onPressRetry
18
- } = _ref;
19
- const {
20
- colors
21
- } = useUIKitTheme(); // loading ? styles.containerLoading : errorRetryLabel ? styles.containerError : styles.container
22
-
23
- return /*#__PURE__*/React.createElement(View, {
24
- style: conditionChaining([loading, errorRetryLabel], [styles.containerLoading, styles.containerError, styles.container])
25
- }, conditionChaining([loading], [/*#__PURE__*/React.createElement(LoadingSpinner, {
26
- size: 64,
27
- color: colors.ui.placeholder.default.none.highlight
28
- }), /*#__PURE__*/React.createElement(Icon, {
29
- icon: icon,
30
- size: 64,
31
- color: colors.ui.placeholder.default.none.content
32
- })]), Boolean(message) && !loading && /*#__PURE__*/React.createElement(Text, {
33
- body3: true,
34
- color: colors.ui.placeholder.default.none.content
35
- }, message), Boolean(errorRetryLabel) && !loading && /*#__PURE__*/React.createElement(Button, {
36
- variant: 'text',
37
- onPress: onPressRetry,
38
- contentColor: colors.ui.placeholder.default.none.highlight,
39
- icon: 'refresh'
40
- }, errorRetryLabel));
41
- };
42
-
43
- const styles = createStyleSheet({
44
- container: {
45
- width: 200,
46
- height: 100,
47
- alignItems: 'center',
48
- justifyContent: 'space-between'
49
- },
50
- containerError: {
51
- width: 200,
52
- height: 148,
53
- alignItems: 'center',
54
- justifyContent: 'space-between'
55
- },
56
- containerLoading: {
57
- width: 200,
58
- height: 100,
59
- alignItems: 'center',
60
- justifyContent: 'center'
61
- }
62
- });
63
- export default Placeholder;
64
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","View","conditionChaining","createStyleSheet","useUIKitTheme","Button","Icon","LoadingSpinner","Text","Placeholder","icon","loading","message","errorRetryLabel","onPressRetry","colors","styles","containerLoading","containerError","container","ui","placeholder","default","none","highlight","content","Boolean","width","height","alignItems","justifyContent"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport { conditionChaining } from '@sendbird/uikit-utils';\n\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport Button from '../Button';\nimport Icon from '../Icon';\nimport LoadingSpinner from '../LoadingSpinner';\nimport Text from '../Text';\n\ntype Props = {\n loading?: boolean;\n\n icon: keyof typeof Icon.Assets;\n message?: string;\n errorRetryLabel?: string;\n onPressRetry?: () => void;\n};\n\nconst Placeholder: React.FC<Props> = ({ icon, loading = false, message = '', errorRetryLabel, onPressRetry }) => {\n const { colors } = useUIKitTheme();\n\n // loading ? styles.containerLoading : errorRetryLabel ? styles.containerError : styles.container\n return (\n <View\n style={conditionChaining(\n [loading, errorRetryLabel],\n [styles.containerLoading, styles.containerError, styles.container],\n )}\n >\n {conditionChaining(\n [loading],\n [\n <LoadingSpinner size={64} color={colors.ui.placeholder.default.none.highlight} />,\n <Icon icon={icon} size={64} color={colors.ui.placeholder.default.none.content} />,\n ],\n )}\n {Boolean(message) && !loading && (\n <Text body3 color={colors.ui.placeholder.default.none.content}>\n {message}\n </Text>\n )}\n {Boolean(errorRetryLabel) && !loading && (\n <Button\n variant={'text'}\n onPress={onPressRetry}\n contentColor={colors.ui.placeholder.default.none.highlight}\n icon={'refresh'}\n >\n {errorRetryLabel}\n </Button>\n )}\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n width: 200,\n height: 100,\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n containerError: {\n width: 200,\n height: 148,\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n containerLoading: {\n width: 200,\n height: 100,\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nexport default Placeholder;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,cAArB;AAEA,SAASC,iBAAT,QAAkC,uBAAlC;AAEA,OAAOC,gBAAP,MAA6B,+BAA7B;AACA,OAAOC,aAAP,MAA0B,2BAA1B;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,OAAOC,IAAP,MAAiB,SAAjB;AACA,OAAOC,cAAP,MAA2B,mBAA3B;AACA,OAAOC,IAAP,MAAiB,SAAjB;;AAWA,MAAMC,WAA4B,GAAG,QAA4E;EAAA,IAA3E;IAAEC,IAAF;IAAQC,OAAO,GAAG,KAAlB;IAAyBC,OAAO,GAAG,EAAnC;IAAuCC,eAAvC;IAAwDC;EAAxD,CAA2E;EAC/G,MAAM;IAAEC;EAAF,IAAaX,aAAa,EAAhC,CAD+G,CAG/G;;EACA,oBACE,oBAAC,IAAD;IACE,KAAK,EAAEF,iBAAiB,CACtB,CAACS,OAAD,EAAUE,eAAV,CADsB,EAEtB,CAACG,MAAM,CAACC,gBAAR,EAA0BD,MAAM,CAACE,cAAjC,EAAiDF,MAAM,CAACG,SAAxD,CAFsB;EAD1B,GAMGjB,iBAAiB,CAChB,CAACS,OAAD,CADgB,EAEhB,cACE,oBAAC,cAAD;IAAgB,IAAI,EAAE,EAAtB;IAA0B,KAAK,EAAEI,MAAM,CAACK,EAAP,CAAUC,WAAV,CAAsBC,OAAtB,CAA8BC,IAA9B,CAAmCC;EAApE,EADF,eAEE,oBAAC,IAAD;IAAM,IAAI,EAAEd,IAAZ;IAAkB,IAAI,EAAE,EAAxB;IAA4B,KAAK,EAAEK,MAAM,CAACK,EAAP,CAAUC,WAAV,CAAsBC,OAAtB,CAA8BC,IAA9B,CAAmCE;EAAtE,EAFF,CAFgB,CANpB,EAaGC,OAAO,CAACd,OAAD,CAAP,IAAoB,CAACD,OAArB,iBACC,oBAAC,IAAD;IAAM,KAAK,MAAX;IAAY,KAAK,EAAEI,MAAM,CAACK,EAAP,CAAUC,WAAV,CAAsBC,OAAtB,CAA8BC,IAA9B,CAAmCE;EAAtD,GACGb,OADH,CAdJ,EAkBGc,OAAO,CAACb,eAAD,CAAP,IAA4B,CAACF,OAA7B,iBACC,oBAAC,MAAD;IACE,OAAO,EAAE,MADX;IAEE,OAAO,EAAEG,YAFX;IAGE,YAAY,EAAEC,MAAM,CAACK,EAAP,CAAUC,WAAV,CAAsBC,OAAtB,CAA8BC,IAA9B,CAAmCC,SAHnD;IAIE,IAAI,EAAE;EAJR,GAMGX,eANH,CAnBJ,CADF;AA+BD,CAnCD;;AAqCA,MAAMG,MAAM,GAAGb,gBAAgB,CAAC;EAC9BgB,SAAS,EAAE;IACTQ,KAAK,EAAE,GADE;IAETC,MAAM,EAAE,GAFC;IAGTC,UAAU,EAAE,QAHH;IAITC,cAAc,EAAE;EAJP,CADmB;EAO9BZ,cAAc,EAAE;IACdS,KAAK,EAAE,GADO;IAEdC,MAAM,EAAE,GAFM;IAGdC,UAAU,EAAE,QAHE;IAIdC,cAAc,EAAE;EAJF,CAPc;EAa9Bb,gBAAgB,EAAE;IAChBU,KAAK,EAAE,GADS;IAEhBC,MAAM,EAAE,GAFQ;IAGhBC,UAAU,EAAE,QAHI;IAIhBC,cAAc,EAAE;EAJA;AAbY,CAAD,CAA/B;AAqBA,eAAerB,WAAf"}
@@ -1,151 +0,0 @@
1
- import React, { useEffect, useRef, useState } from 'react';
2
- import { Keyboard, Platform, View, useWindowDimensions } from 'react-native';
3
- import { NOOP } from '@sendbird/uikit-utils';
4
- import createStyleSheet from '../../styles/createStyleSheet';
5
- import useHeaderStyle from '../../styles/useHeaderStyle';
6
- import useUIKitTheme from '../../theme/useUIKitTheme';
7
- import Button from '../Button';
8
- import DialogBox from '../Dialog/DialogBox';
9
- import Modal from '../Modal';
10
- import Text from '../Text';
11
- import TextInput from '../TextInput';
12
-
13
- const Prompt = _ref => {
14
- let {
15
- onDismiss,
16
- visible,
17
- onHide,
18
- autoFocus = true,
19
- title,
20
- defaultValue = '',
21
- placeholder = 'Enter',
22
- onSubmit = NOOP,
23
- onCancel = NOOP,
24
- submitLabel = 'Submit',
25
- cancelLabel = 'Cancel'
26
- } = _ref;
27
- const {
28
- statusBarTranslucent
29
- } = useHeaderStyle();
30
- const {
31
- colors
32
- } = useUIKitTheme();
33
- const inputRef = useRef(null);
34
- const {
35
- width,
36
- height
37
- } = useWindowDimensions();
38
- const buttons = [{
39
- text: cancelLabel,
40
- onPress: onCancel
41
- }, {
42
- text: submitLabel,
43
- onPress: () => onSubmit(text)
44
- }];
45
- const [text, setText] = useState(defaultValue); // FIXME: autoFocus trick with modal
46
- // Android
47
- // - InputProps.autoFocus is not trigger keyboard appearing.
48
- // - InputRef.focus() is trigger keyboard appearing, but position of keyboard selection is always the start of text.
49
- // iOS
50
- // - InputProps.autoFocus is trigger weird UI behavior on landscape mode.
51
-
52
- useEffect(() => {
53
- if (autoFocus && visible) {
54
- setTimeout(() => {
55
- var _inputRef$current, _inputRef$current2;
56
-
57
- if (Platform.OS === 'android') (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.blur();
58
- (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.focus();
59
- }, 250);
60
- }
61
- }, [autoFocus, visible, `${width}-${height}`]);
62
- return /*#__PURE__*/React.createElement(Modal, {
63
- enableKeyboardAvoid: true,
64
- disableBackgroundClose: true,
65
- onClose: onHide,
66
- onDismiss: () => {
67
- setText('');
68
- onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss();
69
- },
70
- statusBarTranslucent: statusBarTranslucent,
71
- visible: visible,
72
- backgroundStyle: {
73
- alignItems: 'center',
74
- justifyContent: 'center'
75
- }
76
- }, /*#__PURE__*/React.createElement(DialogBox, {
77
- style: styles.container
78
- }, Boolean(title) && /*#__PURE__*/React.createElement(View, {
79
- style: styles.titleContainer
80
- }, /*#__PURE__*/React.createElement(Text, {
81
- h1: true,
82
- color: colors.ui.dialog.default.none.text,
83
- numberOfLines: 1,
84
- style: {
85
- flex: 1
86
- }
87
- }, title)), /*#__PURE__*/React.createElement(View, {
88
- style: styles.inputContainer
89
- }, /*#__PURE__*/React.createElement(TextInput, {
90
- autoFocus: autoFocus && Platform.OS === 'android',
91
- ref: inputRef,
92
- placeholder: placeholder,
93
- variant: 'underline',
94
- value: text,
95
- onChangeText: setText,
96
- style: {
97
- paddingHorizontal: 0,
98
- paddingVertical: 10
99
- }
100
- })), /*#__PURE__*/React.createElement(View, {
101
- style: styles.buttonContainer
102
- }, buttons.map((_ref2, index) => {
103
- let {
104
- text,
105
- onPress
106
- } = _ref2;
107
- return /*#__PURE__*/React.createElement(Button, {
108
- key: text + index,
109
- variant: 'text',
110
- style: styles.button,
111
- contentColor: colors.ui.dialog.default.none.highlight,
112
- onPress: () => {
113
- Keyboard.dismiss();
114
-
115
- try {
116
- onPress === null || onPress === void 0 ? void 0 : onPress();
117
- } finally {
118
- onHide();
119
- }
120
- }
121
- }, text);
122
- }))));
123
- };
124
-
125
- const styles = createStyleSheet({
126
- container: {
127
- paddingTop: 8
128
- },
129
- titleContainer: {
130
- marginBottom: 12,
131
- paddingVertical: 12,
132
- paddingHorizontal: 24,
133
- flexDirection: 'row',
134
- alignItems: 'center'
135
- },
136
- inputContainer: {
137
- paddingHorizontal: 24,
138
- marginBottom: 12
139
- },
140
- buttonContainer: {
141
- flexDirection: 'row',
142
- alignItems: 'center',
143
- justifyContent: 'flex-end',
144
- padding: 12
145
- },
146
- button: {
147
- marginLeft: 8
148
- }
149
- });
150
- export default Prompt;
151
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","useEffect","useRef","useState","Keyboard","Platform","View","useWindowDimensions","NOOP","createStyleSheet","useHeaderStyle","useUIKitTheme","Button","DialogBox","Modal","Text","TextInput","Prompt","onDismiss","visible","onHide","autoFocus","title","defaultValue","placeholder","onSubmit","onCancel","submitLabel","cancelLabel","statusBarTranslucent","colors","inputRef","width","height","buttons","text","onPress","setText","setTimeout","OS","current","blur","focus","alignItems","justifyContent","styles","container","Boolean","titleContainer","ui","dialog","default","none","flex","inputContainer","paddingHorizontal","paddingVertical","buttonContainer","map","index","button","highlight","dismiss","paddingTop","marginBottom","flexDirection","padding","marginLeft"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Keyboard, Platform, TextInput as RNTextInput, View, useWindowDimensions } from 'react-native';\n\nimport { NOOP } from '@sendbird/uikit-utils';\n\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useHeaderStyle from '../../styles/useHeaderStyle';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport Button from '../Button';\nimport DialogBox from '../Dialog/DialogBox';\nimport Modal from '../Modal';\nimport Text from '../Text';\nimport TextInput from '../TextInput';\n\nexport type PromptItem = {\n title: string;\n placeholder?: string;\n defaultValue?: string;\n onSubmit?: (text: string) => void;\n submitLabel?: string;\n onCancel?: () => void;\n cancelLabel?: string;\n};\n\ntype Props = {\n visible: boolean;\n onHide: () => void;\n onDismiss?: () => void;\n autoFocus?: boolean;\n} & PromptItem;\nconst Prompt: React.FC<Props> = ({\n onDismiss,\n visible,\n onHide,\n autoFocus = true,\n title,\n defaultValue = '',\n placeholder = 'Enter',\n onSubmit = NOOP,\n onCancel = NOOP,\n submitLabel = 'Submit',\n cancelLabel = 'Cancel',\n}) => {\n const { statusBarTranslucent } = useHeaderStyle();\n const { colors } = useUIKitTheme();\n const inputRef = useRef<RNTextInput>(null);\n const { width, height } = useWindowDimensions();\n\n const buttons = [\n { text: cancelLabel, onPress: onCancel },\n { text: submitLabel, onPress: () => onSubmit(text) },\n ];\n\n const [text, setText] = useState(defaultValue);\n\n // FIXME: autoFocus trick with modal\n // Android\n // - InputProps.autoFocus is not trigger keyboard appearing.\n // - InputRef.focus() is trigger keyboard appearing, but position of keyboard selection is always the start of text.\n // iOS\n // - InputProps.autoFocus is trigger weird UI behavior on landscape mode.\n useEffect(() => {\n if (autoFocus && visible) {\n setTimeout(() => {\n if (Platform.OS === 'android') inputRef.current?.blur();\n inputRef.current?.focus();\n }, 250);\n }\n }, [autoFocus, visible, `${width}-${height}`]);\n\n return (\n <Modal\n enableKeyboardAvoid\n disableBackgroundClose\n onClose={onHide}\n onDismiss={() => {\n setText('');\n onDismiss?.();\n }}\n statusBarTranslucent={statusBarTranslucent}\n visible={visible}\n backgroundStyle={{ alignItems: 'center', justifyContent: 'center' }}\n >\n <DialogBox style={styles.container}>\n {Boolean(title) && (\n <View style={styles.titleContainer}>\n <Text h1 color={colors.ui.dialog.default.none.text} numberOfLines={1} style={{ flex: 1 }}>\n {title}\n </Text>\n </View>\n )}\n\n <View style={styles.inputContainer}>\n <TextInput\n autoFocus={autoFocus && Platform.OS === 'android'}\n ref={inputRef}\n placeholder={placeholder}\n variant={'underline'}\n value={text}\n onChangeText={setText}\n style={{ paddingHorizontal: 0, paddingVertical: 10 }}\n />\n </View>\n\n <View style={styles.buttonContainer}>\n {buttons.map(({ text, onPress }, index) => {\n return (\n <Button\n key={text + index}\n variant={'text'}\n style={styles.button}\n contentColor={colors.ui.dialog.default.none.highlight}\n onPress={() => {\n Keyboard.dismiss();\n try {\n onPress?.();\n } finally {\n onHide();\n }\n }}\n >\n {text}\n </Button>\n );\n })}\n </View>\n </DialogBox>\n </Modal>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n paddingTop: 8,\n },\n titleContainer: {\n marginBottom: 12,\n paddingVertical: 12,\n paddingHorizontal: 24,\n flexDirection: 'row',\n alignItems: 'center',\n },\n inputContainer: {\n paddingHorizontal: 24,\n marginBottom: 12,\n },\n buttonContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-end',\n padding: 12,\n },\n button: {\n marginLeft: 8,\n },\n});\n\nexport default Prompt;\n"],"mappings":"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"}