@sendbird/uikit-react-native-foundation 1.0.1 → 1.0.2

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 (589) hide show
  1. package/lib/commonjs/assets/bundle-icons.js +33 -0
  2. package/lib/commonjs/assets/bundle-icons.js.map +1 -0
  3. package/lib/commonjs/assets/icon/ic-chat-hide.png +0 -0
  4. package/lib/commonjs/assets/icon/ic-chat-hide@2x.png +0 -0
  5. package/lib/commonjs/assets/icon/ic-chat-hide@3x.png +0 -0
  6. package/lib/commonjs/assets/icon/ic-chat-show.png +0 -0
  7. package/lib/commonjs/assets/icon/ic-chat-show@2x.png +0 -0
  8. package/lib/commonjs/assets/icon/ic-chat-show@3x.png +0 -0
  9. package/lib/commonjs/assets/icon/icon-add.png +0 -0
  10. package/lib/commonjs/assets/icon/icon-add@2x.png +0 -0
  11. package/lib/commonjs/assets/icon/icon-add@3x.png +0 -0
  12. package/lib/commonjs/assets/icon/icon-archive.png +0 -0
  13. package/lib/commonjs/assets/icon/icon-archive@2x.png +0 -0
  14. package/lib/commonjs/assets/icon/icon-archive@3x.png +0 -0
  15. package/lib/commonjs/assets/icon/icon-arrow-left.png +0 -0
  16. package/lib/commonjs/assets/icon/icon-arrow-left@2x.png +0 -0
  17. package/lib/commonjs/assets/icon/icon-arrow-left@3x.png +0 -0
  18. package/lib/commonjs/assets/icon/icon-ban.png +0 -0
  19. package/lib/commonjs/assets/icon/icon-ban@2x.png +0 -0
  20. package/lib/commonjs/assets/icon/icon-ban@3x.png +0 -0
  21. package/lib/commonjs/assets/icon/icon-broadcast.png +0 -0
  22. package/lib/commonjs/assets/icon/icon-broadcast@2x.png +0 -0
  23. package/lib/commonjs/assets/icon/icon-broadcast@3x.png +0 -0
  24. package/lib/commonjs/assets/icon/icon-camera.png +0 -0
  25. package/lib/commonjs/assets/icon/icon-camera@2x.png +0 -0
  26. package/lib/commonjs/assets/icon/icon-camera@3x.png +0 -0
  27. package/lib/commonjs/assets/icon/icon-channels.png +0 -0
  28. package/lib/commonjs/assets/icon/icon-channels@2x.png +0 -0
  29. package/lib/commonjs/assets/icon/icon-channels@3x.png +0 -0
  30. package/lib/commonjs/assets/icon/icon-chat-filled.png +0 -0
  31. package/lib/commonjs/assets/icon/icon-chat-filled@2x.png +0 -0
  32. package/lib/commonjs/assets/icon/icon-chat-filled@3x.png +0 -0
  33. package/lib/commonjs/assets/icon/icon-chat.png +0 -0
  34. package/lib/commonjs/assets/icon/icon-chat@2x.png +0 -0
  35. package/lib/commonjs/assets/icon/icon-chat@3x.png +0 -0
  36. package/lib/commonjs/assets/icon/icon-checkbox-off.png +0 -0
  37. package/lib/commonjs/assets/icon/icon-checkbox-off@2x.png +0 -0
  38. package/lib/commonjs/assets/icon/icon-checkbox-off@3x.png +0 -0
  39. package/lib/commonjs/assets/icon/icon-checkbox-on.png +0 -0
  40. package/lib/commonjs/assets/icon/icon-checkbox-on@2x.png +0 -0
  41. package/lib/commonjs/assets/icon/icon-checkbox-on@3x.png +0 -0
  42. package/lib/commonjs/assets/icon/icon-chevron-down.png +0 -0
  43. package/lib/commonjs/assets/icon/icon-chevron-down@2x.png +0 -0
  44. package/lib/commonjs/assets/icon/icon-chevron-down@3x.png +0 -0
  45. package/lib/commonjs/assets/icon/icon-chevron-right.png +0 -0
  46. package/lib/commonjs/assets/icon/icon-chevron-right@2x.png +0 -0
  47. package/lib/commonjs/assets/icon/icon-chevron-right@3x.png +0 -0
  48. package/lib/commonjs/assets/icon/icon-close.png +0 -0
  49. package/lib/commonjs/assets/icon/icon-close@2x.png +0 -0
  50. package/lib/commonjs/assets/icon/icon-close@3x.png +0 -0
  51. package/lib/commonjs/assets/icon/icon-copy.png +0 -0
  52. package/lib/commonjs/assets/icon/icon-copy@2x.png +0 -0
  53. package/lib/commonjs/assets/icon/icon-copy@3x.png +0 -0
  54. package/lib/commonjs/assets/icon/icon-create.png +0 -0
  55. package/lib/commonjs/assets/icon/icon-create@2x.png +0 -0
  56. package/lib/commonjs/assets/icon/icon-create@3x.png +0 -0
  57. package/lib/commonjs/assets/icon/icon-delete.png +0 -0
  58. package/lib/commonjs/assets/icon/icon-delete@2x.png +0 -0
  59. package/lib/commonjs/assets/icon/icon-delete@3x.png +0 -0
  60. package/lib/commonjs/assets/icon/icon-document.png +0 -0
  61. package/lib/commonjs/assets/icon/icon-document@2x.png +0 -0
  62. package/lib/commonjs/assets/icon/icon-document@3x.png +0 -0
  63. package/lib/commonjs/assets/icon/icon-done-all.png +0 -0
  64. package/lib/commonjs/assets/icon/icon-done-all@2x.png +0 -0
  65. package/lib/commonjs/assets/icon/icon-done-all@3x.png +0 -0
  66. package/lib/commonjs/assets/icon/icon-done.png +0 -0
  67. package/lib/commonjs/assets/icon/icon-done@2x.png +0 -0
  68. package/lib/commonjs/assets/icon/icon-done@3x.png +0 -0
  69. package/lib/commonjs/assets/icon/icon-download.png +0 -0
  70. package/lib/commonjs/assets/icon/icon-download@2x.png +0 -0
  71. package/lib/commonjs/assets/icon/icon-download@3x.png +0 -0
  72. package/lib/commonjs/assets/icon/icon-edit.png +0 -0
  73. package/lib/commonjs/assets/icon/icon-edit@2x.png +0 -0
  74. package/lib/commonjs/assets/icon/icon-edit@3x.png +0 -0
  75. package/lib/commonjs/assets/icon/icon-emoji-more.png +0 -0
  76. package/lib/commonjs/assets/icon/icon-emoji-more@2x.png +0 -0
  77. package/lib/commonjs/assets/icon/icon-emoji-more@3x.png +0 -0
  78. package/lib/commonjs/assets/icon/icon-error.png +0 -0
  79. package/lib/commonjs/assets/icon/icon-error@2x.png +0 -0
  80. package/lib/commonjs/assets/icon/icon-error@3x.png +0 -0
  81. package/lib/commonjs/assets/icon/icon-file-audio.png +0 -0
  82. package/lib/commonjs/assets/icon/icon-file-audio@2x.png +0 -0
  83. package/lib/commonjs/assets/icon/icon-file-audio@3x.png +0 -0
  84. package/lib/commonjs/assets/icon/icon-file-document.png +0 -0
  85. package/lib/commonjs/assets/icon/icon-file-document@2x.png +0 -0
  86. package/lib/commonjs/assets/icon/icon-file-document@3x.png +0 -0
  87. package/lib/commonjs/assets/icon/icon-freeze.png +0 -0
  88. package/lib/commonjs/assets/icon/icon-freeze@2x.png +0 -0
  89. package/lib/commonjs/assets/icon/icon-freeze@3x.png +0 -0
  90. package/lib/commonjs/assets/icon/icon-gif.png +0 -0
  91. package/lib/commonjs/assets/icon/icon-gif@2x.png +0 -0
  92. package/lib/commonjs/assets/icon/icon-gif@3x.png +0 -0
  93. package/lib/commonjs/assets/icon/icon-info.png +0 -0
  94. package/lib/commonjs/assets/icon/icon-info@2x.png +0 -0
  95. package/lib/commonjs/assets/icon/icon-info@3x.png +0 -0
  96. package/lib/commonjs/assets/icon/icon-leave.png +0 -0
  97. package/lib/commonjs/assets/icon/icon-leave@2x.png +0 -0
  98. package/lib/commonjs/assets/icon/icon-leave@3x.png +0 -0
  99. package/lib/commonjs/assets/icon/icon-members.png +0 -0
  100. package/lib/commonjs/assets/icon/icon-members@2x.png +0 -0
  101. package/lib/commonjs/assets/icon/icon-members@3x.png +0 -0
  102. package/lib/commonjs/assets/icon/icon-message.png +0 -0
  103. package/lib/commonjs/assets/icon/icon-message@2x.png +0 -0
  104. package/lib/commonjs/assets/icon/icon-message@3x.png +0 -0
  105. package/lib/commonjs/assets/icon/icon-moderations.png +0 -0
  106. package/lib/commonjs/assets/icon/icon-moderations@2x.png +0 -0
  107. package/lib/commonjs/assets/icon/icon-moderations@3x.png +0 -0
  108. package/lib/commonjs/assets/icon/icon-more.png +0 -0
  109. package/lib/commonjs/assets/icon/icon-more@2x.png +0 -0
  110. package/lib/commonjs/assets/icon/icon-more@3x.png +0 -0
  111. package/lib/commonjs/assets/icon/icon-mute.png +0 -0
  112. package/lib/commonjs/assets/icon/icon-mute@2x.png +0 -0
  113. package/lib/commonjs/assets/icon/icon-mute@3x.png +0 -0
  114. package/lib/commonjs/assets/icon/icon-notifications-filled.png +0 -0
  115. package/lib/commonjs/assets/icon/icon-notifications-filled@2x.png +0 -0
  116. package/lib/commonjs/assets/icon/icon-notifications-filled@3x.png +0 -0
  117. package/lib/commonjs/assets/icon/icon-notifications-off-filled.png +0 -0
  118. package/lib/commonjs/assets/icon/icon-notifications-off-filled@2x.png +0 -0
  119. package/lib/commonjs/assets/icon/icon-notifications-off-filled@3x.png +0 -0
  120. package/lib/commonjs/assets/icon/icon-notifications.png +0 -0
  121. package/lib/commonjs/assets/icon/icon-notifications@2x.png +0 -0
  122. package/lib/commonjs/assets/icon/icon-notifications@3x.png +0 -0
  123. package/lib/commonjs/assets/icon/icon-operator.png +0 -0
  124. package/lib/commonjs/assets/icon/icon-operator@2x.png +0 -0
  125. package/lib/commonjs/assets/icon/icon-operator@3x.png +0 -0
  126. package/lib/commonjs/assets/icon/icon-photo.png +0 -0
  127. package/lib/commonjs/assets/icon/icon-photo@2x.png +0 -0
  128. package/lib/commonjs/assets/icon/icon-photo@3x.png +0 -0
  129. package/lib/commonjs/assets/icon/icon-play.png +0 -0
  130. package/lib/commonjs/assets/icon/icon-play@2x.png +0 -0
  131. package/lib/commonjs/assets/icon/icon-play@3x.png +0 -0
  132. package/lib/commonjs/assets/icon/icon-plus.png +0 -0
  133. package/lib/commonjs/assets/icon/icon-plus@2x.png +0 -0
  134. package/lib/commonjs/assets/icon/icon-plus@3x.png +0 -0
  135. package/lib/commonjs/assets/icon/icon-question.png +0 -0
  136. package/lib/commonjs/assets/icon/icon-question@2x.png +0 -0
  137. package/lib/commonjs/assets/icon/icon-question@3x.png +0 -0
  138. package/lib/commonjs/assets/icon/icon-refresh.png +0 -0
  139. package/lib/commonjs/assets/icon/icon-refresh@2x.png +0 -0
  140. package/lib/commonjs/assets/icon/icon-refresh@3x.png +0 -0
  141. package/lib/commonjs/assets/icon/icon-remove.png +0 -0
  142. package/lib/commonjs/assets/icon/icon-remove@2x.png +0 -0
  143. package/lib/commonjs/assets/icon/icon-remove@3x.png +0 -0
  144. package/lib/commonjs/assets/icon/icon-reply-filled.png +0 -0
  145. package/lib/commonjs/assets/icon/icon-reply-filled@2x.png +0 -0
  146. package/lib/commonjs/assets/icon/icon-reply-filled@3x.png +0 -0
  147. package/lib/commonjs/assets/icon/icon-reply.png +0 -0
  148. package/lib/commonjs/assets/icon/icon-reply@2x.png +0 -0
  149. package/lib/commonjs/assets/icon/icon-reply@3x.png +0 -0
  150. package/lib/commonjs/assets/icon/icon-search.png +0 -0
  151. package/lib/commonjs/assets/icon/icon-search@2x.png +0 -0
  152. package/lib/commonjs/assets/icon/icon-search@3x.png +0 -0
  153. package/lib/commonjs/assets/icon/icon-send.png +0 -0
  154. package/lib/commonjs/assets/icon/icon-send@2x.png +0 -0
  155. package/lib/commonjs/assets/icon/icon-send@3x.png +0 -0
  156. package/lib/commonjs/assets/icon/icon-settings-filled.png +0 -0
  157. package/lib/commonjs/assets/icon/icon-settings-filled@2x.png +0 -0
  158. package/lib/commonjs/assets/icon/icon-settings-filled@3x.png +0 -0
  159. package/lib/commonjs/assets/icon/icon-spinner.png +0 -0
  160. package/lib/commonjs/assets/icon/icon-spinner@2x.png +0 -0
  161. package/lib/commonjs/assets/icon/icon-spinner@3x.png +0 -0
  162. package/lib/commonjs/assets/icon/icon-streaming.png +0 -0
  163. package/lib/commonjs/assets/icon/icon-streaming@2x.png +0 -0
  164. package/lib/commonjs/assets/icon/icon-streaming@3x.png +0 -0
  165. package/lib/commonjs/assets/icon/icon-supergroup.png +0 -0
  166. package/lib/commonjs/assets/icon/icon-supergroup@2x.png +0 -0
  167. package/lib/commonjs/assets/icon/icon-supergroup@3x.png +0 -0
  168. package/lib/commonjs/assets/icon/icon-theme.png +0 -0
  169. package/lib/commonjs/assets/icon/icon-theme@2x.png +0 -0
  170. package/lib/commonjs/assets/icon/icon-theme@3x.png +0 -0
  171. package/lib/commonjs/assets/icon/icon-thumbnail-none.png +0 -0
  172. package/lib/commonjs/assets/icon/icon-thumbnail-none@2x.png +0 -0
  173. package/lib/commonjs/assets/icon/icon-thumbnail-none@3x.png +0 -0
  174. package/lib/commonjs/assets/icon/icon-unarchive.png +0 -0
  175. package/lib/commonjs/assets/icon/icon-unarchive@2x.png +0 -0
  176. package/lib/commonjs/assets/icon/icon-unarchive@3x.png +0 -0
  177. package/lib/commonjs/assets/icon/icon-user.png +0 -0
  178. package/lib/commonjs/assets/icon/icon-user@2x.png +0 -0
  179. package/lib/commonjs/assets/icon/icon-user@3x.png +0 -0
  180. package/lib/commonjs/assets/icon/index.js +70 -0
  181. package/lib/commonjs/assets/icon/index.js.map +1 -0
  182. package/lib/commonjs/components/Image/Image.fastimage.js +87 -0
  183. package/lib/commonjs/components/Image/Image.fastimage.js.map +1 -0
  184. package/lib/commonjs/components/Image/Image.reactnative.js +35 -0
  185. package/lib/commonjs/components/Image/Image.reactnative.js.map +1 -0
  186. package/lib/commonjs/components/Image/index.js +27 -0
  187. package/lib/commonjs/components/Image/index.js.map +1 -0
  188. package/lib/commonjs/index.js +388 -0
  189. package/lib/commonjs/index.js.map +1 -0
  190. package/lib/commonjs/styles/HeaderStyleContext.js +46 -0
  191. package/lib/commonjs/styles/HeaderStyleContext.js.map +1 -0
  192. package/lib/commonjs/styles/createScaleFactor.js +31 -0
  193. package/lib/commonjs/styles/createScaleFactor.js.map +1 -0
  194. package/lib/commonjs/styles/createSelectByColorScheme.js +24 -0
  195. package/lib/commonjs/styles/createSelectByColorScheme.js.map +1 -0
  196. package/lib/commonjs/styles/createStyleSheet.js +62 -0
  197. package/lib/commonjs/styles/createStyleSheet.js.map +1 -0
  198. package/lib/commonjs/styles/createTypography.js +106 -0
  199. package/lib/commonjs/styles/createTypography.js.map +1 -0
  200. package/lib/commonjs/styles/getDefaultHeaderHeight.js +17 -0
  201. package/lib/commonjs/styles/getDefaultHeaderHeight.js.map +1 -0
  202. package/lib/commonjs/styles/useHeaderStyle.js +18 -0
  203. package/lib/commonjs/styles/useHeaderStyle.js.map +1 -0
  204. package/lib/commonjs/theme/DarkUIKitTheme.js +186 -0
  205. package/lib/commonjs/theme/DarkUIKitTheme.js.map +1 -0
  206. package/lib/commonjs/theme/LightUIKitTheme.js +186 -0
  207. package/lib/commonjs/theme/LightUIKitTheme.js.map +1 -0
  208. package/lib/commonjs/theme/Palette.js +47 -0
  209. package/lib/commonjs/theme/Palette.js.map +1 -0
  210. package/lib/commonjs/theme/UIKitThemeContext.js +16 -0
  211. package/lib/commonjs/theme/UIKitThemeContext.js.map +1 -0
  212. package/lib/commonjs/theme/UIKitThemeProvider.js +28 -0
  213. package/lib/commonjs/theme/UIKitThemeProvider.js.map +1 -0
  214. package/lib/commonjs/theme/createTheme.js +58 -0
  215. package/lib/commonjs/theme/createTheme.js.map +1 -0
  216. package/lib/commonjs/theme/useUIKitTheme.js +22 -0
  217. package/lib/commonjs/theme/useUIKitTheme.js.map +1 -0
  218. package/lib/commonjs/types.js +6 -0
  219. package/lib/commonjs/types.js.map +1 -0
  220. package/lib/commonjs/ui/ActionMenu/index.js +131 -0
  221. package/lib/commonjs/ui/ActionMenu/index.js.map +1 -0
  222. package/lib/commonjs/ui/Alert/index.js +122 -0
  223. package/lib/commonjs/ui/Alert/index.js.map +1 -0
  224. package/lib/commonjs/ui/Avatar/AvatarGroup.js +119 -0
  225. package/lib/commonjs/ui/Avatar/AvatarGroup.js.map +1 -0
  226. package/lib/commonjs/ui/Avatar/AvatarIcon.js +54 -0
  227. package/lib/commonjs/ui/Avatar/AvatarIcon.js.map +1 -0
  228. package/lib/commonjs/ui/Avatar/index.js +100 -0
  229. package/lib/commonjs/ui/Avatar/index.js.map +1 -0
  230. package/lib/commonjs/ui/Badge/index.js +77 -0
  231. package/lib/commonjs/ui/Badge/index.js.map +1 -0
  232. package/lib/commonjs/ui/BottomSheet/index.js +80 -0
  233. package/lib/commonjs/ui/BottomSheet/index.js.map +1 -0
  234. package/lib/commonjs/ui/Button/index.js +90 -0
  235. package/lib/commonjs/ui/Button/index.js.map +1 -0
  236. package/lib/commonjs/ui/ChannelFrozenBanner/index.js +51 -0
  237. package/lib/commonjs/ui/ChannelFrozenBanner/index.js.map +1 -0
  238. package/lib/commonjs/ui/Dialog/DialogBox.js +41 -0
  239. package/lib/commonjs/ui/Dialog/DialogBox.js.map +1 -0
  240. package/lib/commonjs/ui/Dialog/DialogSheet.js +86 -0
  241. package/lib/commonjs/ui/Dialog/DialogSheet.js.map +1 -0
  242. package/lib/commonjs/ui/Dialog/index.js +182 -0
  243. package/lib/commonjs/ui/Dialog/index.js.map +1 -0
  244. package/lib/commonjs/ui/Divider/index.js +49 -0
  245. package/lib/commonjs/ui/Divider/index.js.map +1 -0
  246. package/lib/commonjs/ui/GroupChannelPreview/index.js +210 -0
  247. package/lib/commonjs/ui/GroupChannelPreview/index.js.map +1 -0
  248. package/lib/commonjs/ui/Header/index.js +237 -0
  249. package/lib/commonjs/ui/Header/index.js.map +1 -0
  250. package/lib/commonjs/ui/Icon/index.js +78 -0
  251. package/lib/commonjs/ui/Icon/index.js.map +1 -0
  252. package/lib/commonjs/ui/LoadingSpinner/index.js +82 -0
  253. package/lib/commonjs/ui/LoadingSpinner/index.js.map +1 -0
  254. package/lib/commonjs/ui/MenuBar/index.js +88 -0
  255. package/lib/commonjs/ui/MenuBar/index.js.map +1 -0
  256. package/lib/commonjs/ui/Modal/index.js +214 -0
  257. package/lib/commonjs/ui/Modal/index.js.map +1 -0
  258. package/lib/commonjs/ui/Placeholder/index.js +82 -0
  259. package/lib/commonjs/ui/Placeholder/index.js.map +1 -0
  260. package/lib/commonjs/ui/Prompt/index.js +175 -0
  261. package/lib/commonjs/ui/Prompt/index.js.map +1 -0
  262. package/lib/commonjs/ui/Switch/index.js +125 -0
  263. package/lib/commonjs/ui/Switch/index.js.map +1 -0
  264. package/lib/commonjs/ui/Text/index.js +71 -0
  265. package/lib/commonjs/ui/Text/index.js.map +1 -0
  266. package/lib/commonjs/ui/TextInput/index.js +58 -0
  267. package/lib/commonjs/ui/TextInput/index.js.map +1 -0
  268. package/lib/commonjs/ui/Toast/index.js +183 -0
  269. package/lib/commonjs/ui/Toast/index.js.map +1 -0
  270. package/lib/commonjs/ui/URLParsedText/index.js +64 -0
  271. package/lib/commonjs/ui/URLParsedText/index.js.map +1 -0
  272. package/lib/module/assets/bundle-icons.js +31 -0
  273. package/lib/module/assets/bundle-icons.js.map +1 -0
  274. package/lib/module/assets/icon/ic-chat-hide.png +0 -0
  275. package/lib/module/assets/icon/ic-chat-hide@2x.png +0 -0
  276. package/lib/module/assets/icon/ic-chat-hide@3x.png +0 -0
  277. package/lib/module/assets/icon/ic-chat-show.png +0 -0
  278. package/lib/module/assets/icon/ic-chat-show@2x.png +0 -0
  279. package/lib/module/assets/icon/ic-chat-show@3x.png +0 -0
  280. package/lib/module/assets/icon/icon-add.png +0 -0
  281. package/lib/module/assets/icon/icon-add@2x.png +0 -0
  282. package/lib/module/assets/icon/icon-add@3x.png +0 -0
  283. package/lib/module/assets/icon/icon-archive.png +0 -0
  284. package/lib/module/assets/icon/icon-archive@2x.png +0 -0
  285. package/lib/module/assets/icon/icon-archive@3x.png +0 -0
  286. package/lib/module/assets/icon/icon-arrow-left.png +0 -0
  287. package/lib/module/assets/icon/icon-arrow-left@2x.png +0 -0
  288. package/lib/module/assets/icon/icon-arrow-left@3x.png +0 -0
  289. package/lib/module/assets/icon/icon-ban.png +0 -0
  290. package/lib/module/assets/icon/icon-ban@2x.png +0 -0
  291. package/lib/module/assets/icon/icon-ban@3x.png +0 -0
  292. package/lib/module/assets/icon/icon-broadcast.png +0 -0
  293. package/lib/module/assets/icon/icon-broadcast@2x.png +0 -0
  294. package/lib/module/assets/icon/icon-broadcast@3x.png +0 -0
  295. package/lib/module/assets/icon/icon-camera.png +0 -0
  296. package/lib/module/assets/icon/icon-camera@2x.png +0 -0
  297. package/lib/module/assets/icon/icon-camera@3x.png +0 -0
  298. package/lib/module/assets/icon/icon-channels.png +0 -0
  299. package/lib/module/assets/icon/icon-channels@2x.png +0 -0
  300. package/lib/module/assets/icon/icon-channels@3x.png +0 -0
  301. package/lib/module/assets/icon/icon-chat-filled.png +0 -0
  302. package/lib/module/assets/icon/icon-chat-filled@2x.png +0 -0
  303. package/lib/module/assets/icon/icon-chat-filled@3x.png +0 -0
  304. package/lib/module/assets/icon/icon-chat.png +0 -0
  305. package/lib/module/assets/icon/icon-chat@2x.png +0 -0
  306. package/lib/module/assets/icon/icon-chat@3x.png +0 -0
  307. package/lib/module/assets/icon/icon-checkbox-off.png +0 -0
  308. package/lib/module/assets/icon/icon-checkbox-off@2x.png +0 -0
  309. package/lib/module/assets/icon/icon-checkbox-off@3x.png +0 -0
  310. package/lib/module/assets/icon/icon-checkbox-on.png +0 -0
  311. package/lib/module/assets/icon/icon-checkbox-on@2x.png +0 -0
  312. package/lib/module/assets/icon/icon-checkbox-on@3x.png +0 -0
  313. package/lib/module/assets/icon/icon-chevron-down.png +0 -0
  314. package/lib/module/assets/icon/icon-chevron-down@2x.png +0 -0
  315. package/lib/module/assets/icon/icon-chevron-down@3x.png +0 -0
  316. package/lib/module/assets/icon/icon-chevron-right.png +0 -0
  317. package/lib/module/assets/icon/icon-chevron-right@2x.png +0 -0
  318. package/lib/module/assets/icon/icon-chevron-right@3x.png +0 -0
  319. package/lib/module/assets/icon/icon-close.png +0 -0
  320. package/lib/module/assets/icon/icon-close@2x.png +0 -0
  321. package/lib/module/assets/icon/icon-close@3x.png +0 -0
  322. package/lib/module/assets/icon/icon-copy.png +0 -0
  323. package/lib/module/assets/icon/icon-copy@2x.png +0 -0
  324. package/lib/module/assets/icon/icon-copy@3x.png +0 -0
  325. package/lib/module/assets/icon/icon-create.png +0 -0
  326. package/lib/module/assets/icon/icon-create@2x.png +0 -0
  327. package/lib/module/assets/icon/icon-create@3x.png +0 -0
  328. package/lib/module/assets/icon/icon-delete.png +0 -0
  329. package/lib/module/assets/icon/icon-delete@2x.png +0 -0
  330. package/lib/module/assets/icon/icon-delete@3x.png +0 -0
  331. package/lib/module/assets/icon/icon-document.png +0 -0
  332. package/lib/module/assets/icon/icon-document@2x.png +0 -0
  333. package/lib/module/assets/icon/icon-document@3x.png +0 -0
  334. package/lib/module/assets/icon/icon-done-all.png +0 -0
  335. package/lib/module/assets/icon/icon-done-all@2x.png +0 -0
  336. package/lib/module/assets/icon/icon-done-all@3x.png +0 -0
  337. package/lib/module/assets/icon/icon-done.png +0 -0
  338. package/lib/module/assets/icon/icon-done@2x.png +0 -0
  339. package/lib/module/assets/icon/icon-done@3x.png +0 -0
  340. package/lib/module/assets/icon/icon-download.png +0 -0
  341. package/lib/module/assets/icon/icon-download@2x.png +0 -0
  342. package/lib/module/assets/icon/icon-download@3x.png +0 -0
  343. package/lib/module/assets/icon/icon-edit.png +0 -0
  344. package/lib/module/assets/icon/icon-edit@2x.png +0 -0
  345. package/lib/module/assets/icon/icon-edit@3x.png +0 -0
  346. package/lib/module/assets/icon/icon-emoji-more.png +0 -0
  347. package/lib/module/assets/icon/icon-emoji-more@2x.png +0 -0
  348. package/lib/module/assets/icon/icon-emoji-more@3x.png +0 -0
  349. package/lib/module/assets/icon/icon-error.png +0 -0
  350. package/lib/module/assets/icon/icon-error@2x.png +0 -0
  351. package/lib/module/assets/icon/icon-error@3x.png +0 -0
  352. package/lib/module/assets/icon/icon-file-audio.png +0 -0
  353. package/lib/module/assets/icon/icon-file-audio@2x.png +0 -0
  354. package/lib/module/assets/icon/icon-file-audio@3x.png +0 -0
  355. package/lib/module/assets/icon/icon-file-document.png +0 -0
  356. package/lib/module/assets/icon/icon-file-document@2x.png +0 -0
  357. package/lib/module/assets/icon/icon-file-document@3x.png +0 -0
  358. package/lib/module/assets/icon/icon-freeze.png +0 -0
  359. package/lib/module/assets/icon/icon-freeze@2x.png +0 -0
  360. package/lib/module/assets/icon/icon-freeze@3x.png +0 -0
  361. package/lib/module/assets/icon/icon-gif.png +0 -0
  362. package/lib/module/assets/icon/icon-gif@2x.png +0 -0
  363. package/lib/module/assets/icon/icon-gif@3x.png +0 -0
  364. package/lib/module/assets/icon/icon-info.png +0 -0
  365. package/lib/module/assets/icon/icon-info@2x.png +0 -0
  366. package/lib/module/assets/icon/icon-info@3x.png +0 -0
  367. package/lib/module/assets/icon/icon-leave.png +0 -0
  368. package/lib/module/assets/icon/icon-leave@2x.png +0 -0
  369. package/lib/module/assets/icon/icon-leave@3x.png +0 -0
  370. package/lib/module/assets/icon/icon-members.png +0 -0
  371. package/lib/module/assets/icon/icon-members@2x.png +0 -0
  372. package/lib/module/assets/icon/icon-members@3x.png +0 -0
  373. package/lib/module/assets/icon/icon-message.png +0 -0
  374. package/lib/module/assets/icon/icon-message@2x.png +0 -0
  375. package/lib/module/assets/icon/icon-message@3x.png +0 -0
  376. package/lib/module/assets/icon/icon-moderations.png +0 -0
  377. package/lib/module/assets/icon/icon-moderations@2x.png +0 -0
  378. package/lib/module/assets/icon/icon-moderations@3x.png +0 -0
  379. package/lib/module/assets/icon/icon-more.png +0 -0
  380. package/lib/module/assets/icon/icon-more@2x.png +0 -0
  381. package/lib/module/assets/icon/icon-more@3x.png +0 -0
  382. package/lib/module/assets/icon/icon-mute.png +0 -0
  383. package/lib/module/assets/icon/icon-mute@2x.png +0 -0
  384. package/lib/module/assets/icon/icon-mute@3x.png +0 -0
  385. package/lib/module/assets/icon/icon-notifications-filled.png +0 -0
  386. package/lib/module/assets/icon/icon-notifications-filled@2x.png +0 -0
  387. package/lib/module/assets/icon/icon-notifications-filled@3x.png +0 -0
  388. package/lib/module/assets/icon/icon-notifications-off-filled.png +0 -0
  389. package/lib/module/assets/icon/icon-notifications-off-filled@2x.png +0 -0
  390. package/lib/module/assets/icon/icon-notifications-off-filled@3x.png +0 -0
  391. package/lib/module/assets/icon/icon-notifications.png +0 -0
  392. package/lib/module/assets/icon/icon-notifications@2x.png +0 -0
  393. package/lib/module/assets/icon/icon-notifications@3x.png +0 -0
  394. package/lib/module/assets/icon/icon-operator.png +0 -0
  395. package/lib/module/assets/icon/icon-operator@2x.png +0 -0
  396. package/lib/module/assets/icon/icon-operator@3x.png +0 -0
  397. package/lib/module/assets/icon/icon-photo.png +0 -0
  398. package/lib/module/assets/icon/icon-photo@2x.png +0 -0
  399. package/lib/module/assets/icon/icon-photo@3x.png +0 -0
  400. package/lib/module/assets/icon/icon-play.png +0 -0
  401. package/lib/module/assets/icon/icon-play@2x.png +0 -0
  402. package/lib/module/assets/icon/icon-play@3x.png +0 -0
  403. package/lib/module/assets/icon/icon-plus.png +0 -0
  404. package/lib/module/assets/icon/icon-plus@2x.png +0 -0
  405. package/lib/module/assets/icon/icon-plus@3x.png +0 -0
  406. package/lib/module/assets/icon/icon-question.png +0 -0
  407. package/lib/module/assets/icon/icon-question@2x.png +0 -0
  408. package/lib/module/assets/icon/icon-question@3x.png +0 -0
  409. package/lib/module/assets/icon/icon-refresh.png +0 -0
  410. package/lib/module/assets/icon/icon-refresh@2x.png +0 -0
  411. package/lib/module/assets/icon/icon-refresh@3x.png +0 -0
  412. package/lib/module/assets/icon/icon-remove.png +0 -0
  413. package/lib/module/assets/icon/icon-remove@2x.png +0 -0
  414. package/lib/module/assets/icon/icon-remove@3x.png +0 -0
  415. package/lib/module/assets/icon/icon-reply-filled.png +0 -0
  416. package/lib/module/assets/icon/icon-reply-filled@2x.png +0 -0
  417. package/lib/module/assets/icon/icon-reply-filled@3x.png +0 -0
  418. package/lib/module/assets/icon/icon-reply.png +0 -0
  419. package/lib/module/assets/icon/icon-reply@2x.png +0 -0
  420. package/lib/module/assets/icon/icon-reply@3x.png +0 -0
  421. package/lib/module/assets/icon/icon-search.png +0 -0
  422. package/lib/module/assets/icon/icon-search@2x.png +0 -0
  423. package/lib/module/assets/icon/icon-search@3x.png +0 -0
  424. package/lib/module/assets/icon/icon-send.png +0 -0
  425. package/lib/module/assets/icon/icon-send@2x.png +0 -0
  426. package/lib/module/assets/icon/icon-send@3x.png +0 -0
  427. package/lib/module/assets/icon/icon-settings-filled.png +0 -0
  428. package/lib/module/assets/icon/icon-settings-filled@2x.png +0 -0
  429. package/lib/module/assets/icon/icon-settings-filled@3x.png +0 -0
  430. package/lib/module/assets/icon/icon-spinner.png +0 -0
  431. package/lib/module/assets/icon/icon-spinner@2x.png +0 -0
  432. package/lib/module/assets/icon/icon-spinner@3x.png +0 -0
  433. package/lib/module/assets/icon/icon-streaming.png +0 -0
  434. package/lib/module/assets/icon/icon-streaming@2x.png +0 -0
  435. package/lib/module/assets/icon/icon-streaming@3x.png +0 -0
  436. package/lib/module/assets/icon/icon-supergroup.png +0 -0
  437. package/lib/module/assets/icon/icon-supergroup@2x.png +0 -0
  438. package/lib/module/assets/icon/icon-supergroup@3x.png +0 -0
  439. package/lib/module/assets/icon/icon-theme.png +0 -0
  440. package/lib/module/assets/icon/icon-theme@2x.png +0 -0
  441. package/lib/module/assets/icon/icon-theme@3x.png +0 -0
  442. package/lib/module/assets/icon/icon-thumbnail-none.png +0 -0
  443. package/lib/module/assets/icon/icon-thumbnail-none@2x.png +0 -0
  444. package/lib/module/assets/icon/icon-thumbnail-none@3x.png +0 -0
  445. package/lib/module/assets/icon/icon-unarchive.png +0 -0
  446. package/lib/module/assets/icon/icon-unarchive@2x.png +0 -0
  447. package/lib/module/assets/icon/icon-unarchive@3x.png +0 -0
  448. package/lib/module/assets/icon/icon-user.png +0 -0
  449. package/lib/module/assets/icon/icon-user@2x.png +0 -0
  450. package/lib/module/assets/icon/icon-user@3x.png +0 -0
  451. package/lib/module/assets/icon/index.js +63 -0
  452. package/lib/module/assets/icon/index.js.map +1 -0
  453. package/lib/module/components/Image/Image.fastimage.js +77 -0
  454. package/lib/module/components/Image/Image.fastimage.js.map +1 -0
  455. package/lib/module/components/Image/Image.reactnative.js +24 -0
  456. package/lib/module/components/Image/Image.reactnative.js.map +1 -0
  457. package/lib/module/components/Image/index.js +18 -0
  458. package/lib/module/components/Image/index.js.map +1 -0
  459. package/lib/module/index.js +49 -0
  460. package/lib/module/index.js.map +1 -0
  461. package/lib/module/styles/HeaderStyleContext.js +29 -0
  462. package/lib/module/styles/HeaderStyleContext.js.map +1 -0
  463. package/lib/module/styles/createScaleFactor.js +20 -0
  464. package/lib/module/styles/createScaleFactor.js.map +1 -0
  465. package/lib/module/styles/createSelectByColorScheme.js +16 -0
  466. package/lib/module/styles/createSelectByColorScheme.js.map +1 -0
  467. package/lib/module/styles/createStyleSheet.js +53 -0
  468. package/lib/module/styles/createStyleSheet.js.map +1 -0
  469. package/lib/module/styles/createTypography.js +98 -0
  470. package/lib/module/styles/createTypography.js.map +1 -0
  471. package/lib/module/styles/getDefaultHeaderHeight.js +10 -0
  472. package/lib/module/styles/getDefaultHeaderHeight.js.map +1 -0
  473. package/lib/module/styles/useHeaderStyle.js +9 -0
  474. package/lib/module/styles/useHeaderStyle.js.map +1 -0
  475. package/lib/module/theme/DarkUIKitTheme.js +175 -0
  476. package/lib/module/theme/DarkUIKitTheme.js.map +1 -0
  477. package/lib/module/theme/LightUIKitTheme.js +175 -0
  478. package/lib/module/theme/LightUIKitTheme.js.map +1 -0
  479. package/lib/module/theme/Palette.js +40 -0
  480. package/lib/module/theme/Palette.js.map +1 -0
  481. package/lib/module/theme/UIKitThemeContext.js +4 -0
  482. package/lib/module/theme/UIKitThemeContext.js.map +1 -0
  483. package/lib/module/theme/UIKitThemeProvider.js +16 -0
  484. package/lib/module/theme/UIKitThemeProvider.js.map +1 -0
  485. package/lib/module/theme/createTheme.js +46 -0
  486. package/lib/module/theme/createTheme.js.map +1 -0
  487. package/lib/module/theme/useUIKitTheme.js +11 -0
  488. package/lib/module/theme/useUIKitTheme.js.map +1 -0
  489. package/lib/module/types.js +2 -0
  490. package/lib/module/types.js.map +1 -0
  491. package/lib/module/ui/ActionMenu/index.js +108 -0
  492. package/lib/module/ui/ActionMenu/index.js.map +1 -0
  493. package/lib/module/ui/Alert/index.js +104 -0
  494. package/lib/module/ui/Alert/index.js.map +1 -0
  495. package/lib/module/ui/Avatar/AvatarGroup.js +104 -0
  496. package/lib/module/ui/Avatar/AvatarGroup.js.map +1 -0
  497. package/lib/module/ui/Avatar/AvatarIcon.js +40 -0
  498. package/lib/module/ui/Avatar/AvatarIcon.js.map +1 -0
  499. package/lib/module/ui/Avatar/index.js +78 -0
  500. package/lib/module/ui/Avatar/index.js.map +1 -0
  501. package/lib/module/ui/Badge/index.js +62 -0
  502. package/lib/module/ui/Badge/index.js.map +1 -0
  503. package/lib/module/ui/BottomSheet/index.js +65 -0
  504. package/lib/module/ui/BottomSheet/index.js.map +1 -0
  505. package/lib/module/ui/Button/index.js +75 -0
  506. package/lib/module/ui/Button/index.js.map +1 -0
  507. package/lib/module/ui/ChannelFrozenBanner/index.js +37 -0
  508. package/lib/module/ui/ChannelFrozenBanner/index.js.map +1 -0
  509. package/lib/module/ui/Dialog/DialogBox.js +28 -0
  510. package/lib/module/ui/Dialog/DialogBox.js.map +1 -0
  511. package/lib/module/ui/Dialog/DialogSheet.js +71 -0
  512. package/lib/module/ui/Dialog/DialogSheet.js.map +1 -0
  513. package/lib/module/ui/Dialog/index.js +144 -0
  514. package/lib/module/ui/Dialog/index.js.map +1 -0
  515. package/lib/module/ui/Divider/index.js +36 -0
  516. package/lib/module/ui/Divider/index.js.map +1 -0
  517. package/lib/module/ui/GroupChannelPreview/index.js +190 -0
  518. package/lib/module/ui/GroupChannelPreview/index.js.map +1 -0
  519. package/lib/module/ui/Header/index.js +218 -0
  520. package/lib/module/ui/Header/index.js.map +1 -0
  521. package/lib/module/ui/Icon/index.js +63 -0
  522. package/lib/module/ui/Icon/index.js.map +1 -0
  523. package/lib/module/ui/LoadingSpinner/index.js +64 -0
  524. package/lib/module/ui/LoadingSpinner/index.js.map +1 -0
  525. package/lib/module/ui/MenuBar/index.js +71 -0
  526. package/lib/module/ui/MenuBar/index.js.map +1 -0
  527. package/lib/module/ui/Modal/index.js +196 -0
  528. package/lib/module/ui/Modal/index.js.map +1 -0
  529. package/lib/module/ui/Placeholder/index.js +64 -0
  530. package/lib/module/ui/Placeholder/index.js.map +1 -0
  531. package/lib/module/ui/Prompt/index.js +151 -0
  532. package/lib/module/ui/Prompt/index.js.map +1 -0
  533. package/lib/module/ui/Switch/index.js +107 -0
  534. package/lib/module/ui/Switch/index.js.map +1 -0
  535. package/lib/module/ui/Text/index.js +59 -0
  536. package/lib/module/ui/Text/index.js.map +1 -0
  537. package/lib/module/ui/TextInput/index.js +43 -0
  538. package/lib/module/ui/TextInput/index.js.map +1 -0
  539. package/lib/module/ui/Toast/index.js +156 -0
  540. package/lib/module/ui/Toast/index.js.map +1 -0
  541. package/lib/module/ui/URLParsedText/index.js +45 -0
  542. package/lib/module/ui/URLParsedText/index.js.map +1 -0
  543. package/lib/typescript/src/assets/icon/index.d.ts +62 -0
  544. package/lib/typescript/src/components/Image/Image.fastimage.d.ts +3 -0
  545. package/lib/typescript/src/components/Image/Image.reactnative.d.ts +3 -0
  546. package/lib/typescript/src/components/Image/index.d.ts +14 -0
  547. package/lib/typescript/src/index.d.ts +45 -0
  548. package/lib/typescript/src/styles/HeaderStyleContext.d.ts +20 -0
  549. package/lib/typescript/src/styles/createScaleFactor.d.ts +6 -0
  550. package/lib/typescript/src/styles/createSelectByColorScheme.d.ts +9 -0
  551. package/lib/typescript/src/styles/createStyleSheet.d.ts +9 -0
  552. package/lib/typescript/src/styles/createTypography.d.ts +6 -0
  553. package/lib/typescript/src/styles/getDefaultHeaderHeight.d.ts +2 -0
  554. package/lib/typescript/src/styles/useHeaderStyle.d.ts +2 -0
  555. package/lib/typescript/src/theme/DarkUIKitTheme.d.ts +2 -0
  556. package/lib/typescript/src/theme/LightUIKitTheme.d.ts +2 -0
  557. package/lib/typescript/src/theme/Palette.d.ts +3 -0
  558. package/lib/typescript/src/theme/UIKitThemeContext.d.ts +4 -0
  559. package/lib/typescript/src/theme/UIKitThemeProvider.d.ts +7 -0
  560. package/lib/typescript/src/theme/createTheme.d.ts +10 -0
  561. package/lib/typescript/src/theme/useUIKitTheme.d.ts +3 -0
  562. package/lib/typescript/src/types.d.ts +167 -0
  563. package/lib/typescript/src/ui/ActionMenu/index.d.ts +16 -0
  564. package/lib/typescript/src/ui/Alert/index.d.ts +13 -0
  565. package/lib/typescript/src/ui/Avatar/AvatarGroup.d.ts +8 -0
  566. package/lib/typescript/src/ui/Avatar/AvatarIcon.d.ts +10 -0
  567. package/lib/typescript/src/ui/Avatar/index.d.ts +16 -0
  568. package/lib/typescript/src/ui/Badge/index.d.ts +11 -0
  569. package/lib/typescript/src/ui/BottomSheet/index.d.ts +18 -0
  570. package/lib/typescript/src/ui/Button/index.d.ts +14 -0
  571. package/lib/typescript/src/ui/ChannelFrozenBanner/index.d.ts +9 -0
  572. package/lib/typescript/src/ui/Dialog/DialogBox.d.ts +7 -0
  573. package/lib/typescript/src/ui/Dialog/DialogSheet.d.ts +17 -0
  574. package/lib/typescript/src/ui/Dialog/index.d.ts +46 -0
  575. package/lib/typescript/src/ui/Divider/index.d.ts +7 -0
  576. package/lib/typescript/src/ui/GroupChannelPreview/index.d.ts +17 -0
  577. package/lib/typescript/src/ui/Header/index.d.ts +25 -0
  578. package/lib/typescript/src/ui/Icon/index.d.ts +14 -0
  579. package/lib/typescript/src/ui/LoadingSpinner/index.d.ts +8 -0
  580. package/lib/typescript/src/ui/MenuBar/index.d.ts +15 -0
  581. package/lib/typescript/src/ui/Modal/index.d.ts +17 -0
  582. package/lib/typescript/src/ui/Placeholder/index.d.ts +10 -0
  583. package/lib/typescript/src/ui/Prompt/index.d.ts +17 -0
  584. package/lib/typescript/src/ui/Switch/index.d.ts +11 -0
  585. package/lib/typescript/src/ui/Text/index.d.ts +8 -0
  586. package/lib/typescript/src/ui/TextInput/index.d.ts +6 -0
  587. package/lib/typescript/src/ui/Toast/index.d.ts +18 -0
  588. package/lib/typescript/src/ui/URLParsedText/index.d.ts +8 -0
  589. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useContext","useRef","useForceUpdate","ActionMenu","Alert","BottomSheet","Prompt","AlertContext","createContext","ActionMenuContext","PromptContext","BottomSheetContext","DISMISS_TIMEOUT","DialogProvider","defaultLabels","children","waitDismissTimeout","waitDismissPromise","waitDismiss","resolver","current","setTimeout","completeDismiss","clearTimeout","undefined","render","dialogQueue","workingDialogJob","visibleState","isProcessing","Boolean","updateToShow","updateToHide","Promise","resolve","consumeQueue","job","shift","createJob","type","props","jobItem","push","alert","openMenu","openPrompt","openSheet","title","menuItems","message","buttons","text","ok","onSubmit","defaultValue","submitLabel","prompt","cancelLabel","cancel","placeholder","sheetItems","useActionMenu","context","Error","useAlert","usePrompt","useBottomSheet"],"sources":["index.tsx"],"sourcesContent":["import React, { useCallback, useContext, useRef } from 'react';\n\nimport { useForceUpdate } from '@sendbird/uikit-utils';\n\nimport type { ActionMenuItem } from '../ActionMenu';\nimport ActionMenu from '../ActionMenu';\nimport type { AlertItem } from '../Alert';\nimport Alert from '../Alert';\nimport type { BottomSheetItem } from '../BottomSheet';\nimport BottomSheet from '../BottomSheet';\nimport type { PromptItem } from '../Prompt';\nimport Prompt from '../Prompt';\n\ntype DialogJob =\n | {\n type: 'ActionMenu';\n props: ActionMenuItem;\n }\n | {\n type: 'Alert';\n props: AlertItem;\n }\n | {\n type: 'Prompt';\n props: PromptItem;\n }\n | {\n type: 'BottomSheet';\n props: BottomSheetItem;\n };\n\ntype DialogPropsBy<T extends DialogJob['type'], U extends DialogJob = DialogJob> = U extends { type: T; props: infer P }\n ? P\n : never;\n\ntype DialogContextType = {\n openMenu: (props: DialogPropsBy<'ActionMenu'>) => void;\n alert: (props: DialogPropsBy<'Alert'>) => void;\n openPrompt: (props: DialogPropsBy<'Prompt'>) => void;\n openSheet: (props: DialogPropsBy<'BottomSheet'>) => void;\n};\n\nconst AlertContext = React.createContext<Pick<DialogContextType, 'alert'> | null>(null);\nconst ActionMenuContext = React.createContext<Pick<DialogContextType, 'openMenu'> | null>(null);\nconst PromptContext = React.createContext<Pick<DialogContextType, 'openPrompt'> | null>(null);\nconst BottomSheetContext = React.createContext<Pick<DialogContextType, 'openSheet'> | null>(null);\n\ntype Props = React.PropsWithChildren<{\n defaultLabels?: {\n alert?: { ok?: string };\n prompt?: { placeholder?: string; ok?: string; cancel?: string };\n };\n}>;\nconst DISMISS_TIMEOUT = 3000;\nexport const DialogProvider = ({ defaultLabels, children }: Props) => {\n const waitDismissTimeout = useRef<NodeJS.Timeout>();\n const waitDismissPromise = useRef<() => void>();\n const waitDismiss = useCallback((resolver: () => void) => {\n waitDismissPromise.current = resolver;\n waitDismissTimeout.current = setTimeout(completeDismiss, DISMISS_TIMEOUT);\n }, []);\n const completeDismiss = useCallback(() => {\n if (waitDismissTimeout.current) clearTimeout(waitDismissTimeout.current);\n if (waitDismissPromise.current) waitDismissPromise.current();\n waitDismissTimeout.current = undefined;\n waitDismissPromise.current = undefined;\n }, []);\n\n const render = useForceUpdate();\n const dialogQueue = useRef<DialogJob[]>([]);\n const workingDialogJob = useRef<DialogJob>();\n const visibleState = useRef(false);\n\n const isProcessing = () => Boolean(workingDialogJob.current);\n const updateToShow = useCallback(() => {\n visibleState.current = true;\n render();\n }, []);\n const updateToHide = useCallback((): Promise<void> => {\n return new Promise((resolve) => {\n visibleState.current = false;\n render();\n waitDismiss(resolve);\n });\n }, []);\n const consumeQueue = useCallback(() => {\n completeDismiss();\n const job = dialogQueue.current.shift();\n if (job) {\n workingDialogJob.current = job;\n updateToShow();\n } else {\n workingDialogJob.current = undefined;\n }\n }, []);\n\n const createJob =\n <T extends DialogJob['type']>(type: T) =>\n (props: DialogPropsBy<T>) => {\n const jobItem = { type, props } as DialogJob;\n if (isProcessing()) dialogQueue.current.push(jobItem);\n else {\n workingDialogJob.current = jobItem;\n updateToShow();\n }\n };\n\n const alert = useCallback(createJob('Alert'), []);\n const openMenu = useCallback(createJob('ActionMenu'), []);\n const openPrompt = useCallback(createJob('Prompt'), []);\n const openSheet = useCallback(createJob('BottomSheet'), []);\n\n return (\n <AlertContext.Provider value={{ alert }}>\n <ActionMenuContext.Provider value={{ openMenu }}>\n <PromptContext.Provider value={{ openPrompt }}>\n <BottomSheetContext.Provider value={{ openSheet }}>\n {children}\n {workingDialogJob.current?.type === 'ActionMenu' && (\n <ActionMenu\n onHide={updateToHide}\n onDismiss={consumeQueue}\n visible={visibleState.current}\n title={workingDialogJob.current.props.title}\n menuItems={workingDialogJob.current.props.menuItems}\n />\n )}\n {workingDialogJob.current?.type === 'Alert' && (\n <Alert\n onHide={updateToHide}\n onDismiss={consumeQueue}\n visible={visibleState.current}\n title={workingDialogJob.current.props.title}\n message={workingDialogJob.current.props.message}\n buttons={workingDialogJob.current.props.buttons ?? [{ text: defaultLabels?.alert?.ok || 'OK' }]}\n />\n )}\n {workingDialogJob.current?.type === 'Prompt' && (\n <Prompt\n onHide={updateToHide}\n onDismiss={consumeQueue}\n visible={visibleState.current}\n title={workingDialogJob.current.props.title}\n onSubmit={workingDialogJob.current.props.onSubmit}\n defaultValue={workingDialogJob.current.props.defaultValue}\n submitLabel={workingDialogJob.current.props.submitLabel ?? defaultLabels?.prompt?.ok}\n cancelLabel={workingDialogJob.current.props.cancelLabel ?? defaultLabels?.prompt?.cancel}\n placeholder={workingDialogJob.current.props.placeholder ?? defaultLabels?.prompt?.placeholder}\n />\n )}\n {workingDialogJob.current?.type === 'BottomSheet' && (\n <BottomSheet\n onHide={updateToHide}\n onDismiss={consumeQueue}\n visible={visibleState.current}\n sheetItems={workingDialogJob.current.props.sheetItems}\n />\n )}\n </BottomSheetContext.Provider>\n </PromptContext.Provider>\n </ActionMenuContext.Provider>\n </AlertContext.Provider>\n );\n};\n\nexport const useActionMenu = () => {\n const context = useContext(ActionMenuContext);\n if (!context) throw new Error('ActionMenuContext is not provided, wrap your app with DialogProvider');\n return context;\n};\nexport const useAlert = () => {\n const context = useContext(AlertContext);\n if (!context) throw new Error('AlertContext is not provided, wrap your app with DialogProvider');\n return context;\n};\nexport const usePrompt = () => {\n const context = useContext(PromptContext);\n if (!context) throw new Error('PromptContext is not provided, wrap your app with DialogProvider');\n return context;\n};\nexport const useBottomSheet = () => {\n const context = useContext(BottomSheetContext);\n if (!context) throw new Error('BottomSheetContext is not provided, wrap your app with DialogProvider');\n return context;\n};\n"],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import createStyleSheet from '../../styles/createStyleSheet';
