@sendbird/uikit-react-native 2.4.2 → 2.5.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/lib/commonjs/components/ChannelMessageList/index.js +319 -0
  2. package/lib/commonjs/components/ChannelMessageList/index.js.map +1 -0
  3. package/lib/commonjs/components/ChatFlatList.js +30 -50
  4. package/lib/commonjs/components/ChatFlatList.js.map +1 -1
  5. package/lib/commonjs/components/MessageSearchResultItem.js +132 -0
  6. package/lib/commonjs/components/MessageSearchResultItem.js.map +1 -0
  7. package/lib/commonjs/components/ScrollToBottomButton.js +1 -1
  8. package/lib/commonjs/components/ScrollToBottomButton.js.map +1 -1
  9. package/lib/commonjs/constants.js +6 -2
  10. package/lib/commonjs/constants.js.map +1 -1
  11. package/lib/commonjs/containers/GroupChannelPreviewContainer.js +2 -2
  12. package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
  13. package/lib/commonjs/containers/SendbirdUIKitContainer.js +4 -2
  14. package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
  15. package/lib/commonjs/contexts/SendbirdChatCtx.js +4 -2
  16. package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
  17. package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js +4 -2
  18. package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js.map +1 -1
  19. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +84 -301
  20. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  21. package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +2 -0
  22. package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -1
  23. package/lib/commonjs/domain/groupChannel/module/moduleContext.js +9 -2
  24. package/lib/commonjs/domain/groupChannel/module/moduleContext.js.map +1 -1
  25. package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
  26. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +18 -4
  27. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  28. package/lib/commonjs/domain/groupChannelSettings/types.js.map +1 -1
  29. package/lib/commonjs/domain/messageSearch/component/MessageSearchHeader.js +105 -0
  30. package/lib/commonjs/domain/messageSearch/component/MessageSearchHeader.js.map +1 -0
  31. package/lib/commonjs/domain/messageSearch/component/MessageSearchList.js +40 -0
  32. package/lib/commonjs/domain/messageSearch/component/MessageSearchList.js.map +1 -0
  33. package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusEmpty.js +22 -0
  34. package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusEmpty.js.map +1 -0
  35. package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusError.js +26 -0
  36. package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusError.js.map +1 -0
  37. package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusLoading.js +22 -0
  38. package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusLoading.js.map +1 -0
  39. package/lib/commonjs/domain/messageSearch/index.js +62 -0
  40. package/lib/commonjs/domain/messageSearch/index.js.map +1 -0
  41. package/lib/commonjs/domain/messageSearch/module/createMessageSearchModule.js +36 -0
  42. package/lib/commonjs/domain/messageSearch/module/createMessageSearchModule.js.map +1 -0
  43. package/lib/commonjs/domain/messageSearch/module/moduleContext.js +25 -0
  44. package/lib/commonjs/domain/messageSearch/module/moduleContext.js.map +1 -0
  45. package/lib/commonjs/domain/messageSearch/types.js +6 -0
  46. package/lib/commonjs/domain/messageSearch/types.js.map +1 -0
  47. package/lib/commonjs/domain/openChannel/component/OpenChannelMessageList.js +38 -279
  48. package/lib/commonjs/domain/openChannel/component/OpenChannelMessageList.js.map +1 -1
  49. package/lib/commonjs/domain/openChannel/module/moduleContext.js +9 -2
  50. package/lib/commonjs/domain/openChannel/module/moduleContext.js.map +1 -1
  51. package/lib/commonjs/domain/openChannel/types.js.map +1 -1
  52. package/lib/commonjs/fragments/createGroupChannelFragment.js +107 -15
  53. package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
  54. package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js +2 -0
  55. package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js.map +1 -1
  56. package/lib/commonjs/fragments/createMessageSearchFragment.js +145 -0
  57. package/lib/commonjs/fragments/createMessageSearchFragment.js.map +1 -0
  58. package/lib/commonjs/fragments/createOpenChannelFragment.js +40 -8
  59. package/lib/commonjs/fragments/createOpenChannelFragment.js.map +1 -1
  60. package/lib/commonjs/hooks/useMentionSuggestion.js +17 -0
  61. package/lib/commonjs/hooks/useMentionSuggestion.js.map +1 -1
  62. package/lib/commonjs/index.js +60 -40
  63. package/lib/commonjs/index.js.map +1 -1
  64. package/lib/commonjs/localization/StringSet.type.js.map +1 -1
  65. package/lib/commonjs/localization/createBaseStringSet.js +33 -20
  66. package/lib/commonjs/localization/createBaseStringSet.js.map +1 -1
  67. package/lib/commonjs/utils/pubsub.js +21 -0
  68. package/lib/commonjs/utils/pubsub.js.map +1 -0
  69. package/lib/commonjs/version.js +1 -1
  70. package/lib/commonjs/version.js.map +1 -1
  71. package/lib/module/components/ChannelMessageList/index.js +311 -0
  72. package/lib/module/components/ChannelMessageList/index.js.map +1 -0
  73. package/lib/module/components/ChatFlatList.js +32 -52
  74. package/lib/module/components/ChatFlatList.js.map +1 -1
  75. package/lib/module/components/MessageSearchResultItem.js +124 -0
  76. package/lib/module/components/MessageSearchResultItem.js.map +1 -0
  77. package/lib/module/components/ScrollToBottomButton.js +1 -1
  78. package/lib/module/components/ScrollToBottomButton.js.map +1 -1
  79. package/lib/module/constants.js +3 -1
  80. package/lib/module/constants.js.map +1 -1
  81. package/lib/module/containers/GroupChannelPreviewContainer.js +2 -2
  82. package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
  83. package/lib/module/containers/SendbirdUIKitContainer.js +4 -2
  84. package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
  85. package/lib/module/contexts/SendbirdChatCtx.js +4 -2
  86. package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
  87. package/lib/module/domain/groupChannel/component/GroupChannelHeader.js +4 -2
  88. package/lib/module/domain/groupChannel/component/GroupChannelHeader.js.map +1 -1
  89. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +88 -305
  90. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  91. package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +2 -0
  92. package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -1
  93. package/lib/module/domain/groupChannel/module/moduleContext.js +9 -2
  94. package/lib/module/domain/groupChannel/module/moduleContext.js.map +1 -1
  95. package/lib/module/domain/groupChannel/types.js.map +1 -1
  96. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +18 -4
  97. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  98. package/lib/module/domain/groupChannelSettings/types.js.map +1 -1
  99. package/lib/module/domain/messageSearch/component/MessageSearchHeader.js +96 -0
  100. package/lib/module/domain/messageSearch/component/MessageSearchHeader.js.map +1 -0
  101. package/lib/module/domain/messageSearch/component/MessageSearchList.js +32 -0
  102. package/lib/module/domain/messageSearch/component/MessageSearchList.js.map +1 -0
  103. package/lib/module/domain/messageSearch/component/MessageSearchStatusEmpty.js +14 -0
  104. package/lib/module/domain/messageSearch/component/MessageSearchStatusEmpty.js.map +1 -0
  105. package/lib/module/domain/messageSearch/component/MessageSearchStatusError.js +18 -0
  106. package/lib/module/domain/messageSearch/component/MessageSearchStatusError.js.map +1 -0
  107. package/lib/module/domain/messageSearch/component/MessageSearchStatusLoading.js +14 -0
  108. package/lib/module/domain/messageSearch/component/MessageSearchStatusLoading.js.map +1 -0
  109. package/lib/module/domain/messageSearch/index.js +8 -0
  110. package/lib/module/domain/messageSearch/index.js.map +1 -0
  111. package/lib/module/domain/messageSearch/module/createMessageSearchModule.js +28 -0
  112. package/lib/module/domain/messageSearch/module/createMessageSearchModule.js.map +1 -0
  113. package/lib/module/domain/messageSearch/module/moduleContext.js +14 -0
  114. package/lib/module/domain/messageSearch/module/moduleContext.js.map +1 -0
  115. package/lib/module/domain/messageSearch/types.js +2 -0
  116. package/lib/module/domain/messageSearch/types.js.map +1 -0
  117. package/lib/module/domain/openChannel/component/OpenChannelMessageList.js +40 -281
  118. package/lib/module/domain/openChannel/component/OpenChannelMessageList.js.map +1 -1
  119. package/lib/module/domain/openChannel/module/moduleContext.js +9 -2
  120. package/lib/module/domain/openChannel/module/moduleContext.js.map +1 -1
  121. package/lib/module/domain/openChannel/types.js.map +1 -1
  122. package/lib/module/fragments/createGroupChannelFragment.js +109 -17
  123. package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
  124. package/lib/module/fragments/createGroupChannelSettingsFragment.js +2 -0
  125. package/lib/module/fragments/createGroupChannelSettingsFragment.js.map +1 -1
  126. package/lib/module/fragments/createMessageSearchFragment.js +135 -0
  127. package/lib/module/fragments/createMessageSearchFragment.js.map +1 -0
  128. package/lib/module/fragments/createOpenChannelFragment.js +41 -9
  129. package/lib/module/fragments/createOpenChannelFragment.js.map +1 -1
  130. package/lib/module/hooks/useMentionSuggestion.js +18 -1
  131. package/lib/module/hooks/useMentionSuggestion.js.map +1 -1
  132. package/lib/module/index.js +2 -0
  133. package/lib/module/index.js.map +1 -1
  134. package/lib/module/localization/StringSet.type.js.map +1 -1
  135. package/lib/module/localization/createBaseStringSet.js +34 -21
  136. package/lib/module/localization/createBaseStringSet.js.map +1 -1
  137. package/lib/module/utils/pubsub.js +14 -0
  138. package/lib/module/utils/pubsub.js.map +1 -0
  139. package/lib/module/version.js +1 -1
  140. package/lib/module/version.js.map +1 -1
  141. package/lib/typescript/src/components/ChannelMessageList/index.d.ts +55 -0
  142. package/lib/typescript/src/components/ChatFlatList.d.ts +7 -8
  143. package/lib/typescript/src/components/MessageRenderer/index.d.ts +4 -0
  144. package/lib/typescript/src/components/MessageSearchResultItem.d.ts +2 -0
  145. package/lib/typescript/src/components/OpenChannelMessageRenderer/index.d.ts +1 -0
  146. package/lib/typescript/src/components/ScrollToBottomButton.d.ts +1 -1
  147. package/lib/typescript/src/constants.d.ts +3 -1
  148. package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +2 -1
  149. package/lib/typescript/src/contexts/SendbirdChatCtx.d.ts +3 -1
  150. package/lib/typescript/src/domain/groupChannel/component/GroupChannelHeader.d.ts +1 -1
  151. package/lib/typescript/src/domain/groupChannel/component/GroupChannelMessageList.d.ts +3 -32
  152. package/lib/typescript/src/domain/groupChannel/types.d.ts +23 -35
  153. package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.d.ts +1 -1
  154. package/lib/typescript/src/domain/groupChannelSettings/types.d.ts +2 -0
  155. package/lib/typescript/src/domain/messageSearch/component/MessageSearchHeader.d.ts +3 -0
  156. package/lib/typescript/src/domain/messageSearch/component/MessageSearchList.d.ts +3 -0
  157. package/lib/typescript/src/domain/messageSearch/component/MessageSearchStatusEmpty.d.ts +2 -0
  158. package/lib/typescript/src/domain/messageSearch/component/MessageSearchStatusError.d.ts +3 -0
  159. package/lib/typescript/src/domain/messageSearch/component/MessageSearchStatusLoading.d.ts +2 -0
  160. package/lib/typescript/src/domain/messageSearch/index.d.ts +7 -0
  161. package/lib/typescript/src/domain/messageSearch/module/createMessageSearchModule.d.ts +3 -0
  162. package/lib/typescript/src/domain/messageSearch/module/moduleContext.d.ts +3 -0
  163. package/lib/typescript/src/domain/messageSearch/types.d.ts +53 -0
  164. package/lib/typescript/src/domain/openChannel/component/OpenChannelMessageList.d.ts +1 -37
  165. package/lib/typescript/src/domain/openChannel/types.d.ts +17 -36
  166. package/lib/typescript/src/fragments/createMessageSearchFragment.d.ts +3 -0
  167. package/lib/typescript/src/hooks/useMentionSuggestion.d.ts +3 -2
  168. package/lib/typescript/src/index.d.ts +2 -0
  169. package/lib/typescript/src/localization/StringSet.type.d.ts +17 -3
  170. package/lib/typescript/src/utils/pubsub.d.ts +6 -0
  171. package/lib/typescript/src/version.d.ts +1 -1
  172. package/package.json +8 -7
  173. package/src/components/ChannelMessageList/index.tsx +392 -0
  174. package/src/components/ChatFlatList.tsx +33 -51
  175. package/src/components/MessageSearchResultItem.tsx +125 -0
  176. package/src/components/ScrollToBottomButton.tsx +3 -4
  177. package/src/constants.ts +3 -1
  178. package/src/containers/GroupChannelPreviewContainer.tsx +2 -2
  179. package/src/containers/SendbirdUIKitContainer.tsx +2 -0
  180. package/src/contexts/SendbirdChatCtx.tsx +7 -1
  181. package/src/domain/groupChannel/component/GroupChannelHeader.tsx +9 -3
  182. package/src/domain/groupChannel/component/GroupChannelMessageList.tsx +73 -316
  183. package/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.tsx +2 -1
  184. package/src/domain/groupChannel/module/moduleContext.tsx +10 -2
  185. package/src/domain/groupChannel/types.ts +49 -38
  186. package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +29 -13
  187. package/src/domain/groupChannelSettings/types.ts +2 -0
  188. package/src/domain/messageSearch/component/MessageSearchHeader.tsx +98 -0
  189. package/src/domain/messageSearch/component/MessageSearchList.tsx +26 -0
  190. package/src/domain/messageSearch/component/MessageSearchStatusEmpty.tsx +15 -0
  191. package/src/domain/messageSearch/component/MessageSearchStatusError.tsx +16 -0
  192. package/src/domain/messageSearch/component/MessageSearchStatusLoading.tsx +15 -0
  193. package/src/domain/messageSearch/index.ts +7 -0
  194. package/src/domain/messageSearch/module/createMessageSearchModule.tsx +21 -0
  195. package/src/domain/messageSearch/module/moduleContext.tsx +16 -0
  196. package/src/domain/messageSearch/types.ts +55 -0
  197. package/src/domain/openChannel/component/OpenChannelMessageList.tsx +35 -303
  198. package/src/domain/openChannel/module/moduleContext.tsx +8 -2
  199. package/src/domain/openChannel/types.ts +40 -38
  200. package/src/fragments/createGroupChannelFragment.tsx +114 -17
  201. package/src/fragments/createGroupChannelSettingsFragment.tsx +2 -0
  202. package/src/fragments/createMessageSearchFragment.tsx +159 -0
  203. package/src/fragments/createOpenChannelFragment.tsx +48 -12
  204. package/src/hooks/useMentionSuggestion.ts +23 -3
  205. package/src/index.ts +3 -0
  206. package/src/localization/StringSet.type.ts +20 -2
  207. package/src/localization/createBaseStringSet.ts +22 -2
  208. package/src/utils/pubsub.ts +20 -0
  209. package/src/version.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_uikitChatHooks","_uikitUtils","_ProviderLayout","_interopRequireDefault","_useContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","GroupChannelContexts","Fragment","createContext","headerTitle","channel","setMessageToEdit","NOOP","TypingIndicator","typingUsers","exports","GroupChannelContextsProvider","_ref","children","enableTypingIndicator","keyboardAvoidOffset","Error","handlerId","useUniqHandlerId","STRINGS","useLocalization","currentUser","sdk","useSendbirdChat","setTypingUsers","useState","messageToEdit","useChannelHandler","onTypingStatusUpdated","eventChannel","isDifferentChannel","getTypingUsers","createElement","Provider","value","GROUP_CHANNEL","HEADER_TITLE","userId"],"sources":["moduleContext.tsx"],"sourcesContent":["import React, { createContext, useState } from 'react';\n\nimport { useChannelHandler } from '@sendbird/uikit-chat-hooks';\nimport {\n NOOP,\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdUser,\n SendbirdUserMessage,\n isDifferentChannel,\n useUniqHandlerId,\n} from '@sendbird/uikit-utils';\n\nimport ProviderLayout from '../../../components/ProviderLayout';\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport type { GroupChannelContextsType, GroupChannelModule } from '../types';\n\nexport const GroupChannelContexts: GroupChannelContextsType = {\n Fragment: createContext({\n headerTitle: '',\n channel: {} as SendbirdGroupChannel,\n setMessageToEdit: NOOP,\n }),\n TypingIndicator: createContext({\n typingUsers: [] as SendbirdUser[],\n }),\n};\n\nexport const GroupChannelContextsProvider: GroupChannelModule['Provider'] = ({\n children,\n channel,\n enableTypingIndicator,\n keyboardAvoidOffset = 0,\n}) => {\n if (!channel) throw new Error('GroupChannel is not provided to GroupChannelModule');\n\n const handlerId = useUniqHandlerId('GroupChannelContextsProvider');\n const { STRINGS } = useLocalization();\n const { currentUser, sdk } = useSendbirdChat();\n\n const [typingUsers, setTypingUsers] = useState<SendbirdUser[]>([]);\n const [messageToEdit, setMessageToEdit] = useState<SendbirdUserMessage | SendbirdFileMessage>();\n\n useChannelHandler(sdk, handlerId, {\n onTypingStatusUpdated(eventChannel) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (!enableTypingIndicator) return;\n setTypingUsers(eventChannel.getTypingUsers());\n },\n });\n\n return (\n <ProviderLayout>\n <GroupChannelContexts.Fragment.Provider\n value={{\n headerTitle: STRINGS.GROUP_CHANNEL.HEADER_TITLE(currentUser?.userId ?? '', channel),\n channel,\n messageToEdit,\n setMessageToEdit,\n keyboardAvoidOffset,\n }}\n >\n <GroupChannelContexts.TypingIndicator.Provider value={{ typingUsers }}>\n {children}\n </GroupChannelContexts.TypingIndicator.Provider>\n </GroupChannelContexts.Fragment.Provider>\n </ProviderLayout>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_uikitChatHooks","_uikitUtils","_ProviderLayout","_interopRequireDefault","_useContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","GroupChannelContexts","Fragment","createContext","headerTitle","channel","setMessageToEdit","NOOP","TypingIndicator","typingUsers","PubSub","publish","subscribe","exports","GroupChannelContextsProvider","_ref","children","enableTypingIndicator","keyboardAvoidOffset","groupChannelPubSub","Error","handlerId","useUniqHandlerId","STRINGS","useLocalization","currentUser","sdk","useSendbirdChat","setTypingUsers","useState","messageToEdit","useChannelHandler","onTypingStatusUpdated","eventChannel","isDifferentChannel","getTypingUsers","createElement","Provider","value","GROUP_CHANNEL","HEADER_TITLE","userId"],"sources":["moduleContext.tsx"],"sourcesContent":["import React, { createContext, useState } from 'react';\n\nimport { useChannelHandler } from '@sendbird/uikit-chat-hooks';\nimport {\n NOOP,\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdUser,\n SendbirdUserMessage,\n isDifferentChannel,\n useUniqHandlerId,\n} from '@sendbird/uikit-utils';\n\nimport ProviderLayout from '../../../components/ProviderLayout';\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport type { PubSub } from '../../../utils/pubsub';\nimport type { GroupChannelContextsType, GroupChannelModule, GroupChannelPubSubContextPayload } from '../types';\n\nexport const GroupChannelContexts: GroupChannelContextsType = {\n Fragment: createContext({\n headerTitle: '',\n channel: {} as SendbirdGroupChannel,\n setMessageToEdit: NOOP,\n }),\n TypingIndicator: createContext({\n typingUsers: [] as SendbirdUser[],\n }),\n PubSub: createContext({\n publish: NOOP,\n subscribe: () => NOOP,\n } as PubSub<GroupChannelPubSubContextPayload>),\n};\n\nexport const GroupChannelContextsProvider: GroupChannelModule['Provider'] = ({\n children,\n channel,\n enableTypingIndicator,\n keyboardAvoidOffset = 0,\n groupChannelPubSub,\n}) => {\n if (!channel) throw new Error('GroupChannel is not provided to GroupChannelModule');\n\n const handlerId = useUniqHandlerId('GroupChannelContextsProvider');\n const { STRINGS } = useLocalization();\n const { currentUser, sdk } = useSendbirdChat();\n\n const [typingUsers, setTypingUsers] = useState<SendbirdUser[]>([]);\n const [messageToEdit, setMessageToEdit] = useState<SendbirdUserMessage | SendbirdFileMessage>();\n\n useChannelHandler(sdk, handlerId, {\n onTypingStatusUpdated(eventChannel) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (!enableTypingIndicator) return;\n setTypingUsers(eventChannel.getTypingUsers());\n },\n });\n\n return (\n <ProviderLayout>\n <GroupChannelContexts.Fragment.Provider\n value={{\n headerTitle: STRINGS.GROUP_CHANNEL.HEADER_TITLE(currentUser?.userId ?? '', channel),\n channel,\n messageToEdit,\n setMessageToEdit,\n keyboardAvoidOffset,\n }}\n >\n <GroupChannelContexts.TypingIndicator.Provider value={{ typingUsers }}>\n <GroupChannelContexts.PubSub.Provider value={groupChannelPubSub}>\n {children}\n </GroupChannelContexts.PubSub.Provider>\n </GroupChannelContexts.TypingIndicator.Provider>\n </GroupChannelContexts.Fragment.Provider>\n </ProviderLayout>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\nimport type { FlatListProps } from 'react-native';\n\nimport type { UseGroupChannelMessagesOptions } from '@sendbird/uikit-chat-hooks';\nimport type {\n OnBeforeHandler,\n SendbirdFileMessage,\n SendbirdFileMessageCreateParams,\n SendbirdFileMessageUpdateParams,\n SendbirdGroupChannel,\n SendbirdMessage,\n SendbirdUser,\n SendbirdUserMessage,\n SendbirdUserMessageCreateParams,\n SendbirdUserMessageUpdateParams,\n} from '@sendbird/uikit-utils';\n\nimport type { ChannelInputProps, SuggestedMentionListProps } from '../../components/ChannelInput';\nimport type { CommonComponent } from '../../types';\n\nexport interface GroupChannelProps {\n Fragment: {\n channel: SendbirdGroupChannel;\n onChannelDeleted: () => void;\n onPressHeaderLeft: GroupChannelProps['Header']['onPressHeaderLeft'];\n onPressHeaderRight: GroupChannelProps['Header']['onPressHeaderRight'];\n onPressMediaMessage?: GroupChannelProps['MessageList']['onPressMediaMessage'];\n\n onBeforeSendUserMessage?: OnBeforeHandler<SendbirdUserMessageCreateParams>;\n onBeforeSendFileMessage?: OnBeforeHandler<SendbirdFileMessageCreateParams>;\n onBeforeUpdateUserMessage?: OnBeforeHandler<SendbirdUserMessageUpdateParams>;\n onBeforeUpdateFileMessage?: OnBeforeHandler<SendbirdFileMessageUpdateParams>;\n\n renderMessage?: GroupChannelProps['MessageList']['renderMessage'];\n renderNewMessagesButton?: GroupChannelProps['MessageList']['renderNewMessagesButton'];\n renderScrollToBottomButton?: GroupChannelProps['MessageList']['renderScrollToBottomButton'];\n\n enableTypingIndicator?: GroupChannelProps['Provider']['enableTypingIndicator'];\n enableMessageGrouping?: GroupChannelProps['MessageList']['enableMessageGrouping'];\n\n keyboardAvoidOffset?: GroupChannelProps['Provider']['keyboardAvoidOffset'];\n flatListProps?: GroupChannelProps['MessageList']['flatListProps'];\n sortComparator?: UseGroupChannelMessagesOptions['sortComparator'];\n collectionCreator?: UseGroupChannelMessagesOptions['collectionCreator'];\n queryCreator?: UseGroupChannelMessagesOptions['queryCreator'];\n\n /** @deprecated `onPressImageMessage` is deprecated, please use `onPressMediaMessage` instead **/\n onPressImageMessage?: GroupChannelProps['MessageList']['onPressImageMessage'];\n };\n Header: {\n onPressHeaderLeft: () => void;\n onPressHeaderRight: () => void;\n };\n MessageList: {\n enableMessageGrouping: boolean;\n currentUserId?: string;\n channel: SendbirdGroupChannel;\n messages: SendbirdMessage[];\n nextMessages: SendbirdMessage[];\n newMessagesFromMembers: SendbirdMessage[];\n onTopReached: () => void;\n onBottomReached: () => void;\n\n onResendFailedMessage: (failedMessage: SendbirdUserMessage | SendbirdFileMessage) => Promise<void>;\n onDeleteMessage: (message: SendbirdUserMessage | SendbirdFileMessage) => Promise<void>;\n onPressMediaMessage?: (message: SendbirdFileMessage, deleteMessage: () => Promise<void>, uri: string) => void;\n\n renderMessage: (props: {\n message: SendbirdMessage;\n prevMessage?: SendbirdMessage;\n nextMessage?: SendbirdMessage;\n onPress?: () => void;\n onLongPress?: () => void;\n channel: GroupChannelProps['MessageList']['channel'];\n currentUserId?: GroupChannelProps['MessageList']['currentUserId'];\n enableMessageGrouping: GroupChannelProps['MessageList']['enableMessageGrouping'];\n }) => React.ReactElement | null;\n renderNewMessagesButton: null | CommonComponent<{\n visible: boolean;\n onPress: () => void;\n newMessages: SendbirdMessage[];\n }>;\n renderScrollToBottomButton: null | CommonComponent<{\n visible: boolean;\n onPress: () => void;\n }>;\n flatListProps?: Omit<FlatListProps<SendbirdMessage>, 'data' | 'renderItem'>;\n\n /** @deprecated `onPressImageMessage` is deprecated, please use `onPressMediaMessage` instead **/\n onPressImageMessage?: (message: SendbirdFileMessage, uri: string) => void;\n };\n Input: Pick<\n ChannelInputProps,\n | 'shouldRenderInput'\n | 'onPressSendUserMessage'\n | 'onPressSendFileMessage'\n | 'onPressUpdateUserMessage'\n | 'onPressUpdateFileMessage'\n | 'SuggestedMentionList'\n | 'onSendFileMessage'\n | 'onSendUserMessage'\n | 'onUpdateFileMessage'\n | 'onUpdateUserMessage'\n >;\n\n SuggestedMentionList: SuggestedMentionListProps;\n Provider: {\n channel: SendbirdGroupChannel;\n enableTypingIndicator: boolean;\n keyboardAvoidOffset?: number;\n };\n}\n\n/**\n * Internal context for GroupChannel\n * For example, the developer can create a custom header\n * with getting data from the domain context\n * */\nexport interface GroupChannelContextsType {\n Fragment: React.Context<{\n headerTitle: string;\n channel: SendbirdGroupChannel;\n messageToEdit?: SendbirdUserMessage | SendbirdFileMessage;\n setMessageToEdit: (msg?: SendbirdUserMessage | SendbirdFileMessage) => void;\n keyboardAvoidOffset?: number;\n }>;\n TypingIndicator: React.Context<{\n typingUsers: SendbirdUser[];\n }>;\n}\nexport interface GroupChannelModule {\n Provider: CommonComponent<GroupChannelProps['Provider']>;\n Header: CommonComponent<GroupChannelProps['Header']>;\n MessageList: CommonComponent<GroupChannelProps['MessageList']>;\n Input: CommonComponent<GroupChannelProps['Input']>;\n SuggestedMentionList: CommonComponent<GroupChannelProps['SuggestedMentionList']>;\n StatusEmpty: CommonComponent;\n StatusLoading: CommonComponent;\n}\n\nexport type GroupChannelFragment = CommonComponent<GroupChannelProps['Fragment']>;\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\n\nimport type { UseGroupChannelMessagesOptions } from '@sendbird/uikit-chat-hooks';\nimport type {\n OnBeforeHandler,\n SendbirdFileMessage,\n SendbirdFileMessageCreateParams,\n SendbirdFileMessageUpdateParams,\n SendbirdGroupChannel,\n SendbirdMessage,\n SendbirdUser,\n SendbirdUserMessage,\n SendbirdUserMessageCreateParams,\n SendbirdUserMessageUpdateParams,\n} from '@sendbird/uikit-utils';\n\nimport type { ChannelInputProps, SuggestedMentionListProps } from '../../components/ChannelInput';\nimport type { ChannelMessageListProps } from '../../components/ChannelMessageList';\nimport type { CommonComponent } from '../../types';\nimport type { PubSub } from '../../utils/pubsub';\n\nexport interface GroupChannelProps {\n Fragment: {\n channel: SendbirdGroupChannel;\n onChannelDeleted: () => void;\n onPressHeaderLeft: GroupChannelProps['Header']['onPressHeaderLeft'];\n onPressHeaderRight: GroupChannelProps['Header']['onPressHeaderRight'];\n onPressMediaMessage?: GroupChannelProps['MessageList']['onPressMediaMessage'];\n\n onBeforeSendUserMessage?: OnBeforeHandler<SendbirdUserMessageCreateParams>;\n onBeforeSendFileMessage?: OnBeforeHandler<SendbirdFileMessageCreateParams>;\n onBeforeUpdateUserMessage?: OnBeforeHandler<SendbirdUserMessageUpdateParams>;\n onBeforeUpdateFileMessage?: OnBeforeHandler<SendbirdFileMessageUpdateParams>;\n\n renderMessage?: GroupChannelProps['MessageList']['renderMessage'];\n renderNewMessagesButton?: GroupChannelProps['MessageList']['renderNewMessagesButton'];\n renderScrollToBottomButton?: GroupChannelProps['MessageList']['renderScrollToBottomButton'];\n\n enableTypingIndicator?: GroupChannelProps['Provider']['enableTypingIndicator'];\n enableMessageGrouping?: GroupChannelProps['MessageList']['enableMessageGrouping'];\n\n keyboardAvoidOffset?: GroupChannelProps['Provider']['keyboardAvoidOffset'];\n flatListProps?: GroupChannelProps['MessageList']['flatListProps'];\n sortComparator?: UseGroupChannelMessagesOptions['sortComparator'];\n collectionCreator?: UseGroupChannelMessagesOptions['collectionCreator'];\n queryCreator?: UseGroupChannelMessagesOptions['queryCreator'];\n\n searchItem?: GroupChannelProps['MessageList']['searchItem'];\n\n /** @deprecated Please use `onPressMediaMessage` instead **/\n onPressImageMessage?: GroupChannelProps['MessageList']['onPressImageMessage'];\n };\n Header: {\n shouldHideRight: () => boolean;\n onPressHeaderLeft: () => void;\n onPressHeaderRight: () => void;\n };\n MessageList: Pick<\n ChannelMessageListProps<SendbirdGroupChannel>,\n | 'enableMessageGrouping'\n | 'currentUserId'\n | 'channel'\n | 'messages'\n | 'newMessages'\n | 'scrolledAwayFromBottom'\n | 'onScrolledAwayFromBottom'\n | 'onTopReached'\n | 'onBottomReached'\n | 'onResendFailedMessage'\n | 'onDeleteMessage'\n | 'onPressMediaMessage'\n | 'renderMessage'\n | 'renderNewMessagesButton'\n | 'renderScrollToBottomButton'\n | 'flatListProps'\n | 'onPressImageMessage'\n | 'hasNext'\n | 'searchItem'\n > & {\n onResetMessageList: (callback?: () => void) => void;\n\n /** @deprecated Please use `newMessages` instead */\n newMessagesFromMembers: SendbirdMessage[];\n /** @deprecated Please use `newMessages` instead */\n nextMessages: SendbirdMessage[];\n };\n Input: Pick<\n ChannelInputProps,\n | 'shouldRenderInput'\n | 'onPressSendUserMessage'\n | 'onPressSendFileMessage'\n | 'onPressUpdateUserMessage'\n | 'onPressUpdateFileMessage'\n | 'SuggestedMentionList'\n | 'onSendFileMessage'\n | 'onSendUserMessage'\n | 'onUpdateFileMessage'\n | 'onUpdateUserMessage'\n >;\n\n SuggestedMentionList: SuggestedMentionListProps;\n Provider: {\n channel: SendbirdGroupChannel;\n enableTypingIndicator: boolean;\n keyboardAvoidOffset?: number;\n groupChannelPubSub: PubSub<GroupChannelPubSubContextPayload>;\n };\n}\n\n/**\n * Internal context for GroupChannel\n * For example, the developer can create a custom header\n * with getting data from the domain context\n * */\nexport interface GroupChannelContextsType {\n Fragment: React.Context<{\n headerTitle: string;\n channel: SendbirdGroupChannel;\n messageToEdit?: SendbirdUserMessage | SendbirdFileMessage;\n setMessageToEdit: (msg?: SendbirdUserMessage | SendbirdFileMessage) => void;\n keyboardAvoidOffset?: number;\n }>;\n TypingIndicator: React.Context<{\n typingUsers: SendbirdUser[];\n }>;\n PubSub: React.Context<PubSub<GroupChannelPubSubContextPayload>>;\n}\nexport interface GroupChannelModule {\n Provider: CommonComponent<GroupChannelProps['Provider']>;\n Header: CommonComponent<GroupChannelProps['Header']>;\n MessageList: CommonComponent<GroupChannelProps['MessageList']>;\n Input: CommonComponent<GroupChannelProps['Input']>;\n SuggestedMentionList: CommonComponent<GroupChannelProps['SuggestedMentionList']>;\n StatusEmpty: CommonComponent;\n StatusLoading: CommonComponent;\n}\n\nexport type GroupChannelFragment = CommonComponent<GroupChannelProps['Fragment']>;\n\nexport type GroupChannelPubSubContextPayload =\n | {\n type: 'MESSAGE_SENT_PENDING' | 'MESSAGE_SENT_SUCCESS';\n data: {\n message: SendbirdUserMessage | SendbirdFileMessage;\n };\n }\n | {\n type: 'MESSAGES_RECEIVED';\n data: {\n messages: SendbirdMessage[];\n };\n };\n"],"mappings":""}
@@ -14,10 +14,12 @@ var _moduleContext = require("../module/moduleContext");
14
14
  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); }
