@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,118 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _reactNative = require("react-native");
11
+
12
+ var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
13
+
14
+ var _useContext = require("../../../../hooks/useContext");
15
+
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+
20
+ const AUTO_FOCUS = _reactNative.Platform.select({
21
+ ios: false,
22
+ android: true,
23
+ default: false
24
+ });
25
+
26
+ const EditInput = _ref => {
27
+ let {
28
+ text,
29
+ setText,
30
+ editMessage,
31
+ setEditMessage,
32
+ onUpdateUserMessage
33
+ } = _ref;
34
+ const {
35
+ STRINGS
36
+ } = (0, _useContext.useLocalization)();
37
+ const inputRef = (0, _react.useRef)(null);
38
+ const toast = (0, _uikitReactNativeFoundation.useToast)();
39
+ (0, _react.useEffect)(() => {
40
+ if (editMessage.isUserMessage()) {
41
+ setText(editMessage.message ?? '');
42
+ if (!AUTO_FOCUS) setTimeout(() => {
43
+ var _inputRef$current;
44
+
45
+ return (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
46
+ }, 500);
47
+ }
48
+ }, [editMessage]);
49
+
50
+ const onPressCancel = () => {
51
+ setEditMessage();
52
+ setText('');
53
+ };
54
+
55
+ const onPressSave = () => {
56
+ if (editMessage.isUserMessage()) {
57
+ onUpdateUserMessage(text, editMessage).catch(() => toast.show(STRINGS.TOAST.UPDATE_MSG_ERROR, 'error'));
58
+ }
59
+
60
+ setEditMessage();
61
+ setText('');
62
+ };
63
+
64
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
65
+ style: styles.editInputContainer
66
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
67
+ style: styles.inputWrapper
68
+ }, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.TextInput, {
69
+ autoFocus: AUTO_FOCUS,
70
+ ref: inputRef,
71
+ multiline: true,
72
+ value: text,
73
+ onChangeText: setText,
74
+ style: styles.input,
75
+ placeholder: STRINGS.GROUP_CHANNEL.INPUT_PLACEHOLDER_ACTIVE
76
+ })), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
77
+ style: {
78
+ marginTop: 8,
79
+ flexDirection: 'row'
80
+ }
81
+ }, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Button, {
82
+ variant: 'text',
83
+ onPress: onPressCancel
84
+ }, STRINGS.GROUP_CHANNEL.INPUT_EDIT_CANCEL), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
85
+ style: styles.space
86
+ }), /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Button, {
87
+ variant: 'contained',
88
+ onPress: onPressSave
89
+ }, STRINGS.GROUP_CHANNEL.INPUT_EDIT_OK)));
90
+ };
91
+
92
+ const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
93
+ editInputContainer: {
94
+ paddingVertical: 10,
95
+ paddingHorizontal: 16,
96
+ flexDirection: 'column',
97
+ alignItems: 'center'
98
+ },
99
+ input: {
100
+ flex: 1,
101
+ marginRight: 4,
102
+ minHeight: 36,
103
+ maxHeight: 36 * _reactNative.Platform.select({
104
+ ios: 2.5,
105
+ default: 2
106
+ }),
107
+ borderRadius: 20
108
+ },
109
+ inputWrapper: {
110
+ flexDirection: 'row'
111
+ },
112
+ space: {
113
+ flex: 1
114
+ }
115
+ });
116
+ var _default = EditInput;
117
+ exports.default = _default;
118
+ //# sourceMappingURL=EditInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AUTO_FOCUS","Platform","select","ios","android","default","EditInput","text","setText","editMessage","setEditMessage","onUpdateUserMessage","STRINGS","useLocalization","inputRef","useRef","toast","useToast","useEffect","isUserMessage","message","setTimeout","current","focus","onPressCancel","onPressSave","catch","show","TOAST","UPDATE_MSG_ERROR","styles","editInputContainer","inputWrapper","input","GROUP_CHANNEL","INPUT_PLACEHOLDER_ACTIVE","marginTop","flexDirection","INPUT_EDIT_CANCEL","space","INPUT_EDIT_OK","createStyleSheet","paddingVertical","paddingHorizontal","alignItems","flex","marginRight","minHeight","maxHeight","borderRadius"],"sources":["EditInput.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Platform, TextInput as RNTextInput, View } from 'react-native';\n\nimport { Button, TextInput, createStyleSheet, useToast } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdFileMessage, SendbirdUserMessage } from '@sendbird/uikit-utils';\n\nimport { useLocalization } from '../../../../hooks/useContext';\nimport type { GroupChannelProps } from '../../types';\n\ntype EditInputProps = GroupChannelProps['Input'] & {\n text: string;\n setText: (val: string) => void;\n editMessage: SendbirdUserMessage | SendbirdFileMessage;\n setEditMessage: (msg?: SendbirdUserMessage | SendbirdFileMessage) => void;\n};\n\nconst AUTO_FOCUS = Platform.select({ ios: false, android: true, default: false });\nconst EditInput = ({ text, setText, editMessage, setEditMessage, onUpdateUserMessage }: EditInputProps) => {\n const { STRINGS } = useLocalization();\n const inputRef = useRef<RNTextInput>(null);\n const toast = useToast();\n\n useEffect(() => {\n if (editMessage.isUserMessage()) {\n setText(editMessage.message ?? '');\n\n if (!AUTO_FOCUS) setTimeout(() => inputRef.current?.focus(), 500);\n }\n }, [editMessage]);\n\n const onPressCancel = () => {\n setEditMessage();\n setText('');\n };\n\n const onPressSave = () => {\n if (editMessage.isUserMessage()) {\n onUpdateUserMessage(text, editMessage).catch(() => toast.show(STRINGS.TOAST.UPDATE_MSG_ERROR, 'error'));\n }\n setEditMessage();\n setText('');\n };\n\n return (\n <View style={styles.editInputContainer}>\n <View style={styles.inputWrapper}>\n <TextInput\n autoFocus={AUTO_FOCUS}\n ref={inputRef}\n multiline\n value={text}\n onChangeText={setText}\n style={styles.input}\n placeholder={STRINGS.GROUP_CHANNEL.INPUT_PLACEHOLDER_ACTIVE}\n />\n </View>\n <View style={{ marginTop: 8, flexDirection: 'row' }}>\n <Button variant={'text'} onPress={onPressCancel}>\n {STRINGS.GROUP_CHANNEL.INPUT_EDIT_CANCEL}\n </Button>\n <View style={styles.space} />\n <Button variant={'contained'} onPress={onPressSave}>\n {STRINGS.GROUP_CHANNEL.INPUT_EDIT_OK}\n </Button>\n </View>\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n editInputContainer: {\n paddingVertical: 10,\n paddingHorizontal: 16,\n flexDirection: 'column',\n alignItems: 'center',\n },\n input: {\n flex: 1,\n marginRight: 4,\n minHeight: 36,\n maxHeight: 36 * Platform.select({ ios: 2.5, default: 2 }),\n borderRadius: 20,\n },\n inputWrapper: {\n flexDirection: 'row',\n },\n space: {\n flex: 1,\n },\n});\n\nexport default EditInput;\n"],"mappings":"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"}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _reactNative = require("react-native");
11
+
12
+ var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
13
+
14
+ var _uikitUtils = require("@sendbird/uikit-utils");
15
+
16
+ var _useContext = require("../../../../hooks/useContext");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ const SendInput = _ref => {
21
+ let {
22
+ onSendUserMessage,
23
+ onSendFileMessage,
24
+ text,
25
+ setText,
26
+ disabled
27
+ } = _ref;
28
+ const {
29
+ STRINGS
30
+ } = (0, _useContext.useLocalization)();
31
+ const {
32
+ openSheet
33
+ } = (0, _uikitReactNativeFoundation.useBottomSheet)();
34
+ const {
35
+ fileService
36
+ } = (0, _useContext.usePlatformService)();
37
+ const {
38
+ colors
39
+ } = (0, _uikitReactNativeFoundation.useUIKitTheme)();
40
+ const toast = (0, _uikitReactNativeFoundation.useToast)();
41
+
42
+ const onPressSend = () => {
43
+ onSendUserMessage(text).catch(() => toast.show(STRINGS.TOAST.SEND_MSG_ERROR, 'error'));
44
+ setText('');
45
+ };
46
+
47
+ const onPressAttachment = () => {
48
+ openSheet({
49
+ sheetItems: [{
50
+ title: STRINGS.GROUP_CHANNEL.DIALOG_ATTACHMENT_CAMERA,
51
+ icon: 'camera',
52
+ onPress: async () => {
53
+ const photo = await fileService.openCamera({
54
+ mediaType: 'photo',
55
+ onOpenFailureWithToastMessage: () => toast.show(STRINGS.TOAST.OPEN_CAMERA_ERROR, 'error')
56
+ });
57
+
58
+ if (photo) {
59
+ onSendFileMessage(photo).catch(() => toast.show(STRINGS.TOAST.SEND_MSG_ERROR, 'error'));
60
+ }
61
+ }
62
+ }, {
63
+ title: STRINGS.GROUP_CHANNEL.DIALOG_ATTACHMENT_PHOTO_LIBRARY,
64
+ icon: 'photo',
65
+ onPress: async () => {
66
+ const photo = await fileService.openMediaLibrary({
67
+ selectionLimit: 1,
68
+ mediaType: 'all',
69
+ onOpenFailureWithToastMessage: () => toast.show(STRINGS.TOAST.OPEN_PHOTO_LIBRARY_ERROR, 'error')
70
+ });
71
+
72
+ if (photo && photo[0]) {
73
+ onSendFileMessage(photo[0]).catch(() => toast.show(STRINGS.TOAST.SEND_MSG_ERROR, 'error'));
74
+ }
75
+ }
76
+ }, {
77
+ title: STRINGS.GROUP_CHANNEL.DIALOG_ATTACHMENT_FILES,
78
+ icon: 'document',
79
+ onPress: async () => {
80
+ const file = await fileService.openDocument({
81
+ onOpenFailureWithToastMessage: () => toast.show(STRINGS.TOAST.OPEN_FILES_ERROR, 'error')
82
+ });
83
+
84
+ if (file) {
85
+ onSendFileMessage(file).catch(() => toast.show(STRINGS.TOAST.SEND_MSG_ERROR, 'error'));
86
+ }
87
+ }
88
+ }]
89
+ });
90
+ };
91
+
92
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
93
+ style: styles.sendInputContainer
94
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
95
+ onPress: onPressAttachment,
96
+ disabled: disabled
97
+ }, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon, {
98
+ color: disabled ? colors.ui.input.default.disabled.highlight : colors.ui.input.default.active.highlight,
99
+ icon: 'add',
100
+ size: 24,
101
+ containerStyle: styles.iconAttach
102
+ })), /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.TextInput, {
103
+ multiline: true,
104
+ editable: !disabled,
105
+ value: text,
106
+ onChangeText: setText,
107
+ style: styles.input,
108
+ placeholder: (0, _uikitUtils.conditionChaining)([disabled], [STRINGS.GROUP_CHANNEL.INPUT_PLACEHOLDER_DISABLED, STRINGS.GROUP_CHANNEL.INPUT_PLACEHOLDER_ACTIVE])
109
+ }), Boolean(text.trim()) && /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
110
+ onPress: onPressSend,
111
+ disabled: disabled
112
+ }, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon, {
113
+ color: disabled ? colors.ui.input.default.disabled.highlight : colors.ui.input.default.active.highlight,
114
+ icon: 'send',
115
+ size: 24,
116
+ containerStyle: styles.iconSend
117
+ })));
118
+ };
119
+
120
+ const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
121
+ sendInputContainer: {
122
+ paddingVertical: 10,
123
+ paddingHorizontal: 12,
124
+ alignItems: 'center',
125
+ flexDirection: 'row'
126
+ },
127
+ input: {
128
+ flex: 1,
129
+ marginRight: 4,
130
+ minHeight: 36,
131
+ maxHeight: 36 * _reactNative.Platform.select({
132
+ ios: 2.5,
133
+ default: 2
134
+ }),
135
+ borderRadius: 20
136
+ },
137
+ iconAttach: {
138
+ marginRight: 8,
139
+ padding: 4
140
+ },
141
+ iconSend: {
142
+ marginLeft: 4,
143
+ padding: 4
144
+ }
145
+ });
146
+ var _default = SendInput;
147
+ exports.default = _default;
148
+ //# sourceMappingURL=SendInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SendInput","onSendUserMessage","onSendFileMessage","text","setText","disabled","STRINGS","useLocalization","openSheet","useBottomSheet","fileService","usePlatformService","colors","useUIKitTheme","toast","useToast","onPressSend","catch","show","TOAST","SEND_MSG_ERROR","onPressAttachment","sheetItems","title","GROUP_CHANNEL","DIALOG_ATTACHMENT_CAMERA","icon","onPress","photo","openCamera","mediaType","onOpenFailureWithToastMessage","OPEN_CAMERA_ERROR","DIALOG_ATTACHMENT_PHOTO_LIBRARY","openMediaLibrary","selectionLimit","OPEN_PHOTO_LIBRARY_ERROR","DIALOG_ATTACHMENT_FILES","file","openDocument","OPEN_FILES_ERROR","styles","sendInputContainer","ui","input","default","highlight","active","iconAttach","conditionChaining","INPUT_PLACEHOLDER_DISABLED","INPUT_PLACEHOLDER_ACTIVE","Boolean","trim","iconSend","createStyleSheet","paddingVertical","paddingHorizontal","alignItems","flexDirection","flex","marginRight","minHeight","maxHeight","Platform","select","ios","borderRadius","padding","marginLeft"],"sources":["SendInput.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform, TouchableOpacity, View } from 'react-native';\n\nimport {\n Icon,\n TextInput,\n createStyleSheet,\n useBottomSheet,\n useToast,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport { conditionChaining } from '@sendbird/uikit-utils';\n\nimport { useLocalization, usePlatformService } from '../../../../hooks/useContext';\nimport type { GroupChannelProps } from '../../types';\n\ntype SendInputProps = GroupChannelProps['Input'] & {\n text: string;\n setText: (val: string) => void;\n disabled: boolean;\n};\nconst SendInput = ({ onSendUserMessage, onSendFileMessage, text, setText, disabled }: SendInputProps) => {\n const { STRINGS } = useLocalization();\n const { openSheet } = useBottomSheet();\n const { fileService } = usePlatformService();\n const { colors } = useUIKitTheme();\n const toast = useToast();\n\n const onPressSend = () => {\n onSendUserMessage(text).catch(() => toast.show(STRINGS.TOAST.SEND_MSG_ERROR, 'error'));\n setText('');\n };\n const onPressAttachment = () => {\n openSheet({\n sheetItems: [\n {\n title: STRINGS.GROUP_CHANNEL.DIALOG_ATTACHMENT_CAMERA,\n icon: 'camera',\n onPress: async () => {\n const photo = await fileService.openCamera({\n mediaType: 'photo',\n onOpenFailureWithToastMessage: () => toast.show(STRINGS.TOAST.OPEN_CAMERA_ERROR, 'error'),\n });\n\n if (photo) {\n onSendFileMessage(photo).catch(() => toast.show(STRINGS.TOAST.SEND_MSG_ERROR, 'error'));\n }\n },\n },\n {\n title: STRINGS.GROUP_CHANNEL.DIALOG_ATTACHMENT_PHOTO_LIBRARY,\n icon: 'photo',\n onPress: async () => {\n const photo = await fileService.openMediaLibrary({\n selectionLimit: 1,\n mediaType: 'all',\n onOpenFailureWithToastMessage: () => toast.show(STRINGS.TOAST.OPEN_PHOTO_LIBRARY_ERROR, 'error'),\n });\n\n if (photo && photo[0]) {\n onSendFileMessage(photo[0]).catch(() => toast.show(STRINGS.TOAST.SEND_MSG_ERROR, 'error'));\n }\n },\n },\n {\n title: STRINGS.GROUP_CHANNEL.DIALOG_ATTACHMENT_FILES,\n icon: 'document',\n onPress: async () => {\n const file = await fileService.openDocument({\n onOpenFailureWithToastMessage: () => toast.show(STRINGS.TOAST.OPEN_FILES_ERROR, 'error'),\n });\n\n if (file) {\n onSendFileMessage(file).catch(() => toast.show(STRINGS.TOAST.SEND_MSG_ERROR, 'error'));\n }\n },\n },\n ],\n });\n };\n\n return (\n <View style={styles.sendInputContainer}>\n <TouchableOpacity onPress={onPressAttachment} disabled={disabled}>\n <Icon\n color={disabled ? colors.ui.input.default.disabled.highlight : colors.ui.input.default.active.highlight}\n icon={'add'}\n size={24}\n containerStyle={styles.iconAttach}\n />\n </TouchableOpacity>\n <TextInput\n multiline\n editable={!disabled}\n value={text}\n onChangeText={setText}\n style={styles.input}\n placeholder={conditionChaining(\n [disabled],\n [STRINGS.GROUP_CHANNEL.INPUT_PLACEHOLDER_DISABLED, STRINGS.GROUP_CHANNEL.INPUT_PLACEHOLDER_ACTIVE],\n )}\n />\n {Boolean(text.trim()) && (\n <TouchableOpacity onPress={onPressSend} disabled={disabled}>\n <Icon\n color={disabled ? colors.ui.input.default.disabled.highlight : colors.ui.input.default.active.highlight}\n icon={'send'}\n size={24}\n containerStyle={styles.iconSend}\n />\n </TouchableOpacity>\n )}\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n sendInputContainer: {\n paddingVertical: 10,\n paddingHorizontal: 12,\n alignItems: 'center',\n flexDirection: 'row',\n },\n input: {\n flex: 1,\n marginRight: 4,\n minHeight: 36,\n maxHeight: 36 * Platform.select({ ios: 2.5, default: 2 }),\n borderRadius: 20,\n },\n iconAttach: {\n marginRight: 8,\n padding: 4,\n },\n iconSend: {\n marginLeft: 4,\n padding: 4,\n },\n});\n\nexport default SendInput;\n"],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _reactNative = require("react-native");
11
+
12
+ var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
13
+
14
+ var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
15
+
16
+ var _uikitUtils = require("@sendbird/uikit-utils");
17
+
18
+ var _moduleContext = require("../../module/moduleContext");
19
+
20
+ var _EditInput = _interopRequireDefault(require("./EditInput"));
21
+
22
+ var _SendInput = _interopRequireDefault(require("./SendInput"));
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+
30
+ 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); }
31
+
32
+ const KEYBOARD_AVOID_VIEW_BEHAVIOR = _reactNative.Platform.select({
33
+ ios: 'padding',
34
+ default: undefined
35
+ });
36
+
37
+ const GroupChannelInput = props => {
38
+ const {
39
+ channel
40
+ } = props;
41
+ const {
42
+ left,
43
+ right,
44
+ bottom
45
+ } = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
46
+ const {
47
+ colors
48
+ } = (0, _uikitReactNativeFoundation.useUIKitTheme)();
49
+ const {
50
+ editMessage,
51
+ setEditMessage,
52
+ keyboardAvoidOffset = 0
53
+ } = (0, _react.useContext)(_moduleContext.GroupChannelContexts.Fragment);
54
+ const [text, setText] = (0, _react.useState)('');
55
+ const textTmpRef = (0, _react.useRef)('');
56
+ const disabled = (0, _uikitUtils.groupChannelChatUnavailable)(channel);
57
+ (0, _react.useEffect)(() => {
58
+ if (text.length === 0) channel.endTyping();else channel.startTyping();
59
+ }, [text]);
60
+ (0, _react.useEffect)(() => {
61
+ if (disabled) {
62
+ textTmpRef.current = text;
63
+ setText('');
64
+ } else {
65
+ setText(textTmpRef.current);
66
+ }
67
+ }, [disabled]);
68
+ const inputMode = (0, _uikitUtils.useIIFE)(() => {
69
+ if (!editMessage) return 'send';
70
+ if (editMessage.isFileMessage()) return 'send';
71
+ return 'edit';
72
+ });
73
+ return /*#__PURE__*/_react.default.createElement(_reactNative.KeyboardAvoidingView, {
74
+ keyboardVerticalOffset: -bottom + keyboardAvoidOffset,
75
+ behavior: KEYBOARD_AVOID_VIEW_BEHAVIOR
76
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
77
+ style: {
78
+ paddingLeft: left,
79
+ paddingRight: right,
80
+ backgroundColor: colors.background
81
+ }
82
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
83
+ style: {
84
+ justifyContent: 'center',
85
+ width: '100%'
86
+ }
87
+ }, inputMode === 'send' && /*#__PURE__*/_react.default.createElement(_SendInput.default, _extends({}, props, {
88
+ text: text,
89
+ setText: setText,
90
+ disabled: disabled
91
+ })), inputMode === 'edit' && editMessage && /*#__PURE__*/_react.default.createElement(_EditInput.default, _extends({}, props, {
92
+ text: text,
93
+ setText: setText,
94
+ editMessage: editMessage,
95
+ setEditMessage: setEditMessage
96
+ }))), /*#__PURE__*/_react.default.createElement(SafeAreaBottom, {
97
+ height: bottom
98
+ })));
99
+ };
100
+
101
+ const SafeAreaBottom = _ref => {
102
+ let {
103
+ height
104
+ } = _ref;
105
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
106
+ style: {
107
+ height
108
+ }
109
+ });
110
+ };
111
+
112
+ var _default = /*#__PURE__*/_react.default.memo(GroupChannelInput);
113
+
114
+ exports.default = _default;
115
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["KEYBOARD_AVOID_VIEW_BEHAVIOR","Platform","select","ios","default","undefined","GroupChannelInput","props","channel","left","right","bottom","useSafeAreaInsets","colors","useUIKitTheme","editMessage","setEditMessage","keyboardAvoidOffset","useContext","GroupChannelContexts","Fragment","text","setText","useState","textTmpRef","useRef","disabled","groupChannelChatUnavailable","useEffect","length","endTyping","startTyping","current","inputMode","useIIFE","isFileMessage","paddingLeft","paddingRight","backgroundColor","background","justifyContent","width","SafeAreaBottom","height","React","memo"],"sources":["index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useRef, useState } from 'react';\nimport { KeyboardAvoidingView, Platform, View } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { groupChannelChatUnavailable, useIIFE } from '@sendbird/uikit-utils';\n\nimport { GroupChannelContexts } from '../../module/moduleContext';\nimport type { GroupChannelProps } from '../../types';\nimport EditInput from './EditInput';\nimport SendInput from './SendInput';\n\nconst KEYBOARD_AVOID_VIEW_BEHAVIOR = Platform.select({ ios: 'padding' as const, default: undefined });\nconst GroupChannelInput = (props: GroupChannelProps['Input']) => {\n const { channel } = props;\n\n const { left, right, bottom } = useSafeAreaInsets();\n const { colors } = useUIKitTheme();\n const { editMessage, setEditMessage, keyboardAvoidOffset = 0 } = useContext(GroupChannelContexts.Fragment);\n\n const [text, setText] = useState('');\n const textTmpRef = useRef('');\n const disabled = groupChannelChatUnavailable(channel);\n\n useEffect(() => {\n if (text.length === 0) channel.endTyping();\n else channel.startTyping();\n }, [text]);\n\n useEffect(() => {\n if (disabled) {\n textTmpRef.current = text;\n setText('');\n } else {\n setText(textTmpRef.current);\n }\n }, [disabled]);\n\n const inputMode = useIIFE(() => {\n if (!editMessage) return 'send';\n if (editMessage.isFileMessage()) return 'send';\n return 'edit';\n });\n\n return (\n <KeyboardAvoidingView\n keyboardVerticalOffset={-bottom + keyboardAvoidOffset}\n behavior={KEYBOARD_AVOID_VIEW_BEHAVIOR}\n >\n <View style={{ paddingLeft: left, paddingRight: right, backgroundColor: colors.background }}>\n <View style={{ justifyContent: 'center', width: '100%' }}>\n {inputMode === 'send' && <SendInput {...props} text={text} setText={setText} disabled={disabled} />}\n {inputMode === 'edit' && editMessage && (\n <EditInput\n {...props}\n text={text}\n setText={setText}\n editMessage={editMessage}\n setEditMessage={setEditMessage}\n />\n )}\n </View>\n <SafeAreaBottom height={bottom} />\n </View>\n </KeyboardAvoidingView>\n );\n};\nconst SafeAreaBottom = ({ height }: { height: number }) => {\n return <View style={{ height }} />;\n};\n\nexport default React.memo(GroupChannelInput);\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;AAEA;;AACA;;;;;;;;;;AAEA,MAAMA,4BAA4B,GAAGC,qBAAA,CAASC,MAAT,CAAgB;EAAEC,GAAG,EAAE,SAAP;EAA2BC,OAAO,EAAEC;AAApC,CAAhB,CAArC;;AACA,MAAMC,iBAAiB,GAAIC,KAAD,IAAuC;EAC/D,MAAM;IAAEC;EAAF,IAAcD,KAApB;EAEA,MAAM;IAAEE,IAAF;IAAQC,KAAR;IAAeC;EAAf,IAA0B,IAAAC,6CAAA,GAAhC;EACA,MAAM;IAAEC;EAAF,IAAa,IAAAC,yCAAA,GAAnB;EACA,MAAM;IAAEC,WAAF;IAAeC,cAAf;IAA+BC,mBAAmB,GAAG;EAArD,IAA2D,IAAAC,iBAAA,EAAWC,mCAAA,CAAqBC,QAAhC,CAAjE;EAEA,MAAM,CAACC,IAAD,EAAOC,OAAP,IAAkB,IAAAC,eAAA,EAAS,EAAT,CAAxB;EACA,MAAMC,UAAU,GAAG,IAAAC,aAAA,EAAO,EAAP,CAAnB;EACA,MAAMC,QAAQ,GAAG,IAAAC,uCAAA,EAA4BnB,OAA5B,CAAjB;EAEA,IAAAoB,gBAAA,EAAU,MAAM;IACd,IAAIP,IAAI,CAACQ,MAAL,KAAgB,CAApB,EAAuBrB,OAAO,CAACsB,SAAR,GAAvB,KACKtB,OAAO,CAACuB,WAAR;EACN,CAHD,EAGG,CAACV,IAAD,CAHH;EAKA,IAAAO,gBAAA,EAAU,MAAM;IACd,IAAIF,QAAJ,EAAc;MACZF,UAAU,CAACQ,OAAX,GAAqBX,IAArB;MACAC,OAAO,CAAC,EAAD,CAAP;IACD,CAHD,MAGO;MACLA,OAAO,CAACE,UAAU,CAACQ,OAAZ,CAAP;IACD;EACF,CAPD,EAOG,CAACN,QAAD,CAPH;EASA,MAAMO,SAAS,GAAG,IAAAC,mBAAA,EAAQ,MAAM;IAC9B,IAAI,CAACnB,WAAL,EAAkB,OAAO,MAAP;IAClB,IAAIA,WAAW,CAACoB,aAAZ,EAAJ,EAAiC,OAAO,MAAP;IACjC,OAAO,MAAP;EACD,CAJiB,CAAlB;EAMA,oBACE,6BAAC,iCAAD;IACE,sBAAsB,EAAE,CAACxB,MAAD,GAAUM,mBADpC;IAEE,QAAQ,EAAEjB;EAFZ,gBAIE,6BAAC,iBAAD;IAAM,KAAK,EAAE;MAAEoC,WAAW,EAAE3B,IAAf;MAAqB4B,YAAY,EAAE3B,KAAnC;MAA0C4B,eAAe,EAAEzB,MAAM,CAAC0B;IAAlE;EAAb,gBACE,6BAAC,iBAAD;IAAM,KAAK,EAAE;MAAEC,cAAc,EAAE,QAAlB;MAA4BC,KAAK,EAAE;IAAnC;EAAb,GACGR,SAAS,KAAK,MAAd,iBAAwB,6BAAC,kBAAD,eAAe1B,KAAf;IAAsB,IAAI,EAAEc,IAA5B;IAAkC,OAAO,EAAEC,OAA3C;IAAoD,QAAQ,EAAEI;EAA9D,GAD3B,EAEGO,SAAS,KAAK,MAAd,IAAwBlB,WAAxB,iBACC,6BAAC,kBAAD,eACMR,KADN;IAEE,IAAI,EAAEc,IAFR;IAGE,OAAO,EAAEC,OAHX;IAIE,WAAW,EAAEP,WAJf;IAKE,cAAc,EAAEC;EALlB,GAHJ,CADF,eAaE,6BAAC,cAAD;IAAgB,MAAM,EAAEL;EAAxB,EAbF,CAJF,CADF;AAsBD,CArDD;;AAsDA,MAAM+B,cAAc,GAAG,QAAoC;EAAA,IAAnC;IAAEC;EAAF,CAAmC;EACzD,oBAAO,6BAAC,iBAAD;IAAM,KAAK,EAAE;MAAEA;IAAF;EAAb,EAAP;AACD,CAFD;;4BAIeC,cAAA,CAAMC,IAAN,CAAWvC,iBAAX,C"}