@sendbird/uikit-react 3.6.6 → 3.6.7-rc-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 +48 -48
- package/CHANGELOG.md +11 -0
- package/Channel/components/ChannelHeader.js +19 -19
- package/Channel/components/ChannelUI.js +41 -41
- package/Channel/components/FileViewer.js +15 -15
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +36 -36
- package/Channel/components/MessageInput.js +29 -29
- package/Channel/components/MessageList.js +37 -37
- package/Channel/components/RemoveMessageModal.js +17 -17
- package/Channel/components/SuggestedMentionList.js +17 -17
- package/Channel/components/TypingIndicator.js +15 -15
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +12 -12
- package/Channel.js +41 -41
- package/ChannelList/components/AddChannel.js +15 -14
- package/ChannelList/components/AddChannel.js.map +1 -1
- package/ChannelList/components/ChannelListHeader.js +6 -6
- package/ChannelList/components/ChannelListUI.js +35 -68
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +26 -26
- package/ChannelList/components/ChannelPreviewAction.js +14 -13
- package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/ChannelList/context.js +8 -7
- package/ChannelList/context.js.map +1 -1
- package/ChannelList.js +30 -30
- package/{ChannelListProvider-2e7026e9.js → ChannelListProvider-c9693640.js} +77 -11
- package/ChannelListProvider-c9693640.js.map +1 -0
- package/{ChannelProvider-31a344d3.js → ChannelProvider-1369e543.js} +32 -21
- package/ChannelProvider-1369e543.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +11 -11
- package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/ChannelSettings/components/LeaveChannel.js +11 -11
- package/ChannelSettings/components/ModerationPanel.js +14 -14
- package/ChannelSettings/components/UserListItem.js +10 -10
- package/ChannelSettings/components/UserPanel.js +13 -13
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +17 -17
- 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-eeaa1371.js → CreateChannelProvider-78b3e53b.js} +1 -1
- package/{CreateChannelProvider-eeaa1371.js.map → CreateChannelProvider-78b3e53b.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-2952e678.js → LocalizationContext-4d3a4b11.js} +3 -3
- package/{LocalizationContext-2952e678.js.map → LocalizationContext-4d3a4b11.js.map} +1 -1
- package/{MediaQueryContext-2173573f.js → MediaQueryContext-6fb696d8.js} +1 -1
- package/{MediaQueryContext-2173573f.js.map → MediaQueryContext-6fb696d8.js.map} +1 -1
- package/{MemberList-a51051e6.js → MemberList-996715e5.js} +5 -5
- package/{MemberList-a51051e6.js.map → MemberList-996715e5.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/context.js +1 -1
- package/MessageSearch.js +11 -11
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/OpenChannel/components/OpenChannelInput.js +19 -19
- package/OpenChannel/components/OpenChannelMessage.js +27 -27
- package/OpenChannel/components/OpenChannelMessageList.js +31 -31
- package/OpenChannel/components/OpenChannelUI.js +31 -31
- package/OpenChannel/context.js +8 -8
- package/OpenChannel.js +31 -31
- package/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/OpenChannelList/components/OpenChannelPreview.js +3 -3
- package/OpenChannelList/context.js +3 -3
- package/OpenChannelList.js +13 -13
- package/{OpenChannelListProvider-ce900f45.js → OpenChannelListProvider-f9abacdf.js} +3 -3
- package/{OpenChannelListProvider-ce900f45.js.map → OpenChannelListProvider-f9abacdf.js.map} +1 -1
- package/{OpenChannelProvider-bc20868c.js → OpenChannelProvider-a35fc216.js} +7 -7
- package/{OpenChannelProvider-bc20868c.js.map → OpenChannelProvider-a35fc216.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +17 -17
- package/README.md +6 -3
- package/{RemoveMessageModal-9c579f0f.js → RemoveMessageModal-c46e318e.js} +3 -3
- package/{RemoveMessageModal-9c579f0f.js.map → RemoveMessageModal-c46e318e.js.map} +1 -1
- package/SendbirdProvider.js +15 -15
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +33 -33
- package/Thread/components/ParentMessageInfoItem.js +21 -21
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +36 -36
- package/Thread/components/ThreadListItem.js +36 -36
- package/Thread/components/ThreadMessageInput.js +30 -30
- package/Thread/components/ThreadUI.js +40 -40
- package/Thread/context.js +8 -8
- package/Thread.js +40 -40
- package/{ThreadProvider-27c497dc.js → ThreadProvider-437958f6.js} +21 -7
- package/ThreadProvider-437958f6.js.map +1 -0
- package/{UserProfileContext-76aab169.js → UserProfileContext-db5e5092.js} +1 -1
- package/{UserProfileContext-76aab169.js.map → UserProfileContext-db5e5092.js.map} +1 -1
- package/{VoiceMessageInputWrapper-e45ec2f0.js → VoiceMessageInputWrapper-2dda670b.js} +7 -7
- package/{VoiceMessageInputWrapper-e45ec2f0.js.map → VoiceMessageInputWrapper-2dda670b.js.map} +1 -1
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +9 -9
- package/VoiceRecorder/context.js +9 -9
- package/VoiceRecorder/useVoiceRecorder.js +8 -8
- package/{WebAudioUtils-97e524fa.js → WebAudioUtils-f3831b3c.js} +2 -2
- package/{WebAudioUtils-97e524fa.js.map → WebAudioUtils-f3831b3c.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-34f2bdc3.js → _rollupPluginBabelHelpers-88b9291b.js} +1 -1
- package/_rollupPluginBabelHelpers-88b9291b.js.map +1 -0
- package/{actionTypes-e67c8999.js → actionTypes-c6f194a4.js} +1 -1
- package/{actionTypes-e67c8999.js.map → actionTypes-c6f194a4.js.map} +1 -1
- package/cjs/App.js +48 -48
- package/cjs/Channel/components/ChannelHeader.js +19 -19
- package/cjs/Channel/components/ChannelUI.js +41 -41
- package/cjs/Channel/components/FileViewer.js +15 -15
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +36 -36
- package/cjs/Channel/components/MessageInput.js +29 -29
- package/cjs/Channel/components/MessageList.js +37 -37
- package/cjs/Channel/components/RemoveMessageModal.js +17 -17
- package/cjs/Channel/components/SuggestedMentionList.js +17 -17
- package/cjs/Channel/components/TypingIndicator.js +15 -15
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +12 -12
- package/cjs/Channel.js +41 -41
- package/cjs/ChannelList/components/AddChannel.js +15 -14
- package/cjs/ChannelList/components/AddChannel.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
- package/cjs/ChannelList/components/ChannelListUI.js +35 -68
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +26 -26
- package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -13
- package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/cjs/ChannelList/context.js +8 -7
- package/cjs/ChannelList/context.js.map +1 -1
- package/cjs/ChannelList.js +30 -30
- package/cjs/{ChannelListProvider-51837593.js → ChannelListProvider-c13d3c1f.js} +75 -12
- package/cjs/ChannelListProvider-c13d3c1f.js.map +1 -0
- package/cjs/{ChannelProvider-ab59275b.js → ChannelProvider-e46e6825.js} +32 -21
- package/cjs/ChannelProvider-e46e6825.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
- package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
- package/cjs/ChannelSettings/components/UserListItem.js +10 -10
- package/cjs/ChannelSettings/components/UserPanel.js +13 -13
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +17 -17
- 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-e0ae2cf1.js → CreateChannelProvider-369b8e26.js} +1 -1
- package/cjs/{CreateChannelProvider-e0ae2cf1.js.map → CreateChannelProvider-369b8e26.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-76831b0e.js → LocalizationContext-0b79a552.js} +3 -3
- package/cjs/{LocalizationContext-76831b0e.js.map → LocalizationContext-0b79a552.js.map} +1 -1
- package/cjs/{MediaQueryContext-792b58f7.js → MediaQueryContext-cd3c2c1f.js} +1 -1
- package/cjs/{MediaQueryContext-792b58f7.js.map → MediaQueryContext-cd3c2c1f.js.map} +1 -1
- package/cjs/{MemberList-6b630054.js → MemberList-64fd2474.js} +5 -5
- package/cjs/{MemberList-6b630054.js.map → MemberList-64fd2474.js.map} +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/context.js +1 -1
- package/cjs/MessageSearch.js +11 -11
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/cjs/OpenChannel/components/OpenChannelInput.js +19 -19
- package/cjs/OpenChannel/components/OpenChannelMessage.js +27 -27
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +31 -31
- package/cjs/OpenChannel/components/OpenChannelUI.js +31 -31
- package/cjs/OpenChannel/context.js +8 -8
- package/cjs/OpenChannel.js +31 -31
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
- package/cjs/OpenChannelList/context.js +3 -3
- package/cjs/OpenChannelList.js +13 -13
- package/cjs/{OpenChannelListProvider-4d15730f.js → OpenChannelListProvider-2a87b2b4.js} +3 -3
- package/cjs/{OpenChannelListProvider-4d15730f.js.map → OpenChannelListProvider-2a87b2b4.js.map} +1 -1
- package/cjs/{OpenChannelProvider-2f59b53a.js → OpenChannelProvider-83d672a7.js} +7 -7
- package/cjs/{OpenChannelProvider-2f59b53a.js.map → OpenChannelProvider-83d672a7.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +17 -17
- package/cjs/{RemoveMessageModal-47cae846.js → RemoveMessageModal-08f65c1e.js} +3 -3
- package/cjs/{RemoveMessageModal-47cae846.js.map → RemoveMessageModal-08f65c1e.js.map} +1 -1
- package/cjs/SendbirdProvider.js +15 -15
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +33 -33
- package/cjs/Thread/components/ParentMessageInfoItem.js +22 -22
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +36 -36
- package/cjs/Thread/components/ThreadListItem.js +36 -36
- package/cjs/Thread/components/ThreadMessageInput.js +30 -30
- package/cjs/Thread/components/ThreadUI.js +40 -40
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +40 -40
- package/cjs/{ThreadProvider-5844bd6d.js → ThreadProvider-3c1a2c41.js} +21 -7
- package/cjs/ThreadProvider-3c1a2c41.js.map +1 -0
- package/cjs/{UserProfileContext-5fd27232.js → UserProfileContext-3dab87ec.js} +1 -1
- package/cjs/{UserProfileContext-5fd27232.js.map → UserProfileContext-3dab87ec.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-e10f305f.js → VoiceMessageInputWrapper-ef9621bb.js} +7 -7
- package/cjs/{VoiceMessageInputWrapper-e10f305f.js.map → VoiceMessageInputWrapper-ef9621bb.js.map} +1 -1
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +9 -9
- package/cjs/VoiceRecorder/context.js +9 -9
- package/cjs/VoiceRecorder/useVoiceRecorder.js +8 -8
- package/cjs/{WebAudioUtils-4227909a.js → WebAudioUtils-1e0a2a1a.js} +2 -2
- package/cjs/{WebAudioUtils-4227909a.js.map → WebAudioUtils-1e0a2a1a.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-2c208df7.js → _rollupPluginBabelHelpers-0b87b048.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-0b87b048.js.map +1 -0
- package/cjs/{actionTypes-64cb54b1.js → actionTypes-bf20e70a.js} +1 -1
- package/cjs/{actionTypes-64cb54b1.js.map → actionTypes-bf20e70a.js.map} +1 -1
- package/cjs/{color-2a756176.js → color-9b5c1b44.js} +1 -1
- package/cjs/{color-2a756176.js.map → color-9b5c1b44.js.map} +1 -1
- package/cjs/{compareIds-d6d1cc62.js → compareIds-bf12ec68.js} +1 -1
- package/cjs/{compareIds-d6d1cc62.js.map → compareIds-bf12ec68.js.map} +1 -1
- package/cjs/{const-2d057dc1.js → const-229638db.js} +1 -1
- package/cjs/{const-2d057dc1.js.map → const-229638db.js.map} +1 -1
- package/cjs/{const-0f73f007.js → const-662e0a3d.js} +1 -1
- package/cjs/{const-0f73f007.js.map → const-662e0a3d.js.map} +1 -1
- package/cjs/{consts-5a40550e.js → consts-0501e01f.js} +1 -1
- package/cjs/{consts-5a40550e.js.map → consts-0501e01f.js.map} +1 -1
- package/cjs/{consts-c1c7f3b9.js → consts-122f358d.js} +1 -1
- package/cjs/{consts-c1c7f3b9.js.map → consts-122f358d.js.map} +1 -1
- package/cjs/{consts-c16c955d.js → consts-4db00575.js} +1 -1
- package/cjs/{consts-c16c955d.js.map → consts-4db00575.js.map} +1 -1
- package/cjs/{consts-0a4f487c.js → consts-661b767d.js} +5 -1
- package/cjs/{consts-0a4f487c.js.map → consts-661b767d.js.map} +1 -1
- package/cjs/{context-0bf4608e.js → context-76b49e88.js} +2 -2
- package/cjs/{context-0bf4608e.js.map → context-76b49e88.js.map} +1 -1
- package/cjs/dist/index.css +149 -149
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-b1b515a7.js → index-124b9dcf.js} +2 -2
- package/cjs/{index-b1b515a7.js.map → index-124b9dcf.js.map} +1 -1
- package/cjs/{index-f3743012.js → index-1ee0e4e4.js} +3 -3
- package/cjs/{index-f3743012.js.map → index-1ee0e4e4.js.map} +1 -1
- package/cjs/{index-c00c028b.js → index-212106b0.js} +1 -1
- package/cjs/{index-c00c028b.js.map → index-212106b0.js.map} +1 -1
- package/cjs/{index-3aeb8bf9.js → index-2ac63760.js} +6 -6
- package/cjs/{index-3aeb8bf9.js.map → index-2ac63760.js.map} +1 -1
- package/cjs/{index-d69866c1.js → index-3e6c93b8.js} +5 -5
- package/cjs/{index-d69866c1.js.map → index-3e6c93b8.js.map} +1 -1
- package/cjs/{index-44985c08.js → index-3eaca310.js} +2 -2
- package/cjs/{index-44985c08.js.map → index-3eaca310.js.map} +1 -1
- package/cjs/{index-29f85f9b.js → index-433d4bd2.js} +2 -2
- package/cjs/{index-29f85f9b.js.map → index-433d4bd2.js.map} +1 -1
- package/cjs/{index-803f2ff2.js → index-624378e0.js} +4 -4
- package/cjs/{index-803f2ff2.js.map → index-624378e0.js.map} +1 -1
- package/cjs/{index-6a9e8bcb.js → index-69714a70.js} +6 -6
- package/cjs/{index-6a9e8bcb.js.map → index-69714a70.js.map} +1 -1
- package/cjs/{index-060711f6.js → index-80804302.js} +2 -2
- package/cjs/{index-060711f6.js.map → index-80804302.js.map} +1 -1
- package/cjs/{index-6c3bc4f9.js → index-98250672.js} +6 -6
- package/cjs/{index-6c3bc4f9.js.map → index-98250672.js.map} +1 -1
- package/cjs/{index-6977efce.js → index-ab616622.js} +3 -3
- package/cjs/{index-6977efce.js.map → index-ab616622.js.map} +1 -1
- package/cjs/{index-b5614bfa.js → index-c841c070.js} +2 -2
- package/cjs/{index-b5614bfa.js.map → index-c841c070.js.map} +1 -1
- package/cjs/{index-71863abf.js → index-caaa2927.js} +1 -1
- package/cjs/{index-71863abf.js.map → index-caaa2927.js.map} +1 -1
- package/cjs/{index-03a83f97.js → index-ced384fa.js} +4 -4
- package/cjs/{index-03a83f97.js.map → index-ced384fa.js.map} +1 -1
- package/cjs/{index-6b02cca4.js → index-dcec7980.js} +3 -3
- package/cjs/{index-6b02cca4.js.map → index-dcec7980.js.map} +1 -1
- package/cjs/{index-ea4739fe.js → index-e1240d10.js} +2 -2
- package/cjs/{index-ea4739fe.js.map → index-e1240d10.js.map} +1 -1
- package/cjs/index.js +52 -52
- package/cjs/{index.module-bee98cc5.js → index.module-ed2ba1e3.js} +1 -1
- package/cjs/{index.module-bee98cc5.js.map → index.module-ed2ba1e3.js.map} +1 -1
- package/cjs/package.json +1 -1
- package/cjs/{resolvedReplyType-9517a813.js → resolvedReplyType-f61a88fe.js} +1 -1
- package/cjs/{resolvedReplyType-9517a813.js.map → resolvedReplyType-f61a88fe.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +19 -5
- package/cjs/sendbirdSelectors.js.map +1 -1
- package/cjs/{stringSet-39e8b84e.js → stringSet-c3a71383.js} +1 -1
- package/cjs/{stringSet-39e8b84e.js.map → stringSet-c3a71383.js.map} +1 -1
- package/cjs/{tokenize-3176b8f2.js → tokenize-3d258c39.js} +2 -2
- package/cjs/{tokenize-3176b8f2.js.map → tokenize-3d258c39.js.map} +1 -1
- package/cjs/{topics-e1897e48.js → topics-92cc2ee6.js} +2 -1
- package/cjs/topics-92cc2ee6.js.map +1 -0
- package/cjs/{types-be32f153.js → types-2d9f4043.js} +1 -1
- package/cjs/{types-be32f153.js.map → types-2d9f4043.js.map} +1 -1
- package/cjs/ui/Accordion.js +2 -2
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +2 -2
- package/cjs/ui/Avatar.js +10 -10
- package/cjs/ui/Avatar.js.map +1 -1
- package/cjs/ui/Badge.js +4 -4
- package/cjs/ui/BottomSheet.js +1 -1
- package/cjs/ui/Button.js +2 -2
- package/cjs/ui/ChannelAvatar.js +2 -2
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +5 -5
- package/cjs/ui/DateSeparator.js +3 -3
- package/cjs/ui/EmojiReactions.js +17 -17
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileViewer.js +8 -8
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/ImageRenderer.js +26 -11
- package/cjs/ui/ImageRenderer.js.map +1 -1
- package/cjs/ui/Input.js +2 -2
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +2 -2
- package/cjs/ui/MentionLabel.js +10 -10
- package/cjs/ui/MentionUserLabel.js +1 -1
- package/cjs/ui/MessageContent.js +28 -28
- package/cjs/ui/MessageInput.js +13 -13
- package/cjs/ui/MessageItemMenu.js +8 -8
- package/cjs/ui/MessageItemReactionMenu.js +9 -9
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
- package/cjs/ui/MessageSearchFileItem.js +10 -10
- package/cjs/ui/MessageSearchItem.js +8 -8
- package/cjs/ui/MessageStatus.js +10 -10
- package/cjs/ui/Modal.js +7 -7
- package/cjs/ui/OGMessageItemBody.js +15 -15
- package/cjs/ui/OGMessageItemBody.js.map +1 -1
- package/cjs/ui/OpenChannelAdminMessage.js +2 -2
- package/cjs/ui/OpenChannelAvatar.js +5 -5
- package/cjs/ui/OpenchannelConversationHeader.js +6 -6
- package/cjs/ui/OpenchannelFileMessage.js +15 -15
- package/cjs/ui/OpenchannelOGMessage.js +19 -19
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +16 -16
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +15 -15
- package/cjs/ui/PlaceHolder.js +5 -5
- package/cjs/ui/PlaybackTime.js +2 -2
- package/cjs/ui/QuoteMessage.js +7 -7
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +7 -7
- package/cjs/ui/QuoteMessageInput.js.map +1 -1
- package/cjs/ui/ReactionBadge.js +2 -2
- package/cjs/ui/ReactionButton.js +4 -4
- package/cjs/ui/SortByRow.js +1 -1
- package/cjs/ui/TextButton.js +1 -1
- package/cjs/ui/TextMessageItemBody.js +14 -14
- package/cjs/ui/ThreadReplies.js +5 -5
- package/cjs/ui/ThumbnailMessageItemBody.js +6 -6
- package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/cjs/ui/Toggle.js +1 -1
- package/cjs/ui/Tooltip.js +2 -2
- package/cjs/ui/UnknownMessageItemBody.js +6 -6
- package/cjs/ui/UserListItem.js +10 -10
- package/cjs/ui/UserProfile.js +9 -9
- package/cjs/ui/VoiceMessageItemBody.js +9 -9
- package/cjs/ui/VoiceMessgeInput.js +7 -7
- package/cjs/ui/Word.js +10 -10
- package/cjs/{useDirtyGetMentions-041acd2a.js → useDirtyGetMentions-2a7d10bf.js} +1 -1
- package/cjs/{useDirtyGetMentions-041acd2a.js.map → useDirtyGetMentions-2a7d10bf.js.map} +1 -1
- package/cjs/{useLongPress-5432edbf.js → useLongPress-c8839caf.js} +3 -3
- package/cjs/{useLongPress-5432edbf.js.map → useLongPress-c8839caf.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/{utils-b653226e.js → utils-29477573.js} +1 -1
- package/cjs/{utils-b653226e.js.map → utils-29477573.js.map} +1 -1
- package/cjs/{utils-bec85954.js → utils-302a674f.js} +2 -2
- package/cjs/{utils-bec85954.js.map → utils-302a674f.js.map} +1 -1
- package/cjs/{utils-e7fdfd61.js → utils-6af170b9.js} +1 -1
- package/cjs/{utils-e7fdfd61.js.map → utils-6af170b9.js.map} +1 -1
- package/cjs/{utils-24df69e2.js → utils-c2948e02.js} +1 -1
- package/cjs/{utils-24df69e2.js.map → utils-c2948e02.js.map} +1 -1
- package/cjs/{uuid-54dc5376.js → uuid-d26cf806.js} +1 -1
- package/cjs/{uuid-54dc5376.js.map → uuid-d26cf806.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-b73a158c.js → color-1a181ce1.js} +1 -1
- package/{color-b73a158c.js.map → color-1a181ce1.js.map} +1 -1
- package/{compareIds-eab12c15.js → compareIds-0cfc7f44.js} +1 -1
- package/{compareIds-eab12c15.js.map → compareIds-0cfc7f44.js.map} +1 -1
- package/{const-72965dcb.js → const-3e230ae8.js} +1 -1
- package/{const-72965dcb.js.map → const-3e230ae8.js.map} +1 -1
- package/{const-9ab08d0b.js → const-e65490a4.js} +1 -1
- package/{const-9ab08d0b.js.map → const-e65490a4.js.map} +1 -1
- package/{consts-8c9214ee.js → consts-2465e8d9.js} +1 -1
- package/{consts-8c9214ee.js.map → consts-2465e8d9.js.map} +1 -1
- package/{consts-2475c80c.js → consts-41b55fe8.js} +1 -1
- package/{consts-2475c80c.js.map → consts-41b55fe8.js.map} +1 -1
- package/{consts-55e36248.js → consts-51e4746e.js} +5 -2
- package/{consts-55e36248.js.map → consts-51e4746e.js.map} +1 -1
- package/{consts-0726d733.js → consts-faca6bf9.js} +1 -1
- package/{consts-0726d733.js.map → consts-faca6bf9.js.map} +1 -1
- package/{context-ebecf7b8.js → context-5973d35e.js} +2 -2
- package/{context-ebecf7b8.js.map → context-5973d35e.js.map} +1 -1
- package/dist/index.css +149 -149
- package/dist/index.css.map +1 -1
- package/{index-96fe32b3.js → index-1dbb47b6.js} +2 -2
- package/{index-96fe32b3.js.map → index-1dbb47b6.js.map} +1 -1
- package/{index-c2c52b45.js → index-2d72973d.js} +3 -3
- package/{index-c2c52b45.js.map → index-2d72973d.js.map} +1 -1
- package/{index-b74226dc.js → index-33432afb.js} +2 -2
- package/{index-b74226dc.js.map → index-33432afb.js.map} +1 -1
- package/{index-c191462d.js → index-37b97ba0.js} +3 -3
- package/{index-c191462d.js.map → index-37b97ba0.js.map} +1 -1
- package/{index-7b514167.js → index-3938ebeb.js} +4 -4
- package/{index-7b514167.js.map → index-3938ebeb.js.map} +1 -1
- package/{index-e43e7fa2.js → index-426b7e23.js} +1 -1
- package/{index-e43e7fa2.js.map → index-426b7e23.js.map} +1 -1
- package/{index-04e037ff.js → index-43a07216.js} +2 -2
- package/{index-04e037ff.js.map → index-43a07216.js.map} +1 -1
- package/{index-a5bf5a96.js → index-5243b241.js} +1 -1
- package/{index-a5bf5a96.js.map → index-5243b241.js.map} +1 -1
- package/{index-c2640752.js → index-542fc972.js} +2 -2
- package/{index-c2640752.js.map → index-542fc972.js.map} +1 -1
- package/{index-af1fb797.js → index-599947c0.js} +4 -4
- package/{index-af1fb797.js.map → index-599947c0.js.map} +1 -1
- package/{index-0dd2ee39.js → index-5f546540.js} +2 -2
- package/{index-0dd2ee39.js.map → index-5f546540.js.map} +1 -1
- package/{index-7727118e.js → index-a90528f7.js} +5 -5
- package/{index-7727118e.js.map → index-a90528f7.js.map} +1 -1
- package/{index-642e3f32.js → index-b325320d.js} +6 -6
- package/{index-642e3f32.js.map → index-b325320d.js.map} +1 -1
- package/{index-055e94b6.js → index-b59ab4f5.js} +4 -4
- package/{index-055e94b6.js.map → index-b59ab4f5.js.map} +1 -1
- package/{index-8485f009.js → index-b9d142c7.js} +2 -2
- package/{index-8485f009.js.map → index-b9d142c7.js.map} +1 -1
- package/{index-8dcf7652.js → index-db0537e7.js} +3 -3
- package/{index-8dcf7652.js.map → index-db0537e7.js.map} +1 -1
- package/{index-007ff82b.js → index-e3a3f253.js} +6 -6
- package/{index-007ff82b.js.map → index-e3a3f253.js.map} +1 -1
- package/index.d.ts +4 -2
- package/index.js +52 -52
- package/{index.module-0ccd37ce.js → index.module-66fc75ab.js} +1 -1
- package/{index.module-0ccd37ce.js.map → index.module-66fc75ab.js.map} +1 -1
- package/package.json +1 -1
- package/{resolvedReplyType-6785a18d.js → resolvedReplyType-c306d0b1.js} +1 -1
- package/{resolvedReplyType-6785a18d.js.map → resolvedReplyType-c306d0b1.js.map} +1 -1
- package/sendbirdSelectors.js +19 -5
- package/sendbirdSelectors.js.map +1 -1
- package/{stringSet-23a36018.js → stringSet-0507097b.js} +1 -1
- package/{stringSet-23a36018.js.map → stringSet-0507097b.js.map} +1 -1
- package/{tokenize-6f680d6a.js → tokenize-df7ffa9b.js} +2 -2
- package/{tokenize-6f680d6a.js.map → tokenize-df7ffa9b.js.map} +1 -1
- package/{topics-67f9a9f1.js → topics-ee41e3ee.js} +2 -1
- package/topics-ee41e3ee.js.map +1 -0
- package/{types-82eb7ae8.js → types-f940eb84.js} +1 -1
- package/{types-82eb7ae8.js.map → types-f940eb84.js.map} +1 -1
- package/ui/Accordion.js +2 -2
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +2 -2
- package/ui/Avatar.js +1 -1
- package/ui/Badge.js +4 -4
- package/ui/BottomSheet.js +1 -1
- package/ui/Button.js +2 -2
- package/ui/ChannelAvatar.js +2 -2
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +5 -5
- package/ui/DateSeparator.js +3 -3
- package/ui/EmojiReactions.js +13 -13
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileViewer.js +8 -8
- package/ui/IconButton.js +1 -1
- package/ui/ImageRenderer.js +23 -11
- package/ui/ImageRenderer.js.map +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/MentionLabel.js +10 -10
- package/ui/MentionUserLabel.js +1 -1
- package/ui/MessageContent.js +28 -28
- package/ui/MessageInput.js +13 -13
- package/ui/MessageItemMenu.js +8 -8
- package/ui/MessageItemReactionMenu.js +8 -8
- package/ui/MessageSearchFileItem.js +10 -10
- package/ui/MessageSearchItem.js +8 -8
- package/ui/MessageStatus.js +10 -10
- package/ui/Modal.js +7 -7
- package/ui/OGMessageItemBody.js +14 -14
- package/ui/OpenChannelAdminMessage.js +2 -2
- package/ui/OpenChannelAvatar.js +5 -5
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelFileMessage.js +15 -15
- package/ui/OpenchannelOGMessage.js +18 -18
- package/ui/OpenchannelThumbnailMessage.js +14 -14
- package/ui/OpenchannelUserMessage.js +15 -15
- package/ui/PlaceHolder.js +5 -5
- package/ui/PlaybackTime.js +2 -2
- package/ui/QuoteMessage.js +6 -6
- package/ui/QuoteMessageInput.js +6 -6
- package/ui/ReactionBadge.js +2 -2
- package/ui/ReactionButton.js +4 -4
- package/ui/SortByRow.js +1 -1
- package/ui/TextButton.js +1 -1
- package/ui/TextMessageItemBody.js +14 -14
- package/ui/ThreadReplies.js +5 -5
- package/ui/ThumbnailMessageItemBody.js +5 -5
- package/ui/Toggle.js +1 -1
- package/ui/Tooltip.js +2 -2
- package/ui/UnknownMessageItemBody.js +6 -6
- package/ui/UserListItem.js +10 -10
- package/ui/UserProfile.js +9 -9
- package/ui/VoiceMessageItemBody.js +9 -9
- package/ui/VoiceMessgeInput.js +7 -7
- package/ui/Word.js +10 -10
- package/{useDirtyGetMentions-e4e855e3.js → useDirtyGetMentions-e995391d.js} +1 -1
- package/{useDirtyGetMentions-e4e855e3.js.map → useDirtyGetMentions-e995391d.js.map} +1 -1
- package/{useLongPress-0cf29ece.js → useLongPress-05d7564b.js} +3 -3
- package/{useLongPress-0cf29ece.js.map → useLongPress-05d7564b.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/{utils-e81640a7.js → utils-51b2a20e.js} +1 -1
- package/{utils-e81640a7.js.map → utils-51b2a20e.js.map} +1 -1
- package/{utils-cae251db.js → utils-9f0ab1b0.js} +1 -1
- package/{utils-cae251db.js.map → utils-9f0ab1b0.js.map} +1 -1
- package/{utils-8e781334.js → utils-a9f72927.js} +1 -1
- package/{utils-8e781334.js.map → utils-a9f72927.js.map} +1 -1
- package/{utils-a7468577.js → utils-b0bd415b.js} +2 -2
- package/{utils-a7468577.js.map → utils-b0bd415b.js.map} +1 -1
- package/{uuid-10fc0de7.js → uuid-708e5853.js} +1 -1
- package/{uuid-10fc0de7.js.map → uuid-708e5853.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelListProvider-2e7026e9.js.map +0 -1
- package/ChannelProvider-31a344d3.js.map +0 -1
- package/ThreadProvider-27c497dc.js.map +0 -1
- package/_rollupPluginBabelHelpers-34f2bdc3.js.map +0 -1
- package/cjs/ChannelListProvider-51837593.js.map +0 -1
- package/cjs/ChannelProvider-ab59275b.js.map +0 -1
- package/cjs/ThreadProvider-5844bd6d.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-2c208df7.js.map +0 -1
- package/cjs/topics-e1897e48.js.map +0 -1
- package/topics-67f9a9f1.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebAudioUtils-4227909a.js","sources":["../../src/hooks/VoiceRecorder/WebAudioUtils.ts"],"sourcesContent":["// Thanks to https://codesandbox.io/s/media-recorder-api-downsampling-16k-mp3-encode-using-lame-js-forked-n1pblw\nimport { VOICE_RECORDER_AUDIO_SAMPLE_RATE } from '../../utils/consts';\nimport { WavHeader, Mp3Encoder } from '../../_externals/lamejs/lame.all';\n\nfunction encodeMp3(arrayBuffer: ArrayBuffer): WavHeader {\n const wav = WavHeader.readHeader(new DataView(arrayBuffer));\n const dataView = new Int16Array(arrayBuffer, wav.dataOffset, wav.dataLen / 2);\n const mp3Encoder = new Mp3Encoder(wav.channels, wav.sampleRate, 128);\n const maxSamples = 1152;\n\n const samplesLeft = (wav.channels === 1) ? dataView : new Int16Array(wav.dataLen / (2 * wav.channels));\n const samplesRight = (wav.channels === 2) ? new Int16Array(wav.dataLen / (2 * wav.channels)) : undefined;\n\n if (wav.channels > 1) {\n for (let j = 0; j < samplesLeft.length; j++) {\n samplesLeft[j] = dataView[j * 2];\n samplesRight[j] = dataView[j * 2 + 1];\n }\n }\n\n const dataBuffer = [];\n let remaining = samplesLeft.length;\n for (let i = 0; remaining >= maxSamples; i += maxSamples) {\n const left = samplesLeft.subarray(i, i + maxSamples);\n let right;\n if (samplesRight) {\n right = samplesRight.subarray(i, i + maxSamples);\n }\n const mp3buf = mp3Encoder.encodeBuffer(left, right);\n dataBuffer.push(new Int8Array(mp3buf));\n remaining -= maxSamples;\n }\n\n const mp3Lastbuf = mp3Encoder.flush();\n dataBuffer.push(new Int8Array(mp3Lastbuf));\n return dataBuffer;\n}\n\n// Convert audioFile to arrayBuffer, because Mp3Encoder requires a parameter of ArrayBuffer type\nfunction downsampleToWav(file: File, callback: (buffer: ArrayBuffer) => void): void {\n // Browser compatibility\n // https://caniuse.com/?search=AudioContext\n const audioCtx = new AudioContext({ sampleRate: VOICE_RECORDER_AUDIO_SAMPLE_RATE });\n const fileReader = new FileReader();\n fileReader.onload = function (ev) {\n // Decode audio\n audioCtx.decodeAudioData(ev.target.result as ArrayBuffer, (buffer) => {\n // this is where you down sample the audio, usually is 44100 samples per second\n const usingWebkit = !window.OfflineAudioContext;\n const offlineAudioCtx = new OfflineAudioContext(1, 16000 * buffer.duration, 16000);\n\n const soundSource = offlineAudioCtx.createBufferSource();\n soundSource.buffer = buffer;\n soundSource.connect(offlineAudioCtx.destination);\n\n const reader = new FileReader();\n reader.onload = function () {\n const renderCompleteHandler = (evt): void => {\n const renderedBuffer = usingWebkit ? evt.renderedBuffer : evt;\n const buffer = bufferToWav(renderedBuffer, renderedBuffer.length);\n if (callback) {\n callback(buffer);\n }\n };\n if (usingWebkit) {\n offlineAudioCtx.oncomplete = renderCompleteHandler;\n offlineAudioCtx.startRendering();\n } else {\n offlineAudioCtx\n .startRendering()\n .then(renderCompleteHandler)\n // eslint-disable-next-line no-console\n .catch((err) => console.warn(err));\n }\n };\n reader.readAsArrayBuffer(file);\n soundSource.start(0);\n });\n };\n fileReader.readAsArrayBuffer(file);\n}\n\nfunction bufferToWav(abuffer, len) {\n const numOfChan = abuffer.numberOfChannels;\n const length = len * numOfChan * 2 + 44;\n const buffer = new ArrayBuffer(length);\n const view = new DataView(buffer);\n const channels = [];\n let i = 0;\n let sample;\n let offset = 0;\n let pos = 0;\n\n // write WAVE header\n setUint32(0x46464952); // \"RIFF\"\n setUint32(length - 8); // file length - 8\n setUint32(0x45564157); // \"WAVE\"\n setUint32(0x20746d66); // \"fmt \" chunk\n setUint32(16); // length = 16\n setUint16(1); // PCM (uncompressed)\n setUint16(numOfChan);\n setUint32(abuffer.sampleRate);\n setUint32(abuffer.sampleRate * 2 * numOfChan); // avg. bytes/sec\n setUint16(numOfChan * 2); // block-align\n setUint16(16); // 16-bit (hardcoded in this demo)\n setUint32(0x61746164); // \"data\" - chunk\n setUint32(length - pos - 4); // chunk length\n // write interleaved data\n for (i = 0; i < abuffer.numberOfChannels; i++)\n channels.push(abuffer.getChannelData(i));\n\n while (pos < length) {\n for (i = 0; i < numOfChan; i++) {\n // interleave channels\n sample = Math.max(-1, Math.min(1, channels[i][offset])); // clamp\n sample = (0.5 + sample < 0 ? sample * 32768 : sample * 32767) | 0; // scale to 16-bit signed int\n view.setInt16(pos, sample, true); // write 16-bit sample\n pos += 2;\n }\n offset++; // next source sample\n }\n\n return buffer;\n\n function setUint16(data) {\n view.setUint16(pos, data, true);\n pos += 2;\n }\n\n function setUint32(data) {\n view.setUint32(pos, data, true);\n pos += 4;\n }\n}\n\nexport { downsampleToWav, encodeMp3 };\n"],"names":["encodeMp3","arrayBuffer","wav","WavHeader","readHeader","DataView","dataView","Int16Array","dataOffset","dataLen","mp3Encoder","Mp3Encoder","channels","sampleRate","maxSamples","samplesLeft","samplesRight","undefined","j","length","dataBuffer","remaining","i","left","subarray","right","mp3buf","encodeBuffer","push","Int8Array","mp3Lastbuf","flush","downsampleToWav","file","callback","audioCtx","AudioContext","VOICE_RECORDER_AUDIO_SAMPLE_RATE","fileReader","FileReader","onload","ev","decodeAudioData","target","result","buffer","usingWebkit","window","OfflineAudioContext","offlineAudioCtx","duration","soundSource","createBufferSource","connect","destination","reader","renderCompleteHandler","evt","renderedBuffer","bufferToWav","oncomplete","startRendering","then","catch","err","console","warn","readAsArrayBuffer","start","abuffer","len","numOfChan","numberOfChannels","ArrayBuffer","view","sample","offset","pos","setUint32","setUint16","getChannelData","Math","max","min","setInt16","data"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WebAudioUtils-1e0a2a1a.js","sources":["../../src/hooks/VoiceRecorder/WebAudioUtils.ts"],"sourcesContent":["// Thanks to https://codesandbox.io/s/media-recorder-api-downsampling-16k-mp3-encode-using-lame-js-forked-n1pblw\nimport { VOICE_RECORDER_AUDIO_SAMPLE_RATE } from '../../utils/consts';\nimport { WavHeader, Mp3Encoder } from '../../_externals/lamejs/lame.all';\n\nfunction encodeMp3(arrayBuffer: ArrayBuffer): WavHeader {\n const wav = WavHeader.readHeader(new DataView(arrayBuffer));\n const dataView = new Int16Array(arrayBuffer, wav.dataOffset, wav.dataLen / 2);\n const mp3Encoder = new Mp3Encoder(wav.channels, wav.sampleRate, 128);\n const maxSamples = 1152;\n\n const samplesLeft = (wav.channels === 1) ? dataView : new Int16Array(wav.dataLen / (2 * wav.channels));\n const samplesRight = (wav.channels === 2) ? new Int16Array(wav.dataLen / (2 * wav.channels)) : undefined;\n\n if (wav.channels > 1) {\n for (let j = 0; j < samplesLeft.length; j++) {\n samplesLeft[j] = dataView[j * 2];\n samplesRight[j] = dataView[j * 2 + 1];\n }\n }\n\n const dataBuffer = [];\n let remaining = samplesLeft.length;\n for (let i = 0; remaining >= maxSamples; i += maxSamples) {\n const left = samplesLeft.subarray(i, i + maxSamples);\n let right;\n if (samplesRight) {\n right = samplesRight.subarray(i, i + maxSamples);\n }\n const mp3buf = mp3Encoder.encodeBuffer(left, right);\n dataBuffer.push(new Int8Array(mp3buf));\n remaining -= maxSamples;\n }\n\n const mp3Lastbuf = mp3Encoder.flush();\n dataBuffer.push(new Int8Array(mp3Lastbuf));\n return dataBuffer;\n}\n\n// Convert audioFile to arrayBuffer, because Mp3Encoder requires a parameter of ArrayBuffer type\nfunction downsampleToWav(file: File, callback: (buffer: ArrayBuffer) => void): void {\n // Browser compatibility\n // https://caniuse.com/?search=AudioContext\n const audioCtx = new AudioContext({ sampleRate: VOICE_RECORDER_AUDIO_SAMPLE_RATE });\n const fileReader = new FileReader();\n fileReader.onload = function (ev) {\n // Decode audio\n audioCtx.decodeAudioData(ev.target.result as ArrayBuffer, (buffer) => {\n // this is where you down sample the audio, usually is 44100 samples per second\n const usingWebkit = !window.OfflineAudioContext;\n const offlineAudioCtx = new OfflineAudioContext(1, 16000 * buffer.duration, 16000);\n\n const soundSource = offlineAudioCtx.createBufferSource();\n soundSource.buffer = buffer;\n soundSource.connect(offlineAudioCtx.destination);\n\n const reader = new FileReader();\n reader.onload = function () {\n const renderCompleteHandler = (evt): void => {\n const renderedBuffer = usingWebkit ? evt.renderedBuffer : evt;\n const buffer = bufferToWav(renderedBuffer, renderedBuffer.length);\n if (callback) {\n callback(buffer);\n }\n };\n if (usingWebkit) {\n offlineAudioCtx.oncomplete = renderCompleteHandler;\n offlineAudioCtx.startRendering();\n } else {\n offlineAudioCtx\n .startRendering()\n .then(renderCompleteHandler)\n // eslint-disable-next-line no-console\n .catch((err) => console.warn(err));\n }\n };\n reader.readAsArrayBuffer(file);\n soundSource.start(0);\n });\n };\n fileReader.readAsArrayBuffer(file);\n}\n\nfunction bufferToWav(abuffer, len) {\n const numOfChan = abuffer.numberOfChannels;\n const length = len * numOfChan * 2 + 44;\n const buffer = new ArrayBuffer(length);\n const view = new DataView(buffer);\n const channels = [];\n let i = 0;\n let sample;\n let offset = 0;\n let pos = 0;\n\n // write WAVE header\n setUint32(0x46464952); // \"RIFF\"\n setUint32(length - 8); // file length - 8\n setUint32(0x45564157); // \"WAVE\"\n setUint32(0x20746d66); // \"fmt \" chunk\n setUint32(16); // length = 16\n setUint16(1); // PCM (uncompressed)\n setUint16(numOfChan);\n setUint32(abuffer.sampleRate);\n setUint32(abuffer.sampleRate * 2 * numOfChan); // avg. bytes/sec\n setUint16(numOfChan * 2); // block-align\n setUint16(16); // 16-bit (hardcoded in this demo)\n setUint32(0x61746164); // \"data\" - chunk\n setUint32(length - pos - 4); // chunk length\n // write interleaved data\n for (i = 0; i < abuffer.numberOfChannels; i++)\n channels.push(abuffer.getChannelData(i));\n\n while (pos < length) {\n for (i = 0; i < numOfChan; i++) {\n // interleave channels\n sample = Math.max(-1, Math.min(1, channels[i][offset])); // clamp\n sample = (0.5 + sample < 0 ? sample * 32768 : sample * 32767) | 0; // scale to 16-bit signed int\n view.setInt16(pos, sample, true); // write 16-bit sample\n pos += 2;\n }\n offset++; // next source sample\n }\n\n return buffer;\n\n function setUint16(data) {\n view.setUint16(pos, data, true);\n pos += 2;\n }\n\n function setUint32(data) {\n view.setUint32(pos, data, true);\n pos += 4;\n }\n}\n\nexport { downsampleToWav, encodeMp3 };\n"],"names":["encodeMp3","arrayBuffer","wav","WavHeader","readHeader","DataView","dataView","Int16Array","dataOffset","dataLen","mp3Encoder","Mp3Encoder","channels","sampleRate","maxSamples","samplesLeft","samplesRight","undefined","j","length","dataBuffer","remaining","i","left","subarray","right","mp3buf","encodeBuffer","push","Int8Array","mp3Lastbuf","flush","downsampleToWav","file","callback","audioCtx","AudioContext","VOICE_RECORDER_AUDIO_SAMPLE_RATE","fileReader","FileReader","onload","ev","decodeAudioData","target","result","buffer","usingWebkit","window","OfflineAudioContext","offlineAudioCtx","duration","soundSource","createBufferSource","connect","destination","reader","renderCompleteHandler","evt","renderedBuffer","bufferToWav","oncomplete","startRendering","then","catch","err","console","warn","readAsArrayBuffer","start","abuffer","len","numOfChan","numberOfChannels","ArrayBuffer","view","sample","offset","pos","setUint32","setUint16","getChannelData","Math","max","min","setInt16","data"],"mappings":"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"}
|
|
@@ -67,4 +67,4 @@ function _toPropertyKey(arg) {
|
|
|
67
67
|
exports._defineProperty = _defineProperty;
|
|
68
68
|
exports._extends = _extends;
|
|
69
69
|
exports._objectSpread2 = _objectSpread2;
|
|
70
|
-
//# sourceMappingURL=_rollupPluginBabelHelpers-
|
|
70
|
+
//# sourceMappingURL=_rollupPluginBabelHelpers-0b87b048.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_rollupPluginBabelHelpers-0b87b048.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionTypes-
|
|
1
|
+
{"version":3,"file":"actionTypes-bf20e70a.js","sources":["../../src/lib/dux/user/actionTypes.ts"],"sourcesContent":["import { User } from '@sendbird/chat';\nimport { CreateAction } from '../../../utils/typeHelpers/reducers/createAction';\n\nexport const USER_ACTIONS = {\n INIT_USER: 'INIT_USER',\n RESET_USER: 'RESET_USER',\n UPDATE_USER_INFO: 'UPDATE_USER_INFO',\n} as const;\n\ntype USER_PAYLOAD_TYPES = {\n [USER_ACTIONS.INIT_USER]: User,\n [USER_ACTIONS.RESET_USER]: null,\n [USER_ACTIONS.UPDATE_USER_INFO]: User,\n};\n\nexport type UserActionTypes = CreateAction<USER_PAYLOAD_TYPES>;\n"],"names":["USER_ACTIONS","INIT_USER","RESET_USER","UPDATE_USER_INFO"],"mappings":";;AAGO,MAAMA,YAAY,GAAG;AAC1BC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,gBAAgB,EAAE,kBAAA;AACpB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color-
|
|
1
|
+
{"version":3,"file":"color-9b5c1b44.js","sources":["../../src/utils/color.ts"],"sourcesContent":["import './color.scss';\n\nexport enum Colors {\n ONBACKGROUND_1 = 'ONBACKGROUND_1',\n ONBACKGROUND_2 = 'ONBACKGROUND_2',\n ONBACKGROUND_3 = 'ONBACKGROUND_3',\n ONBACKGROUND_4 = 'ONBACKGROUND_4',\n ONCONTENT_1 = 'ONCONTENT_1',\n ONCONTENT_2 = 'ONCONTENT_2',\n PRIMARY = 'PRIMARY',\n ERROR = 'ERROR',\n}\n\nexport const changeColorToClassName = (color: Colors): string => {\n switch (color) {\n case Colors.ONBACKGROUND_1: return 'sendbird-color--onbackground-1';\n case Colors.ONBACKGROUND_2: return 'sendbird-color--onbackground-2';\n case Colors.ONBACKGROUND_3: return 'sendbird-color--onbackground-3';\n case Colors.ONBACKGROUND_4: return 'sendbird-color--onbackground-4';\n case Colors.ONCONTENT_1: return 'sendbird-color--oncontent-1';\n case Colors.PRIMARY: return 'sendbird-color--primary';\n case Colors.ERROR: return 'sendbird-color--error';\n default: return null;\n }\n};\n"],"names":["Colors","changeColorToClassName","color","ONBACKGROUND_1","ONBACKGROUND_2","ONBACKGROUND_3","ONBACKGROUND_4","ONCONTENT_1","PRIMARY","ERROR"],"mappings":";;AAEYA,IAAAA,MAAM,0BAANA,MAAM,EAAA;EAANA,MAAM,CAAA,gBAAA,CAAA,GAAA,gBAAA,CAAA;EAANA,MAAM,CAAA,gBAAA,CAAA,GAAA,gBAAA,CAAA;EAANA,MAAM,CAAA,gBAAA,CAAA,GAAA,gBAAA,CAAA;EAANA,MAAM,CAAA,gBAAA,CAAA,GAAA,gBAAA,CAAA;EAANA,MAAM,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAANA,MAAM,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAANA,MAAM,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAANA,MAAM,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA;AAAA,EAAA,OAANA,MAAM,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAWLC,MAAAA,sBAAsB,GAAIC,KAAa,IAAa;AAC/D,EAAA,QAAQA,KAAK;IACX,KAAKF,MAAM,CAACG,cAAc;AAAE,MAAA,OAAO,gCAAgC,CAAA;IACnE,KAAKH,MAAM,CAACI,cAAc;AAAE,MAAA,OAAO,gCAAgC,CAAA;IACnE,KAAKJ,MAAM,CAACK,cAAc;AAAE,MAAA,OAAO,gCAAgC,CAAA;IACnE,KAAKL,MAAM,CAACM,cAAc;AAAE,MAAA,OAAO,gCAAgC,CAAA;IACnE,KAAKN,MAAM,CAACO,WAAW;AAAE,MAAA,OAAO,6BAA6B,CAAA;IAC7D,KAAKP,MAAM,CAACQ,OAAO;AAAE,MAAA,OAAO,yBAAyB,CAAA;IACrD,KAAKR,MAAM,CAACS,KAAK;AAAE,MAAA,OAAO,uBAAuB,CAAA;AACjD,IAAA;AAAS,MAAA,OAAO,IAAI,CAAA;AAAC,GAAA;AAEzB;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compareIds-
|
|
1
|
+
{"version":3,"file":"compareIds-bf12ec68.js","sources":["../../src/utils/compareIds.js"],"sourcesContent":["const isEmpty = (val) => (val === null || val === undefined);\n\n// Some Ids return string and number inconsistently\n// only use to comapre IDs\nexport default function compareIds(a, b) {\n if (isEmpty(a) || isEmpty(b)) {\n return false;\n }\n const aString = a.toString();\n const bString = b.toString();\n return aString === bString;\n}\n"],"names":["isEmpty","val","undefined","compareIds","a","b","aString","toString","bString"],"mappings":";;AAAA,MAAMA,OAAO,GAAIC,GAAG,IAAMA,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAKC,SAAU,CAAA;;AAE5D;AACA;AACe,SAASC,UAAUA,CAACC,CAAC,EAAEC,CAAC,EAAE;EACvC,IAAIL,OAAO,CAACI,CAAC,CAAC,IAAIJ,OAAO,CAACK,CAAC,CAAC,EAAE;AAC5B,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AACA,EAAA,MAAMC,OAAO,GAAGF,CAAC,CAACG,QAAQ,EAAE,CAAA;AAC5B,EAAA,MAAMC,OAAO,GAAGH,CAAC,CAACE,QAAQ,EAAE,CAAA;EAC5B,OAAOD,OAAO,KAAKE,OAAO,CAAA;AAC5B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const-
|
|
1
|
+
{"version":3,"file":"const-229638db.js","sources":["../../src/ui/MessageInput/const.ts"],"sourcesContent":["export const MessageInputKeys = {\n Enter: 'Enter',\n ArrowUp: 'ArrowUp',\n ArrowDown: 'ArrowDown',\n Backspace: 'Backspace',\n};\n\nexport const NodeTypes = {\n ElementNode: 1,\n TextNode: 3,\n};\n\nexport const NodeNames = {\n Span: 'SPAN',\n Br: 'BR',\n Div: 'DIV',\n};\n"],"names":["MessageInputKeys","Enter","ArrowUp","ArrowDown","Backspace","NodeTypes","ElementNode","TextNode","NodeNames","Span","Br","Div"],"mappings":";;AAAO,MAAMA,gBAAgB,GAAG;AAC9BC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,SAAS,EAAE,WAAA;AACb,EAAC;AAEM,MAAMC,SAAS,GAAG;AACvBC,EAAAA,WAAW,EAAE,CAAC;AACdC,EAAAA,QAAQ,EAAE,CAAA;AACZ,EAAC;AAEM,MAAMC,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,GAAG,EAAE,KAAA;AACP;;;;;;"}
|
|
@@ -17,4 +17,4 @@ exports.NEXT_RESULT_SIZE = NEXT_RESULT_SIZE;
|
|
|
17
17
|
exports.PREV_RESULT_SIZE = PREV_RESULT_SIZE;
|
|
18
18
|
exports.ThreadReplySelectType = ThreadReplySelectType;
|
|
19
19
|
exports.USER_MENTION_TEMP_CHAR = USER_MENTION_TEMP_CHAR;
|
|
20
|
-
//# sourceMappingURL=const-
|
|
20
|
+
//# sourceMappingURL=const-662e0a3d.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const-
|
|
1
|
+
{"version":3,"file":"const-662e0a3d.js","sources":["../../src/modules/Channel/context/const.ts"],"sourcesContent":["export const PREV_RESULT_SIZE = 30;\nexport const NEXT_RESULT_SIZE = 15;\n\nexport const MAX_USER_MENTION_COUNT = 10;\nexport const MAX_USER_SUGGESTION_COUNT = 15;\nexport const USER_MENTION_TEMP_CHAR = '@';\n\nexport enum ThreadReplySelectType {\n PARENT = 'PARENT',\n THREAD = 'THREAD',\n}\n"],"names":["PREV_RESULT_SIZE","NEXT_RESULT_SIZE","MAX_USER_MENTION_COUNT","MAX_USER_SUGGESTION_COUNT","USER_MENTION_TEMP_CHAR","ThreadReplySelectType"],"mappings":";;AAAO,MAAMA,gBAAgB,GAAG,GAAE;AAC3B,MAAMC,gBAAgB,GAAG,GAAE;AAE3B,MAAMC,sBAAsB,GAAG,GAAE;AACjC,MAAMC,yBAAyB,GAAG,GAAE;AACpC,MAAMC,sBAAsB,GAAG,IAAG;AAE7BC,IAAAA,qBAAqB,0BAArBA,qBAAqB,EAAA;EAArBA,qBAAqB,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;EAArBA,qBAAqB,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;AAAA,EAAA,OAArBA,qBAAqB,CAAA;AAAA,CAAA,CAAA,EAAA;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts-
|
|
1
|
+
{"version":3,"file":"consts-0501e01f.js","sources":["../../src/ui/TextMessageItemBody/consts.ts"],"sourcesContent":["export const TEXT_MESSAGE_BODY_CLASSNAME = 'sendbird-text-message-item-body';\n"],"names":["TEXT_MESSAGE_BODY_CLASSNAME"],"mappings":";;AAAO,MAAMA,2BAA2B,GAAG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts-
|
|
1
|
+
{"version":3,"file":"consts-122f358d.js","sources":["../../src/ui/OGMessageItemBody/consts.ts"],"sourcesContent":["export const OG_MESSAGE_BODY_CLASSNAME = 'sendbird-og-message-item-body__text-bubble';\n"],"names":["OG_MESSAGE_BODY_CLASSNAME"],"mappings":";;AAAO,MAAMA,yBAAyB,GAAG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts-
|
|
1
|
+
{"version":3,"file":"consts-4db00575.js","sources":["../../src/ui/MentionUserLabel/consts.ts"],"sourcesContent":["export const MENTION_USER_LABEL_CLASSNAME = 'sendbird-mention-user-label';\n"],"names":["MENTION_USER_LABEL_CLASSNAME"],"mappings":";;AAAO,MAAMA,4BAA4B,GAAG;;;;"}
|
|
@@ -26,7 +26,11 @@ const META_ARRAY_VOICE_DURATION_KEY = 'KEY_VOICE_MESSAGE_DURATION';
|
|
|
26
26
|
const META_ARRAY_MESSAGE_TYPE_KEY = 'KEY_INTERNAL_MESSAGE_TYPE';
|
|
27
27
|
const META_ARRAY_MESSAGE_TYPE_VALUE__VOICE = 'voice/mp3';
|
|
28
28
|
|
|
29
|
+
// delivery receipt in feature list
|
|
30
|
+
const DELIVERY_RECEIPT = 'delivery_receipt';
|
|
31
|
+
|
|
29
32
|
exports.BROWSER_SUPPORT_MIME_TYPE_LIST = BROWSER_SUPPORT_MIME_TYPE_LIST;
|
|
33
|
+
exports.DELIVERY_RECEIPT = DELIVERY_RECEIPT;
|
|
30
34
|
exports.META_ARRAY_MESSAGE_TYPE_KEY = META_ARRAY_MESSAGE_TYPE_KEY;
|
|
31
35
|
exports.META_ARRAY_MESSAGE_TYPE_VALUE__VOICE = META_ARRAY_MESSAGE_TYPE_VALUE__VOICE;
|
|
32
36
|
exports.META_ARRAY_VOICE_DURATION_KEY = META_ARRAY_VOICE_DURATION_KEY;
|
|
@@ -40,4 +44,4 @@ exports.VOICE_RECORDER_AUDIO_SAMPLE_RATE = VOICE_RECORDER_AUDIO_SAMPLE_RATE;
|
|
|
40
44
|
exports.VOICE_RECORDER_CLICK_BUFFER_TIME = VOICE_RECORDER_CLICK_BUFFER_TIME;
|
|
41
45
|
exports.VOICE_RECORDER_DEFAULT_MAX = VOICE_RECORDER_DEFAULT_MAX;
|
|
42
46
|
exports.VOICE_RECORDER_DEFAULT_MIN = VOICE_RECORDER_DEFAULT_MIN;
|
|
43
|
-
//# sourceMappingURL=consts-
|
|
47
|
+
//# sourceMappingURL=consts-661b767d.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts-
|
|
1
|
+
{"version":3,"file":"consts-661b767d.js","sources":["../../src/utils/consts.ts"],"sourcesContent":["export const SCROLL_BUFFER = 10;\n\n// voice message record\nexport const VOICE_RECORDER_CLICK_BUFFER_TIME = 250;\nexport const VOICE_RECORDER_DEFAULT_MIN = 1000; // 1 seconds\nexport const VOICE_RECORDER_DEFAULT_MAX = 600000; // 10 minutes\nexport const VOICE_RECORDER_AUDIO_BIT_RATE = 12000;\nexport const VOICE_RECORDER_AUDIO_SAMPLE_RATE = 11025;\nexport const BROWSER_SUPPORT_MIME_TYPE_LIST = ['audio/webm', 'audio/mp4', 'audio/mpeg', 'audio/ogg'];\n\n// voice message play\nexport const VOICE_PLAYER_PLAYBACK_BUFFER = 0.01;\nexport const VOICE_PLAYER_DURATION_MIN_SIZE = 1000;\n\n/**\n * Append Audio element to the root\n * because I can't get the Audio element in the useEffect unmount scope\n */\nexport const VOICE_PLAYER_ROOT_ID = 'sendbird-voice-player-provider-root';\nexport const VOICE_PLAYER_AUDIO_ID = 'sendbird-global-audio-player-id';\n\n// voice message file\nexport const VOICE_MESSAGE_FILE_NAME = 'Voice_message.mp3';\nexport const VOICE_MESSAGE_MIME_TYPE = 'audio/mp3;sbu_type=voice';\n\n// meta array\nexport const META_ARRAY_VOICE_DURATION_KEY = 'KEY_VOICE_MESSAGE_DURATION';\nexport const META_ARRAY_MESSAGE_TYPE_KEY = 'KEY_INTERNAL_MESSAGE_TYPE';\nexport const META_ARRAY_MESSAGE_TYPE_VALUE__VOICE = 'voice/mp3';\n\n// delivery receipt in feature list\nexport const DELIVERY_RECEIPT = 'delivery_receipt';\n"],"names":["SCROLL_BUFFER","VOICE_RECORDER_CLICK_BUFFER_TIME","VOICE_RECORDER_DEFAULT_MIN","VOICE_RECORDER_DEFAULT_MAX","VOICE_RECORDER_AUDIO_BIT_RATE","VOICE_RECORDER_AUDIO_SAMPLE_RATE","BROWSER_SUPPORT_MIME_TYPE_LIST","VOICE_PLAYER_ROOT_ID","VOICE_PLAYER_AUDIO_ID","VOICE_MESSAGE_FILE_NAME","VOICE_MESSAGE_MIME_TYPE","META_ARRAY_VOICE_DURATION_KEY","META_ARRAY_MESSAGE_TYPE_KEY","META_ARRAY_MESSAGE_TYPE_VALUE__VOICE","DELIVERY_RECEIPT"],"mappings":";;AAAO,MAAMA,aAAa,GAAG,GAAE;;AAE/B;AACO,MAAMC,gCAAgC,GAAG,IAAG;AACtCC,MAAAA,0BAA0B,GAAG,KAAK;AAClCC,MAAAA,0BAA0B,GAAG,OAAO;AAC1C,MAAMC,6BAA6B,GAAG,MAAK;AAC3C,MAAMC,gCAAgC,GAAG,MAAK;AAC9C,MAAMC,8BAA8B,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAC;;AAMpG;AACA;AACA;AACA;AACO,MAAMC,oBAAoB,GAAG,sCAAqC;AAClE,MAAMC,qBAAqB,GAAG,kCAAiC;;AAEtE;AACO,MAAMC,uBAAuB,GAAG,oBAAmB;AACnD,MAAMC,uBAAuB,GAAG,2BAA0B;;AAEjE;AACO,MAAMC,6BAA6B,GAAG,6BAA4B;AAClE,MAAMC,2BAA2B,GAAG,4BAA2B;AAC/D,MAAMC,oCAAoC,GAAG,YAAW;;AAE/D;AACO,MAAMC,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var utils = require('./utils-
|
|
4
|
+
var utils = require('./utils-29477573.js');
|
|
5
5
|
|
|
6
6
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
7
7
|
|
|
@@ -17,4 +17,4 @@ const Provider = Context.Provider;
|
|
|
17
17
|
|
|
18
18
|
exports.Consumer = Consumer;
|
|
19
19
|
exports.Provider = Provider;
|
|
20
|
-
//# sourceMappingURL=context-
|
|
20
|
+
//# sourceMappingURL=context-76b49e88.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-
|
|
1
|
+
{"version":3,"file":"context-76b49e88.js","sources":["../../src/ui/Accordion/context.ts"],"sourcesContent":["import React from 'react';\n\nimport { noop } from '../../utils/utils';\n\ninterface ContextValue {\n setOpened(accordion: string): void;\n opened: string;\n}\n\nconst Context = React.createContext<ContextValue>({\n opened: '', // mock default value\n setOpened: noop,\n});\n\nexport const Consumer = Context.Consumer;\nexport const Provider = Context.Provider;\n"],"names":["Context","React","createContext","opened","setOpened","noop","Consumer","Provider"],"mappings":";;;;;;;;;AASA,MAAMA,OAAO,gBAAGC,yBAAK,CAACC,aAAa,CAAe;AAChDC,EAAAA,MAAM,EAAE,EAAE;AAAE;AACZC,EAAAA,SAAS,EAAEC,UAAAA;AACb,CAAC,CAAC,CAAA;AAEWC,MAAAA,QAAQ,GAAGN,OAAO,CAACM,SAAQ;AAC3BC,MAAAA,QAAQ,GAAGP,OAAO,CAACO;;;;;"}
|