@sendbird/uikit-react-native 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 (476) hide show
  1. package/lib/commonjs/InternalErrorBoundary.js +84 -0
  2. package/lib/commonjs/InternalErrorBoundary.js.map +1 -0
  3. package/lib/commonjs/InternalLocalCacheStorage.js +59 -0
  4. package/lib/commonjs/InternalLocalCacheStorage.js.map +1 -0
  5. package/lib/commonjs/SendbirdUIKitContainer.js +166 -0
  6. package/lib/commonjs/SendbirdUIKitContainer.js.map +1 -0
  7. package/lib/commonjs/components/ChannelCover.js +59 -0
  8. package/lib/commonjs/components/ChannelCover.js.map +1 -0
  9. package/lib/commonjs/components/ChatFlatList.js +118 -0
  10. package/lib/commonjs/components/ChatFlatList.js.map +1 -0
  11. package/lib/commonjs/components/MessageRenderer/AdminMessage/index.js +52 -0
  12. package/lib/commonjs/components/MessageRenderer/AdminMessage/index.js.map +1 -0
  13. package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js +76 -0
  14. package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -0
  15. package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js +61 -0
  16. package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -0
  17. package/lib/commonjs/components/MessageRenderer/FileMessage/index.js +31 -0
  18. package/lib/commonjs/components/MessageRenderer/FileMessage/index.js.map +1 -0
  19. package/lib/commonjs/components/MessageRenderer/MessageContainer.js +33 -0
  20. package/lib/commonjs/components/MessageRenderer/MessageContainer.js.map +1 -0
  21. package/lib/commonjs/components/MessageRenderer/MessageDateSeparator.js +58 -0
  22. package/lib/commonjs/components/MessageRenderer/MessageDateSeparator.js.map +1 -0
  23. package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js +42 -0
  24. package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js.map +1 -0
  25. package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js +48 -0
  26. package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js.map +1 -0
  27. package/lib/commonjs/components/MessageRenderer/MessageOutgoingStatus.js +134 -0
  28. package/lib/commonjs/components/MessageRenderer/MessageOutgoingStatus.js.map +1 -0
  29. package/lib/commonjs/components/MessageRenderer/MessageTime.js +41 -0
  30. package/lib/commonjs/components/MessageRenderer/MessageTime.js.map +1 -0
  31. package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js +53 -0
  32. package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js.map +1 -0
  33. package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js +54 -0
  34. package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -0
  35. package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +131 -0
  36. package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -0
  37. package/lib/commonjs/components/MessageRenderer/UserMessage/index.js +31 -0
  38. package/lib/commonjs/components/MessageRenderer/UserMessage/index.js.map +1 -0
  39. package/lib/commonjs/components/MessageRenderer/index.js +189 -0
  40. package/lib/commonjs/components/MessageRenderer/index.js.map +1 -0
  41. package/lib/commonjs/components/NewMessagesButton.js +73 -0
  42. package/lib/commonjs/components/NewMessagesButton.js.map +1 -0
  43. package/lib/commonjs/components/ProviderLayout.js +37 -0
  44. package/lib/commonjs/components/ProviderLayout.js.map +1 -0
  45. package/lib/commonjs/components/ScrollToBottomButton.js +66 -0
  46. package/lib/commonjs/components/ScrollToBottomButton.js.map +1 -0
  47. package/lib/commonjs/components/StatusComposition.js +27 -0
  48. package/lib/commonjs/components/StatusComposition.js.map +1 -0
  49. package/lib/commonjs/components/TypedPlaceholder.js +80 -0
  50. package/lib/commonjs/components/TypedPlaceholder.js.map +1 -0
  51. package/lib/commonjs/components/UserActionBar.js +96 -0
  52. package/lib/commonjs/components/UserActionBar.js.map +1 -0
  53. package/lib/commonjs/components/UserSelectableBar.js +78 -0
  54. package/lib/commonjs/components/UserSelectableBar.js.map +1 -0
  55. package/lib/commonjs/constants.js +9 -0
  56. package/lib/commonjs/constants.js.map +1 -0
  57. package/lib/commonjs/contexts/Localization.js +29 -0
  58. package/lib/commonjs/contexts/Localization.js.map +1 -0
  59. package/lib/commonjs/contexts/PlatformService.js +33 -0
  60. package/lib/commonjs/contexts/PlatformService.js.map +1 -0
  61. package/lib/commonjs/contexts/SendbirdChat.js +87 -0
  62. package/lib/commonjs/contexts/SendbirdChat.js.map +1 -0
  63. package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js +88 -0
  64. package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js.map +1 -0
  65. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js +118 -0
  66. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -0
  67. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js +148 -0
  68. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -0
  69. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js +115 -0
  70. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -0
  71. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +343 -0
  72. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -0
  73. package/lib/commonjs/domain/groupChannel/component/GroupChannelStatusEmpty.js +34 -0
  74. package/lib/commonjs/domain/groupChannel/component/GroupChannelStatusEmpty.js.map +1 -0
  75. package/lib/commonjs/domain/groupChannel/component/GroupChannelStatusLoading.js +34 -0
  76. package/lib/commonjs/domain/groupChannel/component/GroupChannelStatusLoading.js.map +1 -0
  77. package/lib/commonjs/domain/groupChannel/index.js +70 -0
  78. package/lib/commonjs/domain/groupChannel/index.js.map +1 -0
  79. package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js +45 -0
  80. package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js.map +1 -0
  81. package/lib/commonjs/domain/groupChannel/module/moduleContext.js +79 -0
  82. package/lib/commonjs/domain/groupChannel/module/moduleContext.js.map +1 -0
  83. package/lib/commonjs/domain/groupChannel/types.js +6 -0
  84. package/lib/commonjs/domain/groupChannel/types.js.map +1 -0
  85. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListHeader.js +35 -0
  86. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListHeader.js.map +1 -0
  87. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js +96 -0
  88. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js.map +1 -0
  89. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListStatusEmpty.js +34 -0
  90. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListStatusEmpty.js.map +1 -0
  91. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListStatusLoading.js +34 -0
  92. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListStatusLoading.js.map +1 -0
  93. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js +141 -0
  94. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -0
  95. package/lib/commonjs/domain/groupChannelList/index.js +70 -0
  96. package/lib/commonjs/domain/groupChannelList/index.js.map +1 -0
  97. package/lib/commonjs/domain/groupChannelList/module/createGroupChannelListModule.js +45 -0
  98. package/lib/commonjs/domain/groupChannelList/module/createGroupChannelListModule.js.map +1 -0
  99. package/lib/commonjs/domain/groupChannelList/module/moduleContext.js +61 -0
  100. package/lib/commonjs/domain/groupChannelList/module/moduleContext.js.map +1 -0
  101. package/lib/commonjs/domain/groupChannelList/types.js +6 -0
  102. package/lib/commonjs/domain/groupChannelList/types.js.map +1 -0
  103. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js +49 -0
  104. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js.map +1 -0
  105. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +77 -0
  106. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -0
  107. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +94 -0
  108. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -0
  109. package/lib/commonjs/domain/groupChannelSettings/index.js +54 -0
  110. package/lib/commonjs/domain/groupChannelSettings/index.js.map +1 -0
  111. package/lib/commonjs/domain/groupChannelSettings/module/createGroupChannelSettingsModule.js +37 -0
  112. package/lib/commonjs/domain/groupChannelSettings/module/createGroupChannelSettingsModule.js.map +1 -0
  113. package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js +150 -0
  114. package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js.map +1 -0
  115. package/lib/commonjs/domain/groupChannelSettings/types.js +6 -0
  116. package/lib/commonjs/domain/groupChannelSettings/types.js.map +1 -0
  117. package/lib/commonjs/domain/groupChannelUserList/types.js +6 -0
  118. package/lib/commonjs/domain/groupChannelUserList/types.js.map +1 -0
  119. package/lib/commonjs/domain/userList/component/UserListHeader.js +56 -0
  120. package/lib/commonjs/domain/userList/component/UserListHeader.js.map +1 -0
  121. package/lib/commonjs/domain/userList/component/UserListList.js +57 -0
  122. package/lib/commonjs/domain/userList/component/UserListList.js.map +1 -0
  123. package/lib/commonjs/domain/userList/component/UserListStatusEmpty.js +34 -0
  124. package/lib/commonjs/domain/userList/component/UserListStatusEmpty.js.map +1 -0
  125. package/lib/commonjs/domain/userList/component/UserListStatusError.js +38 -0
  126. package/lib/commonjs/domain/userList/component/UserListStatusError.js.map +1 -0
  127. package/lib/commonjs/domain/userList/component/UserListStatusLoading.js +34 -0
  128. package/lib/commonjs/domain/userList/component/UserListStatusLoading.js.map +1 -0
  129. package/lib/commonjs/domain/userList/index.js +70 -0
  130. package/lib/commonjs/domain/userList/index.js.map +1 -0
  131. package/lib/commonjs/domain/userList/module/createUserListModule.js +45 -0
  132. package/lib/commonjs/domain/userList/module/createUserListModule.js.map +1 -0
  133. package/lib/commonjs/domain/userList/module/moduleContext.js +54 -0
  134. package/lib/commonjs/domain/userList/module/moduleContext.js.map +1 -0
  135. package/lib/commonjs/domain/userList/types.js +6 -0
  136. package/lib/commonjs/domain/userList/types.js.map +1 -0
  137. package/lib/commonjs/fragments/createGroupChannelCreateFragment.js +145 -0
  138. package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -0
  139. package/lib/commonjs/fragments/createGroupChannelFragment.js +154 -0
  140. package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -0
  141. package/lib/commonjs/fragments/createGroupChannelInviteFragment.js +139 -0
  142. package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -0
  143. package/lib/commonjs/fragments/createGroupChannelListFragment.js +141 -0
  144. package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -0
  145. package/lib/commonjs/fragments/createGroupChannelMembersFragment.js +134 -0
  146. package/lib/commonjs/fragments/createGroupChannelMembersFragment.js.map +1 -0
  147. package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js +66 -0
  148. package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js.map +1 -0
  149. package/lib/commonjs/hooks/useConnection.js +102 -0
  150. package/lib/commonjs/hooks/useConnection.js.map +1 -0
  151. package/lib/commonjs/hooks/useContext.js +39 -0
  152. package/lib/commonjs/hooks/useContext.js.map +1 -0
  153. package/lib/commonjs/hooks/usePushTokenRegistration.js +83 -0
  154. package/lib/commonjs/hooks/usePushTokenRegistration.js.map +1 -0
  155. package/lib/commonjs/index.js +449 -0
  156. package/lib/commonjs/index.js.map +1 -0
  157. package/lib/commonjs/localization/StringSet.en.js +19 -0
  158. package/lib/commonjs/localization/StringSet.en.js.map +1 -0
  159. package/lib/commonjs/localization/StringSet.type.js +178 -0
  160. package/lib/commonjs/localization/StringSet.type.js.map +1 -0
  161. package/lib/commonjs/platform/createClipboardService.expo.js +23 -0
  162. package/lib/commonjs/platform/createClipboardService.expo.js.map +1 -0
  163. package/lib/commonjs/platform/createClipboardService.native.js +23 -0
  164. package/lib/commonjs/platform/createClipboardService.native.js.map +1 -0
  165. package/lib/commonjs/platform/createFileService.expo.js +175 -0
  166. package/lib/commonjs/platform/createFileService.expo.js.map +1 -0
  167. package/lib/commonjs/platform/createFileService.native.js +253 -0
  168. package/lib/commonjs/platform/createFileService.native.js.map +1 -0
  169. package/lib/commonjs/platform/createNotificationService.expo.js +50 -0
  170. package/lib/commonjs/platform/createNotificationService.expo.js.map +1 -0
  171. package/lib/commonjs/platform/createNotificationService.native.js +65 -0
  172. package/lib/commonjs/platform/createNotificationService.native.js.map +1 -0
  173. package/lib/commonjs/platform/dynamicModule.js +114 -0
  174. package/lib/commonjs/platform/dynamicModule.js.map +1 -0
  175. package/lib/commonjs/platform/types.js +2 -0
  176. package/lib/commonjs/platform/types.js.map +1 -0
  177. package/lib/commonjs/types.js +6 -0
  178. package/lib/commonjs/types.js.map +1 -0
  179. package/lib/commonjs/utils/expoPermissionGranted.js +32 -0
  180. package/lib/commonjs/utils/expoPermissionGranted.js.map +1 -0
  181. package/lib/commonjs/utils/fileTypeGuard.js +26 -0
  182. package/lib/commonjs/utils/fileTypeGuard.js.map +1 -0
  183. package/lib/commonjs/utils/nativePermissionGranted.js +23 -0
  184. package/lib/commonjs/utils/nativePermissionGranted.js.map +1 -0
  185. package/lib/commonjs/version.js +10 -0
  186. package/lib/commonjs/version.js.map +1 -0
  187. package/lib/module/InternalErrorBoundary.js +72 -0
  188. package/lib/module/InternalErrorBoundary.js.map +1 -0
  189. package/lib/module/InternalLocalCacheStorage.js +50 -0
  190. package/lib/module/InternalLocalCacheStorage.js.map +1 -0
  191. package/lib/module/SendbirdUIKitContainer.js +136 -0
  192. package/lib/module/SendbirdUIKitContainer.js.map +1 -0
  193. package/lib/module/components/ChannelCover.js +46 -0
  194. package/lib/module/components/ChannelCover.js.map +1 -0
  195. package/lib/module/components/ChatFlatList.js +102 -0
  196. package/lib/module/components/ChatFlatList.js.map +1 -0
  197. package/lib/module/components/MessageRenderer/AdminMessage/index.js +40 -0
  198. package/lib/module/components/MessageRenderer/AdminMessage/index.js.map +1 -0
  199. package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js +62 -0
  200. package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -0
  201. package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js +47 -0
  202. package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -0
  203. package/lib/module/components/MessageRenderer/FileMessage/index.js +17 -0
  204. package/lib/module/components/MessageRenderer/FileMessage/index.js.map +1 -0
  205. package/lib/module/components/MessageRenderer/MessageContainer.js +21 -0
  206. package/lib/module/components/MessageRenderer/MessageContainer.js.map +1 -0
  207. package/lib/module/components/MessageRenderer/MessageDateSeparator.js +44 -0
  208. package/lib/module/components/MessageRenderer/MessageDateSeparator.js.map +1 -0
  209. package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js +30 -0
  210. package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js.map +1 -0
  211. package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js +35 -0
  212. package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js.map +1 -0
  213. package/lib/module/components/MessageRenderer/MessageOutgoingStatus.js +116 -0
  214. package/lib/module/components/MessageRenderer/MessageOutgoingStatus.js.map +1 -0
  215. package/lib/module/components/MessageRenderer/MessageTime.js +28 -0
  216. package/lib/module/components/MessageRenderer/MessageTime.js.map +1 -0
  217. package/lib/module/components/MessageRenderer/UnknownMessage/index.js +40 -0
  218. package/lib/module/components/MessageRenderer/UnknownMessage/index.js.map +1 -0
  219. package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js +41 -0
  220. package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -0
  221. package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +115 -0
  222. package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -0
  223. package/lib/module/components/MessageRenderer/UserMessage/index.js +18 -0
  224. package/lib/module/components/MessageRenderer/UserMessage/index.js.map +1 -0
  225. package/lib/module/components/MessageRenderer/index.js +163 -0
  226. package/lib/module/components/MessageRenderer/index.js.map +1 -0
  227. package/lib/module/components/NewMessagesButton.js +58 -0
  228. package/lib/module/components/NewMessagesButton.js.map +1 -0
  229. package/lib/module/components/ProviderLayout.js +25 -0
  230. package/lib/module/components/ProviderLayout.js.map +1 -0
  231. package/lib/module/components/ScrollToBottomButton.js +52 -0
  232. package/lib/module/components/ScrollToBottomButton.js.map +1 -0
  233. package/lib/module/components/StatusComposition.js +17 -0
  234. package/lib/module/components/StatusComposition.js.map +1 -0
  235. package/lib/module/components/TypedPlaceholder.js +68 -0
  236. package/lib/module/components/TypedPlaceholder.js.map +1 -0
  237. package/lib/module/components/UserActionBar.js +81 -0
  238. package/lib/module/components/UserActionBar.js.map +1 -0
  239. package/lib/module/components/UserSelectableBar.js +63 -0
  240. package/lib/module/components/UserSelectableBar.js.map +1 -0
  241. package/lib/module/constants.js +2 -0
  242. package/lib/module/constants.js.map +1 -0
  243. package/lib/module/contexts/Localization.js +14 -0
  244. package/lib/module/contexts/Localization.js.map +1 -0
  245. package/lib/module/contexts/PlatformService.js +18 -0
  246. package/lib/module/contexts/PlatformService.js.map +1 -0
  247. package/lib/module/contexts/SendbirdChat.js +66 -0
  248. package/lib/module/contexts/SendbirdChat.js.map +1 -0
  249. package/lib/module/domain/groupChannel/component/GroupChannelHeader.js +69 -0
  250. package/lib/module/domain/groupChannel/component/GroupChannelHeader.js.map +1 -0
  251. package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js +102 -0
  252. package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -0
  253. package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js +134 -0
  254. package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -0
  255. package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js +92 -0
  256. package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -0
  257. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +317 -0
  258. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -0
  259. package/lib/module/domain/groupChannel/component/GroupChannelStatusEmpty.js +21 -0
  260. package/lib/module/domain/groupChannel/component/GroupChannelStatusEmpty.js.map +1 -0
  261. package/lib/module/domain/groupChannel/component/GroupChannelStatusLoading.js +21 -0
  262. package/lib/module/domain/groupChannel/component/GroupChannelStatusLoading.js.map +1 -0
  263. package/lib/module/domain/groupChannel/index.js +8 -0
  264. package/lib/module/domain/groupChannel/index.js.map +1 -0
  265. package/lib/module/domain/groupChannel/module/createGroupChannelModule.js +30 -0
  266. package/lib/module/domain/groupChannel/module/createGroupChannelModule.js.map +1 -0
  267. package/lib/module/domain/groupChannel/module/moduleContext.js +57 -0
  268. package/lib/module/domain/groupChannel/module/moduleContext.js.map +1 -0
  269. package/lib/module/domain/groupChannel/types.js +2 -0
  270. package/lib/module/domain/groupChannel/types.js.map +1 -0
  271. package/lib/module/domain/groupChannelList/component/GroupChannelListHeader.js +21 -0
  272. package/lib/module/domain/groupChannelList/component/GroupChannelListHeader.js.map +1 -0
  273. package/lib/module/domain/groupChannelList/component/GroupChannelListList.js +79 -0
  274. package/lib/module/domain/groupChannelList/component/GroupChannelListList.js.map +1 -0
  275. package/lib/module/domain/groupChannelList/component/GroupChannelListStatusEmpty.js +21 -0
  276. package/lib/module/domain/groupChannelList/component/GroupChannelListStatusEmpty.js.map +1 -0
  277. package/lib/module/domain/groupChannelList/component/GroupChannelListStatusLoading.js +21 -0
  278. package/lib/module/domain/groupChannelList/component/GroupChannelListStatusLoading.js.map +1 -0
  279. package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js +124 -0
  280. package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -0
  281. package/lib/module/domain/groupChannelList/index.js +8 -0
  282. package/lib/module/domain/groupChannelList/index.js.map +1 -0
  283. package/lib/module/domain/groupChannelList/module/createGroupChannelListModule.js +30 -0
  284. package/lib/module/domain/groupChannelList/module/createGroupChannelListModule.js.map +1 -0
  285. package/lib/module/domain/groupChannelList/module/moduleContext.js +40 -0
  286. package/lib/module/domain/groupChannelList/module/moduleContext.js.map +1 -0
  287. package/lib/module/domain/groupChannelList/types.js +2 -0
  288. package/lib/module/domain/groupChannelList/types.js.map +1 -0
  289. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js +35 -0
  290. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js.map +1 -0
  291. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +56 -0
  292. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -0
  293. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +78 -0
  294. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -0
  295. package/lib/module/domain/groupChannelSettings/index.js +6 -0
  296. package/lib/module/domain/groupChannelSettings/index.js.map +1 -0
  297. package/lib/module/domain/groupChannelSettings/module/createGroupChannelSettingsModule.js +24 -0
  298. package/lib/module/domain/groupChannelSettings/module/createGroupChannelSettingsModule.js.map +1 -0
  299. package/lib/module/domain/groupChannelSettings/module/moduleContext.js +127 -0
  300. package/lib/module/domain/groupChannelSettings/module/moduleContext.js.map +1 -0
  301. package/lib/module/domain/groupChannelSettings/types.js +2 -0
  302. package/lib/module/domain/groupChannelSettings/types.js.map +1 -0
  303. package/lib/module/domain/groupChannelUserList/types.js +2 -0
  304. package/lib/module/domain/groupChannelUserList/types.js.map +1 -0
  305. package/lib/module/domain/userList/component/UserListHeader.js +42 -0
  306. package/lib/module/domain/userList/component/UserListHeader.js.map +1 -0
  307. package/lib/module/domain/userList/component/UserListList.js +42 -0
  308. package/lib/module/domain/userList/component/UserListList.js.map +1 -0
  309. package/lib/module/domain/userList/component/UserListStatusEmpty.js +21 -0
  310. package/lib/module/domain/userList/component/UserListStatusEmpty.js.map +1 -0
  311. package/lib/module/domain/userList/component/UserListStatusError.js +25 -0
  312. package/lib/module/domain/userList/component/UserListStatusError.js.map +1 -0
  313. package/lib/module/domain/userList/component/UserListStatusLoading.js +21 -0
  314. package/lib/module/domain/userList/component/UserListStatusLoading.js.map +1 -0
  315. package/lib/module/domain/userList/index.js +8 -0
  316. package/lib/module/domain/userList/index.js.map +1 -0
  317. package/lib/module/domain/userList/module/createUserListModule.js +30 -0
  318. package/lib/module/domain/userList/module/createUserListModule.js.map +1 -0
  319. package/lib/module/domain/userList/module/moduleContext.js +34 -0
  320. package/lib/module/domain/userList/module/moduleContext.js.map +1 -0
  321. package/lib/module/domain/userList/types.js +2 -0
  322. package/lib/module/domain/userList/types.js.map +1 -0
  323. package/lib/module/fragments/createGroupChannelCreateFragment.js +124 -0
  324. package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -0
  325. package/lib/module/fragments/createGroupChannelFragment.js +132 -0
  326. package/lib/module/fragments/createGroupChannelFragment.js.map +1 -0
  327. package/lib/module/fragments/createGroupChannelInviteFragment.js +118 -0
  328. package/lib/module/fragments/createGroupChannelInviteFragment.js.map +1 -0
  329. package/lib/module/fragments/createGroupChannelListFragment.js +115 -0
  330. package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -0
  331. package/lib/module/fragments/createGroupChannelMembersFragment.js +114 -0
  332. package/lib/module/fragments/createGroupChannelMembersFragment.js.map +1 -0
  333. package/lib/module/fragments/createGroupChannelSettingsFragment.js +51 -0
  334. package/lib/module/fragments/createGroupChannelSettingsFragment.js.map +1 -0
  335. package/lib/module/hooks/useConnection.js +79 -0
  336. package/lib/module/hooks/useConnection.js.map +1 -0
  337. package/lib/module/hooks/useContext.js +20 -0
  338. package/lib/module/hooks/useContext.js.map +1 -0
  339. package/lib/module/hooks/usePushTokenRegistration.js +69 -0
  340. package/lib/module/hooks/usePushTokenRegistration.js.map +1 -0
  341. package/lib/module/index.js +57 -0
  342. package/lib/module/index.js.map +1 -0
  343. package/lib/module/localization/StringSet.en.js +7 -0
  344. package/lib/module/localization/StringSet.en.js.map +1 -0
  345. package/lib/module/localization/StringSet.type.js +173 -0
  346. package/lib/module/localization/StringSet.type.js.map +1 -0
  347. package/lib/module/platform/createClipboardService.expo.js +15 -0
  348. package/lib/module/platform/createClipboardService.expo.js.map +1 -0
  349. package/lib/module/platform/createClipboardService.native.js +15 -0
  350. package/lib/module/platform/createClipboardService.native.js.map +1 -0
  351. package/lib/module/platform/createFileService.expo.js +163 -0
  352. package/lib/module/platform/createFileService.expo.js.map +1 -0
  353. package/lib/module/platform/createFileService.native.js +237 -0
  354. package/lib/module/platform/createFileService.native.js.map +1 -0
  355. package/lib/module/platform/createNotificationService.expo.js +42 -0
  356. package/lib/module/platform/createNotificationService.expo.js.map +1 -0
  357. package/lib/module/platform/createNotificationService.native.js +57 -0
  358. package/lib/module/platform/createNotificationService.native.js.map +1 -0
  359. package/lib/module/platform/dynamicModule.js +103 -0
  360. package/lib/module/platform/dynamicModule.js.map +1 -0
  361. package/lib/module/platform/types.js +2 -0
  362. package/lib/module/platform/types.js.map +1 -0
  363. package/lib/module/types.js +2 -0
  364. package/lib/module/types.js.map +1 -0
  365. package/lib/module/utils/expoPermissionGranted.js +24 -0
  366. package/lib/module/utils/expoPermissionGranted.js.map +1 -0
  367. package/lib/module/utils/fileTypeGuard.js +18 -0
  368. package/lib/module/utils/fileTypeGuard.js.map +1 -0
  369. package/lib/module/utils/nativePermissionGranted.js +15 -0
  370. package/lib/module/utils/nativePermissionGranted.js.map +1 -0
  371. package/lib/module/version.js +3 -0
  372. package/lib/module/version.js.map +1 -0
  373. package/lib/typescript/__template__/component/__domain__Header.d.ts +3 -0
  374. package/lib/typescript/__template__/component/__domain__StatusEmpty.d.ts +2 -0
  375. package/lib/typescript/__template__/component/__domain__StatusLoading.d.ts +2 -0
  376. package/lib/typescript/__template__/component/__domain__View.d.ts +3 -0
  377. package/lib/typescript/__template__/create__domain__Fragment.d.ts +2 -0
  378. package/lib/typescript/__template__/index.d.ts +6 -0
  379. package/lib/typescript/__template__/module/create__domain__Module.d.ts +3 -0
  380. package/lib/typescript/__template__/module/moduleContext.d.ts +3 -0
  381. package/lib/typescript/__template__/types.d.ts +31 -0
  382. package/lib/typescript/src/InternalErrorBoundary.d.ts +19 -0
  383. package/lib/typescript/src/InternalLocalCacheStorage.d.ts +12 -0
  384. package/lib/typescript/src/SendbirdUIKitContainer.d.ts +41 -0
  385. package/lib/typescript/src/components/ChannelCover.d.ts +9 -0
  386. package/lib/typescript/src/components/ChatFlatList.d.ts +14 -0
  387. package/lib/typescript/src/components/MessageRenderer/AdminMessage/index.d.ts +5 -0
  388. package/lib/typescript/src/components/MessageRenderer/FileMessage/BaseFileMessage.d.ts +6 -0
  389. package/lib/typescript/src/components/MessageRenderer/FileMessage/ImageFileMessage.d.ts +3 -0
  390. package/lib/typescript/src/components/MessageRenderer/FileMessage/index.d.ts +6 -0
  391. package/lib/typescript/src/components/MessageRenderer/MessageContainer.d.ts +3 -0
  392. package/lib/typescript/src/components/MessageRenderer/MessageDateSeparator.d.ts +7 -0
  393. package/lib/typescript/src/components/MessageRenderer/MessageIncomingAvatar.d.ts +7 -0
  394. package/lib/typescript/src/components/MessageRenderer/MessageIncomingSenderName.d.ts +7 -0
  395. package/lib/typescript/src/components/MessageRenderer/MessageOutgoingStatus.d.ts +8 -0
  396. package/lib/typescript/src/components/MessageRenderer/MessageTime.d.ts +9 -0
  397. package/lib/typescript/src/components/MessageRenderer/UnknownMessage/index.d.ts +4 -0
  398. package/lib/typescript/src/components/MessageRenderer/UserMessage/BaseUserMessage.d.ts +3 -0
  399. package/lib/typescript/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.d.ts +7 -0
  400. package/lib/typescript/src/components/MessageRenderer/UserMessage/index.d.ts +6 -0
  401. package/lib/typescript/src/components/MessageRenderer/index.d.ts +23 -0
  402. package/lib/typescript/src/components/NewMessagesButton.d.ts +9 -0
  403. package/lib/typescript/src/components/ProviderLayout.d.ts +3 -0
  404. package/lib/typescript/src/components/ScrollToBottomButton.d.ts +7 -0
  405. package/lib/typescript/src/components/StatusComposition.d.ts +10 -0
  406. package/lib/typescript/src/components/TypedPlaceholder.d.ts +6 -0
  407. package/lib/typescript/src/components/UserActionBar.d.ts +11 -0
  408. package/lib/typescript/src/components/UserSelectableBar.d.ts +9 -0
  409. package/lib/typescript/src/constants.d.ts +1 -0
  410. package/lib/typescript/src/contexts/Localization.d.ts +11 -0
  411. package/lib/typescript/src/contexts/PlatformService.d.ts +10 -0
  412. package/lib/typescript/src/contexts/SendbirdChat.d.ts +24 -0
  413. package/lib/typescript/src/domain/groupChannel/component/GroupChannelHeader.d.ts +3 -0
  414. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/EditInput.d.ts +10 -0
  415. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/SendInput.d.ts +8 -0
  416. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/index.d.ts +9 -0
  417. package/lib/typescript/src/domain/groupChannel/component/GroupChannelMessageList.d.ts +36 -0
  418. package/lib/typescript/src/domain/groupChannel/component/GroupChannelStatusEmpty.d.ts +2 -0
  419. package/lib/typescript/src/domain/groupChannel/component/GroupChannelStatusLoading.d.ts +2 -0
  420. package/lib/typescript/src/domain/groupChannel/index.d.ts +7 -0
  421. package/lib/typescript/src/domain/groupChannel/module/createGroupChannelModule.d.ts +3 -0
  422. package/lib/typescript/src/domain/groupChannel/module/moduleContext.d.ts +3 -0
  423. package/lib/typescript/src/domain/groupChannel/types.d.ts +102 -0
  424. package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListHeader.d.ts +3 -0
  425. package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListList.d.ts +3 -0
  426. package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListStatusEmpty.d.ts +2 -0
  427. package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListStatusLoading.d.ts +2 -0
  428. package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListTypeSelector.d.ts +3 -0
  429. package/lib/typescript/src/domain/groupChannelList/index.d.ts +7 -0
  430. package/lib/typescript/src/domain/groupChannelList/module/createGroupChannelListModule.d.ts +3 -0
  431. package/lib/typescript/src/domain/groupChannelList/module/moduleContext.d.ts +3 -0
  432. package/lib/typescript/src/domain/groupChannelList/types.d.ts +81 -0
  433. package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsHeader.d.ts +3 -0
  434. package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsInfo.d.ts +3 -0
  435. package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.d.ts +3 -0
  436. package/lib/typescript/src/domain/groupChannelSettings/index.d.ts +5 -0
  437. package/lib/typescript/src/domain/groupChannelSettings/module/createGroupChannelSettingsModule.d.ts +3 -0
  438. package/lib/typescript/src/domain/groupChannelSettings/module/moduleContext.d.ts +3 -0
  439. package/lib/typescript/src/domain/groupChannelSettings/types.d.ts +45 -0
  440. package/lib/typescript/src/domain/groupChannelUserList/types.d.ts +42 -0
  441. package/lib/typescript/src/domain/userList/component/UserListHeader.d.ts +10 -0
  442. package/lib/typescript/src/domain/userList/component/UserListList.d.ts +11 -0
  443. package/lib/typescript/src/domain/userList/component/UserListStatusEmpty.d.ts +2 -0
  444. package/lib/typescript/src/domain/userList/component/UserListStatusError.d.ts +3 -0
  445. package/lib/typescript/src/domain/userList/component/UserListStatusLoading.d.ts +2 -0
  446. package/lib/typescript/src/domain/userList/index.d.ts +7 -0
  447. package/lib/typescript/src/domain/userList/module/createUserListModule.d.ts +3 -0
  448. package/lib/typescript/src/domain/userList/module/moduleContext.d.ts +3 -0
  449. package/lib/typescript/src/domain/userList/types.d.ts +58 -0
  450. package/lib/typescript/src/fragments/createGroupChannelCreateFragment.d.ts +4 -0
  451. package/lib/typescript/src/fragments/createGroupChannelFragment.d.ts +3 -0
  452. package/lib/typescript/src/fragments/createGroupChannelInviteFragment.d.ts +4 -0
  453. package/lib/typescript/src/fragments/createGroupChannelListFragment.d.ts +3 -0
  454. package/lib/typescript/src/fragments/createGroupChannelMembersFragment.d.ts +5 -0
  455. package/lib/typescript/src/fragments/createGroupChannelSettingsFragment.d.ts +3 -0
  456. package/lib/typescript/src/hooks/useConnection.d.ts +11 -0
  457. package/lib/typescript/src/hooks/useContext.d.ts +24 -0
  458. package/lib/typescript/src/hooks/usePushTokenRegistration.d.ts +5 -0
  459. package/lib/typescript/src/index.d.ts +50 -0
  460. package/lib/typescript/src/localization/StringSet.en.d.ts +2 -0
  461. package/lib/typescript/src/localization/StringSet.type.d.ts +157 -0
  462. package/lib/typescript/src/platform/createClipboardService.expo.d.ts +4 -0
  463. package/lib/typescript/src/platform/createClipboardService.native.d.ts +4 -0
  464. package/lib/typescript/src/platform/createFileService.expo.d.ts +12 -0
  465. package/lib/typescript/src/platform/createFileService.native.d.ts +14 -0
  466. package/lib/typescript/src/platform/createNotificationService.expo.d.ts +4 -0
  467. package/lib/typescript/src/platform/createNotificationService.native.d.ts +8 -0
  468. package/lib/typescript/src/platform/dynamicModule.d.ts +23 -0
  469. package/lib/typescript/src/platform/types.d.ts +47 -0
  470. package/lib/typescript/src/types.d.ts +20 -0
  471. package/lib/typescript/src/utils/expoPermissionGranted.d.ts +13 -0
  472. package/lib/typescript/src/utils/fileTypeGuard.d.ts +4 -0
  473. package/lib/typescript/src/utils/nativePermissionGranted.d.ts +3 -0
  474. package/lib/typescript/src/version.d.ts +2 -0
  475. package/package.json +5 -5
  476. package/src/version.ts +1 -1