15
15
  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; }
16
16
  let WARN_onPressMenuNotification = false;
17
+ let WARN_onPressMenuSearchInChannel = false;
17
18
  const GroupChannelSettingsMenu = _ref => {
18
19
  let {
19
20
  onPressMenuModeration,
20
21
  onPressMenuMembers,
22
+ onPressMenuSearchInChannel,
21
23
  onPressMenuLeaveChannel,
22
24
  onPressMenuNotification,
23
25
  menuItemsCreator = menu => menu
@@ -35,10 +37,14 @@ const GroupChannelSettingsMenu = _ref => {
35
37
  const {
36
38
  colors
37
39
  } = (0, _uikitReactNativeFoundation.useUIKitTheme)();
38
- if (__DEV__ && !WARN_onPressMenuNotification && !onPressMenuNotification) {
39
- _uikitUtils.Logger.warn('You should pass `onPressMenuNotification` prop if using mention');
40
+ if (__DEV__ && !WARN_onPressMenuNotification && !onPressMenuNotification && features.userMentionEnabled) {
41
+ _uikitUtils.Logger.warn('If you are using mention, make sure to pass the `onPressMenuNotification` prop');
40
42
  WARN_onPressMenuNotification = true;
41
43
  }
44
+ if (__DEV__ && !WARN_onPressMenuSearchInChannel && !onPressMenuSearchInChannel && features.messageSearchEnabled) {
45
+ _uikitUtils.Logger.warn('If you are using message search, make sure to pass the `onPressMenuSearchInChannel` prop');
46
+ WARN_onPressMenuSearchInChannel = true;
47
+ }
42
48
  const toggleNotification = async () => {
43
49
  if (channel.myPushTriggerOption === 'off') {
44
50
  await channel.setMyPushTriggerOption(_chat.PushTriggerOption.DEFAULT);
@@ -100,7 +106,15 @@ const GroupChannelSettingsMenu = _ref => {
100
106
  icon: 'chevron-right',
101
107
  color: colors.onBackground01
102
108
  })
103
- }, {
109
+ }]);
110
+ if (features.messageSearchEnabled) {
111
+ menuItems.push({
112
+ icon: 'search',
113
+ name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_SEARCH,
114
+ onPress: () => onPressMenuSearchInChannel === null || onPressMenuSearchInChannel === void 0 ? void 0 : onPressMenuSearchInChannel()
115
+ });
116
+ }
117
+ menuItems.push({
104
118
  icon: 'leave',
105
119
  iconColor: colors.error,
106
120
  name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_LEAVE_CHANNEL,
@@ -110,7 +124,7 @@ const GroupChannelSettingsMenu = _ref => {
110
124
  sdk.clearCachedMessages([channel.url]).catch();
111
125
  });
112
126
  }
113
- }]);
127
+ });
114
128
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, null, menuItems.map(menu => {
115
129
  return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.MenuBar, {
116
130
  key: menu.name,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_chat","_uikitReactNativeFoundation","_uikitUtils","_useContext","_moduleContext","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","WARN_onPressMenuNotification","GroupChannelSettingsMenu","_ref","onPressMenuModeration","onPressMenuMembers","onPressMenuLeaveChannel","onPressMenuNotification","menuItemsCreator","menu","sdk","features","useSendbirdChat","channel","useContext","GroupChannelSettingsContexts","Fragment","STRINGS","useLocalization","colors","useUIKitTheme","__DEV__","Logger","warn","toggleNotification","myPushTriggerOption","setMyPushTriggerOption","PushTriggerOption","DEFAULT","OFF","onPressNotificationMenu","actionLabelNotificationMenu","actionItemNotificationMenu","useIIFE","getNotificationsLabel","ALL","GROUP_CHANNEL_SETTINGS","MENU_NOTIFICATION_LABEL_ON","MENU_NOTIFICATION_LABEL_OFF","MENTION_ONLY","MENU_NOTIFICATION_LABEL_MENTION_ONLY","conditionChaining","userMentionEnabled","createElement","Icon","icon","color","onBackground01","Switch","value","onChangeValue","menuItems","visible","myRole","name","MENU_MODERATION","onPress","actionItem","MENU_NOTIFICATION","actionLabel","MENU_MEMBERS","String","memberCount","iconColor","error","MENU_LEAVE_CHANNEL","leave","then","clearCachedMessages","url","catch","View","map","MenuBar","disabled","iconBackgroundColor","_default","exports"],"sources":["GroupChannelSettingsMenu.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { View } from 'react-native';\n\nimport { PushTriggerOption } from '@sendbird/chat';\nimport type { MenuBarProps } from '@sendbird/uikit-react-native-foundation';\nimport { Icon, MenuBar, Switch, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { Logger, conditionChaining, useIIFE } from '@sendbird/uikit-utils';\n\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport { GroupChannelSettingsContexts } from '../module/moduleContext';\nimport type { GroupChannelSettingsProps } from '../types';\n\nlet WARN_onPressMenuNotification = false;\n\nconst GroupChannelSettingsMenu = ({\n onPressMenuModeration,\n onPressMenuMembers,\n onPressMenuLeaveChannel,\n onPressMenuNotification,\n menuItemsCreator = (menu) => menu,\n}: GroupChannelSettingsProps['Menu']) => {\n const { sdk, features } = useSendbirdChat();\n const { channel } = useContext(GroupChannelSettingsContexts.Fragment);\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n if (__DEV__ && !WARN_onPressMenuNotification && !onPressMenuNotification) {\n Logger.warn('You should pass `onPressMenuNotification` prop if using mention');\n WARN_onPressMenuNotification = true;\n }\n\n const toggleNotification = async () => {\n if (channel.myPushTriggerOption === 'off') {\n await channel.setMyPushTriggerOption(PushTriggerOption.DEFAULT);\n } else {\n await channel.setMyPushTriggerOption(PushTriggerOption.OFF);\n }\n };\n\n const { onPressNotificationMenu, actionLabelNotificationMenu, actionItemNotificationMenu } = useIIFE(() => {\n const getNotificationsLabel = () => {\n switch (channel.myPushTriggerOption) {\n case PushTriggerOption.ALL:\n case PushTriggerOption.DEFAULT:\n return STRINGS.GROUP_CHANNEL_SETTINGS.MENU_NOTIFICATION_LABEL_ON;\n case PushTriggerOption.OFF:\n return STRINGS.GROUP_CHANNEL_SETTINGS.MENU_NOTIFICATION_LABEL_OFF;\n case PushTriggerOption.MENTION_ONLY:\n return STRINGS.GROUP_CHANNEL_SETTINGS.MENU_NOTIFICATION_LABEL_MENTION_ONLY;\n }\n };\n\n return {\n actionLabelNotificationMenu: getNotificationsLabel(),\n actionItemNotificationMenu: conditionChaining(\n [features.userMentionEnabled],\n [\n <Icon icon={'chevron-right'} color={colors.onBackground01} />,\n <Switch value={channel.myPushTriggerOption !== 'off'} onChangeValue={toggleNotification} />,\n ],\n ),\n onPressNotificationMenu: () => {\n if (features.userMentionEnabled) onPressMenuNotification?.();\n else toggleNotification();\n },\n };\n });\n\n const menuItems: MenuBarProps[] = menuItemsCreator([\n {\n icon: 'moderation',\n visible: channel.myRole === 'operator',\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_MODERATION,\n onPress: () => onPressMenuModeration(),\n actionItem: <Icon icon={'chevron-right'} color={colors.onBackground01} />,\n },\n {\n icon: 'notifications',\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_NOTIFICATION,\n onPress: onPressNotificationMenu,\n actionLabel: actionLabelNotificationMenu,\n actionItem: actionItemNotificationMenu,\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 visible={menu.visible}\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":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_chat","_uikitReactNativeFoundation","_uikitUtils","_useContext","_moduleContext","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","WARN_onPressMenuNotification","WARN_onPressMenuSearchInChannel","GroupChannelSettingsMenu","_ref","onPressMenuModeration","onPressMenuMembers","onPressMenuSearchInChannel","onPressMenuLeaveChannel","onPressMenuNotification","menuItemsCreator","menu","sdk","features","useSendbirdChat","channel","useContext","GroupChannelSettingsContexts","Fragment","STRINGS","useLocalization","colors","useUIKitTheme","__DEV__","userMentionEnabled","Logger","warn","messageSearchEnabled","toggleNotification","myPushTriggerOption","setMyPushTriggerOption","PushTriggerOption","DEFAULT","OFF","onPressNotificationMenu","actionLabelNotificationMenu","actionItemNotificationMenu","useIIFE","getNotificationsLabel","ALL","GROUP_CHANNEL_SETTINGS","MENU_NOTIFICATION_LABEL_ON","MENU_NOTIFICATION_LABEL_OFF","MENTION_ONLY","MENU_NOTIFICATION_LABEL_MENTION_ONLY","conditionChaining","createElement","Icon","icon","color","onBackground01","Switch","value","onChangeValue","menuItems","visible","myRole","name","MENU_MODERATION","onPress","actionItem","MENU_NOTIFICATION","actionLabel","MENU_MEMBERS","String","memberCount","push","MENU_SEARCH","iconColor","error","MENU_LEAVE_CHANNEL","leave","then","clearCachedMessages","url","catch","View","map","MenuBar","disabled","iconBackgroundColor","_default","exports"],"sources":["GroupChannelSettingsMenu.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { View } from 'react-native';\n\nimport { PushTriggerOption } from '@sendbird/chat';\nimport type { MenuBarProps } from '@sendbird/uikit-react-native-foundation';\nimport { Icon, MenuBar, Switch, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { Logger, conditionChaining, useIIFE } from '@sendbird/uikit-utils';\n\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport { GroupChannelSettingsContexts } from '../module/moduleContext';\nimport type { GroupChannelSettingsProps } from '../types';\n\nlet WARN_onPressMenuNotification = false;\nlet WARN_onPressMenuSearchInChannel = false;\n\nconst GroupChannelSettingsMenu = ({\n onPressMenuModeration,\n onPressMenuMembers,\n onPressMenuSearchInChannel,\n onPressMenuLeaveChannel,\n onPressMenuNotification,\n menuItemsCreator = (menu) => menu,\n}: GroupChannelSettingsProps['Menu']) => {\n const { sdk, features } = useSendbirdChat();\n const { channel } = useContext(GroupChannelSettingsContexts.Fragment);\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n if (__DEV__ && !WARN_onPressMenuNotification && !onPressMenuNotification && features.userMentionEnabled) {\n Logger.warn('If you are using mention, make sure to pass the `onPressMenuNotification` prop');\n WARN_onPressMenuNotification = true;\n }\n\n if (__DEV__ && !WARN_onPressMenuSearchInChannel && !onPressMenuSearchInChannel && features.messageSearchEnabled) {\n Logger.warn('If you are using message search, make sure to pass the `onPressMenuSearchInChannel` prop');\n WARN_onPressMenuSearchInChannel = true;\n }\n\n const toggleNotification = async () => {\n if (channel.myPushTriggerOption === 'off') {\n await channel.setMyPushTriggerOption(PushTriggerOption.DEFAULT);\n } else {\n await channel.setMyPushTriggerOption(PushTriggerOption.OFF);\n }\n };\n\n const { onPressNotificationMenu, actionLabelNotificationMenu, actionItemNotificationMenu } = useIIFE(() => {\n const getNotificationsLabel = () => {\n switch (channel.myPushTriggerOption) {\n case PushTriggerOption.ALL:\n case PushTriggerOption.DEFAULT:\n return STRINGS.GROUP_CHANNEL_SETTINGS.MENU_NOTIFICATION_LABEL_ON;\n case PushTriggerOption.OFF:\n return STRINGS.GROUP_CHANNEL_SETTINGS.MENU_NOTIFICATION_LABEL_OFF;\n case PushTriggerOption.MENTION_ONLY:\n return STRINGS.GROUP_CHANNEL_SETTINGS.MENU_NOTIFICATION_LABEL_MENTION_ONLY;\n }\n };\n\n return {\n actionLabelNotificationMenu: getNotificationsLabel(),\n actionItemNotificationMenu: conditionChaining(\n [features.userMentionEnabled],\n [\n <Icon icon={'chevron-right'} color={colors.onBackground01} />,\n <Switch value={channel.myPushTriggerOption !== 'off'} onChangeValue={toggleNotification} />,\n ],\n ),\n onPressNotificationMenu: () => {\n if (features.userMentionEnabled) onPressMenuNotification?.();\n else toggleNotification();\n },\n };\n });\n\n const menuItems: MenuBarProps[] = menuItemsCreator([\n {\n icon: 'moderation',\n visible: channel.myRole === 'operator',\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_MODERATION,\n onPress: () => onPressMenuModeration(),\n actionItem: <Icon icon={'chevron-right'} color={colors.onBackground01} />,\n },\n {\n icon: 'notifications',\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_NOTIFICATION,\n onPress: onPressNotificationMenu,\n actionLabel: actionLabelNotificationMenu,\n actionItem: actionItemNotificationMenu,\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\n if (features.messageSearchEnabled) {\n menuItems.push({\n icon: 'search',\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_SEARCH,\n onPress: () => onPressMenuSearchInChannel?.(),\n });\n }\n\n menuItems.push({\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 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 visible={menu.visible}\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":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\n\nimport type { MenuBarProps } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdGroupChannel } from '@sendbird/uikit-utils';\n\nimport type { CommonComponent } from '../../types';\n\nexport interface GroupChannelSettingsProps {\n Fragment: {\n channel: GroupChannelSettingsProps['Provider']['channel'];\n onPressHeaderLeft: GroupChannelSettingsProps['Header']['onPressHeaderLeft'];\n onPressMenuModeration: GroupChannelSettingsProps['Menu']['onPressMenuModeration'];\n onPressMenuMembers: GroupChannelSettingsProps['Menu']['onPressMenuMembers'];\n onPressMenuLeaveChannel: GroupChannelSettingsProps['Menu']['onPressMenuLeaveChannel'];\n onPressMenuNotification?: GroupChannelSettingsProps['Menu']['onPressMenuNotification'];\n menuItemsCreator?: GroupChannelSettingsProps['Menu']['menuItemsCreator'];\n };\n Header: {\n onPressHeaderLeft: () => void;\n };\n Info: {};\n Menu: {\n onPressMenuModeration: () => void;\n onPressMenuMembers: () => void;\n onPressMenuLeaveChannel: () => void;\n onPressMenuNotification?: () => void;\n menuItemsCreator?: (defaultMenuItems: MenuBarProps[]) => MenuBarProps[];\n };\n Provider: {\n channel: SendbirdGroupChannel;\n };\n}\n\n/**\n * Internal context for GroupChannelSettings\n * For example, the developer can create a custom header\n * with getting data from the domain context\n * */\nexport interface GroupChannelSettingsContextsType {\n Fragment: React.Context<{\n channel: SendbirdGroupChannel;\n headerTitle: string;\n headerRight: string;\n onPressHeaderRight: () => void;\n }>;\n}\nexport interface GroupChannelSettingsModule {\n Provider: CommonComponent<GroupChannelSettingsProps['Provider']>;\n Header: CommonComponent<GroupChannelSettingsProps['Header']>;\n Info: CommonComponent<GroupChannelSettingsProps['Info']>;\n Menu: CommonComponent<GroupChannelSettingsProps['Menu']>;\n}\n\nexport type GroupChannelSettingsFragment = CommonComponent<GroupChannelSettingsProps['Fragment']>;\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from 'react';\n\nimport type { MenuBarProps } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdGroupChannel } from '@sendbird/uikit-utils';\n\nimport type { CommonComponent } from '../../types';\n\nexport interface GroupChannelSettingsProps {\n Fragment: {\n channel: GroupChannelSettingsProps['Provider']['channel'];\n onPressHeaderLeft: GroupChannelSettingsProps['Header']['onPressHeaderLeft'];\n onPressMenuModeration: GroupChannelSettingsProps['Menu']['onPressMenuModeration'];\n onPressMenuMembers: GroupChannelSettingsProps['Menu']['onPressMenuMembers'];\n onPressMenuSearchInChannel?: GroupChannelSettingsProps['Menu']['onPressMenuSearchInChannel'];\n onPressMenuLeaveChannel: GroupChannelSettingsProps['Menu']['onPressMenuLeaveChannel'];\n onPressMenuNotification?: GroupChannelSettingsProps['Menu']['onPressMenuNotification'];\n menuItemsCreator?: GroupChannelSettingsProps['Menu']['menuItemsCreator'];\n };\n Header: {\n onPressHeaderLeft: () => void;\n };\n Info: {};\n Menu: {\n onPressMenuModeration: () => void;\n onPressMenuMembers: () => void;\n onPressMenuSearchInChannel?: () => void;\n onPressMenuLeaveChannel: () => void;\n onPressMenuNotification?: () => void;\n menuItemsCreator?: (defaultMenuItems: MenuBarProps[]) => MenuBarProps[];\n };\n Provider: {\n channel: SendbirdGroupChannel;\n };\n}\n\n/**\n * Internal context for GroupChannelSettings\n * For example, the developer can create a custom header\n * with getting data from the domain context\n * */\nexport interface GroupChannelSettingsContextsType {\n Fragment: React.Context<{\n channel: SendbirdGroupChannel;\n headerTitle: string;\n headerRight: string;\n onPressHeaderRight: () => void;\n }>;\n}\nexport interface GroupChannelSettingsModule {\n Provider: CommonComponent<GroupChannelSettingsProps['Provider']>;\n Header: CommonComponent<GroupChannelSettingsProps['Header']>;\n Info: CommonComponent<GroupChannelSettingsProps['Info']>;\n Menu: CommonComponent<GroupChannelSettingsProps['Menu']>;\n}\n\nexport type GroupChannelSettingsFragment = CommonComponent<GroupChannelSettingsProps['Fragment']>;\n"],"mappings":""}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
10
+ var _useContext = require("../../../hooks/useContext");
11
+ 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); }
12
+ 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; }
13
+ const MessageSearchHeader = _ref => {
14
+ let {
15
+ keyword,
16
+ onChangeKeyword,
17
+ onPressHeaderLeft,
18
+ onPressHeaderRight
19
+ } = _ref;
20
+ const {
21
+ HeaderComponent
22
+ } = (0, _uikitReactNativeFoundation.useHeaderStyle)();
23
+ const {
24
+ colors
25
+ } = (0, _uikitReactNativeFoundation.useUIKitTheme)();
26
+ const {
27
+ STRINGS
28
+ } = (0, _useContext.useLocalization)();
29
+ const inputRef = (0, _react.useRef)(null);
30
+ const inputColor = colors.ui.input.default.active;
31
+ const searchEnabled = keyword.length > 0;
32
+ (0, _react.useEffect)(() => {
33
+ setTimeout(() => {
34
+ var _inputRef$current;
35
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
36
+ }, _reactNative.Platform.select({
37
+ ios: 500,
38
+ default: 0
39
+ }));
40
+ }, []);
41
+ return /*#__PURE__*/_react.default.createElement(HeaderComponent, {
42
+ clearTitleMargin: true,
43
+ title: /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Box, {
44
+ flex: 1,
45
+ height: 36,
46
+ alignItems: 'center',
47
+ backgroundColor: inputColor.background,
48
+ borderRadius: 24,
49
+ paddingHorizontal: 10,
50
+ flexDirection: 'row'
51
+ }, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon, {
52
+ size: 24,
53
+ icon: 'search',
54
+ color: colors.onBackground03,
55
+ containerStyle: styles.searchIcon
56
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.TextInput, {
57
+ disableFullscreenUI: true,
58
+ enablesReturnKeyAutomatically: true,
59
+ ref: inputRef,
60
+ returnKeyType: 'search',
61
+ onSubmitEditing: () => onPressHeaderRight(),
62
+ selectionColor: colors.primary,
63
+ placeholder: STRINGS.MESSAGE_SEARCH.HEADER_INPUT_PLACEHOLDER,
64
+ placeholderTextColor: inputColor.placeholder,
65
+ style: [styles.input, {
66
+ color: inputColor.text
67
+ }],
68
+ value: keyword,
69
+ onChangeText: onChangeKeyword
70
+ }), searchEnabled && /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.PressBox, {
71
+ onPress: () => onChangeKeyword('')
72
+ }, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon, {
73
+ size: 18,
74
+ icon: 'remove',
75
+ color: colors.onBackground03,
76
+ containerStyle: styles.clearIcon
77
+ }))),
78
+ left: /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon, {
79
+ icon: 'arrow-left'
80
+ }),
81
+ onPressLeft: onPressHeaderLeft,
82
+ right: /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Text, {
83
+ button: true,
84
+ color: searchEnabled ? colors.primary : colors.onBackground04
85
+ }, STRINGS.MESSAGE_SEARCH.HEADER_RIGHT),
86
+ onPressRight: searchEnabled ? onPressHeaderRight : undefined
87
+ });
88
+ };
89
+ const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
90
+ searchIcon: {
91
+ marginRight: 8
92
+ },
93
+ clearIcon: {
94
+ marginLeft: 8
95
+ },
96
+ input: {
97
+ flex: 1,
98
+ height: '100%',
99
+ fontSize: 14,
100
+ padding: 0
101
+ }
102
+ });
103
+ var _default = MessageSearchHeader;
104
+ exports.default = _default;
105
+ //# sourceMappingURL=MessageSearchHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitReactNativeFoundation","_useContext","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MessageSearchHeader","_ref","keyword","onChangeKeyword","onPressHeaderLeft","onPressHeaderRight","HeaderComponent","useHeaderStyle","colors","useUIKitTheme","STRINGS","useLocalization","inputRef","useRef","inputColor","ui","input","active","searchEnabled","length","useEffect","setTimeout","_inputRef$current","current","focus","Platform","select","ios","createElement","clearTitleMargin","title","Box","flex","height","alignItems","backgroundColor","background","borderRadius","paddingHorizontal","flexDirection","Icon","size","icon","color","onBackground03","containerStyle","styles","searchIcon","TextInput","disableFullscreenUI","enablesReturnKeyAutomatically","ref","returnKeyType","onSubmitEditing","selectionColor","primary","placeholder","MESSAGE_SEARCH","HEADER_INPUT_PLACEHOLDER","placeholderTextColor","style","text","value","onChangeText","PressBox","onPress","clearIcon","left","onPressLeft","right","Text","button","onBackground04","HEADER_RIGHT","onPressRight","undefined","createStyleSheet","marginRight","marginLeft","fontSize","padding","_default","exports"],"sources":["MessageSearchHeader.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Platform, TextInput } from 'react-native';\n\nimport {\n Box,\n Icon,\n PressBox,\n Text,\n createStyleSheet,\n useHeaderStyle,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\n\nimport { useLocalization } from '../../../hooks/useContext';\nimport type { MessageSearchProps } from '../types';\n\nconst MessageSearchHeader = ({\n keyword,\n onChangeKeyword,\n onPressHeaderLeft,\n onPressHeaderRight,\n}: MessageSearchProps['Header']) => {\n const { HeaderComponent } = useHeaderStyle();\n const { colors } = useUIKitTheme();\n const { STRINGS } = useLocalization();\n\n const inputRef = useRef<TextInput>(null);\n const inputColor = colors.ui.input.default.active;\n const searchEnabled = keyword.length > 0;\n\n useEffect(() => {\n setTimeout(() => {\n inputRef.current?.focus();\n }, Platform.select({ ios: 500, default: 0 }));\n }, []);\n\n return (\n <HeaderComponent\n clearTitleMargin\n title={\n <Box\n flex={1}\n height={36}\n alignItems={'center'}\n backgroundColor={inputColor.background}\n borderRadius={24}\n paddingHorizontal={10}\n flexDirection={'row'}\n >\n <Icon size={24} icon={'search'} color={colors.onBackground03} containerStyle={styles.searchIcon} />\n <TextInput\n disableFullscreenUI\n enablesReturnKeyAutomatically\n ref={inputRef}\n returnKeyType={'search'}\n onSubmitEditing={() => onPressHeaderRight()}\n selectionColor={colors.primary}\n placeholder={STRINGS.MESSAGE_SEARCH.HEADER_INPUT_PLACEHOLDER}\n placeholderTextColor={inputColor.placeholder}\n style={[styles.input, { color: inputColor.text }]}\n value={keyword}\n onChangeText={onChangeKeyword}\n />\n {searchEnabled && (\n <PressBox onPress={() => onChangeKeyword('')}>\n <Icon size={18} icon={'remove'} color={colors.onBackground03} containerStyle={styles.clearIcon} />\n </PressBox>\n )}\n </Box>\n }\n left={<Icon icon={'arrow-left'} />}\n onPressLeft={onPressHeaderLeft}\n right={\n <Text button color={searchEnabled ? colors.primary : colors.onBackground04}>\n {STRINGS.MESSAGE_SEARCH.HEADER_RIGHT}\n </Text>\n }\n onPressRight={searchEnabled ? onPressHeaderRight : undefined}\n />\n );\n};\n\nconst styles = createStyleSheet({\n searchIcon: {\n marginRight: 8,\n },\n clearIcon: {\n marginLeft: 8,\n },\n input: {\n flex: 1,\n height: '100%',\n fontSize: 14,\n padding: 0,\n },\n});\n\nexport default MessageSearchHeader;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,2BAAA,GAAAF,OAAA;AAUA,IAAAG,WAAA,GAAAH,OAAA;AAA4D,SAAAI,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAN,wBAAAU,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAG5D,MAAMW,mBAAmB,GAAGC,IAAA,IAKQ;EAAA,IALP;IAC3BC,OAAO;IACPC,eAAe;IACfC,iBAAiB;IACjBC;EAC4B,CAAC,GAAAJ,IAAA;EAC7B,MAAM;IAAEK;EAAgB,CAAC,GAAG,IAAAC,0CAAc,GAAE;EAC5C,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,yCAAa,GAAE;EAClC,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,2BAAe,GAAE;EAErC,MAAMC,QAAQ,GAAG,IAAAC,aAAM,EAAY,IAAI,CAAC;EACxC,MAAMC,UAAU,GAAGN,MAAM,CAACO,EAAE,CAACC,KAAK,CAAC/B,OAAO,CAACgC,MAAM;EACjD,MAAMC,aAAa,GAAGhB,OAAO,CAACiB,MAAM,GAAG,CAAC;EAExC,IAAAC,gBAAS,EAAC,MAAM;IACdC,UAAU,CAAC,MAAM;MAAA,IAAAC,iBAAA;MACf,CAAAA,iBAAA,GAAAV,QAAQ,CAACW,OAAO,cAAAD,iBAAA,uBAAhBA,iBAAA,CAAkBE,KAAK,EAAE;IAC3B,CAAC,EAAEC,qBAAQ,CAACC,MAAM,CAAC;MAAEC,GAAG,EAAE,GAAG;MAAE1C,OAAO,EAAE;IAAE,CAAC,CAAC,CAAC;EAC/C,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEb,MAAA,CAAAa,OAAA,CAAA2C,aAAA,CAACtB,eAAe;IACduB,gBAAgB;IAChBC,KAAK,eACH1D,MAAA,CAAAa,OAAA,CAAA2C,aAAA,CAACpD,2BAAA,CAAAuD,GAAG;MACFC,IAAI,EAAE,CAAE;MACRC,MAAM,EAAE,EAAG;MACXC,UAAU,EAAE,QAAS;MACrBC,eAAe,EAAErB,UAAU,CAACsB,UAAW;MACvCC,YAAY,EAAE,EAAG;MACjBC,iBAAiB,EAAE,EAAG;MACtBC,aAAa,EAAE;IAAM,gBAErBnE,MAAA,CAAAa,OAAA,CAAA2C,aAAA,CAACpD,2BAAA,CAAAgE,IAAI;MAACC,IAAI,EAAE,EAAG;MAACC,IAAI,EAAE,QAAS;MAACC,KAAK,EAAEnC,MAAM,CAACoC,cAAe;MAACC,cAAc,EAAEC,MAAM,CAACC;IAAW,EAAG,eACnG3E,MAAA,CAAAa,OAAA,CAAA2C,aAAA,CAACrD,YAAA,CAAAyE,SAAS;MACRC,mBAAmB;MACnBC,6BAA6B;MAC7BC,GAAG,EAAEvC,QAAS;MACdwC,aAAa,EAAE,QAAS;MACxBC,eAAe,EAAEA,CAAA,KAAMhD,kBAAkB,EAAG;MAC5CiD,cAAc,EAAE9C,MAAM,CAAC+C,OAAQ;MAC/BC,WAAW,EAAE9C,OAAO,CAAC+C,cAAc,CAACC,wBAAyB;MAC7DC,oBAAoB,EAAE7C,UAAU,CAAC0C,WAAY;MAC7CI,KAAK,EAAE,CAACd,MAAM,CAAC9B,KAAK,EAAE;QAAE2B,KAAK,EAAE7B,UAAU,CAAC+C;MAAK,CAAC,CAAE;MAClDC,KAAK,EAAE5D,OAAQ;MACf6D,YAAY,EAAE5D;IAAgB,EAC9B,EACDe,aAAa,iBACZ9C,MAAA,CAAAa,OAAA,CAAA2C,aAAA,CAACpD,2BAAA,CAAAwF,QAAQ;MAACC,OAAO,EAAEA,CAAA,KAAM9D,eAAe,CAAC,EAAE;IAAE,gBAC3C/B,MAAA,CAAAa,OAAA,CAAA2C,aAAA,CAACpD,2BAAA,CAAAgE,IAAI;MAACC,IAAI,EAAE,EAAG;MAACC,IAAI,EAAE,QAAS;MAACC,KAAK,EAAEnC,MAAM,CAACoC,cAAe;MAACC,cAAc,EAAEC,MAAM,CAACoB;IAAU,EAAG,CAErG,CAEJ;IACDC,IAAI,eAAE/F,MAAA,CAAAa,OAAA,CAAA2C,aAAA,CAACpD,2BAAA,CAAAgE,IAAI;MAACE,IAAI,EAAE;IAAa,EAAI;IACnC0B,WAAW,EAAEhE,iBAAkB;IAC/BiE,KAAK,eACHjG,MAAA,CAAAa,OAAA,CAAA2C,aAAA,CAACpD,2BAAA,CAAA8F,IAAI;MAACC,MAAM;MAAC5B,KAAK,EAAEzB,aAAa,GAAGV,MAAM,CAAC+C,OAAO,GAAG/C,MAAM,CAACgE;IAAe,GACxE9D,OAAO,CAAC+C,cAAc,CAACgB,YAAY,CAEvC;IACDC,YAAY,EAAExD,aAAa,GAAGb,kBAAkB,GAAGsE;EAAU,EAC7D;AAEN,CAAC;AAED,MAAM7B,MAAM,GAAG,IAAA8B,4CAAgB,EAAC;EAC9B7B,UAAU,EAAE;IACV8B,WAAW,EAAE;EACf,CAAC;EACDX,SAAS,EAAE;IACTY,UAAU,EAAE;EACd,CAAC;EACD9D,KAAK,EAAE;IACLgB,IAAI,EAAE,CAAC;IACPC,MAAM,EAAE,MAAM;IACd8C,QAAQ,EAAE,EAAE;IACZC,OAAO,EAAE;EACX;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEYjF,mBAAmB;AAAAkF,OAAA,CAAAjG,OAAA,GAAAgG,QAAA"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _uikitUtils = require("@sendbird/uikit-utils");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ 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); }
12
+ const MessageSearchList = _ref => {
13
+ let {
14
+ messages,
15
+ renderSearchResultItem,
16
+ flatListProps,
17
+ onPressSearchResultItem,
18
+ channel
19
+ } = _ref;
20
+ const renderItem = (0, _uikitUtils.useFreshCallback)(_ref2 => {
21
+ let {
22
+ item
23
+ } = _ref2;
24
+ return renderSearchResultItem({
25
+ message: item,
26
+ onPress: () => onPressSearchResultItem({
27
+ message: item,
28
+ channel
29
+ }),
30
+ channel
31
+ });
32
+ });
33
+ return /*#__PURE__*/_react.default.createElement(_reactNative.FlatList, _extends({}, flatListProps, {
34
+ data: messages,
35
+ renderItem: renderItem
36
+ }));
37
+ };
38
+ var _default = MessageSearchList;
39
+ exports.default = _default;
40
+ //# sourceMappingURL=MessageSearchList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_uikitUtils","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","MessageSearchList","_ref","messages","renderSearchResultItem","flatListProps","onPressSearchResultItem","channel","renderItem","useFreshCallback","_ref2","item","message","onPress","createElement","FlatList","data","_default","exports"],"sources":["MessageSearchList.tsx"],"sourcesContent":["import React from 'react';\nimport { FlatList, ListRenderItem } from 'react-native';\n\nimport { SendbirdBaseMessage, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport type { MessageSearchProps } from '../types';\n\nconst MessageSearchList = ({\n messages,\n renderSearchResultItem,\n flatListProps,\n onPressSearchResultItem,\n channel,\n}: MessageSearchProps['List']) => {\n const renderItem: ListRenderItem<SendbirdBaseMessage> = useFreshCallback(({ item }) => {\n return renderSearchResultItem({\n message: item,\n onPress: () => onPressSearchResultItem({ message: item, channel }),\n channel,\n });\n });\n\n return <FlatList {...flatListProps} data={messages} renderItem={renderItem} />;\n};\n\nexport default MessageSearchList;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AAA8E,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAI9E,MAAMQ,iBAAiB,GAAGC,IAAA,IAMQ;EAAA,IANP;IACzBC,QAAQ;IACRC,sBAAsB;IACtBC,aAAa;IACbC,uBAAuB;IACvBC;EAC0B,CAAC,GAAAL,IAAA;EAC3B,MAAMM,UAA+C,GAAG,IAAAC,4BAAgB,EAACC,KAAA,IAAc;IAAA,IAAb;MAAEC;IAAK,CAAC,GAAAD,KAAA;IAChF,OAAON,sBAAsB,CAAC;MAC5BQ,OAAO,EAAED,IAAI;MACbE,OAAO,EAAEA,CAAA,KAAMP,uBAAuB,CAAC;QAAEM,OAAO,EAAED,IAAI;QAAEJ;MAAQ,CAAC,CAAC;MAClEA;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,oBAAO5B,MAAA,CAAAO,OAAA,CAAA4B,aAAA,CAAChC,YAAA,CAAAiC,QAAQ,EAAA5B,QAAA,KAAKkB,aAAa;IAAEW,IAAI,EAAEb,QAAS;IAACK,UAAU,EAAEA;EAAW,GAAG;AAChF,CAAC;AAAC,IAAAS,QAAA,GAEahB,iBAAiB;AAAAiB,OAAA,CAAAhC,OAAA,GAAA+B,QAAA"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
9
+ var _TypedPlaceholder = _interopRequireDefault(require("../../../components/TypedPlaceholder"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ const MessageSearchStatusEmpty = () => {
12
+ return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Box, {
13
+ flex: 1,
14
+ alignItems: 'center',
15
+ justifyContent: 'center'
16
+ }, /*#__PURE__*/_react.default.createElement(_TypedPlaceholder.default, {
17
+ type: 'no-results-found'
18
+ }));
19
+ };
20
+ var _default = MessageSearchStatusEmpty;
21
+ exports.default = _default;
22
+ //# sourceMappingURL=MessageSearchStatusEmpty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_uikitReactNativeFoundation","_TypedPlaceholder","obj","__esModule","default","MessageSearchStatusEmpty","createElement","Box","flex","alignItems","justifyContent","type","_default","exports"],"sources":["MessageSearchStatusEmpty.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Box } from '@sendbird/uikit-react-native-foundation';\n\nimport TypedPlaceholder from '../../../components/TypedPlaceholder';\n\nconst MessageSearchStatusEmpty = () => {\n return (\n <Box flex={1} alignItems={'center'} justifyContent={'center'}>\n <TypedPlaceholder type={'no-results-found'} />\n </Box>\n );\n};\n\nexport default MessageSearchStatusEmpty;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,2BAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAoE,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEpE,MAAMG,wBAAwB,GAAGA,CAAA,KAAM;EACrC,oBACER,MAAA,CAAAO,OAAA,CAAAE,aAAA,CAACN,2BAAA,CAAAO,GAAG;IAACC,IAAI,EAAE,CAAE;IAACC,UAAU,EAAE,QAAS;IAACC,cAAc,EAAE;EAAS,gBAC3Db,MAAA,CAAAO,OAAA,CAAAE,aAAA,CAACL,iBAAA,CAAAG,OAAgB;IAACO,IAAI,EAAE;EAAmB,EAAG,CAC1C;AAEV,CAAC;AAAC,IAAAC,QAAA,GAEaP,wBAAwB;AAAAQ,OAAA,CAAAT,OAAA,GAAAQ,QAAA"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
9
+ var _TypedPlaceholder = _interopRequireDefault(require("../../../components/TypedPlaceholder"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ const MessageSearchStatusError = _ref => {
12
+ let {
13
+ onPressRetry
14
+ } = _ref;
15
+ return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Box, {
16
+ flex: 1,
17
+ alignItems: 'center',
18
+ justifyContent: 'center'
19
+ }, /*#__PURE__*/_react.default.createElement(_TypedPlaceholder.default, {
20
+ type: 'error-wrong',
21
+ onPressRetry: onPressRetry
22
+ }));
23
+ };
24
+ var _default = MessageSearchStatusError;
25
+ exports.default = _default;
26
+ //# sourceMappingURL=MessageSearchStatusError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_uikitReactNativeFoundation","_TypedPlaceholder","obj","__esModule","default","MessageSearchStatusError","_ref","onPressRetry","createElement","Box","flex","alignItems","justifyContent","type","_default","exports"],"sources":["MessageSearchStatusError.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Box } from '@sendbird/uikit-react-native-foundation';\n\nimport TypedPlaceholder from '../../../components/TypedPlaceholder';\nimport type { MessageSearchModule } from '../types';\n\nconst MessageSearchStatusError: MessageSearchModule['StatusError'] = ({ onPressRetry }) => {\n return (\n <Box flex={1} alignItems={'center'} justifyContent={'center'}>\n <TypedPlaceholder type={'error-wrong'} onPressRetry={onPressRetry} />\n </Box>\n );\n};\n\nexport default MessageSearchStatusError;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,2BAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAoE,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAGpE,MAAMG,wBAA4D,GAAGC,IAAA,IAAsB;EAAA,IAArB;IAAEC;EAAa,CAAC,GAAAD,IAAA;EACpF,oBACET,MAAA,CAAAO,OAAA,CAAAI,aAAA,CAACR,2BAAA,CAAAS,GAAG;IAACC,IAAI,EAAE,CAAE;IAACC,UAAU,EAAE,QAAS;IAACC,cAAc,EAAE;EAAS,gBAC3Df,MAAA,CAAAO,OAAA,CAAAI,aAAA,CAACP,iBAAA,CAAAG,OAAgB;IAACS,IAAI,EAAE,aAAc;IAACN,YAAY,EAAEA;EAAa,EAAG,CACjE;AAEV,CAAC;AAAC,IAAAO,QAAA,GAEaT,wBAAwB;AAAAU,OAAA,CAAAX,OAAA,GAAAU,QAAA"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
9
+ var _TypedPlaceholder = _interopRequireDefault(require("../../../components/TypedPlaceholder"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ const MessageSearchStatusLoading = () => {
12
+ return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Box, {
13
+ flex: 1,
14
+ alignItems: 'center',
15
+ justifyContent: 'center'
16
+ }, /*#__PURE__*/_react.default.createElement(_TypedPlaceholder.default, {
17
+ type: 'loading'
18
+ }));
19
+ };
20
+ var _default = MessageSearchStatusLoading;
21
+ exports.default = _default;
22
+ //# sourceMappingURL=MessageSearchStatusLoading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_uikitReactNativeFoundation","_TypedPlaceholder","obj","__esModule","default","MessageSearchStatusLoading","createElement","Box","flex","alignItems","justifyContent","type","_default","exports"],"sources":["MessageSearchStatusLoading.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Box } from '@sendbird/uikit-react-native-foundation';\n\nimport TypedPlaceholder from '../../../components/TypedPlaceholder';\n\nconst MessageSearchStatusLoading = () => {\n return (\n <Box flex={1} alignItems={'center'} justifyContent={'center'}>\n <TypedPlaceholder type={'loading'} />\n </Box>\n );\n};\n\nexport default MessageSearchStatusLoading;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,2BAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAoE,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEpE,MAAMG,0BAA0B,GAAGA,CAAA,KAAM;EACvC,oBACER,MAAA,CAAAO,OAAA,CAAAE,aAAA,CAACN,2BAAA,CAAAO,GAAG;IAACC,IAAI,EAAE,CAAE;IAACC,UAAU,EAAE,QAAS;IAACC,cAAc,EAAE;EAAS,gBAC3Db,MAAA,CAAAO,OAAA,CAAAE,aAAA,CAACL,iBAAA,CAAAG,OAAgB;IAACO,IAAI,EAAE;EAAU,EAAG,CACjC;AAEV,CAAC;AAAC,IAAAC,QAAA,GAEaP,0BAA0B;AAAAQ,OAAA,CAAAT,OAAA,GAAAQ,QAAA"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "MessageSearchContexts", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _moduleContext.MessageSearchContexts;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "MessageSearchContextsProvider", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _moduleContext.MessageSearchContextsProvider;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "MessageSearchHeader", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _MessageSearchHeader.default;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "MessageSearchList", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _MessageSearchList.default;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "MessageSearchStatusEmpty", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _MessageSearchStatusEmpty.default;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "MessageSearchStatusError", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _MessageSearchStatusError.default;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "MessageSearchStatusLoading", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _MessageSearchStatusLoading.default;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "createMessageSearchModule", {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _createMessageSearchModule.default;
52
+ }
53
+ });
54
+ var _MessageSearchHeader = _interopRequireDefault(require("./component/MessageSearchHeader"));
55
+ var _MessageSearchList = _interopRequireDefault(require("./component/MessageSearchList"));
56
+ var _MessageSearchStatusLoading = _interopRequireDefault(require("./component/MessageSearchStatusLoading"));
57
+ var _MessageSearchStatusEmpty = _interopRequireDefault(require("./component/MessageSearchStatusEmpty"));
58
+ var _MessageSearchStatusError = _interopRequireDefault(require("./component/MessageSearchStatusError"));
59
+ var _createMessageSearchModule = _interopRequireDefault(require("./module/createMessageSearchModule"));
60
+ var _moduleContext = require("./module/moduleContext");
61
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
62
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_MessageSearchHeader","_interopRequireDefault","require","_MessageSearchList","_MessageSearchStatusLoading","_MessageSearchStatusEmpty","_MessageSearchStatusError","_createMessageSearchModule","_moduleContext","obj","__esModule","default"],"sources":["index.ts"],"sourcesContent":["export { default as MessageSearchHeader } from './component/MessageSearchHeader';\nexport { default as MessageSearchList } from './component/MessageSearchList';\nexport { default as MessageSearchStatusLoading } from './component/MessageSearchStatusLoading';\nexport { default as MessageSearchStatusEmpty } from './component/MessageSearchStatusEmpty';\nexport { default as MessageSearchStatusError } from './component/MessageSearchStatusError';\nexport { default as createMessageSearchModule } from './module/createMessageSearchModule';\nexport { MessageSearchContextsProvider, MessageSearchContexts } from './module/moduleContext';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,2BAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,yBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,yBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,0BAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AAA8F,SAAAD,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _MessageSearchHeader = _interopRequireDefault(require("../component/MessageSearchHeader"));
8
+ var _MessageSearchList = _interopRequireDefault(require("../component/MessageSearchList"));
9
+ var _MessageSearchStatusEmpty = _interopRequireDefault(require("../component/MessageSearchStatusEmpty"));
10
+ var _MessageSearchStatusError = _interopRequireDefault(require("../component/MessageSearchStatusError"));
11
+ var _MessageSearchStatusLoading = _interopRequireDefault(require("../component/MessageSearchStatusLoading"));
12
+ var _moduleContext = require("./moduleContext");
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ const createMessageSearchModule = function () {
15
+ let {
16
+ Header = _MessageSearchHeader.default,
17
+ List = _MessageSearchList.default,
18
+ StatusError = _MessageSearchStatusError.default,
19
+ StatusLoading = _MessageSearchStatusLoading.default,
20
+ StatusEmpty = _MessageSearchStatusEmpty.default,
21
+ Provider = _moduleContext.MessageSearchContextsProvider,
22
+ ...module
23
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
24
+ return {
25
+ Header,
26
+ List,
27
+ Provider,
28
+ StatusError,
29
+ StatusEmpty,
30
+ StatusLoading,
31
+ ...module
32
+ };
33
+ };
34
+ var _default = createMessageSearchModule;
35
+ exports.default = _default;
36
+ //# sourceMappingURL=createMessageSearchModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_MessageSearchHeader","_interopRequireDefault","require","_MessageSearchList","_MessageSearchStatusEmpty","_MessageSearchStatusError","_MessageSearchStatusLoading","_moduleContext","obj","__esModule","default","createMessageSearchModule","Header","MessageSearchHeader","List","MessageSearchList","StatusError","MessageSearchStatusError","StatusLoading","MessageSearchStatusLoading","StatusEmpty","MessageSearchStatusEmpty","Provider","MessageSearchContextsProvider","module","arguments","length","undefined","_default","exports"],"sources":["createMessageSearchModule.tsx"],"sourcesContent":["import MessageSearchHeader from '../component/MessageSearchHeader';\nimport MessageSearchList from '../component/MessageSearchList';\nimport MessageSearchStatusEmpty from '../component/MessageSearchStatusEmpty';\nimport MessageSearchStatusError from '../component/MessageSearchStatusError';\nimport MessageSearchStatusLoading from '../component/MessageSearchStatusLoading';\nimport type { MessageSearchModule } from '../types';\nimport { MessageSearchContextsProvider } from './moduleContext';\n\nconst createMessageSearchModule = ({\n Header = MessageSearchHeader,\n List = MessageSearchList,\n StatusError = MessageSearchStatusError,\n StatusLoading = MessageSearchStatusLoading,\n StatusEmpty = MessageSearchStatusEmpty,\n Provider = MessageSearchContextsProvider,\n ...module\n}: Partial<MessageSearchModule> = {}): MessageSearchModule => {\n return { Header, List, Provider, StatusError, StatusEmpty, StatusLoading, ...module };\n};\n\nexport default createMessageSearchModule;\n"],"mappings":";;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,yBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,yBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,2BAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEA,IAAAK,cAAA,GAAAL,OAAA;AAAgE,SAAAD,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEhE,MAAMG,yBAAyB,GAAG,SAAAA,CAAA,EAQ4B;EAAA,IAR3B;IACjCC,MAAM,GAAGC,4BAAmB;IAC5BC,IAAI,GAAGC,0BAAiB;IACxBC,WAAW,GAAGC,iCAAwB;IACtCC,aAAa,GAAGC,mCAA0B;IAC1CC,WAAW,GAAGC,iCAAwB;IACtCC,QAAQ,GAAGC,4CAA6B;IACxC,GAAGC;EACyB,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAClC,OAAO;IAAEb,MAAM;IAAEE,IAAI;IAAEQ,QAAQ;IAAEN,WAAW;IAAEI,WAAW;IAAEF,aAAa;IAAE,GAAGM;EAAO,CAAC;AACvF,CAAC;AAAC,IAAAI,QAAA,GAEajB,yBAAyB;AAAAkB,OAAA,CAAAnB,OAAA,GAAAkB,QAAA"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MessageSearchContextsProvider = exports.MessageSearchContexts = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _ProviderLayout = _interopRequireDefault(require("../../../components/ProviderLayout"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ 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); }
11
+ 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; }
12
+ const MessageSearchContexts = {
13
+ Fragment: /*#__PURE__*/(0, _react.createContext)(null)
14
+ };
15
+ exports.MessageSearchContexts = MessageSearchContexts;
16
+ const MessageSearchContextsProvider = _ref => {
17
+ let {
18
+ children
19
+ } = _ref;
20
+ return /*#__PURE__*/_react.default.createElement(_ProviderLayout.default, null, /*#__PURE__*/_react.default.createElement(MessageSearchContexts.Fragment.Provider, {
21
+ value: null
22
+ }, children));
23
+ };
24
+ exports.MessageSearchContextsProvider = MessageSearchContextsProvider;
25
+ //# sourceMappingURL=moduleContext.js.map