4
+ import useUIKitTheme from '../../theme/useUIKitTheme';
5
+
6
+ const Divider = _ref => {
7
+ let {
8
+ style,
9
+ space
10
+ } = _ref;
11
+ const {
12
+ colors
13
+ } = useUIKitTheme();
14
+ return /*#__PURE__*/React.createElement(View, {
15
+ style: [style, styles.divider, {
16
+ paddingHorizontal: space
17
+ }]
18
+ }, /*#__PURE__*/React.createElement(View, {
19
+ style: [styles.inner, {
20
+ backgroundColor: colors.onBackground04
21
+ }]
22
+ }));
23
+ };
24
+
25
+ const styles = createStyleSheet({
26
+ divider: {
27
+ width: '100%',
28
+ height: 1
29
+ },
30
+ inner: {
31
+ width: '100%',
32
+ height: '100%'
33
+ }
34
+ });
35
+ export default Divider;
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","createStyleSheet","useUIKitTheme","Divider","style","space","colors","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,KAAP,MAAkB,OAAlB;AACA,SAAoBC,IAApB,QAA2C,cAA3C;AAEA,OAAOC,gBAAP,MAA6B,+BAA7B;AACA,OAAOC,aAAP,MAA0B,2BAA1B;;AAOA,MAAMC,OAAO,GAAG,QAA6B;EAAA,IAA5B;IAAEC,KAAF;IAASC;EAAT,CAA4B;EAC3C,MAAM;IAAEC;EAAF,IAAaJ,aAAa,EAAhC;EACA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAE,CAACE,KAAD,EAAQG,MAAM,CAACC,OAAf,EAAwB;MAAEC,iBAAiB,EAAEJ;IAArB,CAAxB;EAAb,gBACE,oBAAC,IAAD;IAAM,KAAK,EAAE,CAACE,MAAM,CAACG,KAAR,EAAe;MAAEC,eAAe,EAAEL,MAAM,CAACM;IAA1B,CAAf;EAAb,EADF,CADF;AAKD,CAPD;;AASA,MAAML,MAAM,GAAGN,gBAAgB,CAAC;EAC9BO,OAAO,EAAE;IACPK,KAAK,EAAE,MADA;IAEPC,MAAM,EAAE;EAFD,CADqB;EAK9BJ,KAAK,EAAE;IACLG,KAAK,EAAE,MADF;IAELC,MAAM,EAAE;EAFH;AALuB,CAAD,CAA/B;AAWA,eAAeX,OAAf"}
@@ -0,0 +1,190 @@
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import { conditionChaining } from '@sendbird/uikit-utils';
4
+ import Image from '../../components/Image';
5
+ import createStyleSheet from '../../styles/createStyleSheet';
6
+ import useUIKitTheme from '../../theme/useUIKitTheme';
7
+ import Badge from '../Badge';
8
+ import Icon from '../Icon';
9
+ import Text from '../Text';
10
+
11
+ const GroupChannelPreview = _ref => {
12
+ let {
13
+ customCover,
14
+ coverUrl,
15
+ memberCount,
16
+ badgeCount,
17
+ maxBadgeCount,
18
+ body,
19
+ bodyIcon,
20
+ title,
21
+ titleCaption,
22
+ frozen,
23
+ notificationOff
24
+ } = _ref;
25
+ const {
26
+ colors
27
+ } = useUIKitTheme();
28
+ const color = colors.ui.groupChannelPreview;
29
+ return /*#__PURE__*/React.createElement(View, {
30
+ style: [styles.container, {
31
+ backgroundColor: color.default.none.background
32
+ }]
33
+ }, /*#__PURE__*/React.createElement(View, {
34
+ style: styles.coverContainer
35
+ }, conditionChaining([Boolean(customCover)], [customCover, /*#__PURE__*/React.createElement(Image, {
36
+ resizeMode: 'cover',
37
+ style: [styles.channelCover, {
38
+ backgroundColor: color.default.none.coverBackground
39
+ }],
40
+ source: {
41
+ uri: coverUrl
42
+ }
43
+ })])), /*#__PURE__*/React.createElement(View, {
44
+ style: styles.rightSection
45
+ }, /*#__PURE__*/React.createElement(View, {
46
+ style: styles.rightTopSection
47
+ }, /*#__PURE__*/React.createElement(View, {
48
+ style: styles.channelInfo
49
+ }, /*#__PURE__*/React.createElement(Text, {
50
+ numberOfLines: 1,
51
+ subtitle1: true,
52
+ style: styles.channelInfoTitle,
53
+ color: color.default.none.textTitle
54
+ }, title), Boolean(memberCount) && /*#__PURE__*/React.createElement(Text, {
55
+ caption1: true,
56
+ style: styles.channelInfoMemberCount,
57
+ color: color.default.none.memberCount
58
+ }, memberCount), frozen && /*#__PURE__*/React.createElement(Icon, {
59
+ size: 16,
60
+ icon: 'freeze',
61
+ color: colors.primary,
62
+ containerStyle: styles.channelInfoFrozen
63
+ }), notificationOff && /*#__PURE__*/React.createElement(Icon, {
64
+ size: 16,
65
+ icon: 'notifications-off-filled',
66
+ color: colors.onBackground03
67
+ })), /*#__PURE__*/React.createElement(View, {
68
+ style: styles.titleCaption
69
+ }, /*#__PURE__*/React.createElement(Text, {
70
+ caption2: true,
71
+ color: color.default.none.textTitleCaption
72
+ }, titleCaption))), /*#__PURE__*/React.createElement(View, {
73
+ style: styles.rightBottomSection
74
+ }, /*#__PURE__*/React.createElement(View, {
75
+ style: [styles.body, bodyIcon && {
76
+ alignItems: 'center'
77
+ }]
78
+ }, bodyIcon && /*#__PURE__*/React.createElement(Icon, {
79
+ size: 18,
80
+ icon: bodyIcon,
81
+ color: color.default.none.bodyIcon,
82
+ containerStyle: [styles.bodyIcon, {
83
+ backgroundColor: colors.ui.groupChannelPreview.default.none.bodyIconBackground
84
+ }]
85
+ }), /*#__PURE__*/React.createElement(Text, {
86
+ body3: true,
87
+ numberOfLines: 1,
88
+ style: styles.bodyText,
89
+ color: color.default.none.textBody
90
+ }, body)), /*#__PURE__*/React.createElement(View, null, badgeCount > 0 && /*#__PURE__*/React.createElement(Badge, {
91
+ count: badgeCount,
92
+ maxCount: maxBadgeCount
93
+ })))), /*#__PURE__*/React.createElement(Separator, {
94
+ color: color.default.none.separator
95
+ }));
96
+ };
97
+
98
+ const Separator = _ref2 => {
99
+ let {
100
+ color
101
+ } = _ref2;
102
+ return /*#__PURE__*/React.createElement(View, {
103
+ style: [styles.separator, {
104
+ backgroundColor: color
105
+ }]
106
+ });
107
+ };
108
+
109
+ const styles = createStyleSheet({
110
+ container: {
111
+ width: '100%',
112
+ flexDirection: 'row',
113
+ paddingHorizontal: 16,
114
+ paddingVertical: 10,
115
+ alignItems: 'center'
116
+ },
117
+ coverContainer: {
118
+ marginRight: 16
119
+ },
120
+ channelCover: {
121
+ width: 56,
122
+ height: 56,
123
+ borderRadius: 28
124
+ },
125
+ rightSection: {
126
+ flex: 1
127
+ },
128
+ rightTopSection: {
129
+ flexDirection: 'row',
130
+ marginBottom: 4
131
+ },
132
+ channelInfo: {
133
+ flex: 1,
134
+ marginRight: 4,
135
+ alignItems: 'center',
136
+ flexDirection: 'row'
137
+ },
138
+ channelInfoTitle: {
139
+ flexShrink: 1,
140
+ marginRight: 4
141
+ },
142
+ channelInfoMemberCount: {
143
+ paddingTop: 2,
144
+ marginRight: 4
145
+ },
146
+ channelInfoFrozen: {
147
+ marginRight: 4
148
+ },
149
+ titleCaption: {
150
+ marginLeft: 4,
151
+ paddingTop: 2
152
+ },
153
+ rightBottomSection: {
154
+ flex: 1,
155
+ height: '100%',
156
+ flexDirection: 'row'
157
+ },
158
+ body: {
159
+ marginRight: 4,
160
+ flex: 1,
161
+ justifyContent: 'center',
162
+ alignItems: 'flex-start',
163
+ flexDirection: 'row'
164
+ },
165
+ bodyText: {
166
+ flex: 1
167
+ },
168
+ bodyIcon: {
169
+ borderRadius: 8,
170
+ width: 26,
171
+ height: 26,
172
+ marginRight: 4
173
+ },
174
+ unreadBadge: {
175
+ minWidth: 20,
176
+ minHeight: 20,
177
+ borderRadius: 99,
178
+ alignItems: 'center',
179
+ justifyContent: 'center'
180
+ },
181
+ separator: {
182
+ position: 'absolute',
183
+ right: 0,
184
+ bottom: 0,
185
+ height: 1,
186
+ width: '84.5%'
187
+ }
188
+ });
189
+ export default /*#__PURE__*/React.memo(GroupChannelPreview);
190
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","conditionChaining","Image","createStyleSheet","useUIKitTheme","Badge","Icon","Text","GroupChannelPreview","customCover","coverUrl","memberCount","badgeCount","maxBadgeCount","body","bodyIcon","title","titleCaption","frozen","notificationOff","colors","color","ui","groupChannelPreview","styles","container","backgroundColor","default","none","background","coverContainer","Boolean","channelCover","coverBackground","uri","rightSection","rightTopSection","channelInfo","channelInfoTitle","textTitle","channelInfoMemberCount","primary","channelInfoFrozen","onBackground03","textTitleCaption","rightBottomSection","alignItems","bodyIconBackground","bodyText","textBody","separator","Separator","width","flexDirection","paddingHorizontal","paddingVertical","marginRight","height","borderRadius","flex","marginBottom","flexShrink","paddingTop","marginLeft","justifyContent","unreadBadge","minWidth","minHeight","position","right","bottom","memo"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport { conditionChaining } from '@sendbird/uikit-utils';\n\nimport Image from '../../components/Image';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport Badge from '../Badge';\nimport Icon from '../Icon';\nimport Text from '../Text';\n\ntype Props = {\n customCover?: React.ReactElement;\n coverUrl: string;\n\n title: string;\n titleCaption: string;\n bodyIcon?: keyof typeof Icon.Assets;\n body: string;\n\n memberCount?: number;\n badgeCount: number;\n maxBadgeCount?: number;\n\n frozen?: boolean;\n notificationOff?: boolean;\n};\n\nconst GroupChannelPreview = ({\n customCover,\n coverUrl,\n memberCount,\n badgeCount,\n maxBadgeCount,\n body,\n bodyIcon,\n title,\n titleCaption,\n frozen,\n notificationOff,\n}: Props) => {\n const { colors } = useUIKitTheme();\n const color = colors.ui.groupChannelPreview;\n\n return (\n <View style={[styles.container, { backgroundColor: color.default.none.background }]}>\n <View style={styles.coverContainer}>\n {conditionChaining(\n [Boolean(customCover)],\n [\n customCover,\n <Image\n resizeMode={'cover'}\n style={[styles.channelCover, { backgroundColor: color.default.none.coverBackground }]}\n source={{ uri: coverUrl }}\n />,\n ],\n )}\n </View>\n <View style={styles.rightSection}>\n <View style={styles.rightTopSection}>\n <View style={styles.channelInfo}>\n <Text numberOfLines={1} subtitle1 style={styles.channelInfoTitle} color={color.default.none.textTitle}>\n {title}\n </Text>\n {Boolean(memberCount) && (\n <Text caption1 style={styles.channelInfoMemberCount} color={color.default.none.memberCount}>\n {memberCount}\n </Text>\n )}\n {frozen && (\n <Icon size={16} icon={'freeze'} color={colors.primary} containerStyle={styles.channelInfoFrozen} />\n )}\n {notificationOff && <Icon size={16} icon={'notifications-off-filled'} color={colors.onBackground03} />}\n </View>\n <View style={styles.titleCaption}>\n <Text caption2 color={color.default.none.textTitleCaption}>\n {titleCaption}\n </Text>\n </View>\n </View>\n\n <View style={styles.rightBottomSection}>\n <View style={[styles.body, bodyIcon && { alignItems: 'center' }]}>\n {bodyIcon && (\n <Icon\n size={18}\n icon={bodyIcon}\n color={color.default.none.bodyIcon}\n containerStyle={[\n styles.bodyIcon,\n { backgroundColor: colors.ui.groupChannelPreview.default.none.bodyIconBackground },\n ]}\n />\n )}\n <Text body3 numberOfLines={1} style={styles.bodyText} color={color.default.none.textBody}>\n {body}\n </Text>\n </View>\n <View>{badgeCount > 0 && <Badge count={badgeCount} maxCount={maxBadgeCount} />}</View>\n </View>\n </View>\n <Separator color={color.default.none.separator} />\n </View>\n );\n};\n\ntype SeparatorProps = { color: string };\nconst Separator = ({ color }: SeparatorProps) => <View style={[styles.separator, { backgroundColor: color }]} />;\n\nconst styles = createStyleSheet({\n container: {\n width: '100%',\n flexDirection: 'row',\n paddingHorizontal: 16,\n paddingVertical: 10,\n alignItems: 'center',\n },\n coverContainer: {\n marginRight: 16,\n },\n channelCover: {\n width: 56,\n height: 56,\n borderRadius: 28,\n },\n rightSection: {\n flex: 1,\n },\n rightTopSection: {\n flexDirection: 'row',\n marginBottom: 4,\n },\n channelInfo: {\n flex: 1,\n marginRight: 4,\n alignItems: 'center',\n flexDirection: 'row',\n },\n channelInfoTitle: {\n flexShrink: 1,\n marginRight: 4,\n },\n channelInfoMemberCount: {\n paddingTop: 2,\n marginRight: 4,\n },\n channelInfoFrozen: {\n marginRight: 4,\n },\n titleCaption: {\n marginLeft: 4,\n paddingTop: 2,\n },\n rightBottomSection: {\n flex: 1,\n height: '100%',\n flexDirection: 'row',\n },\n body: {\n marginRight: 4,\n flex: 1,\n justifyContent: 'center',\n alignItems: 'flex-start',\n flexDirection: 'row',\n },\n bodyText: {\n flex: 1,\n },\n bodyIcon: {\n borderRadius: 8,\n width: 26,\n height: 26,\n marginRight: 4,\n },\n unreadBadge: {\n minWidth: 20,\n minHeight: 20,\n borderRadius: 99,\n alignItems: 'center',\n justifyContent: 'center',\n },\n separator: {\n position: 'absolute',\n right: 0,\n bottom: 0,\n height: 1,\n width: '84.5%',\n },\n});\n\nexport default React.memo(GroupChannelPreview);\n"],"mappings":"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"}
@@ -0,0 +1,218 @@
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 from 'react';
4
+ import { TouchableOpacity, View, useWindowDimensions } from 'react-native';
5
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
6
+ import { conditionChaining } from '@sendbird/uikit-utils';
7
+ import createStyleSheet from '../../styles/createStyleSheet';
8
+ import getDefaultHeaderHeight from '../../styles/getDefaultHeaderHeight';
9
+ import useHeaderStyle from '../../styles/useHeaderStyle';
10
+ import useUIKitTheme from '../../theme/useUIKitTheme';
11
+ import Text from '../Text';
12
+ const AlignMapper = {
13
+ left: 'flex-start',
14
+ center: 'center',
15
+ right: 'flex-end'
16
+ };
17
+
18
+ const Header = _ref => {
19
+ let {
20
+ children,
21
+ titleAlign,
22
+ title = null,
23
+ left = null,
24
+ right = null,
25
+ onPressLeft,
26
+ onPressRight,
27
+ clearTitleMargin = false
28
+ } = _ref;
29
+ const {
30
+ topInset,
31
+ defaultTitleAlign
32
+ } = useHeaderStyle();
33
+ const {
34
+ width,
35
+ height
36
+ } = useWindowDimensions();
37
+ const {
38
+ colors
39
+ } = useUIKitTheme();
40
+ const {
41
+ left: paddingLeft,
42
+ right: paddingRight
43
+ } = useSafeAreaInsets();
44
+ const actualTitleAlign = titleAlign ?? defaultTitleAlign;
45
+
46
+ if (!title && !left && !right) {
47
+ return /*#__PURE__*/React.createElement(View, {
48
+ style: {
49
+ paddingTop: topInset,
50
+ backgroundColor: colors.ui.header.nav.none.background
51
+ }
52
+ }, children);
53
+ }
54
+
55
+ return /*#__PURE__*/React.createElement(View, {
56
+ style: [styles.container, {
57
+ paddingLeft: paddingLeft + styles.container.paddingHorizontal,
58
+ paddingRight: paddingRight + styles.container.paddingHorizontal,
59
+ paddingTop: topInset,
60
+ backgroundColor: colors.ui.header.nav.none.background,
61
+ borderBottomColor: colors.ui.header.nav.none.borderBottom
62
+ }]
63
+ }, /*#__PURE__*/React.createElement(View, {
64
+ style: [styles.header, {
65
+ height: getDefaultHeaderHeight(width > height)
66
+ }]
67
+ }, /*#__PURE__*/React.createElement(LeftSide, {
68
+ titleAlign: actualTitleAlign,
69
+ left: left,
70
+ onPressLeft: onPressLeft
71
+ }), /*#__PURE__*/React.createElement(View, {
72
+ style: [styles.title, clearTitleMargin && {
73
+ marginHorizontal: 0
74
+ }, {
75
+ justifyContent: AlignMapper[actualTitleAlign]
76
+ }]
77
+ }, typeof title === 'string' ? /*#__PURE__*/React.createElement(HeaderTitle, null, title) : title), /*#__PURE__*/React.createElement(RightSide, {
78
+ titleAlign: actualTitleAlign,
79
+ right: right,
80
+ onPressRight: onPressRight
81
+ })), children);
82
+ };
83
+
84
+ const LeftSide = _ref2 => {
85
+ let {
86
+ titleAlign,
87
+ onPressLeft,
88
+ left
89
+ } = _ref2;
90
+
91
+ if (titleAlign === 'center') {
92
+ return /*#__PURE__*/React.createElement(View, {
93
+ style: styles.left
94
+ }, left && /*#__PURE__*/React.createElement(HeaderButton, {
95
+ onPress: onPressLeft
96
+ }, left));
97
+ }
98
+
99
+ if (!left) return null;
100
+ return /*#__PURE__*/React.createElement(View, {
101
+ style: styles.left
102
+ }, /*#__PURE__*/React.createElement(HeaderButton, {
103
+ onPress: onPressLeft
104
+ }, left));
105
+ };
106
+
107
+ const RightSide = _ref3 => {
108
+ let {
109
+ titleAlign,
110
+ onPressRight,
111
+ right
112
+ } = _ref3;
113
+
114
+ if (titleAlign === 'center') {
115
+ return /*#__PURE__*/React.createElement(View, {
116
+ style: styles.right
117
+ }, right && /*#__PURE__*/React.createElement(HeaderButton, {
118
+ onPress: onPressRight
119
+ }, right));
120
+ }
121
+
122
+ if (!right) return null;
123
+ return /*#__PURE__*/React.createElement(View, {
124
+ style: styles.right
125
+ }, /*#__PURE__*/React.createElement(HeaderButton, {
126
+ onPress: onPressRight
127
+ }, right));
128
+ };
129
+
130
+ const HeaderTitle = _ref4 => {
131
+ let {
132
+ children,
133
+ style,
134
+ ...props
135
+ } = _ref4;
136
+ return /*#__PURE__*/React.createElement(Text, _extends({}, props, {
137
+ h1: true,
138
+ numberOfLines: 1,
139
+ style: style
140
+ }), children);
141
+ };
142
+
143
+ const HeaderSubtitle = _ref5 => {
144
+ let {
145
+ children,
146
+ style,
147
+ ...props
148
+ } = _ref5;
149
+ const {
150
+ colors
151
+ } = useUIKitTheme();
152
+ return /*#__PURE__*/React.createElement(Text, _extends({
153
+ color: colors.onBackground03
154
+ }, props, {
155
+ caption2: true,
156
+ numberOfLines: 1,
157
+ style: style
158
+ }), children);
159
+ };
160
+
161
+ const HeaderButton = _ref6 => {
162
+ let {
163
+ children,
164
+ disabled,
165
+ onPress,
166
+ color,
167
+ ...props
168
+ } = _ref6;
169
+ return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({
170
+ style: styles.button
171
+ }, props, {
172
+ disabled: !onPress || disabled,
173
+ onPress: e => onPress === null || onPress === void 0 ? void 0 : onPress(e),
174
+ activeOpacity: 0.7
175
+ }), conditionChaining([typeof children === 'string' || typeof children === 'number'], [/*#__PURE__*/React.createElement(Text, {
176
+ button: true,
177
+ numberOfLines: 1,
178
+ color: color
179
+ }, children), children]));
180
+ };
181
+
182
+ const styles = createStyleSheet({
183
+ container: {
184
+ paddingHorizontal: 12,
185
+ borderBottomWidth: 1
186
+ },
187
+ header: {
188
+ flexDirection: 'row'
189
+ },
190
+ title: {
191
+ flex: 1,
192
+ flexDirection: 'row',
193
+ alignItems: 'center',
194
+ marginHorizontal: 12
195
+ },
196
+ left: {
197
+ height: '100%',
198
+ minWidth: 32,
199
+ alignItems: 'center',
200
+ justifyContent: 'center',
201
+ marginRight: 12
202
+ },
203
+ right: {
204
+ height: '100%',
205
+ minWidth: 32,
206
+ alignItems: 'center',
207
+ justifyContent: 'center',
208
+ marginLeft: 12
209
+ },
210
+ button: {
211
+ padding: 4
212
+ }
213
+ });
214
+ Header.Button = HeaderButton;
215
+ Header.Title = HeaderTitle;
216
+ Header.Subtitle = HeaderSubtitle;
217
+ export default Header;
218
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","TouchableOpacity","View","useWindowDimensions","useSafeAreaInsets","conditionChaining","createStyleSheet","getDefaultHeaderHeight","useHeaderStyle","useUIKitTheme","Text","AlignMapper","left","center","right","Header","children","titleAlign","title","onPressLeft","onPressRight","clearTitleMargin","topInset","defaultTitleAlign","width","height","colors","paddingLeft","paddingRight","actualTitleAlign","paddingTop","backgroundColor","ui","header","nav","none","background","styles","container","paddingHorizontal","borderBottomColor","borderBottom","marginHorizontal","justifyContent","LeftSide","RightSide","HeaderTitle","style","props","HeaderSubtitle","onBackground03","HeaderButton","disabled","onPress","color","button","e","borderBottomWidth","flexDirection","flex","alignItems","minWidth","marginRight","marginLeft","padding","Button","Title","Subtitle"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { TouchableOpacity, TouchableOpacityProps, View, useWindowDimensions } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { conditionChaining } from '@sendbird/uikit-utils';\n\nimport type { BaseHeaderProps } from '../../index';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport getDefaultHeaderHeight from '../../styles/getDefaultHeaderHeight';\nimport useHeaderStyle from '../../styles/useHeaderStyle';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport Text, { TextProps } from '../Text';\n\ntype HeaderElement = string | React.ReactElement | null;\ntype HeaderProps = BaseHeaderProps<\n {\n title?: HeaderElement;\n left?: HeaderElement;\n right?: HeaderElement;\n onPressLeft?: () => void;\n onPressRight?: () => void;\n },\n { clearTitleMargin?: boolean }\n>;\n\nconst AlignMapper = { left: 'flex-start', center: 'center', right: 'flex-end' } as const;\nconst Header: ((props: HeaderProps) => JSX.Element) & {\n Button: typeof HeaderButton;\n Title: typeof HeaderTitle;\n Subtitle: typeof HeaderSubtitle;\n} = ({\n children,\n titleAlign,\n title = null,\n left = null,\n right = null,\n onPressLeft,\n onPressRight,\n clearTitleMargin = false,\n}) => {\n const { topInset, defaultTitleAlign } = useHeaderStyle();\n const { width, height } = useWindowDimensions();\n const { colors } = useUIKitTheme();\n const { left: paddingLeft, right: paddingRight } = useSafeAreaInsets();\n\n const actualTitleAlign = titleAlign ?? defaultTitleAlign;\n\n if (!title && !left && !right) {\n return (\n <View style={{ paddingTop: topInset, backgroundColor: colors.ui.header.nav.none.background }}>{children}</View>\n );\n }\n\n return (\n <View\n style={[\n styles.container,\n {\n paddingLeft: paddingLeft + styles.container.paddingHorizontal,\n paddingRight: paddingRight + styles.container.paddingHorizontal,\n paddingTop: topInset,\n backgroundColor: colors.ui.header.nav.none.background,\n borderBottomColor: colors.ui.header.nav.none.borderBottom,\n },\n ]}\n >\n <View style={[styles.header, { height: getDefaultHeaderHeight(width > height) }]}>\n <LeftSide titleAlign={actualTitleAlign} left={left} onPressLeft={onPressLeft} />\n <View\n style={[\n styles.title,\n clearTitleMargin && { marginHorizontal: 0 },\n { justifyContent: AlignMapper[actualTitleAlign] },\n ]}\n >\n {typeof title === 'string' ? <HeaderTitle>{title}</HeaderTitle> : title}\n </View>\n <RightSide titleAlign={actualTitleAlign} right={right} onPressRight={onPressRight} />\n </View>\n {children}\n </View>\n );\n};\n\nconst LeftSide = ({ titleAlign, onPressLeft, left }: HeaderProps) => {\n if (titleAlign === 'center') {\n return <View style={styles.left}>{left && <HeaderButton onPress={onPressLeft}>{left}</HeaderButton>}</View>;\n }\n if (!left) return null;\n return (\n <View style={styles.left}>\n <HeaderButton onPress={onPressLeft}>{left}</HeaderButton>\n </View>\n );\n};\n\nconst RightSide = ({ titleAlign, onPressRight, right }: HeaderProps) => {\n if (titleAlign === 'center') {\n return <View style={styles.right}>{right && <HeaderButton onPress={onPressRight}>{right}</HeaderButton>}</View>;\n }\n if (!right) return null;\n return (\n <View style={styles.right}>\n <HeaderButton onPress={onPressRight}>{right}</HeaderButton>\n </View>\n );\n};\n\nconst HeaderTitle = ({ children, style, ...props }: TextProps) => {\n return (\n <Text {...props} h1 numberOfLines={1} style={style}>\n {children}\n </Text>\n );\n};\nconst HeaderSubtitle = ({ children, style, ...props }: TextProps) => {\n const { colors } = useUIKitTheme();\n return (\n <Text color={colors.onBackground03} {...props} caption2 numberOfLines={1} style={style}>\n {children}\n </Text>\n );\n};\nconst HeaderButton = ({ children, disabled, onPress, color, ...props }: TouchableOpacityProps & { color?: string }) => {\n return (\n <TouchableOpacity\n style={styles.button}\n {...props}\n disabled={!onPress || disabled}\n onPress={(e) => onPress?.(e)}\n activeOpacity={0.7}\n >\n {conditionChaining(\n [typeof children === 'string' || typeof children === 'number'],\n [\n <Text button numberOfLines={1} color={color}>\n {children}\n </Text>,\n children,\n ],\n )}\n </TouchableOpacity>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n paddingHorizontal: 12,\n borderBottomWidth: 1,\n },\n header: {\n flexDirection: 'row',\n },\n title: {\n flex: 1,\n flexDirection: 'row',\n alignItems: 'center',\n marginHorizontal: 12,\n },\n left: {\n height: '100%',\n minWidth: 32,\n alignItems: 'center',\n justifyContent: 'center',\n marginRight: 12,\n },\n right: {\n height: '100%',\n minWidth: 32,\n alignItems: 'center',\n justifyContent: 'center',\n marginLeft: 12,\n },\n button: {\n padding: 4,\n },\n});\n\nHeader.Button = HeaderButton;\nHeader.Title = HeaderTitle;\nHeader.Subtitle = HeaderSubtitle;\nexport default Header;\n"],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import React from 'react';
2
+ import { Image, StyleSheet, View } from 'react-native';
3
+ import IconAssets from '../../assets/icon';
4
+ import createStyleSheet from '../../styles/createStyleSheet';
5
+ import useUIKitTheme from '../../theme/useUIKitTheme';
6
+
7
+ const Icon = _ref => {
8
+ let {
9
+ icon,
10
+ color,
11
+ size = 24,
12
+ containerStyle,
13
+ style
14
+ } = _ref;
15
+ const sizeStyle = sizeStyles[size] ?? {
16
+ width: size,
17
+ height: size
18
+ };
19
+ const {
20
+ colors
21
+ } = useUIKitTheme();
22
+ return /*#__PURE__*/React.createElement(View, {
23
+ style: [containerStyle, containerStyles.container]
24
+ }, /*#__PURE__*/React.createElement(Image, {
25
+ resizeMode: 'contain',
26
+ source: IconAssets[icon],
27
+ style: [{
28
+ tintColor: color ?? colors.primary
29
+ }, sizeStyle, style]
30
+ }));
31
+ };
32
+
33
+ const containerStyles = StyleSheet.create({
34
+ container: {
35
+ alignItems: 'center',
36
+ justifyContent: 'center'
37
+ }
38
+ });
39
+ const sizeStyles = createStyleSheet({
40
+ 16: {
41
+ width: 16,
42
+ height: 16
43
+ },
44
+ 20: {
45
+ width: 20,
46
+ height: 20
47
+ },
48
+ 24: {
49
+ width: 24,
50
+ height: 24
51
+ },
52
+ 28: {
53
+ width: 28,
54
+ height: 28
55
+ },
56
+ 32: {
57
+ width: 32,
58
+ height: 32
59
+ }
60
+ });
61
+ Icon.Assets = IconAssets;
62
+ export default Icon;
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Image","StyleSheet","View","IconAssets","createStyleSheet","useUIKitTheme","Icon","icon","color","size","containerStyle","style","sizeStyle","sizeStyles","width","height","colors","containerStyles","container","tintColor","primary","create","alignItems","justifyContent","Assets"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { Image, ImageStyle, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\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};\nconst Icon: ((props: Props) => JSX.Element) & { Assets: typeof IconAssets } = ({\n icon,\n color,\n size = 24,\n containerStyle,\n style,\n}) => {\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 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\nIcon.Assets = IconAssets;\nexport default Icon;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,KAAT,EAAuCC,UAAvC,EAAmDC,IAAnD,QAA0E,cAA1E;AAEA,OAAOC,UAAP,MAAuB,mBAAvB;AACA,OAAOC,gBAAP,MAA6B,+BAA7B;AACA,OAAOC,aAAP,MAA0B,2BAA1B;;AAYA,MAAMC,IAAqE,GAAG,QAMxE;EAAA,IANyE;IAC7EC,IAD6E;IAE7EC,KAF6E;IAG7EC,IAAI,GAAG,EAHsE;IAI7EC,cAJ6E;IAK7EC;EAL6E,CAMzE;EACJ,MAAMC,SAAS,GAAGC,UAAU,CAACJ,IAAD,CAAV,IAAkC;IAAEK,KAAK,EAAEL,IAAT;IAAeM,MAAM,EAAEN;EAAvB,CAApD;EACA,MAAM;IAAEO;EAAF,IAAaX,aAAa,EAAhC;EACA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAE,CAACK,cAAD,EAAiBO,eAAe,CAACC,SAAjC;EAAb,gBACE,oBAAC,KAAD;IACE,UAAU,EAAE,SADd;IAEE,MAAM,EAAEf,UAAU,CAACI,IAAD,CAFpB;IAGE,KAAK,EAAE,CAAC;MAAEY,SAAS,EAAEX,KAAK,IAAIQ,MAAM,CAACI;IAA7B,CAAD,EAAyCR,SAAzC,EAAoDD,KAApD;EAHT,EADF,CADF;AASD,CAlBD;;AAoBA,MAAMM,eAAe,GAAGhB,UAAU,CAACoB,MAAX,CAAkB;EACxCH,SAAS,EAAE;IACTI,UAAU,EAAE,QADH;IAETC,cAAc,EAAE;EAFP;AAD6B,CAAlB,CAAxB;AAOA,MAAMV,UAAU,GAAGT,gBAAgB,CAAC;EAClC,IAAI;IACFU,KAAK,EAAE,EADL;IAEFC,MAAM,EAAE;EAFN,CAD8B;EAKlC,IAAI;IACFD,KAAK,EAAE,EADL;IAEFC,MAAM,EAAE;EAFN,CAL8B;EASlC,IAAI;IACFD,KAAK,EAAE,EADL;IAEFC,MAAM,EAAE;EAFN,CAT8B;EAalC,IAAI;IACFD,KAAK,EAAE,EADL;IAEFC,MAAM,EAAE;EAFN,CAb8B;EAiBlC,IAAI;IACFD,KAAK,EAAE,EADL;IAEFC,MAAM,EAAE;EAFN;AAjB8B,CAAD,CAAnC;AAuBAT,IAAI,CAACkB,MAAL,GAAcrB,UAAd;AACA,eAAeG,IAAf"}
@@ -0,0 +1,64 @@
1
+ import React, { useEffect, useRef } from 'react';
2
+ import { Animated, Easing } from 'react-native';
3
+ import useUIKitTheme from '../../theme/useUIKitTheme';
4
+ import Icon from '../Icon';
5
+
6
+ const LoadingSpinner = _ref => {
7
+ let {
8
+ size = 24,
9
+ color,
10
+ style
11
+ } = _ref;
12
+ const {
13
+ colors
14
+ } = useUIKitTheme();
15
+ return /*#__PURE__*/React.createElement(Rotate, {
16
+ style: style
17
+ }, /*#__PURE__*/React.createElement(Icon, {
18
+ icon: 'spinner',
19
+ size: size,
20
+ color: color ?? colors.primary
21
+ }));
22
+ };
23
+
24
+ const useLoopAnimated = function (duration) {
25
+ let useNativeDriver = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
26
+ const animated = useRef(new Animated.Value(0)).current;
27
+ useEffect(() => {
28
+ Animated.loop(Animated.timing(animated, {
29
+ toValue: 1,
30
+ duration,
31
+ useNativeDriver,
32
+ easing: Easing.inOut(Easing.linear)
33
+ }), {
34
+ resetBeforeIteration: true
35
+ }).start();
36
+ return () => {
37
+ animated.stopAnimation();
38
+ animated.setValue(0);
39
+ };
40
+ }, []);
41
+ return animated;
42
+ };
43
+
44
+ const Rotate = _ref2 => {
45
+ let {
46
+ children,
47
+ style
48
+ } = _ref2;
49
+ const loop = useLoopAnimated(1000);
50
+ const rotate = loop.interpolate({
51
+ inputRange: [0, 1],
52
+ outputRange: ['0deg', '360deg']
53
+ });
54
+ return /*#__PURE__*/React.createElement(Animated.View, {
55
+ style: [style, {
56
+ transform: [{
57
+ rotate
58
+ }]
59
+ }]
60
+ }, children);
61
+ };
62
+
63
+ export default LoadingSpinner;
64
+ //# sourceMappingURL=index.js.map