@@ -0,0 +1,79 @@
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, { useCallback } from 'react';
4
+ import { FlatList } from 'react-native';
5
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
6
+ import { useActionMenu, useToast } from '@sendbird/uikit-react-native-foundation';
7
+ import { PASS, useFreshCallback } from '@sendbird/uikit-utils';
8
+ import { useLocalization, useSendbirdChat } from '../../../hooks/useContext';
9
+
10
+ const GroupChannelListList = _ref => {
11
+ let {
12
+ renderGroupChannelPreview,
13
+ groupChannels,
14
+ onLoadNext,
15
+ flatListProps,
16
+ menuItemCreator = PASS
17
+ } = _ref;
18
+ const toast = useToast();
19
+ const {
20
+ openMenu
21
+ } = useActionMenu();
22
+ const {
23
+ STRINGS
24
+ } = useLocalization();
25
+ const {
26
+ sdk,
27
+ currentUser
28
+ } = useSendbirdChat();
29
+ const onLongPress = useFreshCallback(channel => {
30
+ const action = channel.myPushTriggerOption === 'off' ? 'on' : 'off';
31
+ const menuItem = menuItemCreator({
32
+ title: STRINGS.GROUP_CHANNEL_LIST.DIALOG_CHANNEL_TITLE((currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId) ?? '', channel),
33
+ menuItems: [{
34
+ title: STRINGS.GROUP_CHANNEL_LIST.DIALOG_CHANNEL_NOTIFICATION(channel),
35
+ onPress: async () => {
36
+ if (action === 'on') {
37
+ await channel.setMyPushTriggerOption('default');
38
+ } else {
39
+ await channel.setMyPushTriggerOption('off');
40
+ }
41
+ },
42
+ onError: () => {
43
+ toast.show(action === 'on' ? STRINGS.TOAST.TURN_ON_NOTIFICATIONS_ERROR : STRINGS.TOAST.TURN_OFF_NOTIFICATIONS_ERROR, 'error');
44
+ }
45
+ }, {
46
+ title: STRINGS.GROUP_CHANNEL_LIST.DIALOG_CHANNEL_LEAVE,
47
+ onPress: async () => {
48
+ channel.leave().then(() => sdk.clearCachedMessages([channel.url]).catch());
49
+ },
50
+ onError: () => toast.show(STRINGS.TOAST.LEAVE_CHANNEL_ERROR, 'error')
51
+ }]
52
+ });
53
+ openMenu(menuItem);
54
+ });
55
+ const renderItem = useCallback(_ref2 => {
56
+ let {
57
+ item
58
+ } = _ref2;
59
+ return renderGroupChannelPreview === null || renderGroupChannelPreview === void 0 ? void 0 : renderGroupChannelPreview(item, () => onLongPress(item));
60
+ }, [renderGroupChannelPreview, onLongPress]);
61
+ const {
62
+ left,
63
+ right
64
+ } = useSafeAreaInsets();
65
+ return /*#__PURE__*/React.createElement(FlatList, _extends({
66
+ bounces: false,
67
+ data: groupChannels,
68
+ renderItem: renderItem,
69
+ onEndReached: onLoadNext
70
+ }, flatListProps, {
71
+ contentContainerStyle: [flatListProps === null || flatListProps === void 0 ? void 0 : flatListProps.contentContainerStyle, {
72
+ paddingLeft: left,
73
+ paddingRight: right
74
+ }]
75
+ }));
76
+ };
77
+
78
+ export default GroupChannelListList;
79
+ //# sourceMappingURL=GroupChannelListList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","FlatList","useSafeAreaInsets","useActionMenu","useToast","PASS","useFreshCallback","useLocalization","useSendbirdChat","GroupChannelListList","renderGroupChannelPreview","groupChannels","onLoadNext","flatListProps","menuItemCreator","toast","openMenu","STRINGS","sdk","currentUser","onLongPress","channel","action","myPushTriggerOption","menuItem","title","GROUP_CHANNEL_LIST","DIALOG_CHANNEL_TITLE","userId","menuItems","DIALOG_CHANNEL_NOTIFICATION","onPress","setMyPushTriggerOption","onError","show","TOAST","TURN_ON_NOTIFICATIONS_ERROR","TURN_OFF_NOTIFICATIONS_ERROR","DIALOG_CHANNEL_LEAVE","leave","then","clearCachedMessages","url","catch","LEAVE_CHANNEL_ERROR","renderItem","item","left","right","contentContainerStyle","paddingLeft","paddingRight"],"sources":["GroupChannelListList.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { FlatList, ListRenderItem } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { useActionMenu, useToast } from '@sendbird/uikit-react-native-foundation';\nimport { PASS, SendbirdGroupChannel, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport type { GroupChannelListProps } from '../types';\n\nconst GroupChannelListList = ({\n renderGroupChannelPreview,\n groupChannels,\n onLoadNext,\n flatListProps,\n menuItemCreator = PASS,\n}: GroupChannelListProps['List']) => {\n const toast = useToast();\n const { openMenu } = useActionMenu();\n const { STRINGS } = useLocalization();\n const { sdk, currentUser } = useSendbirdChat();\n\n const onLongPress = useFreshCallback((channel: SendbirdGroupChannel) => {\n const action = channel.myPushTriggerOption === 'off' ? 'on' : 'off';\n const menuItem = menuItemCreator({\n title: STRINGS.GROUP_CHANNEL_LIST.DIALOG_CHANNEL_TITLE(currentUser?.userId ?? '', channel),\n menuItems: [\n {\n title: STRINGS.GROUP_CHANNEL_LIST.DIALOG_CHANNEL_NOTIFICATION(channel),\n onPress: async () => {\n if (action === 'on') {\n await channel.setMyPushTriggerOption('default');\n } else {\n await channel.setMyPushTriggerOption('off');\n }\n },\n onError: () => {\n toast.show(\n action === 'on' ? STRINGS.TOAST.TURN_ON_NOTIFICATIONS_ERROR : STRINGS.TOAST.TURN_OFF_NOTIFICATIONS_ERROR,\n 'error',\n );\n },\n },\n {\n title: STRINGS.GROUP_CHANNEL_LIST.DIALOG_CHANNEL_LEAVE,\n onPress: async () => {\n channel.leave().then(() => sdk.clearCachedMessages([channel.url]).catch());\n },\n onError: () => toast.show(STRINGS.TOAST.LEAVE_CHANNEL_ERROR, 'error'),\n },\n ],\n });\n\n openMenu(menuItem);\n });\n\n const renderItem: ListRenderItem<SendbirdGroupChannel> = useCallback(\n ({ item }) => renderGroupChannelPreview?.(item, () => onLongPress(item)),\n [renderGroupChannelPreview, onLongPress],\n );\n\n const { left, right } = useSafeAreaInsets();\n return (\n <FlatList\n bounces={false}\n data={groupChannels}\n renderItem={renderItem}\n onEndReached={onLoadNext}\n {...flatListProps}\n contentContainerStyle={[flatListProps?.contentContainerStyle, { paddingLeft: left, paddingRight: right }]}\n />\n );\n};\n\nexport default GroupChannelListList;\n"],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import { StyleSheet, View } from 'react-native';
3
+ import TypedPlaceholder from '../../../components/TypedPlaceholder';
4
+
5
+ const GroupChannelListStatusEmpty = () => {
6
+ return /*#__PURE__*/React.createElement(View, {
7
+ style: styles.container
8
+ }, /*#__PURE__*/React.createElement(TypedPlaceholder, {
9
+ type: 'no-channels'
10
+ }));
11
+ };
12
+
13
+ const styles = StyleSheet.create({
14
+ container: {
15
+ flex: 1,
16
+ justifyContent: 'center',
17
+ alignItems: 'center'
18
+ }
19
+ });
20
+ export default GroupChannelListStatusEmpty;
21
+ //# sourceMappingURL=GroupChannelListStatusEmpty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","View","TypedPlaceholder","GroupChannelListStatusEmpty","styles","container","create","flex","justifyContent","alignItems"],"sources":["GroupChannelListStatusEmpty.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport TypedPlaceholder from '../../../components/TypedPlaceholder';\n\nconst GroupChannelListStatusEmpty = () => {\n return (\n <View style={styles.container}>\n <TypedPlaceholder type={'no-channels'} />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: { flex: 1, justifyContent: 'center', alignItems: 'center' },\n});\n\nexport default GroupChannelListStatusEmpty;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AAEA,OAAOC,gBAAP,MAA6B,sCAA7B;;AAEA,MAAMC,2BAA2B,GAAG,MAAM;EACxC,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACC;EAApB,gBACE,oBAAC,gBAAD;IAAkB,IAAI,EAAE;EAAxB,EADF,CADF;AAKD,CAND;;AAQA,MAAMD,MAAM,GAAGJ,UAAU,CAACM,MAAX,CAAkB;EAC/BD,SAAS,EAAE;IAAEE,IAAI,EAAE,CAAR;IAAWC,cAAc,EAAE,QAA3B;IAAqCC,UAAU,EAAE;EAAjD;AADoB,CAAlB,CAAf;AAIA,eAAeN,2BAAf"}
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import { StyleSheet, View } from 'react-native';
3
+ import TypedPlaceholder from '../../../components/TypedPlaceholder';
4
+
5
+ const GroupChannelListStatusLoading = () => {
6
+ return /*#__PURE__*/React.createElement(View, {
7
+ style: styles.container
8
+ }, /*#__PURE__*/React.createElement(TypedPlaceholder, {
9
+ type: 'loading'
10
+ }));
11
+ };
12
+
13
+ const styles = StyleSheet.create({
14
+ container: {
15
+ flex: 1,
16
+ justifyContent: 'center',
17
+ alignItems: 'center'
18
+ }
19
+ });
20
+ export default GroupChannelListStatusLoading;
21
+ //# sourceMappingURL=GroupChannelListStatusLoading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","View","TypedPlaceholder","GroupChannelListStatusLoading","styles","container","create","flex","justifyContent","alignItems"],"sources":["GroupChannelListStatusLoading.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport TypedPlaceholder from '../../../components/TypedPlaceholder';\n\nconst GroupChannelListStatusLoading = () => {\n return (\n <View style={styles.container}>\n <TypedPlaceholder type={'loading'} />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: { flex: 1, justifyContent: 'center', alignItems: 'center' },\n});\n\nexport default GroupChannelListStatusLoading;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AAEA,OAAOC,gBAAP,MAA6B,sCAA7B;;AAEA,MAAMC,6BAA6B,GAAG,MAAM;EAC1C,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACC;EAApB,gBACE,oBAAC,gBAAD;IAAkB,IAAI,EAAE;EAAxB,EADF,CADF;AAKD,CAND;;AAQA,MAAMD,MAAM,GAAGJ,UAAU,CAACM,MAAX,CAAkB;EAC/BD,SAAS,EAAE;IAAEE,IAAI,EAAE,CAAR;IAAWC,cAAc,EAAE,QAA3B;IAAqCC,UAAU,EAAE;EAAjD;AADoB,CAAlB,CAAf;AAIA,eAAeN,6BAAf"}
@@ -0,0 +1,124 @@
1
+ import React, { useContext, useEffect } from 'react';
2
+ import { TouchableOpacity, View } from 'react-native';
3
+ import { Header as DefaultHeader, Icon, Modal, Text, createStyleSheet, useHeaderStyle, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
4
+ import { useLocalization } from '../../../hooks/useContext';
5
+ import { GroupChannelListContexts } from '../module/moduleContext';
6
+ const TYPES = ['GROUP', 'SUPER_GROUP', 'BROADCAST'];
7
+ const TYPE_ICONS = {
8
+ 'GROUP': 'chat',
9
+ 'SUPER_GROUP': 'supergroup',
10
+ 'BROADCAST': 'broadcast'
11
+ };
12
+
13
+ const GroupChannelListTypeSelector = _ref => {
14
+ let {
15
+ Header = DefaultHeader,
16
+ skipTypeSelection,
17
+ onSelectType
18
+ } = _ref;
19
+ const {
20
+ statusBarTranslucent
21
+ } = useHeaderStyle();
22
+ const {
23
+ colors
24
+ } = useUIKitTheme();
25
+ const typeSelector = useContext(GroupChannelListContexts.TypeSelector);
26
+ const {
27
+ visible,
28
+ hide
29
+ } = typeSelector;
30
+
31
+ const createOnPressType = type => () => {
32
+ hide();
33
+ onSelectType(type);
34
+ };
35
+
36
+ useEffect(() => {
37
+ if (skipTypeSelection && visible) createOnPressType('GROUP')();
38
+ }, [skipTypeSelection, visible]);
39
+ if (skipTypeSelection) return null;
40
+
41
+ const renderButtons = () => /*#__PURE__*/React.createElement(View, {
42
+ style: styles.buttonArea
43
+ }, TYPES.map(type => {
44
+ return /*#__PURE__*/React.createElement(TouchableOpacity, {
45
+ key: type,
46
+ activeOpacity: 0.6,
47
+ onPress: createOnPressType(type),
48
+ style: styles.typeButton
49
+ }, /*#__PURE__*/React.createElement(DefaultTypeIcon, {
50
+ type: type
51
+ }), /*#__PURE__*/React.createElement(DefaultTypeText, {
52
+ type: type
53
+ }));
54
+ }));
55
+
56
+ const renderHeader = () => {
57
+ if (Header) {
58
+ return /*#__PURE__*/React.createElement(Header, {
59
+ title: typeSelector.headerTitle,
60
+ right: /*#__PURE__*/React.createElement(Icon, {
61
+ icon: 'close',
62
+ color: colors.onBackground01
63
+ }),
64
+ onPressRight: typeSelector.hide
65
+ }, renderButtons());
66
+ }
67
+
68
+ return /*#__PURE__*/React.createElement(DefaultHeader, {
69
+ title: null,
70
+ right: null,
71
+ left: null
72
+ }, renderButtons());
73
+ };
74
+
75
+ return /*#__PURE__*/React.createElement(Modal, {
76
+ visible: visible,
77
+ onClose: hide,
78
+ statusBarTranslucent: statusBarTranslucent
79
+ }, renderHeader());
80
+ };
81
+
82
+ const DefaultTypeIcon = _ref2 => {
83
+ let {
84
+ type
85
+ } = _ref2;
86
+ return /*#__PURE__*/React.createElement(Icon, {
87
+ size: 24,
88
+ icon: TYPE_ICONS[type],
89
+ containerStyle: styles.icon
90
+ });
91
+ };
92
+
93
+ const DefaultTypeText = _ref3 => {
94
+ let {
95
+ type
96
+ } = _ref3;
97
+ const {
98
+ STRINGS
99
+ } = useLocalization();
100
+ const {
101
+ colors
102
+ } = useUIKitTheme();
103
+ return /*#__PURE__*/React.createElement(Text, {
104
+ caption2: true,
105
+ color: colors.onBackground01
106
+ }, STRINGS.GROUP_CHANNEL_LIST[`TYPE_SELECTOR_${type}`]);
107
+ };
108
+
109
+ const styles = createStyleSheet({
110
+ buttonArea: {
111
+ flexDirection: 'row'
112
+ },
113
+ typeButton: {
114
+ paddingVertical: 24,
115
+ flex: 1,
116
+ alignItems: 'center',
117
+ justifyContent: 'center'
118
+ },
119
+ icon: {
120
+ marginBottom: 8
121
+ }
122
+ });
123
+ export default GroupChannelListTypeSelector;
124
+ //# sourceMappingURL=GroupChannelListTypeSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useContext","useEffect","TouchableOpacity","View","Header","DefaultHeader","Icon","Modal","Text","createStyleSheet","useHeaderStyle","useUIKitTheme","useLocalization","GroupChannelListContexts","TYPES","TYPE_ICONS","GroupChannelListTypeSelector","skipTypeSelection","onSelectType","statusBarTranslucent","colors","typeSelector","TypeSelector","visible","hide","createOnPressType","type","renderButtons","styles","buttonArea","map","typeButton","renderHeader","headerTitle","onBackground01","DefaultTypeIcon","icon","DefaultTypeText","STRINGS","GROUP_CHANNEL_LIST","flexDirection","paddingVertical","flex","alignItems","justifyContent","marginBottom"],"sources":["GroupChannelListTypeSelector.tsx"],"sourcesContent":["import React, { useContext, useEffect } from 'react';\nimport { TouchableOpacity, View } from 'react-native';\n\nimport {\n Header as DefaultHeader,\n Icon,\n Modal,\n Text,\n createStyleSheet,\n useHeaderStyle,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\n\nimport { useLocalization } from '../../../hooks/useContext';\nimport { GroupChannelListContexts } from '../module/moduleContext';\nimport type { GroupChannelListProps, GroupChannelType } from '../types';\n\nconst TYPES: GroupChannelType[] = ['GROUP', 'SUPER_GROUP', 'BROADCAST'];\nconst TYPE_ICONS: Record<GroupChannelType, keyof typeof Icon.Assets> = {\n 'GROUP': 'chat',\n 'SUPER_GROUP': 'supergroup',\n 'BROADCAST': 'broadcast',\n};\n\nconst GroupChannelListTypeSelector = ({\n Header = DefaultHeader,\n skipTypeSelection,\n onSelectType,\n}: GroupChannelListProps['TypeSelector']) => {\n const { statusBarTranslucent } = useHeaderStyle();\n const { colors } = useUIKitTheme();\n const typeSelector = useContext(GroupChannelListContexts.TypeSelector);\n const { visible, hide } = typeSelector;\n const createOnPressType = (type: GroupChannelType) => () => {\n hide();\n onSelectType(type);\n };\n\n useEffect(() => {\n if (skipTypeSelection && visible) createOnPressType('GROUP')();\n }, [skipTypeSelection, visible]);\n\n if (skipTypeSelection) return null;\n\n const renderButtons = () => (\n <View style={styles.buttonArea}>\n {TYPES.map((type) => {\n return (\n <TouchableOpacity key={type} activeOpacity={0.6} onPress={createOnPressType(type)} style={styles.typeButton}>\n <DefaultTypeIcon type={type} />\n <DefaultTypeText type={type} />\n </TouchableOpacity>\n );\n })}\n </View>\n );\n\n const renderHeader = () => {\n if (Header) {\n return (\n <Header\n title={typeSelector.headerTitle}\n right={<Icon icon={'close'} color={colors.onBackground01} />}\n onPressRight={typeSelector.hide}\n >\n {renderButtons()}\n </Header>\n );\n }\n\n return (\n <DefaultHeader title={null} right={null} left={null}>\n {renderButtons()}\n </DefaultHeader>\n );\n };\n\n return (\n <Modal visible={visible} onClose={hide} statusBarTranslucent={statusBarTranslucent}>\n {renderHeader()}\n </Modal>\n );\n};\n\nconst DefaultTypeIcon = ({ type }: { type: GroupChannelType }) => {\n return <Icon size={24} icon={TYPE_ICONS[type]} containerStyle={styles.icon} />;\n};\n\nconst DefaultTypeText = ({ type }: { type: GroupChannelType }) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n return (\n <Text caption2 color={colors.onBackground01}>\n {STRINGS.GROUP_CHANNEL_LIST[`TYPE_SELECTOR_${type}`]}\n </Text>\n );\n};\n\nconst styles = createStyleSheet({\n buttonArea: {\n flexDirection: 'row',\n },\n typeButton: {\n paddingVertical: 24,\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n icon: {\n marginBottom: 8,\n },\n});\n\nexport default GroupChannelListTypeSelector;\n"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export { default as GroupChannelListHeader } from './component/GroupChannelListHeader';
2
+ export { default as GroupChannelListList } from './component/GroupChannelListList';
3
+ export { default as GroupChannelListStatusEmpty } from './component/GroupChannelListStatusEmpty';
4
+ export { default as GroupChannelListStatusLoading } from './component/GroupChannelListStatusLoading';
5
+ export { default as GroupChannelListTypeSelector } from './component/GroupChannelListTypeSelector';
6
+ export { default as createGroupChannelListModule } from './module/createGroupChannelListModule';
7
+ export { GroupChannelListContextsProvider, GroupChannelListContexts } from './module/moduleContext';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["default","GroupChannelListHeader","GroupChannelListList","GroupChannelListStatusEmpty","GroupChannelListStatusLoading","GroupChannelListTypeSelector","createGroupChannelListModule","GroupChannelListContextsProvider","GroupChannelListContexts"],"sources":["index.ts"],"sourcesContent":["export { default as GroupChannelListHeader } from './component/GroupChannelListHeader';\nexport { default as GroupChannelListList } from './component/GroupChannelListList';\nexport { default as GroupChannelListStatusEmpty } from './component/GroupChannelListStatusEmpty';\nexport { default as GroupChannelListStatusLoading } from './component/GroupChannelListStatusLoading';\nexport { default as GroupChannelListTypeSelector } from './component/GroupChannelListTypeSelector';\nexport { default as createGroupChannelListModule } from './module/createGroupChannelListModule';\nexport { GroupChannelListContextsProvider, GroupChannelListContexts } from './module/moduleContext';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,sBAApB,QAAkD,oCAAlD;AACA,SAASD,OAAO,IAAIE,oBAApB,QAAgD,kCAAhD;AACA,SAASF,OAAO,IAAIG,2BAApB,QAAuD,yCAAvD;AACA,SAASH,OAAO,IAAII,6BAApB,QAAyD,2CAAzD;AACA,SAASJ,OAAO,IAAIK,4BAApB,QAAwD,0CAAxD;AACA,SAASL,OAAO,IAAIM,4BAApB,QAAwD,uCAAxD;AACA,SAASC,gCAAT,EAA2CC,wBAA3C,QAA2E,wBAA3E"}
@@ -0,0 +1,30 @@
1
+ import GroupChannelListHeader from '../component/GroupChannelListHeader';
2
+ import GroupChannelListList from '../component/GroupChannelListList';
3
+ import GroupChannelListStatusEmpty from '../component/GroupChannelListStatusEmpty';
4
+ import GroupChannelListStatusLoading from '../component/GroupChannelListStatusLoading';
5
+ import GroupChannelListTypeSelector from '../component/GroupChannelListTypeSelector';
6
+ import { GroupChannelListContextsProvider } from './moduleContext';
7
+
8
+ const createGroupChannelListModule = function () {
9
+ let {
10
+ Header = GroupChannelListHeader,
11
+ List = GroupChannelListList,
12
+ TypeSelector = GroupChannelListTypeSelector,
13
+ StatusLoading = GroupChannelListStatusLoading,
14
+ StatusEmpty = GroupChannelListStatusEmpty,
15
+ Provider = GroupChannelListContextsProvider,
16
+ ...module
17
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
18
+ return {
19
+ Header,
20
+ List,
21
+ TypeSelector,
22
+ StatusLoading,
23
+ StatusEmpty,
24
+ Provider,
25
+ ...module
26
+ };
27
+ };
28
+
29
+ export default createGroupChannelListModule;
30
+ //# sourceMappingURL=createGroupChannelListModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GroupChannelListHeader","GroupChannelListList","GroupChannelListStatusEmpty","GroupChannelListStatusLoading","GroupChannelListTypeSelector","GroupChannelListContextsProvider","createGroupChannelListModule","Header","List","TypeSelector","StatusLoading","StatusEmpty","Provider","module"],"sources":["createGroupChannelListModule.tsx"],"sourcesContent":["import GroupChannelListHeader from '../component/GroupChannelListHeader';\nimport GroupChannelListList from '../component/GroupChannelListList';\nimport GroupChannelListStatusEmpty from '../component/GroupChannelListStatusEmpty';\nimport GroupChannelListStatusLoading from '../component/GroupChannelListStatusLoading';\nimport GroupChannelListTypeSelector from '../component/GroupChannelListTypeSelector';\nimport type { GroupChannelListModule } from '../types';\nimport { GroupChannelListContextsProvider } from './moduleContext';\n\nconst createGroupChannelListModule = ({\n Header = GroupChannelListHeader,\n List = GroupChannelListList,\n TypeSelector = GroupChannelListTypeSelector,\n StatusLoading = GroupChannelListStatusLoading,\n StatusEmpty = GroupChannelListStatusEmpty,\n Provider = GroupChannelListContextsProvider,\n ...module\n}: Partial<GroupChannelListModule> = {}): GroupChannelListModule => {\n return { Header, List, TypeSelector, StatusLoading, StatusEmpty, Provider, ...module };\n};\n\nexport default createGroupChannelListModule;\n"],"mappings":"AAAA,OAAOA,sBAAP,MAAmC,qCAAnC;AACA,OAAOC,oBAAP,MAAiC,mCAAjC;AACA,OAAOC,2BAAP,MAAwC,0CAAxC;AACA,OAAOC,6BAAP,MAA0C,4CAA1C;AACA,OAAOC,4BAAP,MAAyC,2CAAzC;AAEA,SAASC,gCAAT,QAAiD,iBAAjD;;AAEA,MAAMC,4BAA4B,GAAG,YAQ+B;EAAA,IAR9B;IACpCC,MAAM,GAAGP,sBAD2B;IAEpCQ,IAAI,GAAGP,oBAF6B;IAGpCQ,YAAY,GAAGL,4BAHqB;IAIpCM,aAAa,GAAGP,6BAJoB;IAKpCQ,WAAW,GAAGT,2BALsB;IAMpCU,QAAQ,GAAGP,gCANyB;IAOpC,GAAGQ;EAPiC,CAQ8B,uEAA/B,EAA+B;EAClE,OAAO;IAAEN,MAAF;IAAUC,IAAV;IAAgBC,YAAhB;IAA8BC,aAA9B;IAA6CC,WAA7C;IAA0DC,QAA1D;IAAoE,GAAGC;EAAvE,CAAP;AACD,CAVD;;AAYA,eAAeP,4BAAf"}
@@ -0,0 +1,40 @@
1
+ import React, { createContext, useCallback, useState } from 'react';
2
+ import { NOOP } from '@sendbird/uikit-utils';
3
+ import ProviderLayout from '../../../components/ProviderLayout';
4
+ import { useLocalization } from '../../../hooks/useContext';
5
+ export const GroupChannelListContexts = {
6
+ Fragment: /*#__PURE__*/createContext({
7
+ headerTitle: ''
8
+ }),
9
+ TypeSelector: /*#__PURE__*/createContext({
10
+ headerTitle: '',
11
+ visible: Boolean(),
12
+ hide: NOOP,
13
+ show: NOOP
14
+ })
15
+ };
16
+ export const GroupChannelListContextsProvider = _ref => {
17
+ let {
18
+ children
19
+ } = _ref;
20
+ const {
21
+ STRINGS
22
+ } = useLocalization(); // Type selector
23
+
24
+ const [visible, setVisible] = useState(false);
25
+ const show = useCallback(() => setVisible(true), []);
26
+ const hide = useCallback(() => setVisible(false), []);
27
+ return /*#__PURE__*/React.createElement(ProviderLayout, null, /*#__PURE__*/React.createElement(GroupChannelListContexts.TypeSelector.Provider, {
28
+ value: {
29
+ headerTitle: STRINGS.GROUP_CHANNEL_LIST.TYPE_SELECTOR_HEADER_TITLE,
30
+ visible,
31
+ show,
32
+ hide
33
+ }
34
+ }, /*#__PURE__*/React.createElement(GroupChannelListContexts.Fragment.Provider, {
35
+ value: {
36
+ headerTitle: STRINGS.GROUP_CHANNEL_LIST.HEADER_TITLE
37
+ }
38
+ }, children)));
39
+ };
40
+ //# sourceMappingURL=moduleContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","createContext","useCallback","useState","NOOP","ProviderLayout","useLocalization","GroupChannelListContexts","Fragment","headerTitle","TypeSelector","visible","Boolean","hide","show","GroupChannelListContextsProvider","children","STRINGS","setVisible","GROUP_CHANNEL_LIST","TYPE_SELECTOR_HEADER_TITLE","HEADER_TITLE"],"sources":["moduleContext.tsx"],"sourcesContent":["import React, { createContext, useCallback, useState } from 'react';\n\nimport { NOOP } from '@sendbird/uikit-utils';\n\nimport ProviderLayout from '../../../components/ProviderLayout';\nimport { useLocalization } from '../../../hooks/useContext';\nimport type { GroupChannelListContextsType, GroupChannelListModule } from '../types';\n\nexport const GroupChannelListContexts: GroupChannelListContextsType = {\n Fragment: createContext({\n headerTitle: '',\n }),\n TypeSelector: createContext({\n headerTitle: '',\n visible: Boolean(),\n hide: NOOP,\n show: NOOP,\n }),\n};\n\nexport const GroupChannelListContextsProvider: GroupChannelListModule['Provider'] = ({ children }) => {\n const { STRINGS } = useLocalization();\n\n // Type selector\n const [visible, setVisible] = useState(false);\n const show = useCallback(() => setVisible(true), []);\n const hide = useCallback(() => setVisible(false), []);\n\n return (\n <ProviderLayout>\n <GroupChannelListContexts.TypeSelector.Provider\n value={{ headerTitle: STRINGS.GROUP_CHANNEL_LIST.TYPE_SELECTOR_HEADER_TITLE, visible, show, hide }}\n >\n <GroupChannelListContexts.Fragment.Provider value={{ headerTitle: STRINGS.GROUP_CHANNEL_LIST.HEADER_TITLE }}>\n {children}\n </GroupChannelListContexts.Fragment.Provider>\n </GroupChannelListContexts.TypeSelector.Provider>\n </ProviderLayout>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,aAAhB,EAA+BC,WAA/B,EAA4CC,QAA5C,QAA4D,OAA5D;AAEA,SAASC,IAAT,QAAqB,uBAArB;AAEA,OAAOC,cAAP,MAA2B,oCAA3B;AACA,SAASC,eAAT,QAAgC,2BAAhC;AAGA,OAAO,MAAMC,wBAAsD,GAAG;EACpEC,QAAQ,eAAEP,aAAa,CAAC;IACtBQ,WAAW,EAAE;EADS,CAAD,CAD6C;EAIpEC,YAAY,eAAET,aAAa,CAAC;IAC1BQ,WAAW,EAAE,EADa;IAE1BE,OAAO,EAAEC,OAAO,EAFU;IAG1BC,IAAI,EAAET,IAHoB;IAI1BU,IAAI,EAAEV;EAJoB,CAAD;AAJyC,CAA/D;AAYP,OAAO,MAAMW,gCAAoE,GAAG,QAAkB;EAAA,IAAjB;IAAEC;EAAF,CAAiB;EACpG,MAAM;IAAEC;EAAF,IAAcX,eAAe,EAAnC,CADoG,CAGpG;;EACA,MAAM,CAACK,OAAD,EAAUO,UAAV,IAAwBf,QAAQ,CAAC,KAAD,CAAtC;EACA,MAAMW,IAAI,GAAGZ,WAAW,CAAC,MAAMgB,UAAU,CAAC,IAAD,CAAjB,EAAyB,EAAzB,CAAxB;EACA,MAAML,IAAI,GAAGX,WAAW,CAAC,MAAMgB,UAAU,CAAC,KAAD,CAAjB,EAA0B,EAA1B,CAAxB;EAEA,oBACE,oBAAC,cAAD,qBACE,oBAAC,wBAAD,CAA0B,YAA1B,CAAuC,QAAvC;IACE,KAAK,EAAE;MAAET,WAAW,EAAEQ,OAAO,CAACE,kBAAR,CAA2BC,0BAA1C;MAAsET,OAAtE;MAA+EG,IAA/E;MAAqFD;IAArF;EADT,gBAGE,oBAAC,wBAAD,CAA0B,QAA1B,CAAmC,QAAnC;IAA4C,KAAK,EAAE;MAAEJ,WAAW,EAAEQ,OAAO,CAACE,kBAAR,CAA2BE;IAA1C;EAAnD,GACGL,QADH,CAHF,CADF,CADF;AAWD,CAnBM"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\nimport type { FlatListProps } from 'react-native';\n\nimport type { UseGroupChannelListOptions } from '@sendbird/uikit-chat-hooks';\nimport type { ActionMenuItem, BaseHeaderProps } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdGroupChannel } from '@sendbird/uikit-utils';\n\nimport type { CommonComponent } from '../../types';\n\nexport interface GroupChannelListProps {\n /** Props for `GroupChannelListFragment` **/\n Fragment: {\n /** Navigate to GroupChannelFragment **/\n onPressChannel: (channel: SendbirdGroupChannel) => void;\n /** Navigate to GroupChannelCreateFragment **/\n onPressCreateChannel: (channelType: GroupChannelType) => void;\n /** Custom Header for TypeSelector, Only replace header component not a module **/\n TypeSelectorHeader?: null | CommonComponent<\n BaseHeaderProps<{ title: string; right: React.ReactElement; onPressRight: () => void }>\n >;\n /** Method to render GroupChannel preview **/\n renderGroupChannelPreview?: (\n channel: SendbirdGroupChannel,\n onLongPressChannel: () => void,\n ) => React.ReactElement | null;\n // /** Skip type selection, When this is set to true 'channelType' only receive 'GROUP' type **/\n // skipTypeSelection?: boolean;\n /** Custom Query creator for channels query **/\n queryCreator?: UseGroupChannelListOptions['queryCreator'];\n /** Sort comparator for sort channels **/\n sortComparator?: UseGroupChannelListOptions['sortComparator'];\n /** FlatList props for GroupChannelList.List **/\n flatListProps?: GroupChannelListProps['List']['flatListProps'];\n /** Action menu item creator for onLongPress **/\n menuItemCreator?: GroupChannelListProps['List']['menuItemCreator'];\n };\n /** Props for `GroupChannelListModule.Header` **/\n Header: {};\n /** Props for `GroupChannelListModule.List` **/\n List: {\n /** GroupChannels from SendbirdChat SDK **/\n groupChannels: SendbirdGroupChannel[];\n /** Method to render GroupChannel preview **/\n renderGroupChannelPreview: (\n channel: SendbirdGroupChannel,\n onLongPressChannel: () => void,\n ) => React.ReactElement | null;\n /** Method to load more data, called with onEndReached of FlatList **/\n onLoadNext: () => Promise<void>;\n /** Prop from Fragment **/\n flatListProps?: Omit<FlatListProps<SendbirdGroupChannel>, 'data' | 'renderItem'>;\n /** Prop from Fragment **/\n menuItemCreator?: (defaultMenuItem: ActionMenuItem) => ActionMenuItem;\n };\n /** Props for `GroupChannelListModule.TypeSelector` **/\n TypeSelector: {\n /** Prop from Fragment `Fragment.TypeSelectorHeader` **/\n Header: GroupChannelListProps['Fragment']['TypeSelectorHeader'];\n /** Prop from Fragment `Fragment.skipTypeSelection` **/\n skipTypeSelection: boolean;\n /** Method called when type is selected, call `Fragment.onPressCreateChannel` **/\n onSelectType: (type: GroupChannelType) => void;\n };\n}\n\n/**\n * Internal context for GroupChannelList\n * For example, the developer can create a custom header\n * with getting data from the domain context\n * */\nexport interface GroupChannelListContextsType {\n Fragment: React.Context<{\n headerTitle: string;\n }>;\n TypeSelector: React.Context<{\n visible: boolean;\n show: () => void;\n hide: () => void;\n headerTitle: string;\n }>;\n}\nexport interface GroupChannelListModule {\n Provider: CommonComponent;\n Header: CommonComponent<GroupChannelListProps['Header']>;\n List: CommonComponent<GroupChannelListProps['List']>;\n TypeSelector: CommonComponent<GroupChannelListProps['TypeSelector']>;\n StatusEmpty: CommonComponent;\n StatusLoading: CommonComponent;\n}\n\nexport type GroupChannelListFragment = CommonComponent<GroupChannelListProps['Fragment']>;\nexport type GroupChannelType = 'GROUP' | 'SUPER_GROUP' | 'BROADCAST';\n"],"mappings":""}
@@ -0,0 +1,35 @@
1
+ import React, { useContext } from 'react';
2
+ import { Icon, Text, useHeaderStyle, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
3
+ import { GroupChannelSettingsContexts } from '../module/moduleContext';
4
+
5
+ const GroupChannelSettingsHeader = _ref => {
6
+ let {
7
+ onPressHeaderLeft
8
+ } = _ref;
9
+ const {
10
+ colors
11
+ } = useUIKitTheme();
12
+ const {
13
+ headerTitle,
14
+ headerRight,
15
+ onPressHeaderRight
16
+ } = useContext(GroupChannelSettingsContexts.Fragment);
17
+ const {
18
+ HeaderComponent
19
+ } = useHeaderStyle();
20
+ return /*#__PURE__*/React.createElement(HeaderComponent, {
21
+ title: headerTitle,
22
+ left: /*#__PURE__*/React.createElement(Icon, {
23
+ icon: 'arrow-left'
24
+ }),
25
+ onPressLeft: onPressHeaderLeft,
26
+ right: /*#__PURE__*/React.createElement(Text, {
27
+ button: true,
28
+ color: colors.primary
29
+ }, headerRight),
30
+ onPressRight: onPressHeaderRight
31
+ });
32
+ };
33
+
34
+ export default GroupChannelSettingsHeader;
35
+ //# sourceMappingURL=GroupChannelSettingsHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useContext","Icon","Text","useHeaderStyle","useUIKitTheme","GroupChannelSettingsContexts","GroupChannelSettingsHeader","onPressHeaderLeft","colors","headerTitle","headerRight","onPressHeaderRight","Fragment","HeaderComponent","primary"],"sources":["GroupChannelSettingsHeader.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport { Icon, Text, useHeaderStyle, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\n\nimport { GroupChannelSettingsContexts } from '../module/moduleContext';\nimport type { GroupChannelSettingsProps } from '../types';\n\nconst GroupChannelSettingsHeader = ({ onPressHeaderLeft }: GroupChannelSettingsProps['Header']) => {\n const { colors } = useUIKitTheme();\n const { headerTitle, headerRight, onPressHeaderRight } = useContext(GroupChannelSettingsContexts.Fragment);\n\n const { HeaderComponent } = useHeaderStyle();\n\n return (\n <HeaderComponent\n title={headerTitle}\n left={<Icon icon={'arrow-left'} />}\n onPressLeft={onPressHeaderLeft}\n right={\n <Text button color={colors.primary}>\n {headerRight}\n </Text>\n }\n onPressRight={onPressHeaderRight}\n />\n );\n};\n\nexport default GroupChannelSettingsHeader;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AAEA,SAASC,IAAT,EAAeC,IAAf,EAAqBC,cAArB,EAAqCC,aAArC,QAA0D,yCAA1D;AAEA,SAASC,4BAAT,QAA6C,yBAA7C;;AAGA,MAAMC,0BAA0B,GAAG,QAAgE;EAAA,IAA/D;IAAEC;EAAF,CAA+D;EACjG,MAAM;IAAEC;EAAF,IAAaJ,aAAa,EAAhC;EACA,MAAM;IAAEK,WAAF;IAAeC,WAAf;IAA4BC;EAA5B,IAAmDX,UAAU,CAACK,4BAA4B,CAACO,QAA9B,CAAnE;EAEA,MAAM;IAAEC;EAAF,IAAsBV,cAAc,EAA1C;EAEA,oBACE,oBAAC,eAAD;IACE,KAAK,EAAEM,WADT;IAEE,IAAI,eAAE,oBAAC,IAAD;MAAM,IAAI,EAAE;IAAZ,EAFR;IAGE,WAAW,EAAEF,iBAHf;IAIE,KAAK,eACH,oBAAC,IAAD;MAAM,MAAM,MAAZ;MAAa,KAAK,EAAEC,MAAM,CAACM;IAA3B,GACGJ,WADH,CALJ;IASE,YAAY,EAAEC;EAThB,EADF;AAaD,CAnBD;;AAqBA,eAAeL,0BAAf"}
@@ -0,0 +1,56 @@
1
+ import React, { useContext } from 'react';
2
+ import { View } from 'react-native';
3
+ import { Divider, Text, createStyleSheet } from '@sendbird/uikit-react-native-foundation';
4
+ import { Logger, getGroupChannelTitle } from '@sendbird/uikit-utils';
5
+ import ChannelCover from '../../../components/ChannelCover';
6
+ import { useLocalization, useSendbirdChat } from '../../../hooks/useContext';
7
+ import { GroupChannelSettingsContexts } from '../module/moduleContext';
8
+
9
+ const GroupChannelSettingsInfo = _ => {
10
+ const {
11
+ channel
12
+ } = useContext(GroupChannelSettingsContexts.Fragment);
13
+ const {
14
+ currentUser
15
+ } = useSendbirdChat();
16
+ const {
17
+ STRINGS
18
+ } = useLocalization();
19
+
20
+ if (!currentUser) {
21
+ Logger.warn('Cannot render GroupChannelSettingsInfo, User is not connected');
22
+ return null;
23
+ }
24
+
25
+ return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(View, {
26
+ style: styles.userInfoContainer
27
+ }, /*#__PURE__*/React.createElement(ChannelCover, {
28
+ channel: channel,
29
+ size: 80,
30
+ containerStyle: styles.avatarContainer
31
+ }), /*#__PURE__*/React.createElement(Text, {
32
+ h1: true,
33
+ numberOfLines: 1
34
+ }, getGroupChannelTitle(currentUser.userId, channel, STRINGS.LABELS.USER_NO_NAME, STRINGS.LABELS.CHANNEL_NO_MEMBERS))), /*#__PURE__*/React.createElement(Divider, null));
35
+ };
36
+
37
+ const styles = createStyleSheet({
38
+ container: {
39
+ flex: 1
40
+ },
41
+ userInfoContainer: {
42
+ paddingVertical: 24,
43
+ alignItems: 'center'
44
+ },
45
+ avatarContainer: {
46
+ marginBottom: 12
47
+ },
48
+ userIdContainer: {
49
+ paddingVertical: 16
50
+ },
51
+ userIdLabel: {
52
+ marginBottom: 4
53
+ }
54
+ });
55
+ export default GroupChannelSettingsInfo;
56
+ //# sourceMappingURL=GroupChannelSettingsInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useContext","View","Divider","Text","createStyleSheet","Logger","getGroupChannelTitle","ChannelCover","useLocalization","useSendbirdChat","GroupChannelSettingsContexts","GroupChannelSettingsInfo","_","channel","Fragment","currentUser","STRINGS","warn","styles","userInfoContainer","avatarContainer","userId","LABELS","USER_NO_NAME","CHANNEL_NO_MEMBERS","container","flex","paddingVertical","alignItems","marginBottom","userIdContainer","userIdLabel"],"sources":["GroupChannelSettingsInfo.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { View } from 'react-native';\n\nimport { Divider, Text, createStyleSheet } from '@sendbird/uikit-react-native-foundation';\nimport { Logger, getGroupChannelTitle } from '@sendbird/uikit-utils';\n\nimport ChannelCover from '../../../components/ChannelCover';\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport { GroupChannelSettingsContexts } from '../module/moduleContext';\nimport type { GroupChannelSettingsProps } from '../types';\n\nconst GroupChannelSettingsInfo = (_: GroupChannelSettingsProps['Info']) => {\n const { channel } = useContext(GroupChannelSettingsContexts.Fragment);\n const { currentUser } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n\n if (!currentUser) {\n Logger.warn('Cannot render GroupChannelSettingsInfo, User is not connected');\n return null;\n }\n\n return (\n <View>\n <View style={styles.userInfoContainer}>\n <ChannelCover channel={channel} size={80} containerStyle={styles.avatarContainer} />\n <Text h1 numberOfLines={1}>\n {getGroupChannelTitle(\n currentUser.userId,\n channel,\n STRINGS.LABELS.USER_NO_NAME,\n STRINGS.LABELS.CHANNEL_NO_MEMBERS,\n )}\n </Text>\n </View>\n <Divider />\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: { flex: 1 },\n userInfoContainer: { paddingVertical: 24, alignItems: 'center' },\n avatarContainer: { marginBottom: 12 },\n userIdContainer: { paddingVertical: 16 },\n userIdLabel: { marginBottom: 4 },\n});\nexport default GroupChannelSettingsInfo;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,SAASC,IAAT,QAAqB,cAArB;AAEA,SAASC,OAAT,EAAkBC,IAAlB,EAAwBC,gBAAxB,QAAgD,yCAAhD;AACA,SAASC,MAAT,EAAiBC,oBAAjB,QAA6C,uBAA7C;AAEA,OAAOC,YAAP,MAAyB,kCAAzB;AACA,SAASC,eAAT,EAA0BC,eAA1B,QAAiD,2BAAjD;AACA,SAASC,4BAAT,QAA6C,yBAA7C;;AAGA,MAAMC,wBAAwB,GAAIC,CAAD,IAA0C;EACzE,MAAM;IAAEC;EAAF,IAAcb,UAAU,CAACU,4BAA4B,CAACI,QAA9B,CAA9B;EACA,MAAM;IAAEC;EAAF,IAAkBN,eAAe,EAAvC;EACA,MAAM;IAAEO;EAAF,IAAcR,eAAe,EAAnC;;EAEA,IAAI,CAACO,WAAL,EAAkB;IAChBV,MAAM,CAACY,IAAP,CAAY,+DAAZ;IACA,OAAO,IAAP;EACD;;EAED,oBACE,oBAAC,IAAD,qBACE,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACC;EAApB,gBACE,oBAAC,YAAD;IAAc,OAAO,EAAEN,OAAvB;IAAgC,IAAI,EAAE,EAAtC;IAA0C,cAAc,EAAEK,MAAM,CAACE;EAAjE,EADF,eAEE,oBAAC,IAAD;IAAM,EAAE,MAAR;IAAS,aAAa,EAAE;EAAxB,GACGd,oBAAoB,CACnBS,WAAW,CAACM,MADO,EAEnBR,OAFmB,EAGnBG,OAAO,CAACM,MAAR,CAAeC,YAHI,EAInBP,OAAO,CAACM,MAAR,CAAeE,kBAJI,CADvB,CAFF,CADF,eAYE,oBAAC,OAAD,OAZF,CADF;AAgBD,CA1BD;;AA4BA,MAAMN,MAAM,GAAGd,gBAAgB,CAAC;EAC9BqB,SAAS,EAAE;IAAEC,IAAI,EAAE;EAAR,CADmB;EAE9BP,iBAAiB,EAAE;IAAEQ,eAAe,EAAE,EAAnB;IAAuBC,UAAU,EAAE;EAAnC,CAFW;EAG9BR,eAAe,EAAE;IAAES,YAAY,EAAE;EAAhB,CAHa;EAI9BC,eAAe,EAAE;IAAEH,eAAe,EAAE;EAAnB,CAJa;EAK9BI,WAAW,EAAE;IAAEF,YAAY,EAAE;EAAhB;AALiB,CAAD,CAA/B;AAOA,eAAelB,wBAAf"}
@@ -0,0 +1,78 @@
1
+ import React, { useContext } from 'react';
2
+ import { View } from 'react-native';
3
+ import { Icon, MenuBar, Switch, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
4
+ import { useLocalization, useSendbirdChat } from '../../../hooks/useContext';
5
+ import { GroupChannelSettingsContexts } from '../module/moduleContext';
6
+
7
+ const GroupChannelSettingsMenu = _ref => {
8
+ let {
9
+ onPressMenuMembers,
10
+ onPressMenuLeaveChannel,
11
+ menuItemsCreator = menu => menu
12
+ } = _ref;
13
+ const {
14
+ sdk
15
+ } = useSendbirdChat();
16
+ const {
17
+ channel
18
+ } = useContext(GroupChannelSettingsContexts.Fragment);
19
+ const {
20
+ STRINGS
21
+ } = useLocalization();
22
+ const {
23
+ colors
24
+ } = useUIKitTheme();
25
+
26
+ const toggleNotification = async () => {
27
+ if (channel.myPushTriggerOption === 'off') {
28
+ await channel.setMyPushTriggerOption('default');
29
+ } else {
30
+ await channel.setMyPushTriggerOption('off');
31
+ }
32
+ };
33
+
34
+ const menuItems = menuItemsCreator([{
35
+ icon: 'notifications',
36
+ name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_NOTIFICATION,
37
+ onPress: toggleNotification,
38
+ actionItem: /*#__PURE__*/React.createElement(Switch, {
39
+ value: channel.myPushTriggerOption !== 'off',
40
+ onChangeValue: toggleNotification
41
+ })
42
+ }, {
43
+ icon: 'members',
44
+ name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_MEMBERS,
45
+ onPress: () => onPressMenuMembers(),
46
+ actionLabel: String(channel.memberCount),
47
+ actionItem: /*#__PURE__*/React.createElement(Icon, {
48
+ icon: 'chevron-right',
49
+ color: colors.onBackground01
50
+ })
51
+ }, {
52
+ icon: 'leave',
53
+ iconColor: colors.error,
54
+ name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_LEAVE_CHANNEL,
55
+ onPress: () => {
56
+ channel.leave().then(() => {
57
+ onPressMenuLeaveChannel();
58
+ sdk.clearCachedMessages([channel.url]).catch();
59
+ });
60
+ }
61
+ }]);
62
+ return /*#__PURE__*/React.createElement(View, null, menuItems.map(menu => {
63
+ return /*#__PURE__*/React.createElement(MenuBar, {
64
+ key: menu.name,
65
+ onPress: menu.onPress,
66
+ name: menu.name,
67
+ disabled: menu.disabled,
68
+ icon: menu.icon,
69
+ iconColor: menu.iconColor,
70
+ iconBackgroundColor: menu.iconBackgroundColor,
71
+ actionLabel: menu.actionLabel,
72
+ actionItem: menu.actionItem
73
+ });
74
+ }));
75
+ };
76
+
77
+ export default GroupChannelSettingsMenu;
78
+ //# sourceMappingURL=GroupChannelSettingsMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useContext","View","Icon","MenuBar","Switch","useUIKitTheme","useLocalization","useSendbirdChat","GroupChannelSettingsContexts","GroupChannelSettingsMenu","onPressMenuMembers","onPressMenuLeaveChannel","menuItemsCreator","menu","sdk","channel","Fragment","STRINGS","colors","toggleNotification","myPushTriggerOption","setMyPushTriggerOption","menuItems","icon","name","GROUP_CHANNEL_SETTINGS","MENU_NOTIFICATION","onPress","actionItem","MENU_MEMBERS","actionLabel","String","memberCount","onBackground01","iconColor","error","MENU_LEAVE_CHANNEL","leave","then","clearCachedMessages","url","catch","map","disabled","iconBackgroundColor"],"sources":["GroupChannelSettingsMenu.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { View } from 'react-native';\n\nimport type { MenuBarProps } from '@sendbird/uikit-react-native-foundation';\nimport { Icon, MenuBar, Switch, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\n\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport { GroupChannelSettingsContexts } from '../module/moduleContext';\nimport type { GroupChannelSettingsProps } from '../types';\n\nconst GroupChannelSettingsMenu = ({\n onPressMenuMembers,\n onPressMenuLeaveChannel,\n menuItemsCreator = (menu) => menu,\n}: GroupChannelSettingsProps['Menu']) => {\n const { sdk } = useSendbirdChat();\n const { channel } = useContext(GroupChannelSettingsContexts.Fragment);\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n const toggleNotification = async () => {\n if (channel.myPushTriggerOption === 'off') {\n await channel.setMyPushTriggerOption('default');\n } else {\n await channel.setMyPushTriggerOption('off');\n }\n };\n\n const menuItems: MenuBarProps[] = menuItemsCreator([\n {\n icon: 'notifications',\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_NOTIFICATION,\n onPress: toggleNotification,\n actionItem: <Switch value={channel.myPushTriggerOption !== 'off'} onChangeValue={toggleNotification} />,\n },\n {\n icon: 'members',\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_MEMBERS,\n onPress: () => onPressMenuMembers(),\n actionLabel: String(channel.memberCount),\n actionItem: <Icon icon={'chevron-right'} color={colors.onBackground01} />,\n },\n {\n icon: 'leave',\n iconColor: colors.error,\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_LEAVE_CHANNEL,\n onPress: () => {\n channel.leave().then(() => {\n onPressMenuLeaveChannel();\n sdk.clearCachedMessages([channel.url]).catch();\n });\n },\n },\n ]);\n\n return (\n <View>\n {menuItems.map((menu) => {\n return (\n <MenuBar\n key={menu.name}\n onPress={menu.onPress}\n name={menu.name}\n disabled={menu.disabled}\n icon={menu.icon}\n iconColor={menu.iconColor}\n iconBackgroundColor={menu.iconBackgroundColor}\n actionLabel={menu.actionLabel}\n actionItem={menu.actionItem}\n />\n );\n })}\n </View>\n );\n};\n\nexport default GroupChannelSettingsMenu;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,SAASC,IAAT,QAAqB,cAArB;AAGA,SAASC,IAAT,EAAeC,OAAf,EAAwBC,MAAxB,EAAgCC,aAAhC,QAAqD,yCAArD;AAEA,SAASC,eAAT,EAA0BC,eAA1B,QAAiD,2BAAjD;AACA,SAASC,4BAAT,QAA6C,yBAA7C;;AAGA,MAAMC,wBAAwB,GAAG,QAIQ;EAAA,IAJP;IAChCC,kBADgC;IAEhCC,uBAFgC;IAGhCC,gBAAgB,GAAIC,IAAD,IAAUA;EAHG,CAIO;EACvC,MAAM;IAAEC;EAAF,IAAUP,eAAe,EAA/B;EACA,MAAM;IAAEQ;EAAF,IAAcf,UAAU,CAACQ,4BAA4B,CAACQ,QAA9B,CAA9B;EACA,MAAM;IAAEC;EAAF,IAAcX,eAAe,EAAnC;EACA,MAAM;IAAEY;EAAF,IAAab,aAAa,EAAhC;;EAEA,MAAMc,kBAAkB,GAAG,YAAY;IACrC,IAAIJ,OAAO,CAACK,mBAAR,KAAgC,KAApC,EAA2C;MACzC,MAAML,OAAO,CAACM,sBAAR,CAA+B,SAA/B,CAAN;IACD,CAFD,MAEO;MACL,MAAMN,OAAO,CAACM,sBAAR,CAA+B,KAA/B,CAAN;IACD;EACF,CAND;;EAQA,MAAMC,SAAyB,GAAGV,gBAAgB,CAAC,CACjD;IACEW,IAAI,EAAE,eADR;IAEEC,IAAI,EAAEP,OAAO,CAACQ,sBAAR,CAA+BC,iBAFvC;IAGEC,OAAO,EAAER,kBAHX;IAIES,UAAU,eAAE,oBAAC,MAAD;MAAQ,KAAK,EAAEb,OAAO,CAACK,mBAAR,KAAgC,KAA/C;MAAsD,aAAa,EAAED;IAArE;EAJd,CADiD,EAOjD;IACEI,IAAI,EAAE,SADR;IAEEC,IAAI,EAAEP,OAAO,CAACQ,sBAAR,CAA+BI,YAFvC;IAGEF,OAAO,EAAE,MAAMjB,kBAAkB,EAHnC;IAIEoB,WAAW,EAAEC,MAAM,CAAChB,OAAO,CAACiB,WAAT,CAJrB;IAKEJ,UAAU,eAAE,oBAAC,IAAD;MAAM,IAAI,EAAE,eAAZ;MAA6B,KAAK,EAAEV,MAAM,CAACe;IAA3C;EALd,CAPiD,EAcjD;IACEV,IAAI,EAAE,OADR;IAEEW,SAAS,EAAEhB,MAAM,CAACiB,KAFpB;IAGEX,IAAI,EAAEP,OAAO,CAACQ,sBAAR,CAA+BW,kBAHvC;IAIET,OAAO,EAAE,MAAM;MACbZ,OAAO,CAACsB,KAAR,GAAgBC,IAAhB,CAAqB,MAAM;QACzB3B,uBAAuB;QACvBG,GAAG,CAACyB,mBAAJ,CAAwB,CAACxB,OAAO,CAACyB,GAAT,CAAxB,EAAuCC,KAAvC;MACD,CAHD;IAID;EATH,CAdiD,CAAD,CAAlD;EA2BA,oBACE,oBAAC,IAAD,QACGnB,SAAS,CAACoB,GAAV,CAAe7B,IAAD,IAAU;IACvB,oBACE,oBAAC,OAAD;MACE,GAAG,EAAEA,IAAI,CAACW,IADZ;MAEE,OAAO,EAAEX,IAAI,CAACc,OAFhB;MAGE,IAAI,EAAEd,IAAI,CAACW,IAHb;MAIE,QAAQ,EAAEX,IAAI,CAAC8B,QAJjB;MAKE,IAAI,EAAE9B,IAAI,CAACU,IALb;MAME,SAAS,EAAEV,IAAI,CAACqB,SANlB;MAOE,mBAAmB,EAAErB,IAAI,CAAC+B,mBAP5B;MAQE,WAAW,EAAE/B,IAAI,CAACiB,WARpB;MASE,UAAU,EAAEjB,IAAI,CAACe;IATnB,EADF;EAaD,CAdA,CADH,CADF;AAmBD,CAhED;;AAkEA,eAAenB,wBAAf"}
@@ -0,0 +1,6 @@
1
+ export { default as GroupChannelSettingsHeader } from './component/GroupChannelSettingsHeader';
2
+ export { default as GroupChannelSettingsInfo } from './component/GroupChannelSettingsInfo';
3
+ export { default as GroupChannelSettingsMenu } from './component/GroupChannelSettingsMenu';
4
+ export { default as createGroupChannelSettingsModule } from './module/createGroupChannelSettingsModule';
5
+ export { GroupChannelSettingsContextsProvider, GroupChannelSettingsContexts } from './module/moduleContext';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["default","GroupChannelSettingsHeader","GroupChannelSettingsInfo","GroupChannelSettingsMenu","createGroupChannelSettingsModule","GroupChannelSettingsContextsProvider","GroupChannelSettingsContexts"],"sources":["index.ts"],"sourcesContent":["export { default as GroupChannelSettingsHeader } from './component/GroupChannelSettingsHeader';\nexport { default as GroupChannelSettingsInfo } from './component/GroupChannelSettingsInfo';\nexport { default as GroupChannelSettingsMenu } from './component/GroupChannelSettingsMenu';\nexport { default as createGroupChannelSettingsModule } from './module/createGroupChannelSettingsModule';\nexport { GroupChannelSettingsContextsProvider, GroupChannelSettingsContexts } from './module/moduleContext';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,0BAApB,QAAsD,wCAAtD;AACA,SAASD,OAAO,IAAIE,wBAApB,QAAoD,sCAApD;AACA,SAASF,OAAO,IAAIG,wBAApB,QAAoD,sCAApD;AACA,SAASH,OAAO,IAAII,gCAApB,QAA4D,2CAA5D;AACA,SAASC,oCAAT,EAA+CC,4BAA/C,QAAmF,wBAAnF"}