@sendbird/uikit-react 3.2.0-rc.2 → 3.2.0
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.
- package/App.js +34 -34
- package/CHANGELOG.md +7 -1
- package/Channel/components/ChannelHeader.js +19 -19
- package/Channel/components/ChannelUI.js +25 -25
- package/Channel/components/FileViewer.js +18 -18
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +22 -22
- package/Channel/components/MessageInput.js +19 -19
- package/Channel/components/MessageList.js +24 -24
- package/Channel/components/RemoveMessageModal.js +19 -19
- package/Channel/components/SuggestedMentionList.js +19 -19
- package/Channel/components/TypingIndicator.js +18 -18
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +17 -17
- package/Channel.js +25 -25
- package/ChannelList/components/AddChannel.js +13 -13
- package/ChannelList/components/ChannelListHeader.js +7 -7
- package/ChannelList/components/ChannelListUI.js +29 -29
- package/ChannelList/components/ChannelPreview.js +23 -23
- package/ChannelList/components/ChannelPreviewAction.js +17 -17
- package/ChannelList/context.js +12 -12
- package/ChannelList.js +29 -29
- package/{ChannelListProvider-1a22e404.js → ChannelListProvider-b5833a69.js} +9 -9
- package/{ChannelListProvider-1a22e404.js.map → ChannelListProvider-b5833a69.js.map} +1 -1
- package/{ChannelProvider-e38bb434.js → ChannelProvider-675be930.js} +11 -11
- package/{ChannelProvider-e38bb434.js.map → ChannelProvider-675be930.js.map} +1 -1
- package/ChannelSettings/components/ChannelProfile.js +11 -11
- package/ChannelSettings/components/ChannelSettingsUI.js +21 -21
- package/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/ChannelSettings/components/LeaveChannel.js +10 -10
- package/ChannelSettings/components/ModerationPanel.js +18 -18
- package/ChannelSettings/components/UserListItem.js +11 -11
- package/ChannelSettings/components/UserPanel.js +13 -13
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +21 -21
- package/CreateChannel/components/CreateChannelUI.js +13 -13
- package/CreateChannel/components/InviteUsers.js +13 -13
- package/CreateChannel/components/SelectChannelType.js +10 -10
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +13 -13
- package/{CreateChannelProvider-f740e1f0.js → CreateChannelProvider-05b11547.js} +1 -1
- package/{CreateChannelProvider-f740e1f0.js.map → CreateChannelProvider-05b11547.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +9 -9
- package/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/EditUserProfile.js +12 -12
- package/{LocalizationContext-78d3faa4.js → LocalizationContext-fd0d32ab.js} +3 -3
- package/{LocalizationContext-78d3faa4.js.map → LocalizationContext-fd0d32ab.js.map} +1 -1
- package/{MemberList-057e2466.js → MemberList-78a423a0.js} +5 -5
- package/{MemberList-057e2466.js.map → MemberList-78a423a0.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/context.js +2 -2
- package/MessageSearch.js +11 -11
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +17 -17
- package/OpenChannel/components/OpenChannelInput.js +20 -20
- package/OpenChannel/components/OpenChannelMessage.js +25 -25
- package/OpenChannel/components/OpenChannelMessageList.js +27 -27
- package/OpenChannel/components/OpenChannelUI.js +27 -27
- package/OpenChannel/context.js +14 -14
- package/OpenChannel.js +27 -27
- package/OpenChannelList/components/OpenChannelListUI.js +12 -12
- package/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/OpenChannelList/context.js +4 -4
- package/OpenChannelList.js +12 -12
- package/{OpenChannelListProvider-4bddc69f.js → OpenChannelListProvider-6f9126d0.js} +3 -3
- package/{OpenChannelListProvider-4bddc69f.js.map → OpenChannelListProvider-6f9126d0.js.map} +1 -1
- package/{OpenChannelProvider-bb348405.js → OpenChannelProvider-e39971da.js} +10 -10
- package/{OpenChannelProvider-bb348405.js.map → OpenChannelProvider-e39971da.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +15 -15
- package/OpenChannelSettings/components/OpenChannelProfile.js +15 -15
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +20 -20
- package/OpenChannelSettings/components/OperatorUI.js +19 -19
- package/OpenChannelSettings/components/ParticipantUI.js +17 -17
- package/OpenChannelSettings/context.js +6 -6
- package/OpenChannelSettings.js +20 -20
- package/SendbirdProvider.js +15 -15
- package/SendbirdProvider.js.map +1 -1
- package/{UserProfileContext-bc040e78.js → UserProfileContext-d36099b1.js} +1 -1
- package/{UserProfileContext-bc040e78.js.map → UserProfileContext-d36099b1.js.map} +1 -1
- package/{__bundle-0dad34cd-6408fa97.js → __bundle-0dad34cd-10d4f218.js} +2 -2
- package/{__bundle-0dad34cd-6408fa97.js.map → __bundle-0dad34cd-10d4f218.js.map} +1 -1
- package/{__bundle-57e0c5af-dff5d7e0.js → __bundle-57e0c5af-4e9165b5.js} +1 -1
- package/{__bundle-57e0c5af-dff5d7e0.js.map → __bundle-57e0c5af-4e9165b5.js.map} +1 -1
- package/{__bundle-bd072f34-80eb9bbc.js → __bundle-bd072f34-1aaac363.js} +2 -2
- package/{__bundle-bd072f34-80eb9bbc.js.map → __bundle-bd072f34-1aaac363.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-64f3f48c.js → _rollupPluginBabelHelpers-f6b9b32e.js} +1 -1
- package/_rollupPluginBabelHelpers-f6b9b32e.js.map +1 -0
- package/{actionTypes-fb6947e7.js → actionTypes-6b501c5e.js} +1 -1
- package/{actionTypes-fb6947e7.js.map → actionTypes-6b501c5e.js.map} +1 -1
- package/cjs/App.js +34 -34
- package/cjs/Channel/components/ChannelHeader.js +19 -19
- package/cjs/Channel/components/ChannelUI.js +25 -25
- package/cjs/Channel/components/FileViewer.js +18 -18
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +22 -22
- package/cjs/Channel/components/MessageInput.js +19 -19
- package/cjs/Channel/components/MessageList.js +24 -24
- package/cjs/Channel/components/RemoveMessageModal.js +19 -19
- package/cjs/Channel/components/SuggestedMentionList.js +19 -19
- package/cjs/Channel/components/TypingIndicator.js +18 -18
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +17 -17
- package/cjs/Channel.js +25 -25
- package/cjs/ChannelList/components/AddChannel.js +13 -13
- package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
- package/cjs/ChannelList/components/ChannelListUI.js +29 -29
- package/cjs/ChannelList/components/ChannelPreview.js +23 -23
- package/cjs/ChannelList/components/ChannelPreviewAction.js +17 -17
- package/cjs/ChannelList/context.js +12 -12
- package/cjs/ChannelList.js +29 -29
- package/cjs/{ChannelListProvider-852ab5ee.js → ChannelListProvider-ae097fa5.js} +9 -9
- package/cjs/{ChannelListProvider-852ab5ee.js.map → ChannelListProvider-ae097fa5.js.map} +1 -1
- package/cjs/{ChannelProvider-177cb9c3.js → ChannelProvider-dbb1d52e.js} +11 -11
- package/cjs/{ChannelProvider-177cb9c3.js.map → ChannelProvider-dbb1d52e.js.map} +1 -1
- package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +21 -21
- package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/cjs/ChannelSettings/components/LeaveChannel.js +10 -10
- package/cjs/ChannelSettings/components/ModerationPanel.js +18 -18
- package/cjs/ChannelSettings/components/UserListItem.js +11 -11
- package/cjs/ChannelSettings/components/UserPanel.js +13 -13
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +21 -21
- package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
- package/cjs/CreateChannel/components/InviteUsers.js +13 -13
- package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +13 -13
- package/cjs/{CreateChannelProvider-ce623553.js → CreateChannelProvider-f8905c40.js} +1 -1
- package/cjs/{CreateChannelProvider-ce623553.js.map → CreateChannelProvider-f8905c40.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +9 -9
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/cjs/EditUserProfile.js +12 -12
- package/cjs/{LocalizationContext-bde4de59.js → LocalizationContext-1f00818c.js} +3 -3
- package/cjs/{LocalizationContext-bde4de59.js.map → LocalizationContext-1f00818c.js.map} +1 -1
- package/cjs/{MemberList-5f6eaac3.js → MemberList-e2e283fe.js} +5 -5
- package/cjs/{MemberList-5f6eaac3.js.map → MemberList-e2e283fe.js.map} +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/context.js +2 -2
- package/cjs/MessageSearch.js +11 -11
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +17 -17
- package/cjs/OpenChannel/components/OpenChannelInput.js +20 -20
- package/cjs/OpenChannel/components/OpenChannelMessage.js +25 -25
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +27 -27
- package/cjs/OpenChannel/components/OpenChannelUI.js +27 -27
- package/cjs/OpenChannel/context.js +14 -14
- package/cjs/OpenChannel.js +27 -27
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +12 -12
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/cjs/OpenChannelList/context.js +4 -4
- package/cjs/OpenChannelList.js +12 -12
- package/cjs/{OpenChannelListProvider-26a67118.js → OpenChannelListProvider-e311c2a1.js} +3 -3
- package/cjs/{OpenChannelListProvider-26a67118.js.map → OpenChannelListProvider-e311c2a1.js.map} +1 -1
- package/cjs/{OpenChannelProvider-8a6ad3db.js → OpenChannelProvider-dd8403ee.js} +10 -10
- package/cjs/{OpenChannelProvider-8a6ad3db.js.map → OpenChannelProvider-dd8403ee.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +15 -15
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +15 -15
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +20 -20
- package/cjs/OpenChannelSettings/components/OperatorUI.js +19 -19
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +17 -17
- package/cjs/OpenChannelSettings/context.js +6 -6
- package/cjs/OpenChannelSettings.js +20 -20
- package/cjs/SendbirdProvider.js +15 -15
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/{UserProfileContext-21660049.js → UserProfileContext-3a4f0132.js} +1 -1
- package/cjs/{UserProfileContext-21660049.js.map → UserProfileContext-3a4f0132.js.map} +1 -1
- package/cjs/{__bundle-0dad34cd-794417d3.js → __bundle-0dad34cd-bd827f82.js} +2 -2
- package/cjs/{__bundle-0dad34cd-794417d3.js.map → __bundle-0dad34cd-bd827f82.js.map} +1 -1
- package/cjs/{__bundle-57e0c5af-c2950cb7.js → __bundle-57e0c5af-b8304f7a.js} +1 -1
- package/cjs/{__bundle-57e0c5af-c2950cb7.js.map → __bundle-57e0c5af-b8304f7a.js.map} +1 -1
- package/cjs/{__bundle-bd072f34-444fbfec.js → __bundle-bd072f34-578ccb1e.js} +2 -2
- package/cjs/{__bundle-bd072f34-444fbfec.js.map → __bundle-bd072f34-578ccb1e.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-17f5a2c8.js → _rollupPluginBabelHelpers-6917423d.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-6917423d.js.map +1 -0
- package/cjs/{actionTypes-76c446b3.js → actionTypes-341644d7.js} +1 -1
- package/cjs/{actionTypes-76c446b3.js.map → actionTypes-341644d7.js.map} +1 -1
- package/cjs/{color-1ec1269a.js → color-0a6e19c1.js} +1 -1
- package/cjs/{color-1ec1269a.js.map → color-0a6e19c1.js.map} +1 -1
- package/cjs/{compareIds-52f07bab.js → compareIds-8d064912.js} +1 -1
- package/cjs/{compareIds-52f07bab.js.map → compareIds-8d064912.js.map} +1 -1
- package/cjs/{const-b94ba65d.js → const-67a2a885.js} +1 -1
- package/cjs/{const-b94ba65d.js.map → const-67a2a885.js.map} +1 -1
- package/cjs/{const-00ec2acd.js → const-bf239fc5.js} +1 -1
- package/cjs/{const-00ec2acd.js.map → const-bf239fc5.js.map} +1 -1
- package/cjs/{context-3df5068b.js → context-738129e2.js} +2 -2
- package/cjs/{context-3df5068b.js.map → context-738129e2.js.map} +1 -1
- package/cjs/dist/index.css +116 -116
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{groupChannel-da9ec10a.js → groupChannel-05c7f9f8.js} +4 -4
- package/cjs/{groupChannel-da9ec10a.js.map → groupChannel-05c7f9f8.js.map} +1 -1
- package/cjs/handlers/ConnectionHandler.js +3 -3
- package/cjs/handlers/GroupChannelHandler.js +4 -4
- package/cjs/handlers/OpenChannelHandler.js +3 -3
- package/cjs/handlers/SessionHandler.js +3 -3
- package/cjs/handlers/UserEventHandler.js +3 -3
- package/cjs/{index-e4245c04.js → index-177380fc.js} +2 -2
- package/cjs/{index-e4245c04.js.map → index-177380fc.js.map} +1 -1
- package/cjs/{index-66b53d56.js → index-1ac7777f.js} +4 -4
- package/cjs/{index-66b53d56.js.map → index-1ac7777f.js.map} +1 -1
- package/cjs/{index-4fedaa1a.js → index-32123d95.js} +2 -2
- package/cjs/{index-4fedaa1a.js.map → index-32123d95.js.map} +1 -1
- package/cjs/{index-9daabdb8.js → index-4f32f285.js} +8 -8
- package/cjs/{index-9daabdb8.js.map → index-4f32f285.js.map} +1 -1
- package/cjs/{index-216e0934.js → index-8c25d6aa.js} +1 -1
- package/cjs/{index-216e0934.js.map → index-8c25d6aa.js.map} +1 -1
- package/cjs/{index-339b2871.js → index-8d7a94e3.js} +6 -6
- package/cjs/index-8d7a94e3.js.map +1 -0
- package/cjs/{index-0c20bfa0.js → index-92bda0ce.js} +4 -4
- package/cjs/{index-0c20bfa0.js.map → index-92bda0ce.js.map} +1 -1
- package/cjs/{index-06b2ea54.js → index-a11fb495.js} +2 -2
- package/cjs/{index-06b2ea54.js.map → index-a11fb495.js.map} +1 -1
- package/cjs/{index-386d6cc6.js → index-a18115d7.js} +5 -5
- package/cjs/{index-386d6cc6.js.map → index-a18115d7.js.map} +1 -1
- package/cjs/{index-50fc77e8.js → index-d82f6dd1.js} +1 -1
- package/cjs/{index-50fc77e8.js.map → index-d82f6dd1.js.map} +1 -1
- package/cjs/index.js +38 -38
- package/cjs/{openChannel-d4ad53b7.js → openChannel-c5952dd7.js} +3 -3
- package/cjs/{openChannel-d4ad53b7.js.map → openChannel-c5952dd7.js.map} +1 -1
- package/cjs/{openChannelUtils-b74500ad.js → openChannelUtils-f286fd78.js} +1 -1
- package/cjs/{openChannelUtils-b74500ad.js.map → openChannelUtils-f286fd78.js.map} +1 -1
- package/cjs/{sendbird-cd9bbca0.js → sendbird-5edd0213.js} +3 -3
- package/cjs/{sendbird-cd9bbca0.js.map → sendbird-5edd0213.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +2 -2
- package/cjs/{stringSet-edbf423b.js → stringSet-410775ff.js} +1 -1
- package/cjs/{stringSet-edbf423b.js.map → stringSet-410775ff.js.map} +1 -1
- package/cjs/{topics-c5662b44.js → topics-9747398e.js} +1 -1
- package/cjs/{topics-c5662b44.js.map → topics-9747398e.js.map} +1 -1
- package/cjs/{tslib.es6-8c7aa47e.js → tslib.es6-7d75f2e2.js} +1 -1
- package/cjs/{tslib.es6-8c7aa47e.js.map → tslib.es6-7d75f2e2.js.map} +1 -1
- package/cjs/ui/Accordion.js +3 -3
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +3 -3
- package/cjs/ui/Avatar.js +2 -2
- package/cjs/ui/Badge.js +5 -5
- package/cjs/ui/Button.js +3 -3
- package/cjs/ui/ChannelAvatar.js +3 -3
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +5 -5
- package/cjs/ui/DateSeparator.js +4 -4
- package/cjs/ui/EmojiReactions.js +7 -7
- package/cjs/ui/FileMessageItemBody.js +5 -5
- package/cjs/ui/FileViewer.js +8 -8
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/ImageRenderer.js +1 -1
- package/cjs/ui/Input.js +2 -2
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +7 -5
- package/cjs/ui/LinkLabel.js.map +1 -1
- package/cjs/ui/Loader.js +1 -1
- package/cjs/ui/MentionLabel.js +10 -10
- package/cjs/ui/MessageContent.js +13 -13
- package/cjs/ui/MessageInput.js +9 -9
- package/cjs/ui/MessageItemMenu.js +7 -7
- package/cjs/ui/MessageItemReactionMenu.js +5 -5
- package/cjs/ui/MessageSearchFileItem.js +9 -9
- package/cjs/ui/MessageSearchItem.js +9 -9
- package/cjs/ui/MessageStatus.js +7 -7
- package/cjs/ui/Modal.js +6 -6
- package/cjs/ui/OGMessageItemBody.js +10 -10
- package/cjs/ui/OpenChannelAdminMessage.js +3 -3
- package/cjs/ui/OpenChannelAvatar.js +6 -6
- package/cjs/ui/OpenchannelConversationHeader.js +6 -6
- package/cjs/ui/OpenchannelFileMessage.js +14 -14
- package/cjs/ui/OpenchannelOGMessage.js +14 -14
- package/cjs/ui/OpenchannelThumbnailMessage.js +13 -13
- package/cjs/ui/OpenchannelUserMessage.js +14 -14
- package/cjs/ui/PlaceHolder.js +6 -6
- package/cjs/ui/QuoteMessage.js +6 -6
- package/cjs/ui/QuoteMessageInput.js +6 -6
- package/cjs/ui/ReactionBadge.js +3 -3
- package/cjs/ui/ReactionButton.js +1 -1
- package/cjs/ui/SortByRow.js +2 -2
- package/cjs/ui/TextButton.js +2 -2
- package/cjs/ui/TextMessageItemBody.js +10 -10
- package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
- package/cjs/ui/Tooltip.js +3 -3
- package/cjs/ui/TooltipWrapper.js +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +6 -6
- package/cjs/ui/UserListItem.js +11 -11
- package/cjs/ui/UserProfile.js +9 -9
- package/cjs/ui/Word.js +10 -10
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/{utils-1dafbcbf.js → utils-01db6d26.js} +1 -1
- package/cjs/{utils-1dafbcbf.js.map → utils-01db6d26.js.map} +1 -1
- package/cjs/{utils-b6394fc0.js → utils-291d272a.js} +1 -1
- package/cjs/{utils-b6394fc0.js.map → utils-291d272a.js.map} +1 -1
- package/cjs/{utils-01f53796.js → utils-37a47883.js} +1 -1
- package/cjs/{utils-01f53796.js.map → utils-37a47883.js.map} +1 -1
- package/cjs/{uuid-0e8b271a.js → uuid-c813a8a1.js} +1 -1
- package/cjs/{uuid-0e8b271a.js.map → uuid-c813a8a1.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-25be65f3.js → color-b897a03c.js} +1 -1
- package/{color-25be65f3.js.map → color-b897a03c.js.map} +1 -1
- package/{compareIds-3fb63c4f.js → compareIds-4bd391cb.js} +1 -1
- package/{compareIds-3fb63c4f.js.map → compareIds-4bd391cb.js.map} +1 -1
- package/{const-32a10da6.js → const-b4823468.js} +1 -1
- package/{const-32a10da6.js.map → const-b4823468.js.map} +1 -1
- package/{const-82d4c478.js → const-e71ab906.js} +1 -1
- package/{const-82d4c478.js.map → const-e71ab906.js.map} +1 -1
- package/{context-352b7bd9.js → context-fd21f142.js} +2 -2
- package/{context-352b7bd9.js.map → context-fd21f142.js.map} +1 -1
- package/dist/index.css +116 -116
- package/dist/index.css.map +1 -1
- package/{groupChannel-28860f2b.js → groupChannel-a10aea7a.js} +4 -4
- package/{groupChannel-28860f2b.js.map → groupChannel-a10aea7a.js.map} +1 -1
- package/handlers/ConnectionHandler.js +4 -4
- package/handlers/GroupChannelHandler.js +5 -5
- package/handlers/OpenChannelHandler.js +4 -4
- package/handlers/SessionHandler.js +4 -4
- package/handlers/UserEventHandler.js +4 -4
- package/{index-730972e8.js → index-73516d8c.js} +8 -8
- package/{index-730972e8.js.map → index-73516d8c.js.map} +1 -1
- package/{index-26e371a5.js → index-8b78f6b4.js} +1 -1
- package/{index-26e371a5.js.map → index-8b78f6b4.js.map} +1 -1
- package/{index-8095ffa6.js → index-94381d3a.js} +2 -2
- package/{index-8095ffa6.js.map → index-94381d3a.js.map} +1 -1
- package/{index-31d409a0.js → index-952ab825.js} +4 -4
- package/{index-31d409a0.js.map → index-952ab825.js.map} +1 -1
- package/{index-f767d8bd.js → index-96a98383.js} +4 -4
- package/{index-f767d8bd.js.map → index-96a98383.js.map} +1 -1
- package/{index-9a33f2b0.js → index-c022bfde.js} +2 -2
- package/{index-9a33f2b0.js.map → index-c022bfde.js.map} +1 -1
- package/{index-ab443960.js → index-ce08211b.js} +1 -1
- package/{index-ab443960.js.map → index-ce08211b.js.map} +1 -1
- package/{index-327e2586.js → index-dfa71ceb.js} +6 -6
- package/index-dfa71ceb.js.map +1 -0
- package/{index-be836db2.js → index-e6424a4d.js} +5 -5
- package/{index-be836db2.js.map → index-e6424a4d.js.map} +1 -1
- package/{index-eeb90f55.js → index-f6fd2b53.js} +2 -2
- package/{index-eeb90f55.js.map → index-f6fd2b53.js.map} +1 -1
- package/index.d.ts +1 -1
- package/index.js +38 -38
- package/{openChannel-c1a271aa.js → openChannel-80b84235.js} +3 -3
- package/{openChannel-c1a271aa.js.map → openChannel-80b84235.js.map} +1 -1
- package/{openChannelUtils-a028985c.js → openChannelUtils-19317cb9.js} +1 -1
- package/{openChannelUtils-a028985c.js.map → openChannelUtils-19317cb9.js.map} +1 -1
- package/package.json +1 -1
- package/{sendbird-8f18cf5b.js → sendbird-7e3109ab.js} +3 -3
- package/{sendbird-8f18cf5b.js.map → sendbird-7e3109ab.js.map} +1 -1
- package/sendbirdSelectors.js +2 -2
- package/{stringSet-6e7f0195.js → stringSet-eb4a64cb.js} +1 -1
- package/{stringSet-6e7f0195.js.map → stringSet-eb4a64cb.js.map} +1 -1
- package/{topics-13d4b72d.js → topics-307251cc.js} +1 -1
- package/{topics-13d4b72d.js.map → topics-307251cc.js.map} +1 -1
- package/{tslib.es6-c49bbc0a.js → tslib.es6-46e4c379.js} +1 -1
- package/{tslib.es6-c49bbc0a.js.map → tslib.es6-46e4c379.js.map} +1 -1
- package/ui/Accordion.js +3 -3
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +3 -3
- package/ui/Avatar.js +2 -2
- package/ui/Badge.js +5 -5
- package/ui/Button.js +3 -3
- package/ui/ChannelAvatar.js +3 -3
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +5 -5
- package/ui/DateSeparator.js +4 -4
- package/ui/EmojiReactions.js +7 -7
- package/ui/FileMessageItemBody.js +5 -5
- package/ui/FileViewer.js +8 -8
- package/ui/IconButton.js +1 -1
- package/ui/ImageRenderer.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +7 -5
- package/ui/LinkLabel.js.map +1 -1
- package/ui/Loader.js +1 -1
- package/ui/MentionLabel.js +10 -10
- package/ui/MessageContent.js +13 -13
- package/ui/MessageInput.js +9 -9
- package/ui/MessageItemMenu.js +7 -7
- package/ui/MessageItemReactionMenu.js +5 -5
- package/ui/MessageSearchFileItem.js +9 -9
- package/ui/MessageSearchItem.js +9 -9
- package/ui/MessageStatus.js +7 -7
- package/ui/Modal.js +6 -6
- package/ui/OGMessageItemBody.js +10 -10
- package/ui/OpenChannelAdminMessage.js +3 -3
- package/ui/OpenChannelAvatar.js +6 -6
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelFileMessage.js +14 -14
- package/ui/OpenchannelOGMessage.js +14 -14
- package/ui/OpenchannelThumbnailMessage.js +13 -13
- package/ui/OpenchannelUserMessage.js +14 -14
- package/ui/PlaceHolder.js +6 -6
- package/ui/QuoteMessage.js +6 -6
- package/ui/QuoteMessageInput.js +6 -6
- package/ui/ReactionBadge.js +3 -3
- package/ui/ReactionButton.js +1 -1
- package/ui/SortByRow.js +2 -2
- package/ui/TextButton.js +2 -2
- package/ui/TextMessageItemBody.js +10 -10
- package/ui/ThumbnailMessageItemBody.js +2 -2
- package/ui/Tooltip.js +3 -3
- package/ui/TooltipWrapper.js +1 -1
- package/ui/UnknownMessageItemBody.js +6 -6
- package/ui/UserListItem.js +11 -11
- package/ui/UserProfile.js +9 -9
- package/ui/Word.js +10 -10
- package/useSendbirdStateContext.js +1 -1
- package/{utils-c3865334.js → utils-c0d5a2eb.js} +1 -1
- package/{utils-c3865334.js.map → utils-c0d5a2eb.js.map} +1 -1
- package/{utils-9e478f2a.js → utils-c9a90631.js} +1 -1
- package/{utils-9e478f2a.js.map → utils-c9a90631.js.map} +1 -1
- package/{utils-e3b472fd.js → utils-ea8d6707.js} +1 -1
- package/{utils-e3b472fd.js.map → utils-ea8d6707.js.map} +1 -1
- package/{uuid-741c039a.js → uuid-e8248f01.js} +1 -1
- package/{uuid-741c039a.js.map → uuid-e8248f01.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/_rollupPluginBabelHelpers-64f3f48c.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-17f5a2c8.js.map +0 -1
- package/cjs/index-339b2871.js.map +0 -1
- package/index-327e2586.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-eeb90f55.js","sources":["../src/utils/index.ts"],"sourcesContent":["import SendbirdChat, { Emoji, EmojiCategory, EmojiContainer, User } from '@sendbird/chat';\nimport type { GroupChannel, Member, SendbirdGroupChat, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\nimport type { AdminMessage, FileMessage, MessageListParams, Reaction, UserMessage } from '@sendbird/chat/message';\nimport type { OpenChannel, SendbirdOpenChat } from '@sendbird/chat/openChannel';\nimport { EveryMessage } from '../types';\n\n// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/svg+xml',\n 'image/webp', // not supported in IE\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n AUDIO: [\n 'audio/aac',\n 'audio/midi',\n 'audio/x-midi',\n 'audio/mpeg',\n 'audio/ogg',\n 'audio/opus',\n 'audio/wav',\n 'audio/webm',\n 'audio/3gpp',\n 'audio/3gpp2',\n 'audio/mp3',\n ],\n};\n\nexport interface UIKitMessageTypes {\n ADMIN: \"ADMIN\",\n TEXT: \"TEXT\",\n FILE: \"FILE\",\n THUMBNAIL: \"THUMBNAIL\",\n OG: \"OG\",\n UNKNOWN: \"UNKNOWN\",\n}\nconst UIKitMessageTypes: UIKitMessageTypes = {\n ADMIN: \"ADMIN\",\n TEXT: \"TEXT\",\n FILE: \"FILE\",\n THUMBNAIL: \"THUMBNAIL\",\n OG: \"OG\",\n UNKNOWN: \"UNKNOWN\",\n};\nexport interface UIKitFileTypes {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\n OTHERS: \"OTHERS\",\n}\nexport const UIKitFileTypes: UIKitFileTypes = {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\n OTHERS: \"OTHERS\",\n};\n\nexport interface SendingMessageStatus {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n}\nconst SendingMessageStatus: SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\nexport interface OutgoingMessageStates {\n NONE: 'NONE',\n PENDING: 'PENDING',\n SENT: 'SENT',\n FAILED: 'FAILED',\n DELIVERED: 'DELIVERED',\n READ: 'READ',\n // delivered and read are only in group channel\n}\nexport const OutgoingMessageStates: OutgoingMessageStates = {\n NONE: 'NONE',\n PENDING: 'PENDING',\n SENT: 'SENT',\n FAILED: 'FAILED',\n DELIVERED: 'DELIVERED',\n READ: 'READ',\n};\n\nexport type CoreMessageType = EveryMessage;\n\nexport const isTextuallyNull = (text: string): boolean => {\n if (text === '' || text === null) {\n return true;\n }\n return false;\n};\n\nexport const isImage = (type: string): boolean => SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;\nexport const isVideo = (type: string): boolean => SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;\nexport const isGif = (type: string): boolean => type === 'image/gif';\nexport const isSupportedFileView = (type: string): boolean => isImage(type) || isVideo(type);\nexport const isAudio = (type: string): boolean => SUPPORTED_MIMES.AUDIO.indexOf(type) >= 0;\n\nexport const getUIKitFileTypes = (): UIKitFileTypes => ({ ...UIKitFileTypes });\nexport const getUIKitFileType = (type: string): string => {\n if (isGif(type)) return UIKitFileTypes.GIF;\n if (isImage(type)) return UIKitFileTypes.IMAGE;\n if (isVideo(type)) return UIKitFileTypes.VIDEO;\n if (isAudio(type)) return UIKitFileTypes.AUDIO;\n return UIKitFileTypes.OTHERS;\n};\nexport const getOutgoingMessageStates = (): OutgoingMessageStates => ({ ...OutgoingMessageStates });\nexport const getOutgoingMessageState = (channel: GroupChannel | OpenChannel, message: UserMessage | FileMessage): string => {\n if (message.sendingStatus === 'pending') return OutgoingMessageStates.PENDING;\n if (message.sendingStatus === 'failed') return OutgoingMessageStates.FAILED;\n if (channel?.isGroupChannel?.()) {\n /* GroupChannel only */\n if ((channel as GroupChannel).getUnreadMemberCount(message) === 0) {\n return OutgoingMessageStates.READ;\n } else if ((channel as GroupChannel).getUndeliveredMemberCount(message) === 0) {\n return OutgoingMessageStates.DELIVERED;\n }\n }\n if (message.sendingStatus === 'succeeded') return OutgoingMessageStates.SENT;\n return OutgoingMessageStates.NONE;\n};\nexport const isSentMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'succeeded');\nexport const isDeliveredMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.DELIVERED\n || getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\nexport const isReadMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\n// TODO: Remove channel from the params, it seems unnecessary\nexport const isFailedMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'failed');\nexport const isPendingMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'pending');\nexport const isSentStatus = (state: string): boolean => (\n state === OutgoingMessageStates.SENT\n || state === OutgoingMessageStates.DELIVERED\n || state === OutgoingMessageStates.READ\n);\n\nexport const isAdminMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message.isAdminMessage?.() || (message['messageType'] && message.messageType === 'admin'))\n);\nexport const isUserMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message.isUserMessage?.() || (message['messageType'] && message.messageType === 'user'))\n);\nexport const isFileMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message.isFileMessage?.() || (message['messageType'] && message.messageType === 'file'))\n);\n\nexport const isOGMessage = (message: UserMessage): boolean => !!(\n message && isUserMessage(message) && message?.ogMetaData && message?.ogMetaData?.url\n);\nexport const isTextMessage = (message: UserMessage): boolean => isUserMessage(message) && !isOGMessage(message);\nexport const isThumbnailMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isSupportedFileView(message.type);\nexport const isImageMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isImage(message.type);\nexport const isVideoMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isVideo(message.type);\nexport const isGifMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isGif(message.type);\nexport const isAudioMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isAudio(message.type);\n\nexport const isEditedMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => isUserMessage(message) && (message?.updatedAt > 0);\nexport const isEnabledOGMessage = (message: UserMessage): boolean => (\n (!message || !message.ogMetaData || !message.ogMetaData.url) ? false : true\n);\n\nexport const getUIKitMessageTypes = (): UIKitMessageTypes => ({ ...UIKitMessageTypes });\nexport const getUIKitMessageType = (message: UserMessage | FileMessage | AdminMessage): string => {\n if (isAdminMessage(message as AdminMessage)) return UIKitMessageTypes.ADMIN;\n if (isUserMessage(message as UserMessage)) {\n return isOGMessage(message as UserMessage) ? UIKitMessageTypes.OG : UIKitMessageTypes.TEXT;\n }\n if (isFileMessage(message as FileMessage)) {\n return isThumbnailMessage(message as FileMessage) ? UIKitMessageTypes.THUMBNAIL : UIKitMessageTypes.FILE;\n }\n return UIKitMessageTypes.UNKNOWN;\n};\nexport const getSendingMessageStatus = (): SendingMessageStatus => ({ ...SendingMessageStatus });\n\nconst reducer = (accumulator: Array<string>, currentValue: string | Array<string>): Array<any> => {\n if (Array.isArray(currentValue)) {\n return [...accumulator, ...currentValue];\n } else {\n accumulator.push(currentValue);\n return accumulator;\n }\n};\nexport const getClassName = (classNames: string | Array<string | Array<string>>): string => (\n Array.isArray(classNames)\n ? classNames.reduce(reducer, []).join(' ')\n : classNames\n);\nexport const isReactedBy = (userId: string, reaction: Reaction): boolean => (\n reaction.userIds.some((reactorUserId: string): boolean => reactorUserId === userId)\n);\ninterface StringSet {\n TOOLTIP__YOU: string;\n TOOLTIP__AND_YOU: string;\n TOOLTIP__UNKNOWN_USER: string;\n}\nexport const getEmojiTooltipString = (reaction: Reaction, userId: string, memberNicknamesMap: Map<string, string>, stringSet: StringSet): string => {\n let you = '';\n if (isReactedBy(userId, reaction)) {\n you = reaction.userIds.length === 1 ? stringSet.TOOLTIP__YOU : stringSet.TOOLTIP__AND_YOU;\n }\n return (`${reaction.userIds\n .filter((reactorUserId: string) => reactorUserId !== userId)\n .map((reactorUserId: string) => (memberNicknamesMap.get(reactorUserId) || stringSet.TOOLTIP__UNKNOWN_USER))\n .join(', ')}${you}`);\n};\n\n// TODO: Use the interface after language tranlsatation of Sendbird.js\ninterface UIKitStore {\n stores: {\n sdkStore: {\n sdk: SendbirdChat | SendbirdOpenChat | SendbirdGroupChat,\n },\n userStore: {\n user: User,\n },\n },\n config: {\n isReactionEnabled: boolean,\n }\n}\nexport const getCurrentUserId = (store: UIKitStore): string => (store?.stores?.userStore?.user?.userId);\nexport const getUseReaction = (store: UIKitStore, channel: GroupChannel | OpenChannel): boolean => {\n if (!store?.config?.isReactionEnabled)\n return false;\n if (!store?.stores?.sdkStore?.sdk?.appInfo?.useReaction)\n return false;\n if (channel?.isGroupChannel())\n return !((channel as GroupChannel).isBroadcast || (channel as GroupChannel).isSuper);\n return store?.config?.isReactionEnabled;\n};\n\nexport const isMessageSentByMe = (userId: string, message: UserMessage | FileMessage): boolean => (\n (userId && message?.sender?.userId) && userId === message.sender.userId\n);\n\nconst URL_REG = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\nexport const isUrl = (text: string): boolean => URL_REG.test(text);\nconst MENTION_TAG_REG = /\\@\\{.*?\\}/i;\nexport const isMentionedText = (text: string): boolean => MENTION_TAG_REG.test(text);\n\nexport const truncateString = (fullStr: string, strLen?: number): string => {\n if (!strLen) strLen = 40;\n if (fullStr === null || fullStr === undefined) return '';\n if (fullStr.length <= strLen) return fullStr;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = strLen - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars);\n};\n\nexport const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport const getEmojiListAll = (emojiContainer: EmojiContainer): Array<Emoji> => (\n emojiContainer?.emojiCategories?.map((emojiCategory: EmojiCategory) => emojiCategory.emojis)\n .reduce((prevArr: Array<Emoji>, currArr: Array<Emoji>) => prevArr.concat(currArr), [])\n);\nexport const getEmojiMapAll = (emojiContainer: EmojiContainer): Map<string, Emoji> => {\n const emojiMap = new Map();\n emojiContainer?.emojiCategories?.forEach((category: EmojiCategory) => {\n category?.emojis?.forEach((emoji: Emoji): void => {\n if (emoji && emoji.key) {\n emojiMap.set(emoji.key, emoji);\n }\n });\n });\n return emojiMap;\n};\n\nexport const getUserName = (user: User): string => (user?.friendName || user?.nickname || user?.userId);\nexport const getSenderName = (message: UserMessage | FileMessage): string => (message.sender && getUserName(message.sender));\n\nexport const hasSameMembers = <T>(a: T[], b: T[]): boolean => {\n if (a === b) {\n return true;\n }\n if (a == null || b == null) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n\n const sortedA = [...a].sort();\n const sortedB = [...b].sort();\n\n for (let i = 0; i < sortedA.length; ++i) {\n if (sortedA[i] !== sortedB[i]) {\n return false;\n }\n }\n return true;\n}\nexport const isFriend = (user: User): boolean => !!(user.friendDiscoveryKey || user.friendName);\n\nexport const filterMessageListParams = (params: MessageListParams, message: UserMessage | FileMessage): boolean => {\n // @ts-ignore\n if (params?.messageTypeFilter && params.messageTypeFilter !== message.messageType) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0) {\n const customTypes = params.customTypesFilter.filter((item) => item !== '*');\n // Because Chat SDK inserts '*' when customTypes is empty\n if (customTypes.length > 0 && !customTypes.includes(message.customType)) {\n return false;\n }\n }\n if (params?.senderUserIdsFilter && params?.senderUserIdsFilter?.length > 0) {\n if (message?.isUserMessage?.() || message?.isFileMessage?.()) {\n const messageSender = (message as UserMessage | FileMessage).sender || message['_sender'];\n if (!params?.senderUserIdsFilter?.includes(messageSender?.userId)) {\n return false;\n }\n } else {\n return false;\n }\n }\n if (!params?.includeParentMessageInfo && (message?.parentMessageId || message?.parentMessage)) {\n return false;\n }\n return true;\n};\n\ninterface SDKChannelListParamsPrivateProps extends GroupChannelListQuery {\n _searchFilter: {\n search_query: string,\n search_fields: Array<'member_nickname' | 'channel_name'>,\n };\n _userIdsFilter: {\n userIds: Array<string>,\n includeMode: boolean,\n queryType: 'AND' | 'OR',\n };\n}\nexport const filterChannelListParams = (params: SDKChannelListParamsPrivateProps, channel: GroupChannel, currentUserId: string): boolean => {\n if (!params?.includeEmpty && channel?.lastMessage === null) {\n return false;\n }\n if (params?._searchFilter?.search_query && params._searchFilter.search_fields?.length > 0) {\n const searchFilter = params._searchFilter;\n const searchQuery = searchFilter.search_query;\n const searchFields = searchFilter.search_fields;\n if (searchQuery && searchFields && searchFields.length > 0) {\n if (!searchFields.some((searchField) => {\n switch (searchField) {\n case 'channel_name': {\n return channel?.name?.toLowerCase().includes(searchQuery.toLowerCase());\n }\n case 'member_nickname': {\n return channel?.members?.some((member: Member) => member.nickname.toLowerCase().includes(searchQuery.toLowerCase()));\n }\n default: {\n return true;\n }\n }\n })) {\n return false;\n }\n }\n }\n if (params?._userIdsFilter?.userIds?.length > 0) {\n const userIdsFilter = params._userIdsFilter;\n const { includeMode, queryType } = userIdsFilter;\n const userIds: string[] = userIdsFilter.userIds;\n const memberIds = channel?.members?.map((member: Member) => member.userId);\n if (!includeMode) { // exact match\n if (!userIds.includes(currentUserId)) {\n userIds.push(currentUserId); // add the caller's userId if not added already.\n }\n if (channel?.members?.length > userIds.length) {\n return false; // userIds may contain one or more non-member(s).\n }\n if (!hasSameMembers(userIds, memberIds)) {\n return false;\n }\n } else if (userIds.length > 0) { // inclusive\n switch (queryType) {\n case 'AND': {\n if (userIds.some((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n case 'OR': {\n if (userIds.every((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n default: {\n break;\n }\n }\n }\n }\n if (params?.includeEmpty === false && channel?.lastMessage === null) {\n return false;\n }\n if (params?.includeFrozen === false && channel?.isFrozen === true) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0 && !params.customTypesFilter.includes(channel?.customType)) {\n return false;\n }\n if (params?.customTypeStartsWithFilter && !new RegExp(`^${params.customTypeStartsWithFilter}`).test(channel?.customType)) {\n return false;\n }\n if (params?.channelNameContainsFilter && !channel?.name?.toLowerCase().includes(params.channelNameContainsFilter.toLowerCase())) {\n return false;\n }\n if (params?.nicknameContainsFilter) {\n const lowerCasedSubString = params.nicknameContainsFilter.toLowerCase();\n if (channel?.members?.every((member: Member) => !member.nickname.toLowerCase().includes(lowerCasedSubString))) {\n return false;\n }\n }\n if (params?.channelUrlsFilter?.length > 0 && !params.channelUrlsFilter.includes(channel?.url)) {\n return false;\n }\n if (params?.myMemberStateFilter) {\n switch (params.myMemberStateFilter) {\n case 'joined_only':\n if (channel?.myMemberState !== 'joined') {\n return false;\n }\n break;\n case 'invited_only':\n if (channel?.myMemberState !== 'invited') {\n return false;\n }\n break;\n case 'invited_by_friend':\n if (channel?.myMemberState !== 'invited' || !isFriend(channel?.inviter)) {\n return false;\n }\n break;\n case 'invited_by_non_friend':\n if (channel?.myMemberState !== 'invited' || isFriend(channel?.inviter)) {\n return false;\n }\n break;\n }\n }\n if (params?.hiddenChannelFilter) {\n switch (params.hiddenChannelFilter) {\n case 'unhidden_only':\n if (channel?.isHidden || channel?.hiddenState !== 'unhidden') {\n return false;\n }\n break;\n case 'hidden_only':\n if (!channel?.isHidden) {\n return false;\n }\n break;\n case 'hidden_allow_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_allow_auto_unhide') {\n return false;\n }\n break;\n case 'hidden_prevent_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_prevent_auto_unhide') {\n return false;\n }\n break;\n }\n }\n if (params?.unreadChannelFilter) {\n switch (params.unreadChannelFilter) {\n case 'unread_message':\n if (channel?.unreadMessageCount === 0) {\n return false;\n }\n break;\n }\n }\n if (params?.publicChannelFilter) {\n switch (params.publicChannelFilter) {\n case 'public':\n if (!channel?.isPublic) {\n return false;\n }\n break;\n case 'private':\n if (channel?.isPublic) {\n return false;\n }\n break;\n }\n }\n if (params?.superChannelFilter) {\n switch (params.superChannelFilter) {\n case 'super':\n if (!channel?.isSuper) {\n return false;\n }\n break;\n case 'nonsuper':\n if (channel?.isSuper) {\n return false;\n }\n break;\n }\n }\n return true;\n};\n\nexport const binarySearch = (list: Array<number>, number: number): number => {// [100, 99, 98, 97, ...]\n const pivot = Math.floor(list.length / 2);\n if (list[pivot] === number) {\n return pivot;\n }\n const leftList = list.slice(0, pivot);\n const rightList = list.slice(pivot + 1, list.length);\n if (list[pivot] > number) {\n return pivot + 1 + (rightList.length === 0 ? 0 : binarySearch(rightList, number));\n } else {\n return (leftList.length === 0) ? pivot : binarySearch(leftList, number);\n }\n};\n// This is required when channel is displayed on channel list by filter\nexport const getChannelsWithUpsertedChannel = (channels: Array<GroupChannel>, channel: GroupChannel): Array<GroupChannel> => {\n if (channels.some((ch: GroupChannel) => ch.url === channel?.url)) {\n return channels.map((ch: GroupChannel) => (ch.url === channel?.url ? channel : ch));\n }\n const targetIndex = binarySearch(\n channels.map((channel: GroupChannel) => channel?.lastMessage?.createdAt || channel?.createdAt),\n channel?.lastMessage?.createdAt || channel?.createdAt\n );\n return [...channels.slice(0, targetIndex), channel, ...channels.slice(targetIndex, channels.length)];\n};\n\nexport const getMatchedUserIds = (word: string, users: Array<User>, _template?: string): boolean => {\n const template = _template || '@'; // Use global variable\n // const matchedUserIds = [];\n // users.map((user) => user?.userId).forEach((userId) => {\n // if (word.indexOf(`${template}{${userId}}`) > -1) {\n // matchedUserIds.push(userId);\n // }\n // });\n // return matchedUserIds;\n return users.map((user) => user?.userId).some((userId) => word.indexOf(`${template}{${userId}}`) > -1);\n};\n\nexport enum StringObjType {\n normal = 'normal',\n mention = 'mention',\n url = 'url',\n}\nexport interface StringObj {\n type: StringObjType;\n value: string;\n userId?: string;\n}\n\nexport const convertWordToStringObj = (word: string, _users: Array<User>, _template?: string): Array<StringObj> => {\n const users = _users || [];\n const template = _template || '@'; // Use global variable\n const resultArray = [];\n const regex = RegExp(`${template}{(${users.map((user) => user?.userId).join('|')})}`, 'g');\n let excutionResult;\n let lastIndex = 0;\n while ((excutionResult = regex.exec(word)) !== null) {\n const [template, userId] = excutionResult;\n const endIndex = regex.lastIndex;\n const startIndex = endIndex - template.length;\n // Normal text\n const normalText = word.slice(lastIndex, startIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n // Mention template\n const mentionedUser = users.find((user) => user?.userId === userId);\n if (!mentionedUser) {\n resultArray.push({\n type: StringObjType.normal,\n value: template, // because template is the origin text\n });\n } else {\n resultArray.push({\n type: StringObjType.mention,\n value: mentionedUser?.nickname || '(No name)',\n userId: userId,\n });\n }\n lastIndex = endIndex;\n }\n if (lastIndex < word.length) {\n // Normal text\n const normalText = word.slice(lastIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n }\n return resultArray;\n};\n\nexport const arrayEqual = (array1: Array<unknown>, array2: Array<unknown>): boolean => {\n if (Array.isArray(array1) && Array.isArray(array2) && array1.length === array2.length) {\n for (let i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n }\n return false;\n};\n"],"names":["SUPPORTED_MIMES","IMAGE","VIDEO","AUDIO","UIKitMessageTypes","ADMIN","TEXT","FILE","THUMBNAIL","OG","UNKNOWN","UIKitFileTypes","GIF","OTHERS","SendingMessageStatus","NONE","SUCCEEDED","FAILED","PENDING","OutgoingMessageStates","SENT","DELIVERED","READ","isTextuallyNull","text","isImage","type","indexOf","isVideo","isGif","isSupportedFileView","isAudio","getUIKitFileTypes","__assign","getUIKitFileType","getOutgoingMessageStates","getOutgoingMessageState","channel","message","sendingStatus","_a","isGroupChannel","call","getUnreadMemberCount","getUndeliveredMemberCount","isSentMessage","isReadMessage","isFailedMessage","isPendingMessage","isSentStatus","state","isAdminMessage","messageType","isUserMessage","isFileMessage","isOGMessage","ogMetaData","url","isTextMessage","isThumbnailMessage","isImageMessage","isVideoMessage","isGifMessage","isAudioMessage","isEditedMessage","updatedAt","getUIKitMessageTypes","getUIKitMessageType","getSendingMessageStatus","reducer","accumulator","currentValue","Array","isArray","__spreadArray","push","getClassName","classNames","reduce","join","isReactedBy","userId","reaction","userIds","some","reactorUserId","getEmojiTooltipString","memberNicknamesMap","stringSet","you","length","TOOLTIP__YOU","TOOLTIP__AND_YOU","concat","filter","map","get","TOOLTIP__UNKNOWN_USER","URL_REG","isUrl","test","truncateString","fullStr","strLen","undefined","separator","sepLen","charsToShow","frontChars","Math","ceil","backChars","floor","substr","copyToClipboard","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","getEmojiListAll","emojiContainer","emojiCategories","emojiCategory","emojis","prevArr","currArr","getEmojiMapAll","emojiMap","Map","forEach","category","emoji","key","set","getUserName","user","friendName","nickname","getSenderName","sender","hasSameMembers","a","b","sortedA","sort","sortedB","i","isFriend","friendDiscoveryKey","filterMessageListParams","params","messageTypeFilter","customTypesFilter","customTypes","item","includes","customType","senderUserIdsFilter","_b","_c","_d","messageSender","_e","includeParentMessageInfo","parentMessageId","parentMessage","filterChannelListParams","currentUserId","includeEmpty","lastMessage","_searchFilter","search_query","search_fields","searchFilter","searchQuery_1","searchFields","searchField","name","toLowerCase","members","member","_userIdsFilter","userIdsFilter","includeMode","queryType","memberIds_1","_f","every","includeFrozen","isFrozen","_g","customTypeStartsWithFilter","RegExp","channelNameContainsFilter","_h","nicknameContainsFilter","lowerCasedSubString_1","_j","_k","channelUrlsFilter","myMemberStateFilter","myMemberState","inviter","hiddenChannelFilter","isHidden","hiddenState","unreadChannelFilter","unreadMessageCount","publicChannelFilter","isPublic","superChannelFilter","isSuper","binarySearch","list","number","pivot","leftList","slice","rightList","getChannelsWithUpsertedChannel","channels","ch","targetIndex","createdAt","StringObjType","convertWordToStringObj","word","_users","_template","users","template","resultArray","regex","excutionResult","lastIndex","template_1","endIndex","startIndex","normalText","normal","value","mentionedUser","find","mention","exec","arrayEqual","array1","array2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-f6fd2b53.js","sources":["../src/utils/index.ts"],"sourcesContent":["import SendbirdChat, { Emoji, EmojiCategory, EmojiContainer, User } from '@sendbird/chat';\nimport type { GroupChannel, Member, SendbirdGroupChat, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\nimport type { AdminMessage, FileMessage, MessageListParams, Reaction, UserMessage } from '@sendbird/chat/message';\nimport type { OpenChannel, SendbirdOpenChat } from '@sendbird/chat/openChannel';\nimport { EveryMessage } from '../types';\n\n// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/svg+xml',\n 'image/webp', // not supported in IE\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n AUDIO: [\n 'audio/aac',\n 'audio/midi',\n 'audio/x-midi',\n 'audio/mpeg',\n 'audio/ogg',\n 'audio/opus',\n 'audio/wav',\n 'audio/webm',\n 'audio/3gpp',\n 'audio/3gpp2',\n 'audio/mp3',\n ],\n};\n\nexport interface UIKitMessageTypes {\n ADMIN: \"ADMIN\",\n TEXT: \"TEXT\",\n FILE: \"FILE\",\n THUMBNAIL: \"THUMBNAIL\",\n OG: \"OG\",\n UNKNOWN: \"UNKNOWN\",\n}\nconst UIKitMessageTypes: UIKitMessageTypes = {\n ADMIN: \"ADMIN\",\n TEXT: \"TEXT\",\n FILE: \"FILE\",\n THUMBNAIL: \"THUMBNAIL\",\n OG: \"OG\",\n UNKNOWN: \"UNKNOWN\",\n};\nexport interface UIKitFileTypes {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\n OTHERS: \"OTHERS\",\n}\nexport const UIKitFileTypes: UIKitFileTypes = {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\n OTHERS: \"OTHERS\",\n};\n\nexport interface SendingMessageStatus {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n}\nconst SendingMessageStatus: SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\nexport interface OutgoingMessageStates {\n NONE: 'NONE',\n PENDING: 'PENDING',\n SENT: 'SENT',\n FAILED: 'FAILED',\n DELIVERED: 'DELIVERED',\n READ: 'READ',\n // delivered and read are only in group channel\n}\nexport const OutgoingMessageStates: OutgoingMessageStates = {\n NONE: 'NONE',\n PENDING: 'PENDING',\n SENT: 'SENT',\n FAILED: 'FAILED',\n DELIVERED: 'DELIVERED',\n READ: 'READ',\n};\n\nexport type CoreMessageType = EveryMessage;\n\nexport const isTextuallyNull = (text: string): boolean => {\n if (text === '' || text === null) {\n return true;\n }\n return false;\n};\n\nexport const isImage = (type: string): boolean => SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;\nexport const isVideo = (type: string): boolean => SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;\nexport const isGif = (type: string): boolean => type === 'image/gif';\nexport const isSupportedFileView = (type: string): boolean => isImage(type) || isVideo(type);\nexport const isAudio = (type: string): boolean => SUPPORTED_MIMES.AUDIO.indexOf(type) >= 0;\n\nexport const getUIKitFileTypes = (): UIKitFileTypes => ({ ...UIKitFileTypes });\nexport const getUIKitFileType = (type: string): string => {\n if (isGif(type)) return UIKitFileTypes.GIF;\n if (isImage(type)) return UIKitFileTypes.IMAGE;\n if (isVideo(type)) return UIKitFileTypes.VIDEO;\n if (isAudio(type)) return UIKitFileTypes.AUDIO;\n return UIKitFileTypes.OTHERS;\n};\nexport const getOutgoingMessageStates = (): OutgoingMessageStates => ({ ...OutgoingMessageStates });\nexport const getOutgoingMessageState = (channel: GroupChannel | OpenChannel, message: UserMessage | FileMessage): string => {\n if (message.sendingStatus === 'pending') return OutgoingMessageStates.PENDING;\n if (message.sendingStatus === 'failed') return OutgoingMessageStates.FAILED;\n if (channel?.isGroupChannel?.()) {\n /* GroupChannel only */\n if ((channel as GroupChannel).getUnreadMemberCount(message) === 0) {\n return OutgoingMessageStates.READ;\n } else if ((channel as GroupChannel).getUndeliveredMemberCount(message) === 0) {\n return OutgoingMessageStates.DELIVERED;\n }\n }\n if (message.sendingStatus === 'succeeded') return OutgoingMessageStates.SENT;\n return OutgoingMessageStates.NONE;\n};\nexport const isSentMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'succeeded');\nexport const isDeliveredMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.DELIVERED\n || getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\nexport const isReadMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\n// TODO: Remove channel from the params, it seems unnecessary\nexport const isFailedMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'failed');\nexport const isPendingMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'pending');\nexport const isSentStatus = (state: string): boolean => (\n state === OutgoingMessageStates.SENT\n || state === OutgoingMessageStates.DELIVERED\n || state === OutgoingMessageStates.READ\n);\n\nexport const isAdminMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message.isAdminMessage?.() || (message['messageType'] && message.messageType === 'admin'))\n);\nexport const isUserMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message.isUserMessage?.() || (message['messageType'] && message.messageType === 'user'))\n);\nexport const isFileMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message.isFileMessage?.() || (message['messageType'] && message.messageType === 'file'))\n);\n\nexport const isOGMessage = (message: UserMessage): boolean => !!(\n message && isUserMessage(message) && message?.ogMetaData && message?.ogMetaData?.url\n);\nexport const isTextMessage = (message: UserMessage): boolean => isUserMessage(message) && !isOGMessage(message);\nexport const isThumbnailMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isSupportedFileView(message.type);\nexport const isImageMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isImage(message.type);\nexport const isVideoMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isVideo(message.type);\nexport const isGifMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isGif(message.type);\nexport const isAudioMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isAudio(message.type);\n\nexport const isEditedMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => isUserMessage(message) && (message?.updatedAt > 0);\nexport const isEnabledOGMessage = (message: UserMessage): boolean => (\n (!message || !message.ogMetaData || !message.ogMetaData.url) ? false : true\n);\n\nexport const getUIKitMessageTypes = (): UIKitMessageTypes => ({ ...UIKitMessageTypes });\nexport const getUIKitMessageType = (message: UserMessage | FileMessage | AdminMessage): string => {\n if (isAdminMessage(message as AdminMessage)) return UIKitMessageTypes.ADMIN;\n if (isUserMessage(message as UserMessage)) {\n return isOGMessage(message as UserMessage) ? UIKitMessageTypes.OG : UIKitMessageTypes.TEXT;\n }\n if (isFileMessage(message as FileMessage)) {\n return isThumbnailMessage(message as FileMessage) ? UIKitMessageTypes.THUMBNAIL : UIKitMessageTypes.FILE;\n }\n return UIKitMessageTypes.UNKNOWN;\n};\nexport const getSendingMessageStatus = (): SendingMessageStatus => ({ ...SendingMessageStatus });\n\nconst reducer = (accumulator: Array<string>, currentValue: string | Array<string>): Array<any> => {\n if (Array.isArray(currentValue)) {\n return [...accumulator, ...currentValue];\n } else {\n accumulator.push(currentValue);\n return accumulator;\n }\n};\nexport const getClassName = (classNames: string | Array<string | Array<string>>): string => (\n Array.isArray(classNames)\n ? classNames.reduce(reducer, []).join(' ')\n : classNames\n);\nexport const isReactedBy = (userId: string, reaction: Reaction): boolean => (\n reaction.userIds.some((reactorUserId: string): boolean => reactorUserId === userId)\n);\ninterface StringSet {\n TOOLTIP__YOU: string;\n TOOLTIP__AND_YOU: string;\n TOOLTIP__UNKNOWN_USER: string;\n}\nexport const getEmojiTooltipString = (reaction: Reaction, userId: string, memberNicknamesMap: Map<string, string>, stringSet: StringSet): string => {\n let you = '';\n if (isReactedBy(userId, reaction)) {\n you = reaction.userIds.length === 1 ? stringSet.TOOLTIP__YOU : stringSet.TOOLTIP__AND_YOU;\n }\n return (`${reaction.userIds\n .filter((reactorUserId: string) => reactorUserId !== userId)\n .map((reactorUserId: string) => (memberNicknamesMap.get(reactorUserId) || stringSet.TOOLTIP__UNKNOWN_USER))\n .join(', ')}${you}`);\n};\n\n// TODO: Use the interface after language tranlsatation of Sendbird.js\ninterface UIKitStore {\n stores: {\n sdkStore: {\n sdk: SendbirdChat | SendbirdOpenChat | SendbirdGroupChat,\n },\n userStore: {\n user: User,\n },\n },\n config: {\n isReactionEnabled: boolean,\n }\n}\nexport const getCurrentUserId = (store: UIKitStore): string => (store?.stores?.userStore?.user?.userId);\nexport const getUseReaction = (store: UIKitStore, channel: GroupChannel | OpenChannel): boolean => {\n if (!store?.config?.isReactionEnabled)\n return false;\n if (!store?.stores?.sdkStore?.sdk?.appInfo?.useReaction)\n return false;\n if (channel?.isGroupChannel())\n return !((channel as GroupChannel).isBroadcast || (channel as GroupChannel).isSuper);\n return store?.config?.isReactionEnabled;\n};\n\nexport const isMessageSentByMe = (userId: string, message: UserMessage | FileMessage): boolean => (\n (userId && message?.sender?.userId) && userId === message.sender.userId\n);\n\nconst URL_REG = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\nexport const isUrl = (text: string): boolean => URL_REG.test(text);\nconst MENTION_TAG_REG = /\\@\\{.*?\\}/i;\nexport const isMentionedText = (text: string): boolean => MENTION_TAG_REG.test(text);\n\nexport const truncateString = (fullStr: string, strLen?: number): string => {\n if (!strLen) strLen = 40;\n if (fullStr === null || fullStr === undefined) return '';\n if (fullStr.length <= strLen) return fullStr;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = strLen - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars);\n};\n\nexport const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport const getEmojiListAll = (emojiContainer: EmojiContainer): Array<Emoji> => (\n emojiContainer?.emojiCategories?.map((emojiCategory: EmojiCategory) => emojiCategory.emojis)\n .reduce((prevArr: Array<Emoji>, currArr: Array<Emoji>) => prevArr.concat(currArr), [])\n);\nexport const getEmojiMapAll = (emojiContainer: EmojiContainer): Map<string, Emoji> => {\n const emojiMap = new Map();\n emojiContainer?.emojiCategories?.forEach((category: EmojiCategory) => {\n category?.emojis?.forEach((emoji: Emoji): void => {\n if (emoji && emoji.key) {\n emojiMap.set(emoji.key, emoji);\n }\n });\n });\n return emojiMap;\n};\n\nexport const getUserName = (user: User): string => (user?.friendName || user?.nickname || user?.userId);\nexport const getSenderName = (message: UserMessage | FileMessage): string => (message.sender && getUserName(message.sender));\n\nexport const hasSameMembers = <T>(a: T[], b: T[]): boolean => {\n if (a === b) {\n return true;\n }\n if (a == null || b == null) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n\n const sortedA = [...a].sort();\n const sortedB = [...b].sort();\n\n for (let i = 0; i < sortedA.length; ++i) {\n if (sortedA[i] !== sortedB[i]) {\n return false;\n }\n }\n return true;\n}\nexport const isFriend = (user: User): boolean => !!(user.friendDiscoveryKey || user.friendName);\n\nexport const filterMessageListParams = (params: MessageListParams, message: UserMessage | FileMessage): boolean => {\n // @ts-ignore\n if (params?.messageTypeFilter && params.messageTypeFilter !== message.messageType) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0) {\n const customTypes = params.customTypesFilter.filter((item) => item !== '*');\n // Because Chat SDK inserts '*' when customTypes is empty\n if (customTypes.length > 0 && !customTypes.includes(message.customType)) {\n return false;\n }\n }\n if (params?.senderUserIdsFilter && params?.senderUserIdsFilter?.length > 0) {\n if (message?.isUserMessage?.() || message?.isFileMessage?.()) {\n const messageSender = (message as UserMessage | FileMessage).sender || message['_sender'];\n if (!params?.senderUserIdsFilter?.includes(messageSender?.userId)) {\n return false;\n }\n } else {\n return false;\n }\n }\n if (!params?.includeParentMessageInfo && (message?.parentMessageId || message?.parentMessage)) {\n return false;\n }\n return true;\n};\n\ninterface SDKChannelListParamsPrivateProps extends GroupChannelListQuery {\n _searchFilter: {\n search_query: string,\n search_fields: Array<'member_nickname' | 'channel_name'>,\n };\n _userIdsFilter: {\n userIds: Array<string>,\n includeMode: boolean,\n queryType: 'AND' | 'OR',\n };\n}\nexport const filterChannelListParams = (params: SDKChannelListParamsPrivateProps, channel: GroupChannel, currentUserId: string): boolean => {\n if (!params?.includeEmpty && channel?.lastMessage === null) {\n return false;\n }\n if (params?._searchFilter?.search_query && params._searchFilter.search_fields?.length > 0) {\n const searchFilter = params._searchFilter;\n const searchQuery = searchFilter.search_query;\n const searchFields = searchFilter.search_fields;\n if (searchQuery && searchFields && searchFields.length > 0) {\n if (!searchFields.some((searchField) => {\n switch (searchField) {\n case 'channel_name': {\n return channel?.name?.toLowerCase().includes(searchQuery.toLowerCase());\n }\n case 'member_nickname': {\n return channel?.members?.some((member: Member) => member.nickname.toLowerCase().includes(searchQuery.toLowerCase()));\n }\n default: {\n return true;\n }\n }\n })) {\n return false;\n }\n }\n }\n if (params?._userIdsFilter?.userIds?.length > 0) {\n const userIdsFilter = params._userIdsFilter;\n const { includeMode, queryType } = userIdsFilter;\n const userIds: string[] = userIdsFilter.userIds;\n const memberIds = channel?.members?.map((member: Member) => member.userId);\n if (!includeMode) { // exact match\n if (!userIds.includes(currentUserId)) {\n userIds.push(currentUserId); // add the caller's userId if not added already.\n }\n if (channel?.members?.length > userIds.length) {\n return false; // userIds may contain one or more non-member(s).\n }\n if (!hasSameMembers(userIds, memberIds)) {\n return false;\n }\n } else if (userIds.length > 0) { // inclusive\n switch (queryType) {\n case 'AND': {\n if (userIds.some((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n case 'OR': {\n if (userIds.every((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n default: {\n break;\n }\n }\n }\n }\n if (params?.includeEmpty === false && channel?.lastMessage === null) {\n return false;\n }\n if (params?.includeFrozen === false && channel?.isFrozen === true) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0 && !params.customTypesFilter.includes(channel?.customType)) {\n return false;\n }\n if (params?.customTypeStartsWithFilter && !new RegExp(`^${params.customTypeStartsWithFilter}`).test(channel?.customType)) {\n return false;\n }\n if (params?.channelNameContainsFilter && !channel?.name?.toLowerCase().includes(params.channelNameContainsFilter.toLowerCase())) {\n return false;\n }\n if (params?.nicknameContainsFilter) {\n const lowerCasedSubString = params.nicknameContainsFilter.toLowerCase();\n if (channel?.members?.every((member: Member) => !member.nickname.toLowerCase().includes(lowerCasedSubString))) {\n return false;\n }\n }\n if (params?.channelUrlsFilter?.length > 0 && !params.channelUrlsFilter.includes(channel?.url)) {\n return false;\n }\n if (params?.myMemberStateFilter) {\n switch (params.myMemberStateFilter) {\n case 'joined_only':\n if (channel?.myMemberState !== 'joined') {\n return false;\n }\n break;\n case 'invited_only':\n if (channel?.myMemberState !== 'invited') {\n return false;\n }\n break;\n case 'invited_by_friend':\n if (channel?.myMemberState !== 'invited' || !isFriend(channel?.inviter)) {\n return false;\n }\n break;\n case 'invited_by_non_friend':\n if (channel?.myMemberState !== 'invited' || isFriend(channel?.inviter)) {\n return false;\n }\n break;\n }\n }\n if (params?.hiddenChannelFilter) {\n switch (params.hiddenChannelFilter) {\n case 'unhidden_only':\n if (channel?.isHidden || channel?.hiddenState !== 'unhidden') {\n return false;\n }\n break;\n case 'hidden_only':\n if (!channel?.isHidden) {\n return false;\n }\n break;\n case 'hidden_allow_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_allow_auto_unhide') {\n return false;\n }\n break;\n case 'hidden_prevent_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_prevent_auto_unhide') {\n return false;\n }\n break;\n }\n }\n if (params?.unreadChannelFilter) {\n switch (params.unreadChannelFilter) {\n case 'unread_message':\n if (channel?.unreadMessageCount === 0) {\n return false;\n }\n break;\n }\n }\n if (params?.publicChannelFilter) {\n switch (params.publicChannelFilter) {\n case 'public':\n if (!channel?.isPublic) {\n return false;\n }\n break;\n case 'private':\n if (channel?.isPublic) {\n return false;\n }\n break;\n }\n }\n if (params?.superChannelFilter) {\n switch (params.superChannelFilter) {\n case 'super':\n if (!channel?.isSuper) {\n return false;\n }\n break;\n case 'nonsuper':\n if (channel?.isSuper) {\n return false;\n }\n break;\n }\n }\n return true;\n};\n\nexport const binarySearch = (list: Array<number>, number: number): number => {// [100, 99, 98, 97, ...]\n const pivot = Math.floor(list.length / 2);\n if (list[pivot] === number) {\n return pivot;\n }\n const leftList = list.slice(0, pivot);\n const rightList = list.slice(pivot + 1, list.length);\n if (list[pivot] > number) {\n return pivot + 1 + (rightList.length === 0 ? 0 : binarySearch(rightList, number));\n } else {\n return (leftList.length === 0) ? pivot : binarySearch(leftList, number);\n }\n};\n// This is required when channel is displayed on channel list by filter\nexport const getChannelsWithUpsertedChannel = (channels: Array<GroupChannel>, channel: GroupChannel): Array<GroupChannel> => {\n if (channels.some((ch: GroupChannel) => ch.url === channel?.url)) {\n return channels.map((ch: GroupChannel) => (ch.url === channel?.url ? channel : ch));\n }\n const targetIndex = binarySearch(\n channels.map((channel: GroupChannel) => channel?.lastMessage?.createdAt || channel?.createdAt),\n channel?.lastMessage?.createdAt || channel?.createdAt\n );\n return [...channels.slice(0, targetIndex), channel, ...channels.slice(targetIndex, channels.length)];\n};\n\nexport const getMatchedUserIds = (word: string, users: Array<User>, _template?: string): boolean => {\n const template = _template || '@'; // Use global variable\n // const matchedUserIds = [];\n // users.map((user) => user?.userId).forEach((userId) => {\n // if (word.indexOf(`${template}{${userId}}`) > -1) {\n // matchedUserIds.push(userId);\n // }\n // });\n // return matchedUserIds;\n return users.map((user) => user?.userId).some((userId) => word.indexOf(`${template}{${userId}}`) > -1);\n};\n\nexport enum StringObjType {\n normal = 'normal',\n mention = 'mention',\n url = 'url',\n}\nexport interface StringObj {\n type: StringObjType;\n value: string;\n userId?: string;\n}\n\nexport const convertWordToStringObj = (word: string, _users: Array<User>, _template?: string): Array<StringObj> => {\n const users = _users || [];\n const template = _template || '@'; // Use global variable\n const resultArray = [];\n const regex = RegExp(`${template}{(${users.map((user) => user?.userId).join('|')})}`, 'g');\n let excutionResult;\n let lastIndex = 0;\n while ((excutionResult = regex.exec(word)) !== null) {\n const [template, userId] = excutionResult;\n const endIndex = regex.lastIndex;\n const startIndex = endIndex - template.length;\n // Normal text\n const normalText = word.slice(lastIndex, startIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n // Mention template\n const mentionedUser = users.find((user) => user?.userId === userId);\n if (!mentionedUser) {\n resultArray.push({\n type: StringObjType.normal,\n value: template, // because template is the origin text\n });\n } else {\n resultArray.push({\n type: StringObjType.mention,\n value: mentionedUser?.nickname || '(No name)',\n userId: userId,\n });\n }\n lastIndex = endIndex;\n }\n if (lastIndex < word.length) {\n // Normal text\n const normalText = word.slice(lastIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n }\n return resultArray;\n};\n\nexport const arrayEqual = (array1: Array<unknown>, array2: Array<unknown>): boolean => {\n if (Array.isArray(array1) && Array.isArray(array2) && array1.length === array2.length) {\n for (let i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n }\n return false;\n};\n"],"names":["SUPPORTED_MIMES","IMAGE","VIDEO","AUDIO","UIKitMessageTypes","ADMIN","TEXT","FILE","THUMBNAIL","OG","UNKNOWN","UIKitFileTypes","GIF","OTHERS","SendingMessageStatus","NONE","SUCCEEDED","FAILED","PENDING","OutgoingMessageStates","SENT","DELIVERED","READ","isTextuallyNull","text","isImage","type","indexOf","isVideo","isGif","isSupportedFileView","isAudio","getUIKitFileTypes","__assign","getUIKitFileType","getOutgoingMessageStates","getOutgoingMessageState","channel","message","sendingStatus","_a","isGroupChannel","call","getUnreadMemberCount","getUndeliveredMemberCount","isSentMessage","isReadMessage","isFailedMessage","isPendingMessage","isSentStatus","state","isAdminMessage","messageType","isUserMessage","isFileMessage","isOGMessage","ogMetaData","url","isTextMessage","isThumbnailMessage","isImageMessage","isVideoMessage","isGifMessage","isAudioMessage","isEditedMessage","updatedAt","getUIKitMessageTypes","getUIKitMessageType","getSendingMessageStatus","reducer","accumulator","currentValue","Array","isArray","__spreadArray","push","getClassName","classNames","reduce","join","isReactedBy","userId","reaction","userIds","some","reactorUserId","getEmojiTooltipString","memberNicknamesMap","stringSet","you","length","TOOLTIP__YOU","TOOLTIP__AND_YOU","concat","filter","map","get","TOOLTIP__UNKNOWN_USER","URL_REG","isUrl","test","truncateString","fullStr","strLen","undefined","separator","sepLen","charsToShow","frontChars","Math","ceil","backChars","floor","substr","copyToClipboard","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","getEmojiListAll","emojiContainer","emojiCategories","emojiCategory","emojis","prevArr","currArr","getEmojiMapAll","emojiMap","Map","forEach","category","emoji","key","set","getUserName","user","friendName","nickname","getSenderName","sender","hasSameMembers","a","b","sortedA","sort","sortedB","i","isFriend","friendDiscoveryKey","filterMessageListParams","params","messageTypeFilter","customTypesFilter","customTypes","item","includes","customType","senderUserIdsFilter","_b","_c","_d","messageSender","_e","includeParentMessageInfo","parentMessageId","parentMessage","filterChannelListParams","currentUserId","includeEmpty","lastMessage","_searchFilter","search_query","search_fields","searchFilter","searchQuery_1","searchFields","searchField","name","toLowerCase","members","member","_userIdsFilter","userIdsFilter","includeMode","queryType","memberIds_1","_f","every","includeFrozen","isFrozen","_g","customTypeStartsWithFilter","RegExp","channelNameContainsFilter","_h","nicknameContainsFilter","lowerCasedSubString_1","_j","_k","channelUrlsFilter","myMemberStateFilter","myMemberState","inviter","hiddenChannelFilter","isHidden","hiddenState","unreadChannelFilter","unreadMessageCount","publicChannelFilter","isPublic","superChannelFilter","isSuper","binarySearch","list","number","pivot","leftList","slice","rightList","getChannelsWithUpsertedChannel","channels","ch","targetIndex","createdAt","StringObjType","convertWordToStringObj","word","_users","_template","users","template","resultArray","regex","excutionResult","lastIndex","template_1","endIndex","startIndex","normalText","normal","value","mentionedUser","find","mention","exec","arrayEqual","array1","array2"],"mappings":";;AAOA,IAAMA,eAAe,GAAG;AACtBC,EAAAA,KAAK,EAAE,CACL,YADK,EAEL,WAFK,EAGL,WAHK,EAIL,WAJK,EAKL,eALK,EAML,YANK;GADe;EAStBC,KAAK,EAAE,CACL,YADK,EAEL,WAFK,EAGL,YAHK,EAIL,WAJK,CATe;EAetBC,KAAK,EAAE,CACL,WADK,EAEL,YAFK,EAGL,cAHK,EAIL,YAJK,EAKL,WALK,EAML,YANK,EAOL,WAPK,EAQL,YARK,EASL,YATK,EAUL,aAVK,EAWL,WAXK,CAAA;AAfe,CAAxB,CAAA;AAsCA,IAAMC,iBAAiB,GAAsB;AAC3CC,EAAAA,KAAK,EAAE,OADoC;AAE3CC,EAAAA,IAAI,EAAE,MAFqC;AAG3CC,EAAAA,IAAI,EAAE,MAHqC;AAI3CC,EAAAA,SAAS,EAAE,WAJgC;AAK3CC,EAAAA,EAAE,EAAE,IALuC;AAM3CC,EAAAA,OAAO,EAAE,SAAA;AANkC,CAA7C,CAAA;AAeO,IAAMC,cAAc,GAAmB;AAC5CV,EAAAA,KAAK,EAAE,OADqC;AAE5CE,EAAAA,KAAK,EAAE,OAFqC;AAG5CD,EAAAA,KAAK,EAAE,OAHqC;AAI5CU,EAAAA,GAAG,EAAE,KAJuC;AAK5CC,EAAAA,MAAM,EAAE,QAAA;AALoC,CAAvC,CAAA;AAcP,IAAMC,oBAAoB,GAAyB;AACjDC,EAAAA,IAAI,EAAE,MAD2C;AAEjDC,EAAAA,SAAS,EAAE,WAFsC;AAGjDC,EAAAA,MAAM,EAAE,QAHyC;AAIjDC,EAAAA,OAAO,EAAE,SAAA;AAJwC,CAAnD,CAAA;AAgBO,IAAMC,qBAAqB,GAA0B;AAC1DJ,EAAAA,IAAI,EAAE,MADoD;AAE1DG,EAAAA,OAAO,EAAE,SAFiD;AAG1DE,EAAAA,IAAI,EAAE,MAHoD;AAI1DH,EAAAA,MAAM,EAAE,QAJkD;AAK1DI,EAAAA,SAAS,EAAE,WAL+C;AAM1DC,EAAAA,IAAI,EAAE,MAAA;AANoD,CAArD,CAAA;AAWMC,IAAAA,eAAe,GAAG,UAACC,IAAD,EAAa;AAC1C,EAAA,IAAIA,IAAI,KAAK,EAAT,IAAeA,IAAI,KAAK,IAA5B,EAAkC;AAChC,IAAA,OAAO,IAAP,CAAA;AACD,GAAA;;AACD,EAAA,OAAO,KAAP,CAAA;AACD,EALM;AAOMC,IAAAA,OAAO,GAAG,UAACC,IAAD,EAAa;EAAc,OAAA1B,eAAe,CAACC,KAAhB,CAAsB0B,OAAtB,CAA8BD,IAA9B,KAAuC,CAAvC,CAAA;AAAwC,EAAnF;AACME,IAAAA,OAAO,GAAG,UAACF,IAAD,EAAa;EAAc,OAAA1B,eAAe,CAACE,KAAhB,CAAsByB,OAAtB,CAA8BD,IAA9B,KAAuC,CAAvC,CAAA;AAAwC,EAAnF;AACMG,IAAAA,KAAK,GAAG,UAACH,IAAD,EAA2B;EAAA,OAAAA,IAAI,KAAK,WAAT,CAAA;AAAoB,EAA7D;AACMI,IAAAA,mBAAmB,GAAG,UAACJ,IAAD;EAA2B,OAAAD,OAAO,CAACC,IAAD,CAAP,IAAiBE,OAAO,CAACF,IAAD,CAAxB,CAAA;AAA8B,EAArF;AACA,IAAMK,OAAO,GAAG,UAACL,IAAD,EAAa;EAAc,OAAA1B,eAAe,CAACG,KAAhB,CAAsBwB,OAAtB,CAA8BD,IAA9B,KAAuC,CAAvC,CAAA;AAAwC,CAAnF,CAAA;AAEA,IAAMM,iBAAiB,GAAG,YAAA;AAAsB,EAAA,OAAAC,QAAA,CAAA,EAAA,EAAMtB,cAAN,CAAA,CAAA;AAAuB,EAAvE;AACMuB,IAAAA,gBAAgB,GAAG,UAACR,IAAD,EAAa;EAC3C,IAAIG,KAAK,CAACH,IAAD,CAAT,EAAiB,OAAOf,cAAc,CAACC,GAAtB,CAAA;EACjB,IAAIa,OAAO,CAACC,IAAD,CAAX,EAAmB,OAAOf,cAAc,CAACV,KAAtB,CAAA;EACnB,IAAI2B,OAAO,CAACF,IAAD,CAAX,EAAmB,OAAOf,cAAc,CAACT,KAAtB,CAAA;EACnB,IAAI6B,OAAO,CAACL,IAAD,CAAX,EAAmB,OAAOf,cAAc,CAACR,KAAtB,CAAA;EACnB,OAAOQ,cAAc,CAACE,MAAtB,CAAA;AACD,EANM;AAOA,IAAMsB,wBAAwB,GAAG,YAAA;AAA6B,EAAA,OAAAF,QAAA,CAAA,EAAA,EAAMd,qBAAN,CAAA,CAAA;AAA8B,EAA5F;IACMiB,uBAAuB,GAAG,UAACC,OAAD,EAAsCC,OAAtC,EAAwE;;;EAC7G,IAAIA,OAAO,CAACC,aAAR,KAA0B,SAA9B,EAAyC,OAAOpB,qBAAqB,CAACD,OAA7B,CAAA;EACzC,IAAIoB,OAAO,CAACC,aAAR,KAA0B,QAA9B,EAAwC,OAAOpB,qBAAqB,CAACF,MAA7B,CAAA;;AACxC,EAAA,IAAI,CAAAuB,EAAA,GAAAH,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEI,cAAT,MAAuB,IAAvB,IAAuBD,EAAA,KAAA,KAAA,CAAvB,GAAuB,KAAA,CAAvB,GAAuBA,EAAA,CAAAE,IAAA,CAAAL,OAAA,CAA3B,EAAiC;AAC/B;AACA,IAAA,IAAKA,OAAwB,CAACM,oBAAzB,CAA8CL,OAA9C,CAAA,KAA2D,CAAhE,EAAmE;MACjE,OAAOnB,qBAAqB,CAACG,IAA7B,CAAA;KADF,MAEO,IAAKe,OAAwB,CAACO,yBAAzB,CAAmDN,OAAnD,CAAgE,KAAA,CAArE,EAAwE;MAC7E,OAAOnB,qBAAqB,CAACE,SAA7B,CAAA;AACD,KAAA;AACF,GAAA;;EACD,IAAIiB,OAAO,CAACC,aAAR,KAA0B,WAA9B,EAA2C,OAAOpB,qBAAqB,CAACC,IAA7B,CAAA;EAC3C,OAAOD,qBAAqB,CAACJ,IAA7B,CAAA;AACD,EAbM;AAcM8B,IAAAA,aAAa,GAAG,UAACP,OAAD,EAAiD;AAAA,EAAA,OAACA,OAAO,CAACC,aAAR,KAA0B,WAA3B,CAAA;AAAuC,EAA9G;IAKMO,aAAa,GAAG,UAACT,OAAD,EAAwBC,OAAxB,EAAwE;EAAA,OACnGF,uBAAuB,CAACC,OAAD,EAAUC,OAAV,CAAvB,KAA8CnB,qBAAqB,CAACG,IAD+B,CAAA;AAEpG;;AAEYyB,IAAAA,eAAe,GAAG,UAACT,OAAD,EAAiD;AAAA,EAAA,OAACA,OAAO,CAACC,aAAR,KAA0B,QAA3B,CAAA;AAAoC,EAA7G;AACMS,IAAAA,gBAAgB,GAAG,UAACV,OAAD,EAAiD;AAAA,EAAA,OAACA,OAAO,CAACC,aAAR,KAA0B,SAA3B,CAAA;AAAqC,EAA/G;AACMU,IAAAA,YAAY,GAAG,UAACC,KAAD,EAA4B;AAAA,EAAA,OACtDA,KAAK,KAAK/B,qBAAqB,CAACC,IAAhC,IACG8B,KAAK,KAAK/B,qBAAqB,CAACE,SADnC,IAEG6B,KAAK,KAAK/B,qBAAqB,CAACG,IAHmB,CAAA;AAIvD,EAJM;AAMA,IAAM6B,cAAc,GAAG,UAACb,OAAD,EAAkD;;;AAAc,EAAA,OAC5FA,OAAO,KAAK,CAAA,MAAAA,OAAO,CAACa,cAAR,MAAsB,IAAtB,IAAsBX,EAAA,KAAA,KAAA,CAAtB,GAAsB,KAAA,CAAtB,GAAsBA,EAAA,CAAAE,IAAA,CAAAJ,OAAA,CAAtB,KAA+BA,OAAO,CAAC,aAAD,CAAP,IAA0BA,OAAO,CAACc,WAAR,KAAwB,OAAtF,CADqF,CAAA;AAE7F,CAFM,CAAA;AAGMC,IAAAA,aAAa,GAAG,UAACf,OAAD,EAAkD;;;AAAc,EAAA,OAC3FA,OAAO,KAAK,CAAA,MAAAA,OAAO,CAACe,aAAR,MAAqB,IAArB,IAAqBb,EAAA,KAAA,KAAA,CAArB,GAAqB,KAAA,CAArB,GAAqBA,EAAA,CAAAE,IAAA,CAAAJ,OAAA,CAArB,KAA8BA,OAAO,CAAC,aAAD,CAAP,IAA0BA,OAAO,CAACc,WAAR,KAAwB,MAArF,CADoF,CAAA;AAE5F,EAFM;AAGME,IAAAA,aAAa,GAAG,UAAChB,OAAD,EAAkD;;;AAAc,EAAA,OAC3FA,OAAO,KAAK,CAAA,MAAAA,OAAO,CAACgB,aAAR,MAAqB,IAArB,IAAqBd,EAAA,KAAA,KAAA,CAArB,GAAqB,KAAA,CAArB,GAAqBA,EAAA,CAAAE,IAAA,CAAAJ,OAAA,CAArB,KAA8BA,OAAO,CAAC,aAAD,CAAP,IAA0BA,OAAO,CAACc,WAAR,KAAwB,MAArF,CADoF,CAAA;AAE5F,EAFM;AAIMG,IAAAA,WAAW,GAAG,UAACjB,OAAD,EAAqB;;;EAAc,OAAA,CAAC,EAC7DA,OAAO,IAAIe,aAAa,CAACf,OAAD,CAAxB,KAAqCA,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEkB,UAA9C,CAAA,KAA4D,CAAAhB,EAAA,GAAAF,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEkB,UAAT,MAAmB,IAAnB,IAAmBhB,EAAA,KAAA,KAAA,CAAnB,GAAmB,KAAA,CAAnB,GAAmBA,EAAA,CAAEiB,GAAjF,CAD6D,CAAD,CAAA;AAE7D,EAFM;AAGMC,IAAAA,aAAa,GAAG,UAACpB,OAAD,EAAqB;EAAc,OAAAe,aAAa,CAACf,OAAD,CAAb,IAA0B,CAACiB,WAAW,CAACjB,OAAD,CAAtC,CAAA;AAA+C,EAAxG;AACMqB,IAAAA,kBAAkB,GAAG,UAACrB,OAAD,EAAqB;AAAc,EAAA,OAAAA,OAAO,IAAIgB,aAAa,CAAChB,OAAD,CAAxB,IAAqCR,mBAAmB,CAACQ,OAAO,CAACZ,IAAT,CAAxD,CAAA;AAAsE,EAApI;AACMkC,IAAAA,cAAc,GAAG,UAACtB,OAAD,EAAqB;AAAc,EAAA,OAAAA,OAAO,IAAIqB,kBAAkB,CAACrB,OAAD,CAA7B,IAA0Cb,OAAO,CAACa,OAAO,CAACZ,IAAT,CAAjD,CAAA;AAA+D,EAAzH;AACMmC,IAAAA,cAAc,GAAG,UAACvB,OAAD,EAAqB;AAAc,EAAA,OAAAA,OAAO,IAAIqB,kBAAkB,CAACrB,OAAD,CAA7B,IAA0CV,OAAO,CAACU,OAAO,CAACZ,IAAT,CAAjD,CAAA;AAA+D,EAAzH;AACMoC,IAAAA,YAAY,GAAG,UAACxB,OAAD,EAAqB;AAAc,EAAA,OAAAA,OAAO,IAAIqB,kBAAkB,CAACrB,OAAD,CAA7B,IAA0CT,KAAK,CAACS,OAAO,CAACZ,IAAT,CAA/C,CAAA;AAA6D,EAArH;AACMqC,IAAAA,cAAc,GAAG,UAACzB,OAAD,EAAqB;AAAc,EAAA,OAAAA,OAAO,IAAIgB,aAAa,CAAChB,OAAD,CAAxB,IAAqCP,OAAO,CAACO,OAAO,CAACZ,IAAT,CAA5C,CAAA;AAA0D,EAApH;AAEMsC,IAAAA,eAAe,GAAG,UAAC1B,OAAD,EAAkD;EAAc,OAAAe,aAAa,CAACf,OAAD,CAAb,IAA2B,CAAAA,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE2B,SAAT,IAAqB,CAAhD,CAAA;AAAkD,EAA1I;AAKA,IAAMC,oBAAoB,GAAG,YAAA;AAAyB,EAAA,OAAAjC,QAAA,CAAA,EAAA,EAAM7B,iBAAN,CAAA,CAAA;AAA0B,EAAhF;AACM+D,IAAAA,mBAAmB,GAAG,UAAC7B,OAAD,EAAkD;EACnF,IAAIa,cAAc,CAACb,OAAD,CAAlB,EAA6C,OAAOlC,iBAAiB,CAACC,KAAzB,CAAA;;AAC7C,EAAA,IAAIgD,aAAa,CAACf,OAAD,CAAjB,EAA2C;IACzC,OAAOiB,WAAW,CAACjB,OAAD,CAAX,GAAsClC,iBAAiB,CAACK,EAAxD,GAA6DL,iBAAiB,CAACE,IAAtF,CAAA;AACD,GAAA;;AACD,EAAA,IAAIgD,aAAa,CAAChB,OAAD,CAAjB,EAA2C;IACzC,OAAOqB,kBAAkB,CAACrB,OAAD,CAAlB,GAA6ClC,iBAAiB,CAACI,SAA/D,GAA2EJ,iBAAiB,CAACG,IAApG,CAAA;AACD,GAAA;;EACD,OAAOH,iBAAiB,CAACM,OAAzB,CAAA;AACD,EATM;AAUA,IAAM0D,uBAAuB,GAAG,YAAA;AAA4B,EAAA,OAAAnC,QAAA,CAAA,EAAA,EAAMnB,oBAAN,CAAA,CAAA;AAA6B,EAAzF;;AAEP,IAAMuD,OAAO,GAAG,UAACC,WAAD,EAA6BC,YAA7B,EAAiE;AAC/E,EAAA,IAAIC,KAAK,CAACC,OAAN,CAAcF,YAAd,CAAJ,EAAiC;AAC/B,IAAA,OAAWG,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAAJ,WAAA,EAAgB,IAAhB,CAAA,EAAgBC,YAAhB,EAA8B,IAA9B,CAAX,CAAA;AACD,GAFD,MAEO;IACLD,WAAW,CAACK,IAAZ,CAAiBJ,YAAjB,CAAA,CAAA;AACA,IAAA,OAAOD,WAAP,CAAA;AACD,GAAA;AACF,CAPD,CAAA;;AAQaM,IAAAA,YAAY,GAAG,UAACC,UAAD,EAAmD;AAAa,EAAA,OAC1FL,KAAK,CAACC,OAAN,CAAcI,UAAd,CAAA,GACIA,UAAU,CAACC,MAAX,CAAkBT,OAAlB,EAA2B,EAA3B,CAA+BU,CAAAA,IAA/B,CAAoC,GAApC,CADJ,GAEIF,UAHsF,CAAA;AAI3F,EAJM;IAKMG,WAAW,GAAG,UAACC,MAAD,EAAiBC,QAAjB,EAAiD;EAAA,OAC1EA,QAAQ,CAACC,OAAT,CAAiBC,IAAjB,CAAsB,UAACC,aAAD,EAAoC;IAAA,OAAAA,aAAa,KAAKJ,MAAlB,CAAA;AAAwB,GAAlF,CAD0E,CAAA;AAE3E,EAFM;AAQA,IAAMK,qBAAqB,GAAG,UAACJ,QAAD,EAAqBD,MAArB,EAAqCM,kBAArC,EAA8EC,SAA9E,EAAkG;EACrI,IAAIC,GAAG,GAAG,EAAV,CAAA;;AACA,EAAA,IAAIT,WAAW,CAACC,MAAD,EAASC,QAAT,CAAf,EAAmC;AACjCO,IAAAA,GAAG,GAAGP,QAAQ,CAACC,OAAT,CAAiBO,MAAjB,KAA4B,CAA5B,GAAgCF,SAAS,CAACG,YAA1C,GAAyDH,SAAS,CAACI,gBAAzE,CAAA;AACD,GAAA;;EACD,OAAQ,EAAA,CAAAC,MAAA,CAAGX,QAAQ,CAACC,OAAT,CACRW,MADQ,CACD,UAACT,aAAD,EAA2B;IAAA,OAAAA,aAAa,KAAKJ,MAAlB,CAAA;AAAwB,GADlD,CAERc,CAAAA,GAFQ,CAEJ,UAACV,aAAD;IAA2B,OAACE,kBAAkB,CAACS,GAAnB,CAAuBX,aAAvB,CAAyCG,IAAAA,SAAS,CAACS,qBAApD,CAAA;GAFvB,CAAA,CAGRlB,IAHQ,CAGH,IAHG,CAAH,QAAA,CAGQU,GAHR,CAAR,CAAA;AAID,EATM;AAwCP,IAAMS,OAAO,GAAG,kFAAhB,CAAA;AACO,IAAMC,KAAK,GAAG,UAAC3E,IAAD,EAA2B;AAAA,EAAA,OAAA0E,OAAO,CAACE,IAAR,CAAa5E,IAAb,CAAA,CAAA;AAAkB,CAA3D,CAAA;IAIM6E,cAAc,GAAG,UAACC,OAAD,EAAkBC,MAAlB,EAAiC;AAC7D,EAAA,IAAI,CAACA,MAAL,EAAaA,MAAM,GAAG,EAAT,CAAA;EACb,IAAID,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAKE,SAApC,EAA+C,OAAO,EAAP,CAAA;AAC/C,EAAA,IAAIF,OAAO,CAACZ,MAAR,IAAkBa,MAAtB,EAA8B,OAAOD,OAAP,CAAA;EAC9B,IAAMG,SAAS,GAAG,KAAlB,CAAA;AACA,EAAA,IAAMC,MAAM,GAAGD,SAAS,CAACf,MAAzB,CAAA;AACA,EAAA,IAAMiB,WAAW,GAAGJ,MAAM,GAAGG,MAA7B,CAAA;EACA,IAAME,UAAU,GAAGC,IAAI,CAACC,IAAL,CAAUH,WAAW,GAAG,CAAxB,CAAnB,CAAA;EACA,IAAMI,SAAS,GAAGF,IAAI,CAACG,KAAL,CAAWL,WAAW,GAAG,CAAzB,CAAlB,CAAA;AACA,EAAA,OAAOL,OAAO,CAACW,MAAR,CAAe,CAAf,EAAkBL,UAAlB,CAAgCH,GAAAA,SAAhC,GAA4CH,OAAO,CAACW,MAAR,CAAeX,OAAO,CAACZ,MAAR,GAAiBqB,SAAhC,CAAnD,CAAA;AACD,EAVM;AAYMG,IAAAA,eAAe,GAAG,UAAC1F,IAAD,EAAa;AAC1C;EACA,IAAI2F,MAAM,CAACC,aAAP,IAAwBD,MAAM,CAACC,aAAP,CAAqBC,OAAjD,EAA0D;AACxD;AACA;IACA,OAAOF,MAAM,CAACC,aAAP,CAAqBC,OAArB,CAA6B,MAA7B,EAAqC7F,IAArC,CAAP,CAAA;AACD,GAAA;;EACD,IAAI8F,QAAQ,CAACC,qBAAT,IAAkCD,QAAQ,CAACC,qBAAT,CAA+B,MAA/B,CAAtC,EAA8E;AAC5E,IAAA,IAAMC,QAAQ,GAAGF,QAAQ,CAACG,aAAT,CAAuB,UAAvB,CAAjB,CAAA;IACAD,QAAQ,CAACE,WAAT,GAAuBlG,IAAvB,CAAA;AACAgG,IAAAA,QAAQ,CAACG,KAAT,CAAeC,QAAf,GAA0B,OAA1B,CAH4E;;AAI5EN,IAAAA,QAAQ,CAACO,IAAT,CAAcC,WAAd,CAA0BN,QAA1B,CAAA,CAAA;AACAA,IAAAA,QAAQ,CAACO,MAAT,EAAA,CAAA;;IACA,IAAI;AACF,MAAA,OAAOT,QAAQ,CAACU,WAAT,CAAqB,MAArB,CAAP,CADE;KAAJ,CAEE,OAAOC,EAAP,EAAW;AACX,MAAA,OAAO,KAAP,CAAA;AACD,KAJD,SAIU;AACRX,MAAAA,QAAQ,CAACO,IAAT,CAAcK,WAAd,CAA0BV,QAA1B,CAAA,CAAA;AACD,KAAA;AACF,GAAA;;AACD,EAAA,OAAO,KAAP,CAAA;AACD,EAtBM;AAwBMW,IAAAA,eAAe,GAAG,UAACC,cAAD,EAA+B;;;AAAmB,EAAA,OAC/E,CAAA5F,EAAA,GAAA4F,cAAc,SAAd,IAAAA,cAAc,KAAA,KAAA,CAAd,GAAc,KAAA,CAAd,GAAAA,cAAc,CAAEC,eAAhB,UAAA,iBAAA,SAAA,MAAiCtC,IAAI,UAACuC,aAAD,EAA6B;IAAK,OAAAA,aAAa,CAACC,MAAd,CAAA;AAAoB,KACxFzD,OAAO,UAAC0D,OAAD,EAAwBC,OAAxB,EAA6C;AAAK,IAAA,OAAAD,OAAO,CAAC3C,MAAR,CAAe4C,OAAf,CAAA,CAAA;KAAyB,GAFN,CAAA;AAGhF,EAHM;AAIMC,IAAAA,cAAc,GAAG,UAACN,cAAD,EAA+B;;;AAC3D,EAAA,IAAMO,QAAQ,GAAG,IAAIC,GAAJ,EAAjB,CAAA;AACA,EAAA,CAAApG,EAAA,GAAA4F,cAAc,KAAd,IAAA,IAAAA,cAAc,KAAd,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,cAAc,CAAEC,eAAhB,MAAiC,IAAjC,IAAiC7F,EAAA,KAAA,KAAA,CAAjC,GAAiC,KAAA,CAAjC,GAAiCA,EAAA,CAAAqG,OAAA,CAAQ,UAACC,QAAD,EAAwB;;;AAC/D,IAAA,CAAAtG,EAAA,GAAAsG,QAAQ,KAAR,IAAA,IAAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,QAAQ,CAAEP,MAAV,MAAkB,IAAlB,IAAkB/F,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkBA,EAAA,CAAAqG,OAAA,CAAQ,UAACE,KAAD,EAAa;AACrC,MAAA,IAAIA,KAAK,IAAIA,KAAK,CAACC,GAAnB,EAAwB;AACtBL,QAAAA,QAAQ,CAACM,GAAT,CAAaF,KAAK,CAACC,GAAnB,EAAwBD,KAAxB,CAAA,CAAA;AACD,OAAA;AACF,KAJiB,CAAlB,CAAA;AAKD,GANgC,CAAjC,CAAA;AAOA,EAAA,OAAOJ,QAAP,CAAA;AACD,EAVM;AAYA,IAAMO,WAAW,GAAG,UAACC,IAAD,EAAwB;EAAA,OAAC,CAAAA,IAAI,KAAJ,IAAA,IAAAA,IAAI,WAAJ,SAAA,GAAAA,IAAI,CAAEC,UAAN,MAAoBD,IAAI,KAAJ,IAAA,IAAAA,IAAI,WAAJ,SAAA,GAAAA,IAAI,CAAEE,QAA1B,CAAA,KAAsCF,IAAI,KAAA,IAAJ,IAAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAAA,IAAI,CAAElE,MAA5C,CAAD,CAAA;AAAoD,CAAhG,CAAA;AACMqE,IAAAA,aAAa,GAAG,UAAChH,OAAD,EAAmC;EAAa,OAACA,OAAO,CAACiH,MAAR,IAAkBL,WAAW,CAAC5G,OAAO,CAACiH,MAAT,CAA9B,CAAA;AAA+C,EAArH;AAEA,IAAMC,cAAc,GAAG,UAAIC,CAAJ,EAAYC,CAAZ,EAAkB;EAC9C,IAAID,CAAC,KAAKC,CAAV,EAAa;AACX,IAAA,OAAO,IAAP,CAAA;AACD,GAAA;;AACD,EAAA,IAAID,CAAC,IAAI,IAAL,IAAaC,CAAC,IAAI,IAAtB,EAA4B;AAC1B,IAAA,OAAO,KAAP,CAAA;AACD,GAAA;;AACD,EAAA,IAAID,CAAC,CAAC/D,MAAF,KAAagE,CAAC,CAAChE,MAAnB,EAA2B;AACzB,IAAA,OAAO,KAAP,CAAA;AACD,GAAA;;AAED,EAAA,IAAMiE,OAAO,GAAGjF,aAAA,CAAA,EAAA,EAAI+E,CAAJ,EAAO,IAAP,CAAA,CAAOG,IAAP,EAAhB,CAAA;;AACA,EAAA,IAAMC,OAAO,GAAGnF,aAAA,CAAA,EAAA,EAAIgF,CAAJ,EAAO,IAAP,CAAA,CAAOE,IAAP,EAAhB,CAAA;;AAEA,EAAA,KAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,OAAO,CAACjE,MAA5B,EAAoC,EAAEoE,CAAtC,EAAyC;IACvC,IAAIH,OAAO,CAACG,CAAD,CAAP,KAAeD,OAAO,CAACC,CAAD,CAA1B,EAA+B;AAC7B,MAAA,OAAO,KAAP,CAAA;AACD,KAAA;AACF,GAAA;;AACD,EAAA,OAAO,IAAP,CAAA;AACD,CApBM,CAAA;AAqBA,IAAMC,QAAQ,GAAG,UAACZ,IAAD,EAAW;EAAc,OAAA,CAAC,EAAEA,IAAI,CAACa,kBAAL,IAA2Bb,IAAI,CAACC,UAAlC,CAAD,CAAA;AAA8C,CAAxF,CAAA;IAEMa,uBAAuB,GAAG,UAACC,MAAD,EAA4B5H,OAA5B,EAA8D;yBAAA;;;EAEnG,IAAI,CAAA4H,MAAM,KAAA,IAAN,IAAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAAA,MAAM,CAAEC,iBAAR,KAA6BD,MAAM,CAACC,iBAAP,KAA6B7H,OAAO,CAACc,WAAtE,EAAmF;AACjF,IAAA,OAAO,KAAP,CAAA;AACD,GAAA;;AACD,EAAA,IAAI,CAAA,CAAAZ,EAAA,GAAA0H,MAAM,KAAA,IAAN,IAAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAAA,MAAM,CAAEE,iBAAR,MAAyB,IAAzB,IAAyB5H,EAAA,KAAA,KAAA,CAAzB,GAAyB,KAAA,CAAzB,GAAyBA,EAAA,CAAEkD,MAA3B,IAAoC,CAAxC,EAA2C;IACzC,IAAM2E,WAAW,GAAGH,MAAM,CAACE,iBAAP,CAAyBtE,MAAzB,CAAgC,UAACwE,IAAD,EAAK;MAAK,OAAAA,IAAI,KAAK,GAAT,CAAA;KAA1C,CAApB,CADyC;;AAGzC,IAAA,IAAID,WAAW,CAAC3E,MAAZ,GAAqB,CAArB,IAA0B,CAAC2E,WAAW,CAACE,QAAZ,CAAqBjI,OAAO,CAACkI,UAA7B,CAA/B,EAAyE;AACvE,MAAA,OAAO,KAAP,CAAA;AACD,KAAA;AACF,GAAA;;EACD,IAAI,CAAAN,MAAM,KAAN,IAAA,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAEO,mBAAR,KAA+B,CAAA,CAAAC,EAAA,GAAAR,MAAM,KAAN,IAAA,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAEO,mBAAR,MAA6B,IAA7B,IAA6BC,EAAA,KAAA,KAAA,CAA7B,GAA6B,KAAA,CAA7B,GAA6BA,EAAA,CAAAhF,MAA7B,IAAsC,CAAzE,EAA4E;AAC1E,IAAA,IAAI,CAAA,MAAApD,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEe,aAAT,MAAsB,IAAtB,IAAsBsH,EAAA,KAAA,KAAA,CAAtB,GAAsB,KAAA,CAAtB,GAAsBA,EAAA,CAAAjI,IAAA,CAAAJ,OAAA,CAAtB,MAA8B,CAAAsI,EAAA,GAAAtI,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEgB,aAAT,MAA0B,IAA1B,IAA0BsH,EAAA,KAAA,KAAA,CAA1B,GAA0B,KAAA,CAA1B,GAA0BA,EAAA,CAAAlI,IAAA,CAAAJ,OAAA,CAAxD,CAAJ,EAA8D;MAC5D,IAAMuI,aAAa,GAAIvI,OAAqC,CAACiH,MAAtC,IAAgDjH,OAAO,CAAC,SAAD,CAA9E,CAAA;;MACA,IAAI,EAAC,CAAAwI,EAAA,GAAAZ,MAAM,SAAN,IAAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAAA,MAAM,CAAEO,mBAAR,MAA2B,IAA3B,IAA2BK,EAAA,KAAA,KAAA,CAA3B,GAA2B,KAAA,CAA3B,GAA2BA,EAAA,CAAEP,QAAF,CAAWM,aAAa,SAAb,IAAAA,aAAa,KAAA,KAAA,CAAb,GAAa,KAAA,CAAb,GAAAA,aAAa,CAAE5F,MAA1B,CAA5B,CAAJ,EAAmE;AACjE,QAAA,OAAO,KAAP,CAAA;AACD,OAAA;AACF,KALD,MAKO;AACL,MAAA,OAAO,KAAP,CAAA;AACD,KAAA;AACF,GAAA;;EACD,IAAI,EAACiF,MAAM,KAAA,IAAN,IAAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAAA,MAAM,CAAEa,wBAAT,CAAsC,KAAA,CAAAzI,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE0I,eAAT,MAA4B1I,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE2I,aAArC,CAAtC,CAAJ,EAA+F;AAC7F,IAAA,OAAO,KAAP,CAAA;AACD,GAAA;;AACD,EAAA,OAAO,IAAP,CAAA;AACD,EA1BM;AAuCA,IAAMC,uBAAuB,GAAG,UAAChB,MAAD,EAA2C7H,OAA3C,EAAkE8I,aAAlE,EAAuF;;;AAC5H,EAAA,IAAI,EAACjB,MAAM,KAAA,IAAN,IAAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAM,CAAEkB,YAAT,CAAA,IAAyB,CAAA/I,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEgJ,WAAT,MAAyB,IAAtD,EAA4D;AAC1D,IAAA,OAAO,KAAP,CAAA;AACD,GAAA;;EACD,IAAI,CAAA,MAAAnB,MAAM,KAAA,IAAN,IAAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAM,CAAEoB,aAAR,MAAuB,IAAvB,IAAuB9I,EAAA,KAAA,KAAA,CAAvB,GAAuB,KAAA,CAAvB,GAAuBA,EAAA,CAAA+I,YAAvB,KAAuC,CAAA,CAAAb,EAAA,GAAAR,MAAM,CAACoB,aAAP,CAAqBE,aAArB,MAAoC,IAApC,IAAoCd,EAAA,KAAA,KAAA,CAApC,GAAoC,KAAA,CAApC,GAAoCA,EAAA,CAAAhF,MAApC,IAA6C,CAAxF,EAA2F;AACzF,IAAA,IAAM+F,YAAY,GAAGvB,MAAM,CAACoB,aAA5B,CAAA;AACA,IAAA,IAAMI,aAAW,GAAGD,YAAY,CAACF,YAAjC,CAAA;AACA,IAAA,IAAMI,YAAY,GAAGF,YAAY,CAACD,aAAlC,CAAA;;IACA,IAAIE,aAAW,IAAIC,YAAf,IAA+BA,YAAY,CAACjG,MAAb,GAAsB,CAAzD,EAA4D;AAC1D,MAAA,IAAI,CAACiG,YAAY,CAACvG,IAAb,CAAkB,UAACwG,WAAD,EAAY;;;AACjC,QAAA,QAAQA,WAAR;AACE,UAAA,KAAK,cAAL;AAAqB,YAAA;AACnB,cAAA,OAAO,MAAAvJ,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEwJ,IAAT,MAAa,IAAb,IAAarJ,EAAA,KAAA,KAAA,CAAb,GAAa,KAAA,CAAb,GAAaA,EAAA,CAAEsJ,WAAF,GAAgBvB,QAAhB,CAAyBmB,aAAW,CAACI,WAAZ,EAAzB,CAApB,CAAA;AACD,aAAA;;AACD,UAAA,KAAK,iBAAL;AAAwB,YAAA;AACtB,cAAA,OAAO,CAAApB,EAAA,GAAArI,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAE0J,OAAT,MAAgB,IAAhB,IAAgBrB,EAAA,KAAA,KAAA,CAAhB,GAAgB,KAAA,CAAhB,GAAgBA,EAAA,CAAEtF,IAAF,CAAO,UAAC4G,MAAD;AAAoB,gBAAA,OAAAA,MAAM,CAAC3C,QAAP,CAAgByC,WAAhB,EAAA,CAA8BvB,QAA9B,CAAuCmB,aAAW,CAACI,WAAZ,EAAvC,CAAA,CAAA;AAAiE,eAA5F,CAAvB,CAAA;AACD,aAAA;;AACD,UAAA;AAAS,YAAA;AACP,cAAA,OAAO,IAAP,CAAA;AACD,aAAA;AATH,SAAA;AAWD,OAZI,CAAL,EAYI;AACF,QAAA,OAAO,KAAP,CAAA;AACD,OAAA;AACF,KAAA;AACF,GAAA;;EACD,IAAI,CAAA,CAAAlB,EAAA,GAAA,CAAAD,EAAA,GAAAT,MAAM,KAAA,IAAN,IAAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAM,CAAE+B,cAAR,UAAA,iBAAA,SAAA,MAAwB9G,OAAxB,MAA+B,IAA/B,IAA+ByF,EAAA,KAAA,KAAA,CAA/B,GAA+B,KAAA,CAA/B,GAA+BA,EAAA,CAAElF,MAAjC,IAA0C,CAA9C,EAAiD;AAC/C,IAAA,IAAMwG,aAAa,GAAGhC,MAAM,CAAC+B,cAA7B,CAAA;AACQ,IAAA,IAAAE,WAAW,GAAgBD,aAAa,CAAAC,WAAxC;AAAA,QAAaC,SAAS,GAAKF,aAAa,CAAAE,SAAxC,CAAA;AACR,IAAA,IAAMjH,OAAO,GAAa+G,aAAa,CAAC/G,OAAxC,CAAA;AACA,IAAA,IAAMkH,WAAS,GAAG,CAAAvB,EAAA,GAAAzI,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE0J,OAAT,MAAgB,IAAhB,IAAgBjB,EAAA,KAAA,KAAA,CAAhB,GAAgB,KAAA,CAAhB,GAAgBA,EAAA,CAAE/E,GAAF,CAAM,UAACiG,MAAD,EAAe;MAAK,OAAAA,MAAM,CAAC/G,MAAP,CAAA;AAAa,KAAvC,CAAlC,CAAA;;IACA,IAAI,CAACkH,WAAL,EAAkB;AAAE;AAClB,MAAA,IAAI,CAAChH,OAAO,CAACoF,QAAR,CAAiBY,aAAjB,CAAL,EAAsC;AACpChG,QAAAA,OAAO,CAACR,IAAR,CAAawG,aAAb,EADoC;AAErC,OAAA;;AACD,MAAA,IAAI,CAAA,CAAAmB,EAAA,GAAAjK,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE0J,OAAT,UAAA,iBAAA,SAAA,MAAkBrG,MAAlB,IAA2BP,OAAO,CAACO,MAAvC,EAA+C;QAC7C,OAAO,KAAP,CAD6C;AAE9C,OAAA;;AACD,MAAA,IAAI,CAAC8D,cAAc,CAACrE,OAAD,EAAUkH,WAAV,CAAnB,EAAyC;AACvC,QAAA,OAAO,KAAP,CAAA;AACD,OAAA;AACF,KAVD,MAUO,IAAIlH,OAAO,CAACO,MAAR,GAAiB,CAArB,EAAwB;AAAE;AAC/B,MAAA,QAAQ0G,SAAR;AACE,QAAA,KAAK,KAAL;AAAY,UAAA;AACV,YAAA,IAAIjH,OAAO,CAACC,IAAR,CAAa,UAACH,MAAD;AAAoB,cAAA,OAAA,CAACoH,WAAS,CAAC9B,QAAV,CAAmBtF,MAAnB,CAAD,CAAA;AAA2B,aAA5D,CAAJ,EAAmE;AACjE,cAAA,OAAO,KAAP,CAAA;AACD,aAAA;;AACD,YAAA,MAAA;AACD,WAAA;;AACD,QAAA,KAAK,IAAL;AAAW,UAAA;AACT,YAAA,IAAIE,OAAO,CAACoH,KAAR,CAAc,UAACtH,MAAD;AAAoB,cAAA,OAAA,CAACoH,WAAS,CAAC9B,QAAV,CAAmBtF,MAAnB,CAAD,CAAA;AAA2B,aAA7D,CAAJ,EAAoE;AAClE,cAAA,OAAO,KAAP,CAAA;AACD,aAAA;;AACD,YAAA,MAAA;AACD,WAAA;AAZH,OAAA;AAiBD,KAAA;AACF,GAAA;;AACD,EAAA,IAAI,CAAAiF,MAAM,KAAN,IAAA,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAEkB,YAAR,MAAyB,KAAzB,IAAkC,CAAA/I,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEgJ,WAAT,MAAyB,IAA/D,EAAqE;AACnE,IAAA,OAAO,KAAP,CAAA;AACD,GAAA;;AACD,EAAA,IAAI,CAAAnB,MAAM,KAAN,IAAA,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAEsC,aAAR,MAA0B,KAA1B,IAAmC,CAAAnK,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEoK,QAAT,MAAsB,IAA7D,EAAmE;AACjE,IAAA,OAAO,KAAP,CAAA;AACD,GAAA;;EACD,IAAI,CAAA,CAAAC,EAAA,GAAAxC,MAAM,KAAA,IAAN,IAAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAAA,MAAM,CAAEE,iBAAR,MAAyB,IAAzB,IAAyBsC,EAAA,KAAA,KAAA,CAAzB,GAAyB,KAAA,CAAzB,GAAyBA,EAAA,CAAEhH,MAA3B,IAAoC,CAApC,IAAyC,CAACwE,MAAM,CAACE,iBAAP,CAAyBG,QAAzB,CAAkClI,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEmI,UAA3C,CAA9C,EAAsG;AACpG,IAAA,OAAO,KAAP,CAAA;AACD,GAAA;;EACD,IAAI,CAAAN,MAAM,KAAN,IAAA,IAAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAM,CAAEyC,0BAAR,KAAsC,CAAC,IAAIC,MAAJ,CAAW,GAAI/G,CAAAA,MAAJ,CAAIqE,MAAM,CAACyC,0BAAX,CAAX,CAAA,CAAoDvG,IAApD,CAAyD/D,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEmI,UAAlE,CAA3C,EAA0H;AACxH,IAAA,OAAO,KAAP,CAAA;AACD,GAAA;;AACD,EAAA,IAAI,CAAAN,MAAM,KAAN,IAAA,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAE2C,yBAAR,KAAqC,EAAC,CAAAC,EAAA,GAAAzK,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEwJ,IAAT,MAAa,IAAb,IAAaiB,EAAA,KAAA,KAAA,CAAb,GAAa,KAAA,CAAb,GAAaA,EAAA,CAAEhB,WAAF,EAAgBvB,CAAAA,QAAhB,CAAyBL,MAAM,CAAC2C,yBAAP,CAAiCf,WAAjC,EAAzB,CAAd,CAAzC,EAAiI;AAC/H,IAAA,OAAO,KAAP,CAAA;AACD,GAAA;;AACD,EAAA,IAAI5B,MAAM,KAAN,IAAA,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAE6C,sBAAZ,EAAoC;AAClC,IAAA,IAAMC,qBAAmB,GAAG9C,MAAM,CAAC6C,sBAAP,CAA8BjB,WAA9B,EAA5B,CAAA;;AACA,IAAA,IAAI,CAAAmB,EAAA,GAAA5K,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE0J,OAAT,MAAkB,IAAlB,IAAkBkB,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkBA,EAAA,CAAAV,KAAA,CAAM,UAACP,MAAD,EAAoB;MAAA,OAAA,CAACA,MAAM,CAAC3C,QAAP,CAAgByC,WAAhB,EAA8BvB,CAAAA,QAA9B,CAAuCyC,qBAAvC,CAAD,CAAA;AAA4D,KAAtF,CAAtB,EAA+G;AAC7G,MAAA,OAAO,KAAP,CAAA;AACD,KAAA;AACF,GAAA;;EACD,IAAI,CAAA,CAAAE,EAAA,GAAAhD,MAAM,KAAA,IAAN,IAAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAAA,MAAM,CAAEiD,iBAAR,MAAyB,IAAzB,IAAyBD,EAAA,KAAA,KAAA,CAAzB,GAAyB,KAAA,CAAzB,GAAyBA,EAAA,CAAExH,MAA3B,IAAoC,CAApC,IAAyC,CAACwE,MAAM,CAACiD,iBAAP,CAAyB5C,QAAzB,CAAkClI,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEoB,GAA3C,CAA9C,EAA+F;AAC7F,IAAA,OAAO,KAAP,CAAA;AACD,GAAA;;AACD,EAAA,IAAIyG,MAAM,KAAN,IAAA,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAEkD,mBAAZ,EAAiC;IAC/B,QAAQlD,MAAM,CAACkD,mBAAf;AACE,MAAA,KAAK,aAAL;AACE,QAAA,IAAI,CAAA/K,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEgL,aAAT,MAA2B,QAA/B,EAAyC;AACvC,UAAA,OAAO,KAAP,CAAA;AACD,SAAA;;AACD,QAAA,MAAA;;AACF,MAAA,KAAK,cAAL;AACE,QAAA,IAAI,CAAAhL,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEgL,aAAT,MAA2B,SAA/B,EAA0C;AACxC,UAAA,OAAO,KAAP,CAAA;AACD,SAAA;;AACD,QAAA,MAAA;;AACF,MAAA,KAAK,mBAAL;AACE,QAAA,IAAI,CAAAhL,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEgL,aAAT,MAA2B,SAA3B,IAAwC,CAACtD,QAAQ,CAAC1H,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEiL,OAAV,CAArD,EAAyE;AACvE,UAAA,OAAO,KAAP,CAAA;AACD,SAAA;;AACD,QAAA,MAAA;;AACF,MAAA,KAAK,uBAAL;AACE,QAAA,IAAI,CAAAjL,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEgL,aAAT,MAA2B,SAA3B,IAAwCtD,QAAQ,CAAC1H,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEiL,OAAV,CAApD,EAAwE;AACtE,UAAA,OAAO,KAAP,CAAA;AACD,SAAA;;AACD,QAAA,MAAA;AApBJ,KAAA;AAsBD,GAAA;;AACD,EAAA,IAAIpD,MAAM,KAAN,IAAA,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAEqD,mBAAZ,EAAiC;IAC/B,QAAQrD,MAAM,CAACqD,mBAAf;AACE,MAAA,KAAK,eAAL;AACE,QAAA,IAAI,CAAAlL,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEmL,QAAT,KAAqB,CAAAnL,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEoL,WAAT,MAAyB,UAAlD,EAA8D;AAC5D,UAAA,OAAO,KAAP,CAAA;AACD,SAAA;;AACD,QAAA,MAAA;;AACF,MAAA,KAAK,aAAL;AACE,QAAA,IAAI,EAACpL,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEmL,QAAV,CAAJ,EAAwB;AACtB,UAAA,OAAO,KAAP,CAAA;AACD,SAAA;;AACD,QAAA,MAAA;;AACF,MAAA,KAAK,0BAAL;AACE,QAAA,IAAI,EAACnL,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEmL,QAAV,CAAA,IAAsB,CAAAnL,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEoL,WAAT,MAAyB,0BAAnD,EAA+E;AAC7E,UAAA,OAAO,KAAP,CAAA;AACD,SAAA;;AACD,QAAA,MAAA;;AACF,MAAA,KAAK,4BAAL;AACE,QAAA,IAAI,EAACpL,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEmL,QAAV,CAAA,IAAsB,CAAAnL,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEoL,WAAT,MAAyB,4BAAnD,EAAiF;AAC/E,UAAA,OAAO,KAAP,CAAA;AACD,SAAA;;AACD,QAAA,MAAA;AApBJ,KAAA;AAsBD,GAAA;;AACD,EAAA,IAAIvD,MAAM,KAAN,IAAA,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAEwD,mBAAZ,EAAiC;IAC/B,QAAQxD,MAAM,CAACwD,mBAAf;AACE,MAAA,KAAK,gBAAL;AACE,QAAA,IAAI,CAAArL,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEsL,kBAAT,MAAgC,CAApC,EAAuC;AACrC,UAAA,OAAO,KAAP,CAAA;AACD,SAAA;;AACD,QAAA,MAAA;AALJ,KAAA;AAOD,GAAA;;AACD,EAAA,IAAIzD,MAAM,KAAN,IAAA,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAE0D,mBAAZ,EAAiC;IAC/B,QAAQ1D,MAAM,CAAC0D,mBAAf;AACE,MAAA,KAAK,QAAL;AACE,QAAA,IAAI,EAACvL,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEwL,QAAV,CAAJ,EAAwB;AACtB,UAAA,OAAO,KAAP,CAAA;AACD,SAAA;;AACD,QAAA,MAAA;;AACF,MAAA,KAAK,SAAL;AACE,QAAA,IAAIxL,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEwL,QAAb,EAAuB;AACrB,UAAA,OAAO,KAAP,CAAA;AACD,SAAA;;AACD,QAAA,MAAA;AAVJ,KAAA;AAYD,GAAA;;AACD,EAAA,IAAI3D,MAAM,KAAN,IAAA,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAE4D,kBAAZ,EAAgC;IAC9B,QAAQ5D,MAAM,CAAC4D,kBAAf;AACE,MAAA,KAAK,OAAL;AACE,QAAA,IAAI,EAACzL,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAE0L,OAAV,CAAJ,EAAuB;AACrB,UAAA,OAAO,KAAP,CAAA;AACD,SAAA;;AACD,QAAA,MAAA;;AACF,MAAA,KAAK,UAAL;AACE,QAAA,IAAI1L,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAE0L,OAAb,EAAsB;AACpB,UAAA,OAAO,KAAP,CAAA;AACD,SAAA;;AACD,QAAA,MAAA;AAVJ,KAAA;AAYD,GAAA;;AACD,EAAA,OAAO,IAAP,CAAA;AACD,EA3KM;AA6KA,IAAMC,YAAY,GAAG,UAACC,IAAD,EAAsBC,MAAtB,EAAoC;EAC9D,IAAMC,KAAK,GAAGtH,IAAI,CAACG,KAAL,CAAWiH,IAAI,CAACvI,MAAL,GAAc,CAAzB,CAAd,CAAA;;AACA,EAAA,IAAIuI,IAAI,CAACE,KAAD,CAAJ,KAAgBD,MAApB,EAA4B;AAC1B,IAAA,OAAOC,KAAP,CAAA;AACD,GAAA;;EACD,IAAMC,QAAQ,GAAGH,IAAI,CAACI,KAAL,CAAW,CAAX,EAAcF,KAAd,CAAjB,CAAA;AACA,EAAA,IAAMG,SAAS,GAAGL,IAAI,CAACI,KAAL,CAAWF,KAAK,GAAG,CAAnB,EAAsBF,IAAI,CAACvI,MAA3B,CAAlB,CAAA;;AACA,EAAA,IAAIuI,IAAI,CAACE,KAAD,CAAJ,GAAcD,MAAlB,EAA0B;AACxB,IAAA,OAAOC,KAAK,GAAG,CAAR,IAAaG,SAAS,CAAC5I,MAAV,KAAqB,CAArB,GAAyB,CAAzB,GAA6BsI,YAAY,CAACM,SAAD,EAAYJ,MAAZ,CAAtD,CAAP,CAAA;AACD,GAFD,MAEO;AACL,IAAA,OAAQE,QAAQ,CAAC1I,MAAT,KAAoB,CAArB,GAA0ByI,KAA1B,GAAkCH,YAAY,CAACI,QAAD,EAAWF,MAAX,CAArD,CAAA;AACD,GAAA;AACF,CAZM;;IAcMK,8BAA8B,GAAG,UAACC,QAAD,EAAgCnM,OAAhC,EAAqD;;;AACjG,EAAA,IAAImM,QAAQ,CAACpJ,IAAT,CAAc,UAACqJ,EAAD,EAAiB;AAAK,IAAA,OAAAA,EAAE,CAAChL,GAAH,MAAWpB,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEoB,GAApB,CAAA,CAAA;AAAuB,GAA3D,CAAJ,EAAkE;AAChE,IAAA,OAAO+K,QAAQ,CAACzI,GAAT,CAAa,UAAC0I,EAAD,EAAiB;MAAK,OAACA,EAAE,CAAChL,GAAH,MAAWpB,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEoB,GAApB,CAAA,GAA0BpB,OAA1B,GAAoCoM,EAArC,CAAA;AAAwC,KAA3E,CAAP,CAAA;AACD,GAAA;;EACD,IAAMC,WAAW,GAAGV,YAAY,CAC9BQ,QAAQ,CAACzI,GAAT,CAAa,UAAC1D,OAAD,EAAsB;AAAA,IAAA,IAAAG,EAAA,CAAA;;IAAK,OAAA,CAAA,MAAAH,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEgJ,WAAT,MAAoB,IAApB,IAAoB7I,EAAA,KAAA,KAAA,CAApB,GAAoB,KAAA,CAApB,GAAoBA,EAAA,CAAEmM,SAAtB,MAAmCtM,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEsM,SAA5C,CAAA,CAAA;GAAxC,CAD8B,EAE9B,CAAA,CAAAnM,EAAA,GAAAH,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEgJ,WAAT,MAAsB,IAAtB,IAAsB7I,EAAA,KAAA,KAAA,CAAtB,GAAsB,KAAA,CAAtB,GAAsBA,EAAA,CAAAmM,SAAtB,MAAmCtM,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEsM,SAA5C,CAF8B,CAAhC,CAAA;AAIA,EAAA,OAAWjK,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAA8J,QAAQ,CAACH,KAAT,CAAe,CAAf,EAAkBK,WAAlB,CAAA,EAAgC,IAAhC,CAAA,EAAgC,CAAArM,OAAA,CAAhC,OAAA,CAAA,EAA4CmM,QAAQ,CAACH,KAAT,CAAeK,WAAf,EAA4BF,QAAQ,CAAC9I,MAArC,CAA5C,EAA0F,IAA1F,CAAX,CAAA;AACD,EATM;IAuBKkJ,cAAZ;;AAAA,CAAA,UAAYA,aAAZ,EAAyB;AACvBA,EAAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;AACAA,EAAAA,aAAA,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;AACAA,EAAAA,aAAA,CAAA,KAAA,CAAA,GAAA,KAAA,CAAA;AACD,CAJD,EAAYA,aAAa,KAAbA,aAAa,GAIxB,EAJwB,CAAzB,CAAA,CAAA;;AAWO,IAAMC,sBAAsB,GAAG,UAACC,IAAD,EAAeC,MAAf,EAAoCC,SAApC,EAAsD;AAC1F,EAAA,IAAMC,KAAK,GAAGF,MAAM,IAAI,EAAxB,CAAA;AACA,EAAA,IAAMG,QAAQ,GAAGF,SAAS,IAAI,GAA9B,CAF0F;;EAG1F,IAAMG,WAAW,GAAG,EAApB,CAAA;AACA,EAAA,IAAMC,KAAK,GAAGxC,MAAM,CAAC,SAAA,CAAGsC,QAAH,EAAW,IAAX,CAAWrJ,CAAAA,MAAX,CAAgBoJ,KAAK,CAAClJ,GAAN,CAAU,UAACoD,IAAD,EAAK;AAAK,IAAA,OAAAA,IAAI,KAAA,IAAJ,IAAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAAA,IAAI,CAAElE,MAAN,CAAA;GAApB,CAAA,CAAkCF,IAAlC,CAAuC,GAAvC,CAAhB,EAA2D,IAA3D,CAAD,EAAkE,GAAlE,CAApB,CAAA;AACA,EAAA,IAAIsK,cAAJ,CAAA;EACA,IAAIC,SAAS,GAAG,CAAhB,CAAA;;;AAES,IAAA,IAAAC,UAAQ,GAAYF,cAAc,CAAA,CAAA,CAAlC;AAAA,QAAUpK,MAAM,GAAIoK,cAAc,CAAA,CAAA,CAAlC,CAAA;AACP,IAAA,IAAMG,QAAQ,GAAGJ,KAAK,CAACE,SAAvB,CAAA;IACA,IAAMG,UAAU,GAAGD,QAAQ,GAAGD,UAAQ,CAAC7J,MAAvC;;IAEA,IAAMgK,UAAU,GAAGZ,IAAI,CAACT,KAAL,CAAWiB,SAAX,EAAsBG,UAAtB,CAAnB,CAAA;IACAN,WAAW,CAACxK,IAAZ,CAAiB;AACfjD,MAAAA,IAAI,EAAEyE,KAAK,CAACuJ,UAAD,CAAL,GAAoBd,aAAa,CAACnL,GAAlC,GAAwCmL,aAAa,CAACe,MAD7C;AAEfC,MAAAA,KAAK,EAAEF,UAAAA;AAFQ,KAAjB;;IAKA,IAAMG,aAAa,GAAGZ,KAAK,CAACa,IAAN,CAAW,UAAC3G,IAAD,EAAK;AAAK,MAAA,OAAA,CAAAA,IAAI,KAAJ,IAAA,IAAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,IAAI,CAAElE,MAAN,MAAiBA,MAAjB,CAAA;AAAuB,KAA5C,CAAtB,CAAA;;IACA,IAAI,CAAC4K,aAAL,EAAoB;MAClBV,WAAW,CAACxK,IAAZ,CAAiB;QACfjD,IAAI,EAAEkN,aAAa,CAACe,MADL;QAEfC,KAAK,EAAEL,UAFQ;;OAAjB,CAAA,CAAA;AAID,KALD,MAKO;MACLJ,WAAW,CAACxK,IAAZ,CAAiB;QACfjD,IAAI,EAAEkN,aAAa,CAACmB,OADL;AAEfH,QAAAA,KAAK,EAAE,CAAAC,aAAa,KAAb,IAAA,IAAAA,aAAa,WAAb,SAAA,GAAAA,aAAa,CAAExG,QAAf,KAA2B,WAFnB;AAGfpE,QAAAA,MAAM,EAAEA,MAAAA;OAHV,CAAA,CAAA;AAKD,KAAA;;AACDqK,IAAAA,SAAS,GAAGE,QAAZ,CAAA;;;EAxBF,OAAO,CAACH,cAAc,GAAGD,KAAK,CAACY,IAAN,CAAWlB,IAAX,CAAlB,MAAwC,IAA/C,EAAmD;;AAyBlD,GAAA;;AACD,EAAA,IAAIQ,SAAS,GAAGR,IAAI,CAACpJ,MAArB,EAA6B;AAC3B;AACA,IAAA,IAAMgK,UAAU,GAAGZ,IAAI,CAACT,KAAL,CAAWiB,SAAX,CAAnB,CAAA;IACAH,WAAW,CAACxK,IAAZ,CAAiB;AACfjD,MAAAA,IAAI,EAAEyE,KAAK,CAACuJ,UAAD,CAAL,GAAoBd,aAAa,CAACnL,GAAlC,GAAwCmL,aAAa,CAACe,MAD7C;AAEfC,MAAAA,KAAK,EAAEF,UAAAA;KAFT,CAAA,CAAA;AAID,GAAA;;AACD,EAAA,OAAOP,WAAP,CAAA;AACD,EA1CM;IA4CMc,UAAU,GAAG,UAACC,MAAD,EAAyBC,MAAzB,EAA+C;EACvE,IAAI3L,KAAK,CAACC,OAAN,CAAcyL,MAAd,CAAyB1L,IAAAA,KAAK,CAACC,OAAN,CAAc0L,MAAd,CAAzB,IAAkDD,MAAM,CAACxK,MAAP,KAAkByK,MAAM,CAACzK,MAA/E,EAAuF;AACrF,IAAA,KAAK,IAAIoE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGoG,MAAM,CAACxK,MAA3B,EAAmCoE,CAAC,EAApC,EAAwC;MACtC,IAAIoG,MAAM,CAACpG,CAAD,CAAN,KAAcqG,MAAM,CAACrG,CAAD,CAAxB,EAA6B;AAC3B,QAAA,OAAO,KAAP,CAAA;AACD,OAAA;AACF,KAAA;;AACD,IAAA,OAAO,IAAP,CAAA;AACD,GAAA;;AACD,EAAA,OAAO,KAAP,CAAA;AACD;;;;"}
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -3,55 +3,55 @@ export { default as App } from './App.js';
|
|
|
3
3
|
export { default as ChannelSettings } from './ChannelSettings.js';
|
|
4
4
|
export { default as ChannelList } from './ChannelList.js';
|
|
5
5
|
export { default as Channel } from './Channel.js';
|
|
6
|
-
export { g as getStringSet } from './stringSet-
|
|
6
|
+
export { g as getStringSet } from './stringSet-eb4a64cb.js';
|
|
7
7
|
export { default as OpenChannel } from './OpenChannel.js';
|
|
8
8
|
export { default as OpenChannelSettings } from './OpenChannelSettings.js';
|
|
9
9
|
export { default as MessageSearch } from './MessageSearch.js';
|
|
10
10
|
export { default as withSendBird } from './withSendbird.js';
|
|
11
11
|
export { default as sendBirdSelectors, default as sendbirdSelectors } from './sendbirdSelectors.js';
|
|
12
12
|
export { default as useSendbirdStateContext } from './useSendbirdStateContext.js';
|
|
13
|
-
import './_rollupPluginBabelHelpers-
|
|
13
|
+
import './_rollupPluginBabelHelpers-f6b9b32e.js';
|
|
14
14
|
import 'react';
|
|
15
15
|
import 'prop-types';
|
|
16
|
-
import './sendbird-
|
|
17
|
-
import './__bundle-57e0c5af-
|
|
18
|
-
import './__bundle-0dad34cd-
|
|
19
|
-
import './openChannel-
|
|
20
|
-
import './__bundle-bd072f34-
|
|
21
|
-
import './groupChannel-
|
|
22
|
-
import './actionTypes-
|
|
23
|
-
import './index-
|
|
24
|
-
import './tslib.es6-
|
|
16
|
+
import './sendbird-7e3109ab.js';
|
|
17
|
+
import './__bundle-57e0c5af-4e9165b5.js';
|
|
18
|
+
import './__bundle-0dad34cd-10d4f218.js';
|
|
19
|
+
import './openChannel-80b84235.js';
|
|
20
|
+
import './__bundle-bd072f34-1aaac363.js';
|
|
21
|
+
import './groupChannel-a10aea7a.js';
|
|
22
|
+
import './actionTypes-6b501c5e.js';
|
|
23
|
+
import './index-f6fd2b53.js';
|
|
24
|
+
import './tslib.es6-46e4c379.js';
|
|
25
25
|
import 'css-vars-ponyfill';
|
|
26
|
-
import './uuid-
|
|
27
|
-
import './LocalizationContext-
|
|
28
|
-
import './index-
|
|
26
|
+
import './uuid-e8248f01.js';
|
|
27
|
+
import './LocalizationContext-fd0d32ab.js';
|
|
28
|
+
import './index-ce08211b.js';
|
|
29
29
|
import './ChannelSettings/components/ChannelSettingsUI.js';
|
|
30
30
|
import './ChannelSettings/context.js';
|
|
31
|
-
import './UserProfileContext-
|
|
32
|
-
import './index-
|
|
31
|
+
import './UserProfileContext-d36099b1.js';
|
|
32
|
+
import './index-96a98383.js';
|
|
33
33
|
import './ui/Icon.js';
|
|
34
|
-
import './index-
|
|
34
|
+
import './index-dfa71ceb.js';
|
|
35
35
|
import './ui/Loader.js';
|
|
36
36
|
import './ui/IconButton.js';
|
|
37
37
|
import './ChannelSettings/components/ChannelProfile.js';
|
|
38
38
|
import './ui/ChannelAvatar.js';
|
|
39
39
|
import './ui/Avatar.js';
|
|
40
40
|
import './ui/ImageRenderer.js';
|
|
41
|
-
import './utils-
|
|
41
|
+
import './utils-c0d5a2eb.js';
|
|
42
42
|
import './ui/TextButton.js';
|
|
43
|
-
import './color-
|
|
43
|
+
import './color-b897a03c.js';
|
|
44
44
|
import './ChannelSettings/components/EditDetailsModal.js';
|
|
45
45
|
import './ui/Modal.js';
|
|
46
46
|
import 'react-dom';
|
|
47
|
-
import './index-
|
|
47
|
+
import './index-8b78f6b4.js';
|
|
48
48
|
import './ui/Button.js';
|
|
49
49
|
import './ui/Input.js';
|
|
50
50
|
import './ChannelSettings/components/ModerationPanel.js';
|
|
51
51
|
import './ui/Accordion.js';
|
|
52
52
|
import './ui/AccordionGroup.js';
|
|
53
|
-
import './context-
|
|
54
|
-
import './utils-
|
|
53
|
+
import './context-fd21f142.js';
|
|
54
|
+
import './utils-ea8d6707.js';
|
|
55
55
|
import './ui/Badge.js';
|
|
56
56
|
import './ui/ContextMenu.js';
|
|
57
57
|
import './ui/SortByRow.js';
|
|
@@ -60,40 +60,40 @@ import './ui/MutedAvatarOverlay.js';
|
|
|
60
60
|
import './ui/UserProfile.js';
|
|
61
61
|
import './ui/UserListItem.js';
|
|
62
62
|
import './ui/Checkbox.js';
|
|
63
|
-
import './MemberList-
|
|
63
|
+
import './MemberList-78a423a0.js';
|
|
64
64
|
import './ChannelSettings/components/LeaveChannel.js';
|
|
65
65
|
import './ChannelSettings/components/UserPanel.js';
|
|
66
|
-
import './ChannelListProvider-
|
|
67
|
-
import './topics-
|
|
66
|
+
import './ChannelListProvider-b5833a69.js';
|
|
67
|
+
import './topics-307251cc.js';
|
|
68
68
|
import './ChannelList/components/ChannelListUI.js';
|
|
69
69
|
import './ChannelList/components/ChannelListHeader.js';
|
|
70
70
|
import './ChannelList/components/AddChannel.js';
|
|
71
71
|
import './CreateChannel.js';
|
|
72
72
|
import './CreateChannel/components/CreateChannelUI.js';
|
|
73
|
-
import './CreateChannelProvider-
|
|
73
|
+
import './CreateChannelProvider-05b11547.js';
|
|
74
74
|
import './CreateChannel/components/InviteUsers.js';
|
|
75
75
|
import './CreateChannel/components/SelectChannelType.js';
|
|
76
76
|
import './ChannelList/components/ChannelPreview.js';
|
|
77
|
-
import './index-
|
|
78
|
-
import './index-
|
|
79
|
-
import './index-
|
|
77
|
+
import './index-952ab825.js';
|
|
78
|
+
import './index-c022bfde.js';
|
|
79
|
+
import './index-94381d3a.js';
|
|
80
80
|
import './ui/MentionUserLabel.js';
|
|
81
81
|
import './Channel/components/TypingIndicator.js';
|
|
82
|
-
import './ChannelProvider-
|
|
83
|
-
import './compareIds-
|
|
84
|
-
import './const-
|
|
82
|
+
import './ChannelProvider-675be930.js';
|
|
83
|
+
import './compareIds-4bd391cb.js';
|
|
84
|
+
import './const-e71ab906.js';
|
|
85
85
|
import './ui/ReactionButton.js';
|
|
86
86
|
import './ui/MessageStatus.js';
|
|
87
87
|
import './ChannelList/components/ChannelPreviewAction.js';
|
|
88
88
|
import './EditUserProfile.js';
|
|
89
|
-
import './index-
|
|
89
|
+
import './index-e6424a4d.js';
|
|
90
90
|
import './Channel/components/ChannelUI.js';
|
|
91
91
|
import './ui/ConnectionStatus.js';
|
|
92
92
|
import './Channel/components/ChannelHeader.js';
|
|
93
93
|
import './Channel/components/MessageList.js';
|
|
94
94
|
import './Channel/components/Message.js';
|
|
95
95
|
import './Channel/components/SuggestedMentionList.js';
|
|
96
|
-
import './const-
|
|
96
|
+
import './const-b4823468.js';
|
|
97
97
|
import './ui/DateSeparator.js';
|
|
98
98
|
import './ui/MessageInput.js';
|
|
99
99
|
import 'react-dom/server';
|
|
@@ -121,15 +121,15 @@ import './Channel/components/UnreadCount.js';
|
|
|
121
121
|
import './Channel/components/MessageInput.js';
|
|
122
122
|
import './ui/QuoteMessageInput.js';
|
|
123
123
|
import './OpenChannel/components/OpenChannelUI.js';
|
|
124
|
-
import './OpenChannelProvider-
|
|
124
|
+
import './OpenChannelProvider-e39971da.js';
|
|
125
125
|
import './OpenChannel/components/OpenChannelInput.js';
|
|
126
126
|
import './OpenChannel/components/FrozenChannelNotification.js';
|
|
127
127
|
import './OpenChannel/components/OpenChannelHeader.js';
|
|
128
128
|
import './OpenChannel/components/OpenChannelMessageList.js';
|
|
129
129
|
import './OpenChannel/components/OpenChannelMessage.js';
|
|
130
130
|
import './ui/OpenchannelUserMessage.js';
|
|
131
|
-
import './utils-
|
|
132
|
-
import './openChannelUtils-
|
|
131
|
+
import './utils-c9a90631.js';
|
|
132
|
+
import './openChannelUtils-19317cb9.js';
|
|
133
133
|
import './ui/OpenChannelAdminMessage.js';
|
|
134
134
|
import './ui/OpenchannelOGMessage.js';
|
|
135
135
|
import './ui/OpenchannelThumbnailMessage.js';
|
|
@@ -141,7 +141,7 @@ import './OpenChannelSettings/components/OperatorUI.js';
|
|
|
141
141
|
import './OpenChannelSettings/components/OpenChannelProfile.js';
|
|
142
142
|
import './ui/OpenChannelAvatar.js';
|
|
143
143
|
import './OpenChannelSettings/components/EditDetailsModal.js';
|
|
144
|
-
import './index-
|
|
144
|
+
import './index-73516d8c.js';
|
|
145
145
|
import './MessageSearch/components/MessageSearchUI.js';
|
|
146
146
|
import './MessageSearch/context.js';
|
|
147
147
|
import './ui/MessageSearchItem.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { t, r, O as On, U, a as n, K as Ft, h as ct, L as st, y, E, b as bn, T as Tt, i, B as Be, k as d, P as me, Q as ye, q, F, H as S, V as H, v as B, n as ne, Y, W as de, X as J, s, g as ot, Z as h, _ as nt, w as ke, a0 as Ve, a1 as ft, a2 as lt, a3 as ht, a4 as st$1, a5 as ut, a6 as Et, a7 as Ut, a8 as wt, a9 as _t, aa as Jt, f as at, p, S as St, ab as En$1 } from './__bundle-57e0c5af-
|
|
2
|
-
import { U as U$1, _, d as d$1, C, h as h$1, H as H$1, T, c, A } from './__bundle-bd072f34-
|
|
1
|
+
import { t, r, O as On, U, a as n, K as Ft, h as ct, L as st, y, E, b as bn, T as Tt, i, B as Be, k as d, P as me, Q as ye, q, F, H as S, V as H, v as B, n as ne, Y, W as de, X as J, s, g as ot, Z as h, _ as nt, w as ke, a0 as Ve, a1 as ft, a2 as lt, a3 as ht, a4 as st$1, a5 as ut, a6 as Et, a7 as Ut, a8 as wt, a9 as _t, aa as Jt, f as at, p, S as St, ab as En$1 } from './__bundle-57e0c5af-4e9165b5.js';
|
|
2
|
+
import { U as U$1, _, d as d$1, C, h as h$1, H as H$1, T, c, A } from './__bundle-bd072f34-1aaac363.js';
|
|
3
3
|
|
|
4
4
|
var en=function(r$1){function a(){var n=null!==r$1&&r$1.apply(this,arguments)||this;return n._channels=new Map,n._enteredChannelUrls=[],n}return t(a,r$1),Object.defineProperty(a.prototype,"enteredChannels",{get:function(){var n=this;return this._enteredChannelUrls.map((function(e){return n._channels.get(e)})).filter((function(n){return null!==n}))},enumerable:!1,configurable:!0}),a.prototype.isEnteredChannel=function(n){return this._enteredChannelUrls.includes(n)},a.prototype.enter=function(n){this._enteredChannelUrls.indexOf(n)<0&&this._enteredChannelUrls.push(n);},a.prototype.exit=function(n){var e=this._enteredChannelUrls.indexOf(n);e>=0&&this._enteredChannelUrls.splice(e,1);},a.prototype.exitAll=function(){this._enteredChannelUrls=[];},a.prototype.get=function(n){var r$1;return r(this,void 0,void 0,(function(){return i(this,(function(e){return [2,null!==(r$1=this._channels.get(n))&&void 0!==r$1?r$1:null]}))}))},a.prototype.upsert=function(n){return r(this,void 0,void 0,(function(){var e=this;return i(this,(function(t){return n.forEach((function(n){if(e._channels.has(n.url)){var t=e._channels.get(n.url);Object.assign(t,n);}else e._channels.set(n.url,n);})),[2]}))}))},a.prototype.remove=function(n){return r(this,void 0,void 0,(function(){return i(this,(function(e){return this._channels.delete(n),this.exit(n),[2]}))}))},a.prototype.clear=function(){return r(this,void 0,void 0,(function(){return i(this,(function(n){return this._channels.clear(),this._enteredChannelUrls=[],[2]}))}))},a}(Be),tn={channelUrl:null,name:null,coverUrlOrImage:null,data:null,customType:null,operatorUserIds:null},rn=function(e){function t$1(n){var t=n.channelUrl,r=n.isInternalCall,a=e.call(this)||this;return a.method=d.GET,a.path="".concat(r?me:ye,"/").concat(encodeURIComponent(t)),a}return t(t$1,e),t$1}(q),an=function(e){function t$1(n,t){var r=e.call(this,n,t)||this;return r.channel=null,r.channel=new gn(n,t),r}return t(t$1,e),t$1}(F),sn=function(e){function t$1(n){var t=this,r=n.channelUrl,a=n.coverUrlOrImage,u=n.name,l=n.data,h=n.customType,p=n.operatorUserIds;return (t=e.call(this)||this).method=d.POST,t.path=ye,t.params=U({channel_url:r,cover_url:y("string",a)?a:null,cover_file:S(a)?a:null,name:u,data:l,custom_type:h,operators:p}),t}return t(t$1,e),t$1}(q);!function(e){function t$1(n,t){var r=e.call(this,n,t)||this;return r.channel=new gn(n,t),r}t(t$1,e);}(F);var on=function(e){function t$1(n){var t=n.channelUrl;return e.call(this,{code:"ENTR",payload:{channel_url:t},ackRequired:!0})||this}return t(t$1,e),t$1}(H),un=function(e){function t$1(n,t,r){var a,i,s=this;return s=e.call(this,n,"ENTR",r)||this,r.data&&(s.participantCount=null!==(a=r.data.participant_count)&&void 0!==a?a:0,s.user=new ct(n,r.data),s.ts=null!==(i=r.data.edge_ts)&&void 0!==i?i:0),s}return t(t$1,e),t$1}(B),cn=function(e){function t$1(n){var t=n.channelUrl;return e.call(this,{code:"EXIT",payload:{channel_url:t},ackRequired:!0})||this}return t(t$1,e),t$1}(H),ln=function(e){function t$1(n,t,r){var a,i,s=this;return s=e.call(this,n,"EXIT",r)||this,r.data&&(s.participantCount=null!==(a=r.data.participant_count)&&void 0!==a?a:0,s.user=new ct(n,r.data),s.ts=null!==(i=r.data.edge_ts)&&void 0!==i?i:0),s}return t(t$1,e),t$1}(B),hn={},dn=function(){function n$1(n,e){var t=e.sdkState,r=e.dispatcher,a=e.requestQueue,i=this;this._sdkState=t,this._requestQueue=a,this._dispatcher=r,this._openChannelCache=new en(n),this._openChannelHandlers=new Map,this._dispatcher.on((function(n){var e,t;if(n instanceof B)i._handleEvent(n);else if(n instanceof de&&n.stateType===J.CONNECTED){var r=i._openChannelCache.enteredChannels;try{for(var a=s(r),s$1=a.next();!s$1.done;s$1=a.next()){s$1.value.enter();}}catch(n){e={error:n};}finally{try{s$1&&!s$1.done&&(t=a.return)&&t.call(a);}finally{if(e)throw e.error}}}})),hn[n]=this;}return n$1.of=function(n){return hn[n]},n$1.prototype.buildOpenChannelFromSerializedData=function(n){var e=ot(n);return new gn(e._iid,gn.payloadify(e))},n$1.prototype.getChannelFromCache=function(n){return r(this,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return [4,this._openChannelCache.get(n)];case 1:return [2,e.sent()]}}))}))},n$1.prototype.upsertChannelsToCache=function(n){return r(this,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return [4,this._openChannelCache.upsert(n)];case 1:return e.sent(),[2]}}))}))},n$1.prototype.removeChannelsFromCache=function(n){return r(this,void 0,void 0,(function(){var e,r,a,i$1,s$1,o;return i(this,(function(t){switch(t.label){case 0:t.trys.push([0,5,6,7]),e=s(n),r=e.next(),t.label=1;case 1:return r.done?[3,4]:(a=r.value,[4,this._openChannelCache.remove(a)]);case 2:t.sent(),t.label=3;case 3:return r=e.next(),[3,1];case 4:return [3,7];case 5:return i$1=t.sent(),s$1={error:i$1},[3,7];case 6:try{r&&!r.done&&(o=e.return)&&o.call(e);}finally{if(s$1)throw s$1.error}return [7];case 7:return [2]}}))}))},n$1.prototype.setEnteredToCache=function(n){this._openChannelCache.enter(n.url);},n$1.prototype.setExitedToCache=function(n){this._openChannelCache.exit(n.url);},n$1.prototype._handleEvent=function(n){return r(this,void 0,void 0,(function(){var r$1,a,i$1,s$1,o,u,c$1,l,h$2,d,p,f,C$1,v,_$1,m,T$1,N,H,I,M,b,O,D,x,A$1,B,nn,en,tn,rn,an,sn,on,cn,hn,dn,pn,fn,Cn,vn,_n,yn,mn,gn,Un,En,wn,Tn,Nn,Hn,In,Mn,bn,On,Dn,xn,An,Pn,Rn=this;return i(this,(function(Ln){switch(Ln.label){case 0:switch(Ln.trys.push([0,51,,52]),n.code){case"MESG":case"FILE":case"ADMM":case"BRDM":return [3,1];case"MEDI":case"FEDI":case"AEDI":return [3,4];case"DELM":return [3,7];case"MRCT":return [3,10];case"MTHD":return [3,13];case"MCNT":return [3,16];case"SYEV":return [3,27]}return [3,50];case 1:return s$1=null,"MESG"===n.code?s$1=n.as(_t):"FILE"===n.code?s$1=n.as(Jt):"ADMM"!==n.code&&"BRDM"!=n.code||(s$1=n.as(A)),s$1?(r$1=s$1.message,a=s$1.isMentioned,r$1.channelType!==ne.OPEN?[3,3]:[4,this.getChannel(r$1.channelUrl,!0)]):[3,3];case 2:i$1=Ln.sent(),ke((function(){return r(Rn,void 0,void 0,(function(){var n,e,s$1,o,u;return i(this,(function(t){try{for(n=s(this._openChannelHandlers.values()),e=n.next();!e.done;e=n.next())s$1=e.value,this._openChannelCache.isEnteredChannel(i$1.url)&&s$1.onMessageReceived(i$1,r$1),a&&s$1.onMentionReceived(i$1,r$1);}catch(n){o={error:n};}finally{try{e&&!e.done&&(u=n.return)&&u.call(n);}finally{if(o)throw o.error}}return [2]}))}))})),Ln.label=3;case 3:return [3,50];case 4:return s$1=null,"MEDI"===n.code?s$1=n.as(Ut):"FEDI"===n.code?s$1=n.as(wt):"AEDI"===n.code&&(s$1=n.as(c)),s$1?(o=s$1.message).channelType!==ne.OPEN?[3,6]:[4,this.getChannel(o.channelUrl,!0)]:[3,6];case 5:u=Ln.sent(),ke((function(){return r(Rn,void 0,void 0,(function(){var n,e,r,a,i$1;return i(this,(function(t){try{for(n=s(this._openChannelHandlers.values()),e=n.next();!e.done;e=n.next())r=e.value,this._openChannelCache.isEnteredChannel(u.url)&&r.onMessageUpdated(u,o);}catch(n){a={error:n};}finally{try{e&&!e.done&&(i$1=n.return)&&i$1.call(n);}finally{if(a)throw a.error}}return [2]}))}))})),Ln.label=6;case 6:return [3,50];case 7:return c$1=n.as(Et),M=c$1.channelUrl,p=c$1.channelType,l=c$1.messageId,p!==ne.OPEN?[3,9]:[4,this.getChannel(M,!0)];case 8:h$2=Ln.sent(),ke((function(){return r(Rn,void 0,void 0,(function(){var n,e,r,a,i$1;return i(this,(function(t){try{for(n=s(this._openChannelHandlers.values()),e=n.next();!e.done;e=n.next())r=e.value,this._openChannelCache.isEnteredChannel(h$2.url)&&r.onMessageDeleted(h$2,l);}catch(n){a={error:n};}finally{try{e&&!e.done&&(i$1=n.return)&&i$1.call(n);}finally{if(a)throw a.error}}return [2]}))}))})),Ln.label=9;case 9:return [3,50];case 10:return d=n.as(T),M=d.channelUrl,p=d.channelType,f=d.event,p!==ne.OPEN?[3,12]:[4,this.getChannel(M,!0)];case 11:C$1=Ln.sent(),ke((function(){return r(Rn,void 0,void 0,(function(){var n,e,r,a;return i(this,(function(t){try{for(n=s(this._openChannelHandlers.values()),e=n.next();!e.done;e=n.next())e.value.onReactionUpdated(C$1,f);}catch(n){r={error:n};}finally{try{e&&!e.done&&(a=n.return)&&a.call(n);}finally{if(r)throw r.error}}return [2]}))}))})),Ln.label=12;case 12:return [3,50];case 13:return (v=n.as(H$1).event).channelType!==ne.OPEN?[3,15]:[4,this.getChannel(v.channelUrl,!0)];case 14:_$1=Ln.sent(),ke((function(){return r(Rn,void 0,void 0,(function(){var n,e,r,a;return i(this,(function(t){try{for(n=s(this._openChannelHandlers.values()),e=n.next();!e.done;e=n.next())e.value.onThreadInfoUpdated(_$1,v);}catch(n){r={error:n};}finally{try{e&&!e.done&&(a=n.return)&&a.call(n);}finally{if(r)throw r.error}}return [2]}))}))})),Ln.label=15;case 15:return [3,50];case 16:m=n.as(h$1).openChannelMemberCounts,T$1=[],Ln.label=17;case 17:Ln.trys.push([17,22,23,24]),N=s(m),H=N.next(),Ln.label=18;case 18:return H.done?[3,21]:(I=H.value,M=I.channelUrl,an=I.participantCount,b=I.updatedAt,[4,this.getChannelFromCache(M)]);case 19:(O=Ln.sent())&&O._updateParticipantCount(an,b)&&T$1.push(O),Ln.label=20;case 20:return H=N.next(),[3,18];case 21:return [3,24];case 22:return D=Ln.sent(),An={error:D},[3,24];case 23:try{H&&!H.done&&(Pn=N.return)&&Pn.call(N);}finally{if(An)throw An.error}return [7];case 24:return T$1.length>0?[4,this.upsertChannelsToCache(T$1)]:[3,26];case 25:Ln.sent(),ke((function(){return r(Rn,void 0,void 0,(function(){var n,e,r,a;return i(this,(function(t){try{for(n=s(this._openChannelHandlers.values()),e=n.next();!e.done;e=n.next())e.value.onChannelMemberCountChanged(T$1);}catch(n){r={error:n};}finally{try{e&&!e.done&&(a=n.return)&&a.call(n);}finally{if(r)throw r.error}}return [2]}))}))})),Ln.label=26;case 26:return [3,50];case 27:if(!(x=n.as(C).event).isOpenChannelEvent)return [3,49];switch(x.category){case _.CHANNEL_ENTER:return [3,28];case _.CHANNEL_EXIT:return [3,30];case _.CHANNEL_OPERATOR_UPDATE:return [3,32];case _.USER_CHANNEL_MUTE:case _.USER_CHANNEL_UNMUTE:return [3,34];case _.USER_CHANNEL_BAN:case _.USER_CHANNEL_UNBAN:return [3,36];case _.CHANNEL_FREEZE:case _.CHANNEL_UNFREEZE:return [3,38];case _.CHANNEL_DELETED:return [3,40];case _.CHANNEL_PROP_CHANGED:return [3,43];case _.CHANNEL_META_DATA_CHANGED:return [3,45];case _.CHANNEL_META_COUNTERS_CHANGED:return [3,47]}return [3,49];case 28:return [4,this.getChannel(x.channelUrl,!0)];case 29:return A$1=Ln.sent(),B=n.as(un),an=B.participantCount,nn=B.user,en=A$1._updateParticipantCount(an,x.ts),ke((function(){return r(Rn,void 0,void 0,(function(){return i(this,(function(n){return this._openChannelHandlers.forEach((function(n){n.onUserEntered(A$1,nn),en&&n.onChannelParticipantCountChanged(A$1);})),[2]}))}))})),[3,49];case 30:return [4,this.getChannel(x.channelUrl,!0)];case 31:return tn=Ln.sent(),rn=n.as(ln),an=rn.participantCount,sn=rn.user,on=tn._updateParticipantCount(an,x.ts),ke((function(){return r(Rn,void 0,void 0,(function(){return i(this,(function(n){return this._openChannelHandlers.forEach((function(n){n.onUserExited(tn,sn),on&&n.onChannelParticipantCountChanged(tn);})),[2]}))}))})),[3,49];case 32:return [4,this.getChannel(x.channelUrl,!0)];case 33:return cn=Ln.sent(),hn=n.as(d$1).operators,cn.operators=hn,this.upsertChannelsToCache([cn]),ke((function(){return r(Rn,void 0,void 0,(function(){return i(this,(function(n){return this._openChannelHandlers.forEach((function(n){n.onOperatorUpdated(cn,hn);})),[2]}))}))})),[3,49];case 34:return [4,this.getChannel(x.channelUrl,!0)];case 35:return dn=Ln.sent(),pn=x.category===_.USER_CHANNEL_MUTE,fn=n.as(pn?st$1:ut).user,ke((function(){return r(Rn,void 0,void 0,(function(){return i(this,(function(n){return this._openChannelHandlers.forEach((function(n){pn?n.onUserMuted(dn,fn):n.onUserUnmuted(dn,fn);})),[2]}))}))})),[3,49];case 36:return [4,this.getChannel(x.channelUrl,!0)];case 37:return Cn=Ln.sent(),vn=x.category===_.USER_CHANNEL_BAN,_n=n.as(vn?lt:ht).user,ke((function(){return r(Rn,void 0,void 0,(function(){return i(this,(function(n){return this._openChannelHandlers.forEach((function(n){vn?n.onUserBanned(Cn,_n):n.onUserUnbanned(Cn,_n);})),[2]}))}))})),[3,49];case 38:return [4,this.getChannel(x.channelUrl,!0)];case 39:return yn=Ln.sent(),mn=n.as(ft).freeze,yn.isFrozen=mn,this.upsertChannelsToCache([yn]),ke((function(){return r(Rn,void 0,void 0,(function(){return i(this,(function(n){return this._openChannelHandlers.forEach((function(n){mn?n.onChannelFrozen(yn):n.onChannelUnfrozen(yn);})),[2]}))}))})),[3,49];case 40:return [4,this.getChannel(x.channelUrl,!0)];case 41:return gn=Ln.sent(),[4,this.removeChannelsFromCache([gn.url])];case 42:return Ln.sent(),ke((function(){return r(Rn,void 0,void 0,(function(){return i(this,(function(n){return this._openChannelHandlers.forEach((function(n){n.onChannelDeleted(gn.url,gn.channelType);})),[2]}))}))})),[3,49];case 43:return [4,this.getChannelWithoutCache(x.channelUrl,!0)];case 44:return Un=Ln.sent(),ke((function(){return r(Rn,void 0,void 0,(function(){return i(this,(function(n){return this._openChannelHandlers.forEach((function(n){n.onChannelChanged(Un);})),[2]}))}))})),[3,49];case 45:return [4,this.getChannel(x.channelUrl,!0)];case 46:return En=Ln.sent(),wn=n.as(Ve),Tn=wn.created,Nn=wn.updated,Hn=wn.deleted,Tn&&En._upsertCachedMetaData(Tn,x.ts),Nn&&En._upsertCachedMetaData(Nn,x.ts),Hn&&En._removeFromCachedMetaData(Hn,x.ts),ke((function(){return r(Rn,void 0,void 0,(function(){return i(this,(function(n){return this._openChannelHandlers.forEach((function(n){Tn&&n.onMetaDataCreated(En,Tn),Nn&&n.onMetaDataUpdated(En,Nn),Hn&&n.onMetaDataDeleted(En,Hn);})),[2]}))}))})),[3,49];case 47:return [4,this.getChannel(x.channelUrl,!0)];case 48:return In=Ln.sent(),Mn=n.as(nt),bn=Mn.created,On=Mn.updated,Dn=Mn.deleted,ke((function(){return r(Rn,void 0,void 0,(function(){return i(this,(function(n){return this._openChannelHandlers.forEach((function(n){bn&&n.onMetaCounterCreated(In,bn),On&&n.onMetaCounterUpdated(In,On),Dn&&n.onMetaCounterDeleted(In,Dn);})),[2]}))}))})),[3,49];case 49:return [3,50];case 50:return [3,52];case 51:if(xn=Ln.sent(),h(xn))throw xn;return [3,52];case 52:return [2]}}))}))},n$1.prototype.addHandler=function(n,e){this._openChannelHandlers.set(n,e);},n$1.prototype.removeHandler=function(n){this._openChannelHandlers.delete(n);},n$1.prototype.clearHandler=function(){this._openChannelHandlers.clear();},n$1.prototype.getChannel=function(n,r$1){return r(this,void 0,void 0,(function(){var e;return i(this,(function(t){switch(t.label){case 0:at(y("string",n)).throw(p.invalidParameters),t.label=1;case 1:return t.trys.push([1,3,,4]),[4,this.getChannelFromCache(n)];case 2:return (e=t.sent())?[2,e]:[3,4];case 3:return t.sent(),[3,4];case 4:return [4,this.getChannelWithoutCache(n)];case 5:return [2,t.sent()]}}))}))},n$1.prototype.getChannelWithoutCache=function(n,r$1){return void 0===r$1&&(r$1=!1),r(this,void 0,void 0,(function(){var e,a,s;return i(this,(function(t){switch(t.label){case 0:return at(y("string",n)).throw(p.invalidParameters),e=new rn({channelUrl:n,isInternalCall:r$1}),[4,this._requestQueue.send(e)];case 1:return a=t.sent(),s=a.as(an).channel,[4,this.upsertChannelsToCache([s])];case 2:return t.sent(),[2,s]}}))}))},n$1.prototype.createChannel=function(n$1){return r(this,void 0,void 0,(function(){var e,r,o;return i(this,(function(t){switch(t.label){case 0:return n$1=n(n({},tn),n$1),at(function(n){return E("string",n.operatorUserIds,!0)&&(y("string",n.coverUrlOrImage)||S(n.coverUrlOrImage)||null===n.coverUrlOrImage)&&y("string",n.name,!0)&&y("string",n.data,!0)&&y("string",n.customType,!0)&&(y("string",n.channelUrl)&&/^\w+$/.test(n.channelUrl)||null===n.channelUrl)}(n$1)).throw(p.invalidParameters),e=new sn(n$1),[4,this._requestQueue.send(e)];case 1:return r=t.sent(),o=r.as(an).channel,this.upsertChannelsToCache([o]),[2,o]}}))}))},n$1}(),pn={name:null,coverUrlOrImage:null,data:null,customType:null,operatorUserIds:null},fn=function(e){function t$1(n){var t=this,r=n.channelUrl,a=n.token,i=n.limit;return (t=e.call(this)||this).method=d.GET,t.path="".concat(ye,"/").concat(encodeURIComponent(r),"/participants"),t.params={token:a,limit:i},t}return t(t$1,e),t$1}(q),Cn=function(e){function t$1(n,t){var r=e.call(this,n,t)||this;r.token=null,r.participants=[];var a=t.next,i=t.participants;return r.token=a,r.participants=i.map((function(e){return new ct(n,e)})),r}return t(t$1,e),t$1}(F),vn=function(r$1){function a(n,e,t){return r$1.call(this,n,e,ne.OPEN,t)||this}return t(a,r$1),a.prototype._validate=function(){return r$1.prototype._validate.call(this)},a.prototype.next=function(){return r(this,void 0,void 0,(function(){var n$1,e,r,a,i$1,s;return i(this,(function(t){switch(t.label){case 0:return this._validate()?this._isLoading?[3,3]:this._hasNext?(this._isLoading=!0,n$1=St.of(this._iid).requestQueue,e=new fn(n(n({},this),{token:this._token})),[4,n$1.send(e)]):[3,2]:[3,5];case 1:return r=t.sent(),a=r.as(Cn),i$1=a.participants,s=a.token,this._token=s,this._hasNext=!!s,this._isLoading=!1,[2,i$1];case 2:return [2,[]];case 3:throw p.queryInProgress;case 4:return [3,6];case 5:throw p.invalidParameters;case 6:return [2]}}))}))},a}(On),_n=function(e){function t$1(n){var t=this,r=n.channelUrl,a=n.coverUrlOrImage,u=n.name,l=n.data,h=n.customType,p=n.operatorUserIds;return (t=e.call(this)||this).method=d.PUT,t.path="".concat(ye,"/").concat(encodeURIComponent(r)),t.params=U({cover_url:y("string",a)?a:null,cover_file:S(a)?a:null,name:u,data:l,custom_type:h,operators:p}),t}return t(t$1,e),t$1}(q),yn=function(e){function t$1(n,t){var r=e.call(this,n,t)||this;return r.channel=new gn(n,t),r}return t(t$1,e),t$1}(F),mn=function(e){function t$1(n){var t=this,r=n.channelUrl;return (t=e.call(this)||this).method=d.DELETE,t.path="".concat(ye,"/").concat(encodeURIComponent(r)),t}return t(t$1,e),t$1}(q);!function(e){function t$1(n,t){return e.call(this,n,t)||this}t(t$1,e);}(F);var gn=function(r$1){function o(n,e){var t,a=this;return (a=r$1.call(this,n,e)||this)._lastParticipantCountUpdated=0,a.participantCount=0,a.operators=[],a.channelType=ne.OPEN,a.participantCount=null!==(t=e.participant_count)&&void 0!==t?t:0,a.operators=Array.isArray(e.operators)?e.operators.map((function(e){return new ct(n,e)})):[],a}return t(o,r$1),o.payloadify=function(n$1){return n$1?U(n(n({},Ft.payloadify(n$1)),{participant_count:n$1.participantCount,operators:n$1.operators.map((function(n){return ct.payloadify(n)}))})):null},o.prototype.serialize=function(){return st(this)},o.prototype.isOperator=function(n){return n instanceof ct?this.isOperator(n.userId):this.operators.some((function(e){return e.userId===n}))},o.prototype._updateParticipantCount=function(n,e){return e>this._lastParticipantCountUpdated&&(this.participantCount=n,this._lastParticipantCountUpdated=e,!0)},o.prototype.createParticipantListQuery=function(n){return new vn(this._iid,this.url,n)},o.prototype.refresh=function(){return r(this,void 0,void 0,(function(){return i(this,(function(n){switch(n.label){case 0:return [4,dn.of(this._iid).getChannelWithoutCache(this.url)];case 1:return [2,n.sent()]}}))}))},o.prototype.enter=function(){return r(this,void 0,void 0,(function(){var n,e,r,a,i$1,s;return i(this,(function(t){switch(t.label){case 0:return n=St.of(this._iid).requestQueue,e=new on({channelUrl:this.url}),[4,n.send(e)];case 1:return r=t.sent(),a=r.as(un),i$1=a.participantCount,s=a.ts,this._updateParticipantCount(i$1,s),dn.of(this._iid).setEnteredToCache(this),[2]}}))}))},o.prototype.exit=function(){return r(this,void 0,void 0,(function(){var n,e,r,a,i$1,s;return i(this,(function(t){switch(t.label){case 0:return n=St.of(this._iid).requestQueue,e=new cn({channelUrl:this.url}),[4,n.send(e)];case 1:return r=t.sent(),a=r.as(ln),i$1=a.participantCount,s=a.ts,this._updateParticipantCount(i$1,s),dn.of(this._iid).setExitedToCache(this),En$1.of(this._iid).fileMessageQueue.cancel(this),[2]}}))}))},o.prototype.updateChannel=function(n$1){return r(this,void 0,void 0,(function(){var e,r,o,u;return i(this,(function(t){switch(t.label){case 0:return n$1=n(n({},pn),n$1),at(function(n){return E("string",n.operatorUserIds,!0)&&(y("string",n.coverUrlOrImage)||S(n.coverUrlOrImage)||null===n.coverUrlOrImage)&&y("string",n.name,!0)&&y("string",n.data,!0)&&y("string",n.customType,!0)}(n$1)).throw(p.invalidParameters),e=St.of(this._iid).requestQueue,r=new _n(n({channelUrl:this.url},n$1)),[4,e.send(r)];case 1:return o=t.sent(),u=o.as(yn).channel,[4,dn.of(this._iid).upsertChannelsToCache([u])];case 2:return t.sent(),[2,u]}}))}))},o.prototype.updateChannelWithOperatorUserIds=function(n$1,r$1,a,i$1,s){return r(this,void 0,void 0,(function(){var e;return i(this,(function(t){return e=n(n({},pn),{name:n$1,coverUrlOrImage:r$1,data:a,operatorUserIds:i$1,customType:s}),[2,this.updateChannel(e)]}))}))},o.prototype.delete=function(){return r(this,void 0,void 0,(function(){var n,e;return i(this,(function(t){switch(t.label){case 0:return n=St.of(this._iid).requestQueue,e=new mn({channelUrl:this.url}),[4,n.send(e)];case 1:return t.sent(),[4,dn.of(this._iid).removeChannelsFromCache([this.url])];case 2:return t.sent(),[2]}}))}))},o}(Ft),Un=function(e){function t$1(n){void 0===n&&(n={});var t=e.call(this)||this;return Object.keys(n).forEach((function(e){t.hasOwnProperty(e)&&(t[e]=n[e]);})),t}return t(t$1,e),t$1}(function(e){function t$1(){var n=null!==e&&e.apply(this,arguments)||this;return n.onUserEntered=Y,n.onUserExited=Y,n.onChannelParticipantCountChanged=Y,n}return t(t$1,e),t$1}(U$1)),En=function(e){function t$1(n){var t=this,r=n.token,a=n.limit,i=n.nameKeyword,s=n.urlKeyword,u=n.customTypes,l=n.includeFrozen,h=n.includeMetaData;return (t=e.call(this)||this).method=d.GET,t.path=ye,t.params=U({token:r,limit:a,name_contains:i,url_contains:s,custom_types:u,show_frozen:l,show_metadata:h}),t}return t(t$1,e),t$1}(q),wn=function(e){function t$1(n,t){var r=e.call(this,n,t)||this;r.token=null,r.channels=[],r.ts=null;var a=t.next,i=t.channels,s=t.ts;return r.token=a,i&&i.length>0&&(r.channels=i.map((function(e){return new gn(n,e)}))),r.ts="number"==typeof s?s:null,r}return t(t$1,e),t$1}(F),Tn=function(r$1){function s(n,e){var t,a,i,s,o,u=this;return (u=r$1.call(this,n,e)||this).includeFrozen=!0,u.includeMetaData=!0,u.nameKeyword=null,u.urlKeyword=null,u.customTypes=null,u.includeFrozen=null===(t=e.includeFrozen)||void 0===t||t,u.includeMetaData=null===(a=e.includeMetaData)||void 0===a||a,u.nameKeyword=null!==(i=e.nameKeyword)&&void 0!==i?i:null,u.urlKeyword=null!==(s=e.urlKeyword)&&void 0!==s?s:null,u.customTypes=null!==(o=e.customTypes)&&void 0!==o?o:null,u}return t(s,r$1),s.prototype._validate=function(){return r$1.prototype._validate.call(this)&&y("boolean",this.includeFrozen)&&y("boolean",this.includeMetaData)&&y("string",this.nameKeyword,!0)&&y("string",this.urlKeyword,!0)&&E("string",this.customTypes,!0)},s.prototype.next=function(){return r(this,void 0,void 0,(function(){var n$1,e,r,a,i$1,s;return i(this,(function(t){switch(t.label){case 0:return this._validate()?this._isLoading?[3,4]:this._hasNext?(this._isLoading=!0,n$1=St.of(this._iid).requestQueue,e=new En(n(n({},this),{token:this._token})),[4,n$1.send(e)]):[3,3]:[3,6];case 1:return r=t.sent(),a=r.as(wn),i$1=a.channels,s=a.token,this._token=s,this._hasNext=!!s,[4,dn.of(this._iid).upsertChannelsToCache(i$1)];case 2:return t.sent(),this._isLoading=!1,[2,i$1];case 3:return [2,[]];case 4:throw p.queryInProgress;case 5:return [3,7];case 6:throw p.invalidParameters;case 7:return [2]}}))}))},s}(bn),Nn=function(r$1){function a(){var n=null!==r$1&&r$1.apply(this,arguments)||this;return n.name="openChannel",n}return t(a,r$1),a.prototype.init=function(n,e){var t=e.sdkState,a=e.dispatcher,i=e.sessionManager,s=e.requestQueue,o=e.logger,u=e.onlineDetector,c=e.cacheContext;r$1.prototype.init.call(this,n,{sdkState:t,dispatcher:a,sessionManager:i,requestQueue:s,logger:o,onlineDetector:u,cacheContext:c}),this._manager=new dn(n,{sdkState:t,dispatcher:a,requestQueue:s});},a.prototype.createOpenChannelListQuery=function(n){return void 0===n&&(n={}),new Tn(this._iid,n)},a.prototype.addOpenChannelHandler=function(n,e){this._manager.addHandler(n,e);},a.prototype.removeOpenChannelHandler=function(n){this._manager.removeHandler(n);},a.prototype.removeAllOpenChannelHandlers=function(){this._manager.clearHandler();},a.prototype.buildOpenChannelFromSerializedData=function(n){return this._manager.buildOpenChannelFromSerializedData(n)},a.prototype.getChannel=function(n){return r(this,void 0,void 0,(function(){return i(this,(function(e){return [2,this._manager.getChannel(n)]}))}))},a.prototype.getChannelWithoutCache=function(n){return r(this,void 0,void 0,(function(){return i(this,(function(e){return [2,this._manager.getChannelWithoutCache(n)]}))}))},a.prototype.createChannel=function(n){return void 0===n&&(n={}),r(this,void 0,void 0,(function(){return i(this,(function(e){return [2,this._manager.createChannel(n)]}))}))},a.prototype.createChannelWithOperatorUserIds=function(n$1,r$1,a,i$1,s){return r(this,void 0,void 0,(function(){var e;return i(this,(function(t){return (e=n({},tn)).name=n$1,e.coverUrlOrImage=r$1,e.data=a,e.operatorUserIds=i$1,e.customType=s,[2,this._manager.createChannel(e)]}))}))},a}(Tt);
|
|
5
5
|
|
|
6
6
|
export { Nn as N, Un as U };
|
|
7
|
-
//# sourceMappingURL=openChannel-
|
|
7
|
+
//# sourceMappingURL=openChannel-80b84235.js.map
|