@mobilon-dev/chotto 0.3.30 → 0.3.32
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/dist/_virtual/_plugin-vue_export-helper.js +9 -0
- package/dist/chotto.css +1 -1
- package/dist/components/1_atoms/ButtonContextMenu/ButtonContextMenu.vue.js +7 -0
- package/dist/components/1_atoms/ButtonContextMenu/ButtonContextMenu.vue2.js +106 -0
- package/dist/components/1_atoms/ContextMenu/ContextMenu.vue.js +46 -0
- package/dist/components/1_atoms/EmbedPreview/EmbedPreview.vue.js +7 -0
- package/dist/components/1_atoms/EmbedPreview/EmbedPreview.vue2.js +39 -0
- package/dist/components/1_atoms/LinkPreview/LinkPreview.vue.js +7 -0
- package/dist/components/1_atoms/LinkPreview/LinkPreview.vue2.js +32 -0
- package/dist/components/1_atoms/LoadingIndicator/LoadingIndicator.vue.js +23 -0
- package/dist/components/1_atoms/Tooltip/Tooltip.vue.js +7 -0
- package/dist/components/1_atoms/Tooltip/Tooltip.vue2.js +77 -0
- package/dist/components/1_icons/AvatarIcon.vue.js +42 -0
- package/dist/components/1_icons/CheckIcon.vue.js +28 -0
- package/dist/components/1_icons/CloseButtonIcon.vue.js +21 -0
- package/dist/components/1_icons/ContactCRMIcon.vue.js +21 -0
- package/dist/components/1_icons/MenuIcon.vue.js +21 -0
- package/dist/components/1_icons/SearchIcon.vue.js +28 -0
- package/dist/components/1_icons/SettingsIcon.vue.js +18 -0
- package/dist/components/1_icons/TelegramIcon.vue.js +32 -0
- package/dist/components/1_icons/WhatsAppIcon.vue.js +32 -0
- package/dist/components/2_blocks/CommunicationPanel/CommunicationPanel.vue.js +307 -0
- package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationActions.js +83 -0
- package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationAttributes.js +60 -0
- package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationChannels.js +70 -0
- package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationDialogSync.js +36 -0
- package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationMenu.js +37 -0
- package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationSubMenu.js +69 -0
- package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelMaxIcon.vue.js +18 -0
- package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelPhoneIcon.vue.js +23 -0
- package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelSMSIcon.vue.js +21 -0
- package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelSubmenuMaxIcon.vue.js +34 -0
- package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelSubmenuPhoneIcon.vue.js +32 -0
- package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelSubmenuSMSIcon.vue.js +21 -0
- package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelSubmenuTelegramIcon.vue.js +18 -0
- package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelSubmenuWhatsAppIcon.vue.js +32 -0
- package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelTelegramIcon.vue.js +32 -0
- package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelWhatsAppIcon.vue.js +18 -0
- package/dist/components/2_blocks/FeedFoundItem/FeedFoundItem.vue.js +7 -0
- package/dist/components/2_blocks/FeedFoundItem/FeedFoundItem.vue2.js +61 -0
- package/dist/components/2_blocks/FeedFoundObjects/FeedFoundObjects.vue.js +7 -0
- package/dist/components/2_blocks/FeedFoundObjects/FeedFoundObjects.vue2.js +58 -0
- package/dist/components/2_blocks/FeedSearch/FeedSearch.vue.js +7 -0
- package/dist/components/2_blocks/FeedSearch/FeedSearch.vue2.js +68 -0
- package/dist/components/2_chatinput_elements/ButtonCommandsSelector/ButtonCommandsSelector.vue.js +7 -0
- package/dist/components/2_chatinput_elements/ButtonCommandsSelector/ButtonCommandsSelector.vue2.js +70 -0
- package/dist/components/2_chatinput_elements/ButtonEmojiPicker/ButtonEmojiPicker.vue.js +106 -0
- package/dist/components/2_chatinput_elements/ButtonEmojiPicker/icons/SmilesIcon.vue.js +18 -0
- package/dist/components/2_chatinput_elements/ButtonTemplateSelector/ButtonTemplateSelector.vue.js +105 -0
- package/dist/components/2_chatinput_elements/ButtonTemplateSelector/icons/ChatTemplatesIcon.vue.js +25 -0
- package/dist/components/2_chatinput_elements/ButtonWabaTemplateSelector/ButtonWabaTemplateSelector.vue.js +98 -0
- package/dist/components/2_chatinput_elements/FilePreview/FilePreview.vue.js +7 -0
- package/dist/components/2_chatinput_elements/FilePreview/FilePreview.vue2.js +157 -0
- package/dist/components/2_chatinput_elements/FileUploader/FileUploader.vue.js +7 -0
- package/dist/components/2_chatinput_elements/FileUploader/FileUploader.vue2.js +105 -0
- package/dist/components/2_chatinput_elements/FileUploader/icons/FileUploaderIcon.vue.js +21 -0
- package/dist/components/2_chatinput_elements/PlaceholderComponent/PlaceholderComponent.vue.js +66 -0
- package/dist/components/2_chatinput_elements/TemplateSelector/TemplateSelector.vue.js +206 -0
- package/dist/components/2_chatinput_elements/TextFormatToolbar/TextFormatToolbar.vue.js +7 -0
- package/dist/components/2_chatinput_elements/TextFormatToolbar/TextFormatToolbar.vue2.js +210 -0
- package/dist/components/2_chatinput_elements/WABAAttachmentSection/WABAAttachmentSection.vue.js +7 -0
- package/dist/components/2_chatinput_elements/WABAAttachmentSection/WABAAttachmentSection.vue2.js +126 -0
- package/dist/components/2_chatinput_elements/WABAQuickReplyButtons/WABAQuickReplyButtons.vue.js +7 -0
- package/dist/components/2_chatinput_elements/WABAQuickReplyButtons/WABAQuickReplyButtons.vue2.js +38 -0
- package/dist/components/2_chatinput_elements/WABASeparatedQuickButtons/WABASeparatedQuickButtons.vue.js +7 -0
- package/dist/components/2_chatinput_elements/WABASeparatedQuickButtons/WABASeparatedQuickButtons.vue2.js +41 -0
- package/dist/components/2_chatinput_elements/WABATemplateSelector/WABATemplateSelector.vue.js +281 -0
- package/dist/components/2_chatlist_elements/ChatFilter/ChatFilter.vue.js +49 -0
- package/dist/components/2_chatlist_elements/ChatItem/ChatItem.vue.js +7 -0
- package/dist/components/2_chatlist_elements/ChatItem/ChatItem.vue2.js +193 -0
- package/dist/components/2_chatlist_elements/ChatTabs/ChatTabs.vue.js +37 -0
- package/dist/components/2_elements/AudioRecorder/AudioRecorder.vue.js +7 -0
- package/dist/components/2_elements/AudioRecorder/AudioRecorder.vue2.js +116 -0
- package/dist/components/2_elements/ChannelSelector/ChannelSelector.vue.js +73 -0
- package/dist/components/2_elements/ChatInfo/ChatInfo.vue.js +93 -0
- package/dist/components/2_elements/ChatPanel/ChatPanel.vue.js +47 -0
- package/dist/components/2_elements/ContactInfo/ContactInfo.vue.js +158 -0
- package/dist/components/2_elements/ThemeMode/ThemeMode.vue.js +49 -0
- package/dist/components/2_elements/UserProfile/UserProfile.vue.js +39 -0
- package/dist/components/2_elements/VideoRecorder/VideoRecorder.vue.js +7 -0
- package/dist/components/2_elements/VideoRecorder/VideoRecorder.vue2.js +94 -0
- package/dist/components/2_feed_elements/AudioMessage/AudioMessage.vue.js +7 -0
- package/dist/components/2_feed_elements/AudioMessage/AudioMessage.vue2.js +380 -0
- package/dist/components/2_feed_elements/BaseReplyMessage/BaseReplyMessage.vue.js +7 -0
- package/dist/components/2_feed_elements/BaseReplyMessage/BaseReplyMessage.vue2.js +57 -0
- package/dist/components/2_feed_elements/CallMessage/CallMessage.vue.js +7 -0
- package/dist/components/2_feed_elements/CallMessage/CallMessage.vue2.js +476 -0
- package/dist/components/2_feed_elements/CallMessage/icons/IncomingCallIcon.vue.js +26 -0
- package/dist/components/2_feed_elements/CallMessage/icons/IncomingCallIcon.vue2.js +4 -0
- package/dist/components/2_feed_elements/CallMessage/icons/OutgoingCallIcon.vue.js +26 -0
- package/dist/components/2_feed_elements/CallMessage/icons/OutgoingCallIcon.vue2.js +4 -0
- package/dist/components/2_feed_elements/DateMessage/DateMessage.vue.js +7 -0
- package/dist/components/2_feed_elements/DateMessage/DateMessage.vue2.js +20 -0
- package/dist/components/2_feed_elements/DateMessageSticky/DateMessageSticky.vue.js +7 -0
- package/dist/components/2_feed_elements/DateMessageSticky/DateMessageSticky.vue2.js +18 -0
- package/dist/components/2_feed_elements/FeedKeyboard/FeedKeyboard.vue.js +7 -0
- package/dist/components/2_feed_elements/FeedKeyboard/FeedKeyboard.vue2.js +42 -0
- package/dist/components/2_feed_elements/FileMessage/FileMessage.vue.js +7 -0
- package/dist/components/2_feed_elements/FileMessage/FileMessage.vue2.js +204 -0
- package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue.js +7 -0
- package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue2.js +266 -0
- package/dist/components/2_feed_elements/MessageKeyboard/MessageKeyboard.vue.js +7 -0
- package/dist/components/2_feed_elements/MessageKeyboard/MessageKeyboard.vue2.js +46 -0
- package/dist/components/2_feed_elements/MessageReactions/MessageReactions.vue.js +7 -0
- package/dist/components/2_feed_elements/MessageReactions/MessageReactions.vue2.js +161 -0
- package/dist/components/2_feed_elements/MessageReactions/composables/usePositioning.js +104 -0
- package/dist/components/2_feed_elements/MessageReactions/composables/useReactions.js +30 -0
- package/dist/components/2_feed_elements/MessageReactions/composables/useReactionsPanel.js +90 -0
- package/dist/components/2_feed_elements/MessageReactions/composables/useReactionsState.js +32 -0
- package/dist/components/2_feed_elements/MessageReactions/utils/quickReactions.js +17 -0
- package/dist/components/2_feed_elements/MessageStatusIndicator/MessageStatusIndicator.vue.js +73 -0
- package/dist/components/2_feed_elements/MessageStatusIndicator/MessageStatusIndicator.vue2.js +4 -0
- package/dist/components/2_feed_elements/ReplyAudioMessage/ReplyAudioMessage.vue.js +7 -0
- package/dist/components/2_feed_elements/ReplyAudioMessage/ReplyAudioMessage.vue2.js +39 -0
- package/dist/components/2_feed_elements/ReplyCallMessage/ReplyCallMessage.vue.js +7 -0
- package/dist/components/2_feed_elements/ReplyCallMessage/ReplyCallMessage.vue2.js +35 -0
- package/dist/components/2_feed_elements/ReplyFileMessage/ReplyFileMessage.vue.js +7 -0
- package/dist/components/2_feed_elements/ReplyFileMessage/ReplyFileMessage.vue2.js +46 -0
- package/dist/components/2_feed_elements/ReplyImageMessage/ReplyImageMessage.vue.js +7 -0
- package/dist/components/2_feed_elements/ReplyImageMessage/ReplyImageMessage.vue2.js +71 -0
- package/dist/components/2_feed_elements/ReplyStickerMessage/ReplyStickerMessage.vue.js +7 -0
- package/dist/components/2_feed_elements/ReplyStickerMessage/ReplyStickerMessage.vue2.js +119 -0
- package/dist/components/2_feed_elements/ReplyTextMessage/ReplyTextMessage.vue.js +7 -0
- package/dist/components/2_feed_elements/ReplyTextMessage/ReplyTextMessage.vue2.js +27 -0
- package/dist/components/2_feed_elements/ReplyVideoMessage/ReplyVideoMessage.vue.js +7 -0
- package/dist/components/2_feed_elements/ReplyVideoMessage/ReplyVideoMessage.vue2.js +75 -0
- package/dist/components/2_feed_elements/SplashScreen/SplashScreen.vue.js +7 -0
- package/dist/components/2_feed_elements/SplashScreen/SplashScreen.vue2.js +23 -0
- package/dist/components/2_feed_elements/StickerMessage/StickerMessage.vue.js +7 -0
- package/dist/components/2_feed_elements/StickerMessage/StickerMessage.vue2.js +258 -0
- package/dist/components/2_feed_elements/StickerMessage/libs/tgs-player/lottie-player.esm.js +6469 -0
- package/dist/components/2_feed_elements/StickerMessage/libs/tgs-player/tgs-player.esm.js +7216 -0
- package/dist/components/2_feed_elements/StickerMessage/utils/stickerUtils.js +10 -0
- package/dist/components/2_feed_elements/StickerMessage/utils/suppress-lit-warning.js +21 -0
- package/dist/components/2_feed_elements/SystemMessage/SystemMessage.vue.js +7 -0
- package/dist/components/2_feed_elements/SystemMessage/SystemMessage.vue2.js +18 -0
- package/dist/components/2_feed_elements/TextMessage/TextMessage.vue.js +7 -0
- package/dist/components/2_feed_elements/TextMessage/TextMessage.vue2.js +174 -0
- package/dist/components/2_feed_elements/TypingMessage/TypingMessage.vue.js +7 -0
- package/dist/components/2_feed_elements/TypingMessage/TypingMessage.vue2.js +32 -0
- package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue.js +7 -0
- package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue2.js +286 -0
- package/dist/{CreateChat-C4y1ddK_.js → components/2_modals/CreateChat/CreateChat.vue.js} +8 -7
- package/dist/components/2_modals/CreateChat/CreateChat.vue2.js +1 -0
- package/dist/{CreateChat2-Oy9JaaRC.js → components/2_modals/CreateChat2/CreateChat2.vue.js} +4 -3
- package/dist/{CreateDialog-DacwclUe.js → components/2_modals/CreateDialog/CreateDialog.vue.js} +12 -11
- package/dist/components/2_modals/Modal/Modal.vue.js +69 -0
- package/dist/components/2_modals/ModalFullscreen/ModalFullscreen.vue.js +46 -0
- package/dist/components/2_modals/ModalNoFooter/ModalNoFooter.vue.js +43 -0
- package/dist/components/2_modals/ModalVideoRecorder/ModalVideoRecorder.vue.js +7 -0
- package/dist/{ModalVideoRecorder-BkPr4JP7.js → components/2_modals/ModalVideoRecorder/ModalVideoRecorder.vue2.js} +48 -49
- package/dist/components/2_modals/SelectUser/SelectUser.vue.js +63 -0
- package/dist/{SelectUser2-kaPAmxhi.js → components/2_modals/SelectUser2/SelectUser2.vue.js} +4 -3
- package/dist/components/3_compounds/ChatInput/ChatInput.vue.js +7 -0
- package/dist/components/3_compounds/ChatInput/ChatInput.vue2.js +192 -0
- package/dist/components/3_compounds/ChatInput/icons/SendIcon.vue.js +35 -0
- package/dist/components/3_compounds/ChatInput/icons/SendIcon.vue2.js +4 -0
- package/dist/components/3_compounds/ChatList/ChatList.vue.js +195 -0
- package/dist/components/3_compounds/ChatList/ChatListHeader.vue.js +27 -0
- package/dist/components/3_compounds/ChatList/composables/useChatListActions.js +16 -0
- package/dist/components/3_compounds/ChatList/composables/useChatListFilter.js +27 -0
- package/dist/components/3_compounds/ChatList/composables/useChatListScroll.js +47 -0
- package/dist/components/3_compounds/ChatList/composables/useChatListSelection.js +28 -0
- package/dist/components/3_compounds/Feed/Feed.vue.js +7 -0
- package/dist/components/3_compounds/Feed/Feed.vue2.js +295 -0
- package/dist/components/3_compounds/Feed/assets/chat-background.svg.js +7 -0
- package/dist/components/3_compounds/Feed/composables/useFeedButton.js +17 -0
- package/dist/components/3_compounds/Feed/composables/useFeedComponents.js +29 -0
- package/dist/components/3_compounds/Feed/composables/useFeedGrouping.js +15 -0
- package/dist/components/3_compounds/Feed/composables/useFeedKeyboard.js +15 -0
- package/dist/components/3_compounds/Feed/composables/useFeedLoadMore.js +62 -0
- package/dist/components/3_compounds/Feed/composables/useFeedMessageVisibility.js +33 -0
- package/dist/components/3_compounds/Feed/composables/useFeedReply.js +42 -0
- package/dist/components/3_compounds/Feed/composables/useFeedScroll.js +63 -0
- package/dist/components/3_compounds/Feed/composables/useFeedScrollTo.js +18 -0
- package/dist/components/3_compounds/Feed/composables/useStickyDate.js +61 -0
- package/dist/components/3_compounds/Feed/functions/throttle.js +11 -0
- package/dist/components/3_compounds/SideBar/SideBar.vue.js +190 -0
- package/dist/components/4_layouts/AdaptiveExtendedLayout/AdaptiveExtendedLayout.vue.js +63 -0
- package/dist/components/4_layouts/BaseLayout/BaseLayout.vue.js +18 -0
- package/dist/components/4_layouts/ChatWrapper/ChatWrapper.vue.js +7 -0
- package/dist/components/4_layouts/ChatWrapper/ChatWrapper.vue2.js +53 -0
- package/dist/components/4_layouts/ExtendedLayout/ExtendedLayout.vue.js +21 -0
- package/dist/components/4_layouts/FeedLayout/FeedLayout.vue.js +15 -0
- package/dist/components/5_containers/BaseContainer/BaseContainer.vue.js +33 -0
- package/dist/components/5_containers/FloatContainer/FloatContainer.vue.js +104 -0
- package/dist/functions/createReactionHandlers.js +19 -0
- package/dist/functions/formatTimestamp.js +8 -0
- package/dist/functions/getChannelAccentColor.js +30 -0
- package/dist/functions/getMessageClass.js +6 -0
- package/dist/functions/getStatusMessage.js +42 -0
- package/dist/functions/insertDaySeparators.js +24 -0
- package/dist/functions/parseMarkdown.js +18 -0
- package/dist/functions/playNotificationAudio.js +13 -0
- package/dist/functions/sortByTimestamp.js +4 -0
- package/dist/hooks/messages/useChannelAccentColor.js +29 -0
- package/dist/hooks/messages/useMessageActions.js +28 -0
- package/dist/hooks/messages/useMessageLinks.js +48 -0
- package/dist/hooks/messages/useSubtextTooltip.js +12 -0
- package/dist/hooks/modals/useCreateChat.js +19 -0
- package/dist/hooks/modals/useCreateChat2.js +16 -0
- package/dist/hooks/modals/useCreateDialog.js +20 -0
- package/dist/hooks/modals/useModal.js +41 -0
- package/dist/hooks/modals/useModalSelectUser2.js +20 -0
- package/dist/hooks/modals/useVideoRecorder.js +14 -0
- package/dist/hooks/uploadFile/generatePreview.js +20 -0
- package/dist/hooks/uploadFile/getTypeFileByMime.js +7 -0
- package/dist/hooks/uploadFile/uploadFile.js +28 -0
- package/dist/hooks/useDelayDebouncedRef.js +18 -0
- package/dist/hooks/useImmediateDebouncedRef.js +18 -0
- package/dist/hooks/useMessageDraft.js +87 -0
- package/dist/hooks/useSearchModel.js +11 -0
- package/dist/hooks/useTheme.js +11 -0
- package/dist/hooks/validators/chats/chatValidator.js +79 -0
- package/dist/hooks/validators/chats/useChatValidator.js +82 -0
- package/dist/hooks/validators/messages/messageValidator.js +84 -0
- package/dist/hooks/validators/messages/useMessageValidator.js +82 -0
- package/dist/hooks/validators/sidebar/sidebarValidator.js +47 -0
- package/dist/hooks/validators/sidebar/useSidebarValidator.js +82 -0
- package/dist/hooks/validators/useValidation.js +94 -0
- package/dist/index.js +239 -0
- package/dist/locale/en.js +22 -0
- package/dist/locale/ru.js +22 -0
- package/dist/locale/useLocale.js +34 -0
- package/dist/node_modules/entities/lib/esm/decode.js +278 -0
- package/dist/node_modules/entities/lib/esm/decode_codepoint.js +46 -0
- package/dist/node_modules/entities/lib/esm/generated/decode-data-html.js +7 -0
- package/dist/node_modules/entities/lib/esm/generated/decode-data-xml.js +7 -0
- package/dist/node_modules/linkify-it/index.js +187 -0
- package/dist/node_modules/linkify-it/lib/re.js +19 -0
- package/dist/node_modules/linkify-string/dist/linkify-string.js +41 -0
- package/dist/node_modules/linkifyjs/dist/linkify.js +679 -0
- package/dist/node_modules/markdown-it/lib/common/html_blocks.js +67 -0
- package/dist/node_modules/markdown-it/lib/common/html_re.js +5 -0
- package/dist/node_modules/markdown-it/lib/common/utils.js +169 -0
- package/dist/node_modules/markdown-it/lib/helpers/index.js +8 -0
- package/dist/node_modules/markdown-it/lib/helpers/parse_link_destination.js +44 -0
- package/dist/node_modules/markdown-it/lib/helpers/parse_link_label.js +21 -0
- package/dist/node_modules/markdown-it/lib/helpers/parse_link_title.js +37 -0
- package/dist/node_modules/markdown-it/lib/index.js +112 -0
- package/dist/node_modules/markdown-it/lib/parser_block.js +63 -0
- package/dist/node_modules/markdown-it/lib/parser_core.js +34 -0
- package/dist/node_modules/markdown-it/lib/parser_inline.js +96 -0
- package/dist/node_modules/markdown-it/lib/presets/commonmark.js +78 -0
- package/dist/node_modules/markdown-it/lib/presets/default.js +40 -0
- package/dist/node_modules/markdown-it/lib/presets/zero.js +59 -0
- package/dist/node_modules/markdown-it/lib/renderer.js +127 -0
- package/dist/node_modules/markdown-it/lib/ruler.js +95 -0
- package/dist/node_modules/markdown-it/lib/rules_block/blockquote.js +59 -0
- package/dist/node_modules/markdown-it/lib/rules_block/code.js +23 -0
- package/dist/node_modules/markdown-it/lib/rules_block/fence.js +30 -0
- package/dist/node_modules/markdown-it/lib/rules_block/heading.js +28 -0
- package/dist/node_modules/markdown-it/lib/rules_block/hr.js +27 -0
- package/dist/node_modules/markdown-it/lib/rules_block/html_block.js +37 -0
- package/dist/node_modules/markdown-it/lib/rules_block/lheading.js +43 -0
- package/dist/node_modules/markdown-it/lib/rules_block/list.js +110 -0
- package/dist/node_modules/markdown-it/lib/rules_block/paragraph.js +25 -0
- package/dist/node_modules/markdown-it/lib/rules_block/reference.js +95 -0
- package/dist/node_modules/markdown-it/lib/rules_block/state_block.js +84 -0
- package/dist/node_modules/markdown-it/lib/rules_block/table.js +99 -0
- package/dist/node_modules/markdown-it/lib/rules_core/block.js +7 -0
- package/dist/node_modules/markdown-it/lib/rules_core/inline.js +10 -0
- package/dist/node_modules/markdown-it/lib/rules_core/linkify.js +57 -0
- package/dist/node_modules/markdown-it/lib/rules_core/normalize.js +9 -0
- package/dist/node_modules/markdown-it/lib/rules_core/replacements.js +31 -0
- package/dist/node_modules/markdown-it/lib/rules_core/smartquotes.js +80 -0
- package/dist/node_modules/markdown-it/lib/rules_core/state_core.js +8 -0
- package/dist/node_modules/markdown-it/lib/rules_core/text_join.js +16 -0
- package/dist/node_modules/markdown-it/lib/rules_inline/autolink.js +46 -0
- package/dist/node_modules/markdown-it/lib/rules_inline/backticks.js +31 -0
- package/dist/node_modules/markdown-it/lib/rules_inline/balance_pairs.js +34 -0
- package/dist/node_modules/markdown-it/lib/rules_inline/emphasis.js +57 -0
- package/dist/node_modules/markdown-it/lib/rules_inline/entity.js +33 -0
- package/dist/node_modules/markdown-it/lib/rules_inline/escape.js +32 -0
- package/dist/node_modules/markdown-it/lib/rules_inline/fragments_join.js +10 -0
- package/dist/node_modules/markdown-it/lib/rules_inline/html_inline.js +32 -0
- package/dist/node_modules/markdown-it/lib/rules_inline/image.js +48 -0
- package/dist/node_modules/markdown-it/lib/rules_inline/link.js +40 -0
- package/dist/node_modules/markdown-it/lib/rules_inline/linkify.js +28 -0
- package/dist/node_modules/markdown-it/lib/rules_inline/newline.js +23 -0
- package/dist/node_modules/markdown-it/lib/rules_inline/state_inline.js +27 -0
- package/dist/node_modules/markdown-it/lib/rules_inline/strikethrough.js +54 -0
- package/dist/node_modules/markdown-it/lib/rules_inline/text.js +39 -0
- package/dist/node_modules/markdown-it/lib/token.js +31 -0
- package/dist/node_modules/mdurl/index.js +10 -0
- package/dist/node_modules/mdurl/lib/decode.js +61 -0
- package/dist/node_modules/mdurl/lib/encode.js +48 -0
- package/dist/node_modules/mdurl/lib/format.js +7 -0
- package/dist/node_modules/mdurl/lib/parse.js +74 -0
- package/dist/node_modules/punycode.js/punycode.es6.js +139 -0
- package/dist/node_modules/uc.micro/categories/Cc/regex.js +4 -0
- package/dist/node_modules/uc.micro/categories/Cf/regex.js +4 -0
- package/dist/node_modules/uc.micro/categories/P/regex.js +4 -0
- package/dist/node_modules/uc.micro/categories/S/regex.js +4 -0
- package/dist/node_modules/uc.micro/categories/Z/regex.js +4 -0
- package/dist/node_modules/uc.micro/index.js +14 -0
- package/dist/node_modules/uc.micro/properties/Any/regex.js +4 -0
- package/dist/node_modules/vue3-emoji-picker-ru/dist/emoji-picker.es.js +16471 -0
- package/dist/themes/dark.css +1 -1
- package/dist/themes/default.css +1 -1
- package/dist/themes/green.css +1 -1
- package/dist/themes/mobilon1.css +1 -1
- package/dist/types/components/1_atoms/LoadingIndicator/LoadingIndicator.vue.d.ts +7 -0
- package/dist/types/components/1_atoms/LoadingIndicator/stories/LoadingIndicator.stories.d.ts +9 -0
- package/dist/types/components/1_atoms/LoadingIndicator/styles/types.d.ts +49 -0
- package/dist/types/components/1_icons/AvatarIcon.vue.d.ts +1 -1
- package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationChannels.d.ts +1 -1
- package/dist/types/components/2_blocks/FeedSearch/FeedSearch.vue.d.ts +2 -2
- package/dist/types/components/2_chatinput_elements/ButtonWabaTemplateSelector/ButtonWabaTemplateSelector.vue.d.ts +2 -2
- package/dist/types/components/2_chatinput_elements/PlaceholderComponent/PlaceholderComponent.vue.d.ts +2 -2
- package/dist/types/components/2_feed_elements/AudioMessage/AudioMessage.vue.d.ts +2 -2
- package/dist/types/components/2_feed_elements/BaseReplyMessage/BaseReplyMessage.vue.d.ts +2 -2
- package/dist/types/components/2_feed_elements/CallMessage/CallMessage.vue.d.ts +2 -2
- package/dist/types/components/2_feed_elements/FileMessage/FileMessage.vue.d.ts +2 -2
- package/dist/types/components/2_feed_elements/ImageMessage/ImageMessage.vue.d.ts +2 -2
- package/dist/types/components/2_feed_elements/ReplyStickerMessage/ReplyStickerMessage.vue.d.ts +1 -3
- package/dist/types/components/2_feed_elements/StickerMessage/StickerMessage.vue.d.ts +3 -5
- package/dist/types/components/2_feed_elements/StickerMessage/utils/stickerUtils.d.ts +19 -0
- package/dist/types/components/2_feed_elements/TextMessage/TextMessage.vue.d.ts +2 -2
- package/dist/types/components/2_feed_elements/VideoMessage/VideoMessage.vue.d.ts +2 -2
- package/dist/types/components/2_modals/CreateDialog/CreateDialog.vue.d.ts +2 -2
- package/dist/types/components/2_modals/CreateDialog/stories/CreateDialog.stories.d.ts +2 -2
- package/dist/types/components/3_compounds/ChatList/ChatList.vue.d.ts +3 -1
- package/dist/types/components/3_compounds/Feed/Feed.vue.d.ts +2 -2
- package/dist/types/main.d.ts +1 -1
- package/package.json +5 -5
- package/dist/index-BzAEsq7j.js +0 -43508
- package/dist/vuessages.es.js +0 -123
- package/dist/vuessages.umd.js +0 -624
- /package/dist/types/{utils → components/2_feed_elements/StickerMessage/utils}/suppress-lit-warning.d.ts +0 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { inject as p, ref as c, watch as g, onMounted as h, onUnmounted as v, createElementBlock as y, openBlock as w, withKeys as x, normalizeClass as k, unref as E, toDisplayString as F, nextTick as B } from "vue";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import _ from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const b = ["id"], I = {
|
|
5
|
+
__name: "PlaceholderComponent",
|
|
6
|
+
props: {
|
|
7
|
+
index: {
|
|
8
|
+
type: Number,
|
|
9
|
+
required: !0
|
|
10
|
+
},
|
|
11
|
+
value: {
|
|
12
|
+
type: String,
|
|
13
|
+
required: !0
|
|
14
|
+
},
|
|
15
|
+
isFilled: {
|
|
16
|
+
type: Boolean,
|
|
17
|
+
required: !0
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
emits: ["edit"],
|
|
21
|
+
setup(l, { emit: u }) {
|
|
22
|
+
const i = p("chatAppId"), e = l, s = u, n = c(e.value), r = c();
|
|
23
|
+
g(
|
|
24
|
+
() => e.isFilled,
|
|
25
|
+
() => {
|
|
26
|
+
e.isFilled || (n.value = "Заполнить");
|
|
27
|
+
},
|
|
28
|
+
{ immediate: !0 }
|
|
29
|
+
);
|
|
30
|
+
const f = (t) => {
|
|
31
|
+
if (!e.isFilled) {
|
|
32
|
+
n.value = "";
|
|
33
|
+
const o = window.getSelection();
|
|
34
|
+
o.getRangeAt && o.rangeCount && o.getRangeAt(0).selectNodeContents(t.target);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
function a() {
|
|
38
|
+
n.value = r.value.innerText.trim(), e.value != n.value && (n.value != "" ? s("edit", [n.value, e.index]) : e.isFilled ? B(() => {
|
|
39
|
+
n.value = e.value;
|
|
40
|
+
}) : n.value = "Заполнить");
|
|
41
|
+
}
|
|
42
|
+
function m(t) {
|
|
43
|
+
t.target.blur(), a();
|
|
44
|
+
}
|
|
45
|
+
function d(t) {
|
|
46
|
+
t.target == document.getElementById("placeholder" + i + e.index) && (t.key === "Escape" && t.target.blur(), t.key == "Tab" && (t.target.blur(), document.getElementById("placeholder" + i + (e.index + 1)) && (t.preventDefault(), document.getElementById("placeholder" + i + (e.index + 1)).focus())));
|
|
47
|
+
}
|
|
48
|
+
return h(() => {
|
|
49
|
+
window.addEventListener("keydown", d);
|
|
50
|
+
}), v(() => {
|
|
51
|
+
window.removeEventListener("keydown", d);
|
|
52
|
+
}), (t, o) => (w(), y("span", {
|
|
53
|
+
id: "placeholder" + E(i) + l.index,
|
|
54
|
+
ref_key: "refPlaceholder",
|
|
55
|
+
ref: r,
|
|
56
|
+
contenteditable: "",
|
|
57
|
+
class: k([{ filled: l.isFilled, empty: !l.isFilled }, "placeholder"]),
|
|
58
|
+
onKeydown: x(m, ["enter"]),
|
|
59
|
+
onFocus: f,
|
|
60
|
+
onBlur: a
|
|
61
|
+
}, F(n.value), 43, b));
|
|
62
|
+
}
|
|
63
|
+
}, K = /* @__PURE__ */ _(I, [["__scopeId", "data-v-558891d3"]]);
|
|
64
|
+
export {
|
|
65
|
+
K as default
|
|
66
|
+
};
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { inject as j, ref as c, computed as m, onMounted as G, unref as p, createElementBlock as o, openBlock as a, createElementVNode as e, normalizeClass as b, createCommentVNode as S, Fragment as V, renderList as x, withDirectives as E, vModelRadio as H, toDisplayString as w, vModelText as J, normalizeStyle as K } from "vue";
|
|
2
|
+
import { useMessageDraft as X } from "../../../hooks/useMessageDraft.js";
|
|
3
|
+
import "../../../hooks/useSearchModel.js";
|
|
4
|
+
import "../../../hooks/useTheme.js";
|
|
5
|
+
/* empty css */
|
|
6
|
+
import Y from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
7
|
+
/* empty css */
|
|
8
|
+
import "../../../node_modules/linkifyjs/dist/linkify.js";
|
|
9
|
+
import "../../../functions/parseMarkdown.js";
|
|
10
|
+
import Z from "../../3_compounds/Feed/assets/chat-background.svg.js";
|
|
11
|
+
/* empty css */
|
|
12
|
+
const ee = { class: "template-selector" }, te = ["id"], le = { style: { display: "flex" } }, se = { style: { display: "flex" } }, oe = {
|
|
13
|
+
key: 0,
|
|
14
|
+
class: "template-selector__button-close"
|
|
15
|
+
}, ae = {
|
|
16
|
+
key: 1,
|
|
17
|
+
class: "template-selector__button-close"
|
|
18
|
+
}, re = { class: "template-selector__button-close" }, ce = { class: "template-selector__layout" }, ne = ["id"], ie = { class: "template-selector__list-groups" }, pe = { class: "template-selector__label-group" }, de = ["src", "alt"], ue = ["id", "value"], me = ["id"], _e = { class: "template-selector__searching-container" }, ve = { class: "template-selector__templates" }, fe = {
|
|
19
|
+
key: 0,
|
|
20
|
+
class: "template-selector__list-templates"
|
|
21
|
+
}, he = ["onClick"], ye = { class: "template-selector__item-template-info" }, ge = { class: "template-selector__item-title" }, we = { class: "template-selector__item-text" }, ke = {
|
|
22
|
+
key: 1,
|
|
23
|
+
class: "template-selector__plug"
|
|
24
|
+
}, Ce = ["id"], Te = {
|
|
25
|
+
key: 0,
|
|
26
|
+
class: "template-selector__preview"
|
|
27
|
+
}, be = { class: "template-selector__preview-wrapper" }, Se = { class: "template-selector__preview-text" }, Be = {
|
|
28
|
+
key: 1,
|
|
29
|
+
class: "template-selector__plug"
|
|
30
|
+
}, Ie = {
|
|
31
|
+
__name: "TemplateSelector",
|
|
32
|
+
props: {
|
|
33
|
+
templates: {
|
|
34
|
+
type: Array,
|
|
35
|
+
required: !1,
|
|
36
|
+
default: () => []
|
|
37
|
+
},
|
|
38
|
+
groupTemplates: {
|
|
39
|
+
type: Array,
|
|
40
|
+
required: !1,
|
|
41
|
+
default: () => []
|
|
42
|
+
},
|
|
43
|
+
elevatedWindow: {
|
|
44
|
+
type: Boolean,
|
|
45
|
+
required: !1,
|
|
46
|
+
default: !1
|
|
47
|
+
},
|
|
48
|
+
chatBackground: {
|
|
49
|
+
type: String,
|
|
50
|
+
default: void 0
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
emits: ["closeTemplateWindow", "pasteTemplate"],
|
|
54
|
+
setup(_, { emit: W }) {
|
|
55
|
+
const d = _, r = j("chatAppId"), { setMessageText: L } = X(r), M = () => {
|
|
56
|
+
R("closeTemplateWindow"), L(v.value.template);
|
|
57
|
+
}, R = W, u = c(null), v = c(null), k = c(""), C = c(), f = c(""), n = c(""), h = c(""), i = c(!1), U = m(() => d.chatBackground ?? `data:image/svg+xml;charset=utf-8,${encodeURIComponent(Z)}`), $ = m(() => !!(i.value && (h.value == "grid" && n.value == "none" || n.value == "grid" && f.value == "none"))), z = m(() => !!(i.value && (f.value == "grid" && n.value == "none" || n.value == "grid" && h.value == "none"))), A = () => {
|
|
58
|
+
i.value && (n.value == "grid" ? D() : h.value == "grid" && T());
|
|
59
|
+
}, q = () => {
|
|
60
|
+
i.value && (n.value == "grid" ? B() : f.value == "grid" && T());
|
|
61
|
+
}, D = () => {
|
|
62
|
+
const t = document.getElementById("template-selector-container-" + r);
|
|
63
|
+
t.style.setProperty("--chotto-template-first-col-display", "grid"), t.style.setProperty("--chotto-template-second-col-display", "none"), y();
|
|
64
|
+
}, B = () => {
|
|
65
|
+
const t = document.getElementById("template-selector-container-" + r);
|
|
66
|
+
t.style.setProperty("--chotto-template-third-col-display", "grid"), t.style.setProperty("--chotto-template-second-col-display", "none"), y();
|
|
67
|
+
}, T = () => {
|
|
68
|
+
const t = document.getElementById("template-selector-container-" + r);
|
|
69
|
+
t.style.setProperty("--chotto-template-second-col-display", "grid"), t.style.setProperty("--chotto-template-first-col-display", "none"), t.style.setProperty("--chotto-template-third-col-display", "none"), y();
|
|
70
|
+
}, y = () => {
|
|
71
|
+
const t = document.getElementById("template-selector-container-" + r), l = window.getComputedStyle(t);
|
|
72
|
+
f.value = l.getPropertyValue("--chotto-template-first-col-display"), n.value = l.getPropertyValue("--chotto-template-second-col-display"), h.value = l.getPropertyValue("--chotto-template-third-col-display");
|
|
73
|
+
}, F = (t) => {
|
|
74
|
+
d.templates.forEach((l) => l.isSelected = !1), t.isSelected = !0, v.value = t, B();
|
|
75
|
+
}, O = () => {
|
|
76
|
+
T(), d.templates.forEach((t) => t.isSelected = !1);
|
|
77
|
+
}, N = m(() => u.value ? d.templates.filter((t) => t.groupId === u.value.groupId) : d.templates), I = m(() => {
|
|
78
|
+
const t = k.value.trim().toLowerCase();
|
|
79
|
+
return N.value.filter((l) => l.title.toLowerCase().includes(t) || l.template.toLowerCase().includes(t));
|
|
80
|
+
}), Q = new ResizeObserver((t) => {
|
|
81
|
+
const l = t[0].target.clientWidth;
|
|
82
|
+
l > 700 && (i.value = !1), l < 700 && (i.value = !0);
|
|
83
|
+
});
|
|
84
|
+
return G(() => {
|
|
85
|
+
y(), p(C) && Q.observe(p(C));
|
|
86
|
+
}), (t, l) => (a(), o("div", ee, [
|
|
87
|
+
e("div", {
|
|
88
|
+
id: "template-selector-container-" + p(r),
|
|
89
|
+
ref_key: "refContainer",
|
|
90
|
+
ref: C,
|
|
91
|
+
class: b({
|
|
92
|
+
"template-selector__container-inline": !_.elevatedWindow,
|
|
93
|
+
"template-selector__container-elevated": _.elevatedWindow
|
|
94
|
+
})
|
|
95
|
+
}, [
|
|
96
|
+
e("div", le, [
|
|
97
|
+
e("div", se, [
|
|
98
|
+
$.value ? (a(), o("button", oe, [
|
|
99
|
+
e("span", {
|
|
100
|
+
class: "pi pi-arrow-left",
|
|
101
|
+
onClick: A
|
|
102
|
+
})
|
|
103
|
+
])) : S("", !0),
|
|
104
|
+
z.value ? (a(), o("button", ae, [
|
|
105
|
+
e("span", {
|
|
106
|
+
class: "pi pi-arrow-right",
|
|
107
|
+
onClick: q
|
|
108
|
+
})
|
|
109
|
+
])) : S("", !0)
|
|
110
|
+
]),
|
|
111
|
+
e("button", re, [
|
|
112
|
+
e("span", {
|
|
113
|
+
class: "pi pi-times",
|
|
114
|
+
onClick: l[0] || (l[0] = (s) => t.$emit("closeTemplateWindow"))
|
|
115
|
+
})
|
|
116
|
+
])
|
|
117
|
+
]),
|
|
118
|
+
e("div", ce, [
|
|
119
|
+
e("div", {
|
|
120
|
+
id: "template-selector-first-col-" + p(r),
|
|
121
|
+
class: "template-selector__first-col"
|
|
122
|
+
}, [
|
|
123
|
+
e("ul", ie, [
|
|
124
|
+
(a(!0), o(V, null, x(_.groupTemplates, (s, g) => (a(), o("li", {
|
|
125
|
+
key: g,
|
|
126
|
+
class: b(["template-selector__item-group", { "template-selector__item-selected": u.value === s }]),
|
|
127
|
+
onClick: O
|
|
128
|
+
}, [
|
|
129
|
+
e("label", pe, [
|
|
130
|
+
s.iconUrl ? (a(), o("img", {
|
|
131
|
+
key: 0,
|
|
132
|
+
class: "template-selector__item-group-icon",
|
|
133
|
+
src: s.iconUrl,
|
|
134
|
+
alt: s.title
|
|
135
|
+
}, null, 8, de)) : S("", !0),
|
|
136
|
+
E(e("input", {
|
|
137
|
+
id: g,
|
|
138
|
+
"onUpdate:modelValue": l[1] || (l[1] = (P) => u.value = P),
|
|
139
|
+
value: s,
|
|
140
|
+
class: "template-selector__input-group",
|
|
141
|
+
type: "radio"
|
|
142
|
+
}, null, 8, ue), [
|
|
143
|
+
[H, u.value]
|
|
144
|
+
]),
|
|
145
|
+
e("span", null, w(s.title), 1)
|
|
146
|
+
])
|
|
147
|
+
], 2))), 128))
|
|
148
|
+
])
|
|
149
|
+
], 8, ne),
|
|
150
|
+
e("div", {
|
|
151
|
+
id: "template-selector-second-col-" + p(r),
|
|
152
|
+
class: "template-selector__second-col"
|
|
153
|
+
}, [
|
|
154
|
+
e("div", _e, [
|
|
155
|
+
E(e("input", {
|
|
156
|
+
"onUpdate:modelValue": l[2] || (l[2] = (s) => k.value = s),
|
|
157
|
+
class: "template-selector__searching-input",
|
|
158
|
+
type: "text",
|
|
159
|
+
placeholder: "Поиск шаблона"
|
|
160
|
+
}, null, 512), [
|
|
161
|
+
[J, k.value]
|
|
162
|
+
])
|
|
163
|
+
]),
|
|
164
|
+
e("div", ve, [
|
|
165
|
+
I.value.length !== 0 ? (a(), o("ul", fe, [
|
|
166
|
+
(a(!0), o(V, null, x(I.value, (s, g) => (a(), o("li", {
|
|
167
|
+
key: g,
|
|
168
|
+
class: b(["template-selector__item-template", { "template-selector__item-selected": s.isSelected }]),
|
|
169
|
+
onClick: (P) => F(s)
|
|
170
|
+
}, [
|
|
171
|
+
e("div", ye, [
|
|
172
|
+
e("p", ge, w(s.title), 1),
|
|
173
|
+
e("p", we, w(s.template), 1)
|
|
174
|
+
])
|
|
175
|
+
], 10, he))), 128))
|
|
176
|
+
])) : (a(), o("p", ke, " Шаблоны отсутствуют "))
|
|
177
|
+
])
|
|
178
|
+
], 8, me),
|
|
179
|
+
e("div", {
|
|
180
|
+
id: "template-selector-third-col-" + p(r),
|
|
181
|
+
class: "template-selector__third-col"
|
|
182
|
+
}, [
|
|
183
|
+
e("div", {
|
|
184
|
+
class: "template-selector__preview-container",
|
|
185
|
+
style: K({ backgroundImage: `url(${U.value})` })
|
|
186
|
+
}, [
|
|
187
|
+
v.value ? (a(), o("div", Te, [
|
|
188
|
+
e("div", be, [
|
|
189
|
+
e("p", Se, w(v.value.template), 1),
|
|
190
|
+
l[3] || (l[3] = e("p", { class: "template-selector__preview-time" }, " 22:22 ", -1))
|
|
191
|
+
])
|
|
192
|
+
])) : (a(), o("p", Be, " Предпросмотр шаблона "))
|
|
193
|
+
], 4),
|
|
194
|
+
e("button", {
|
|
195
|
+
class: "template-selector__button-paste",
|
|
196
|
+
onClick: M
|
|
197
|
+
}, " Вставить ")
|
|
198
|
+
], 8, Ce)
|
|
199
|
+
])
|
|
200
|
+
], 10, te)
|
|
201
|
+
]));
|
|
202
|
+
}
|
|
203
|
+
}, Ae = /* @__PURE__ */ Y(Ie, [["__scopeId", "data-v-23622175"]]);
|
|
204
|
+
export {
|
|
205
|
+
Ae as default
|
|
206
|
+
};
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { defineComponent as N, inject as O, ref as c, watch as U, onMounted as W, onUnmounted as X, createBlock as P, openBlock as z, Teleport as Q, createVNode as D, Transition as G, withCtx as J, createElementBlock as K, createCommentVNode as Z, normalizeStyle as ee, unref as u, createElementVNode as o, nextTick as te } from "vue";
|
|
2
|
+
import "../../../hooks/useMessageDraft.js";
|
|
3
|
+
import "../../../hooks/useSearchModel.js";
|
|
4
|
+
import { useTheme as oe } from "../../../hooks/useTheme.js";
|
|
5
|
+
/* empty css */
|
|
6
|
+
/* empty css */
|
|
7
|
+
import "../../../node_modules/linkifyjs/dist/linkify.js";
|
|
8
|
+
import "../../../functions/parseMarkdown.js";
|
|
9
|
+
import { t as f } from "../../../locale/useLocale.js";
|
|
10
|
+
const ne = ["data-theme"], ie = ["title"], se = ["title"], re = ["title"], le = ["title"], ae = ["title"], ue = ["title"], Me = /* @__PURE__ */ N({
|
|
11
|
+
__name: "TextFormatToolbar",
|
|
12
|
+
props: {
|
|
13
|
+
textarea: {
|
|
14
|
+
type: Object,
|
|
15
|
+
default: null
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
emits: ["format-applied"],
|
|
19
|
+
setup(H, { emit: R }) {
|
|
20
|
+
const m = H, F = R, A = O("chatAppId"), { getTheme: k } = oe(A), x = c(), h = c(!1), q = c({ top: "0px", left: "0px" }), S = c(""), $ = c(0), y = c(0);
|
|
21
|
+
let b = !1, a = null, i = null, B = 0, T = 0;
|
|
22
|
+
const V = {
|
|
23
|
+
bold: { prefix: "**", suffix: "**" },
|
|
24
|
+
italic: { prefix: "*", suffix: "*" },
|
|
25
|
+
underline: { prefix: "<u>", suffix: "</u>" },
|
|
26
|
+
strikethrough: { prefix: "~~", suffix: "~~" },
|
|
27
|
+
code: { prefix: "`", suffix: "`" },
|
|
28
|
+
quote: { prefix: "> ", suffix: "" }
|
|
29
|
+
}, g = (t) => {
|
|
30
|
+
B = t.clientX, T = t.clientY;
|
|
31
|
+
}, r = () => {
|
|
32
|
+
const t = i || m.textarea;
|
|
33
|
+
if (!t)
|
|
34
|
+
return;
|
|
35
|
+
const e = t.selectionStart, n = t.selectionEnd;
|
|
36
|
+
if (e === n) {
|
|
37
|
+
w();
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const s = t.value.substring(e, n);
|
|
41
|
+
s.trim().length > 0 ? (S.value = s, $.value = e, y.value = n, Y(), h.value = !0, a && (clearTimeout(a), a = null)) : w();
|
|
42
|
+
}, M = () => {
|
|
43
|
+
const t = i || m.textarea;
|
|
44
|
+
!t || document.activeElement !== t || r();
|
|
45
|
+
}, _ = (t) => {
|
|
46
|
+
i && (i.removeEventListener("mouseup", r), i.removeEventListener("keyup", r), i.removeEventListener("select", r), i.removeEventListener("mousemove", g)), document.removeEventListener("selectionchange", M), t ? (i = t, t.addEventListener("mouseup", r), t.addEventListener("keyup", r), t.addEventListener("select", r), t.addEventListener("mousemove", g), document.addEventListener("selectionchange", M)) : i = null;
|
|
47
|
+
}, Y = () => {
|
|
48
|
+
te(() => {
|
|
49
|
+
if (!x.value) return;
|
|
50
|
+
const t = x.value.getBoundingClientRect(), e = window.innerWidth, n = window.innerHeight;
|
|
51
|
+
let s = B - t.width / 2, l = T - t.height - 10;
|
|
52
|
+
s < 10 ? s = 10 : s + t.width > e - 10 && (s = e - t.width - 10), l < 10 ? l = T + 20 : l + t.height > n - 10 && (l = n - t.height - 10), q.value = {
|
|
53
|
+
top: `${l}px`,
|
|
54
|
+
left: `${s}px`
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
}, d = (t) => {
|
|
58
|
+
const e = m.textarea;
|
|
59
|
+
if (!e) return;
|
|
60
|
+
const n = V[t];
|
|
61
|
+
if (!n) return;
|
|
62
|
+
const s = e.value, l = $.value, p = y.value, C = s.substring(l, p);
|
|
63
|
+
let v, L;
|
|
64
|
+
t === "quote" ? (v = C.split(`
|
|
65
|
+
`).map(
|
|
66
|
+
(E) => E.trim() ? `${n.prefix}${E}${n.suffix}` : E
|
|
67
|
+
).join(`
|
|
68
|
+
`), L = s.substring(0, l) + v + s.substring(p)) : (v = `${n.prefix}${C}${n.suffix}`, L = s.substring(0, l) + v + s.substring(p)), F("format-applied", {
|
|
69
|
+
format: t,
|
|
70
|
+
selectedText: C,
|
|
71
|
+
start: l,
|
|
72
|
+
end: p,
|
|
73
|
+
newText: L
|
|
74
|
+
}), setTimeout(() => {
|
|
75
|
+
r();
|
|
76
|
+
}, 10);
|
|
77
|
+
}, w = () => {
|
|
78
|
+
b || (h.value = !1);
|
|
79
|
+
}, j = () => {
|
|
80
|
+
b = !0, a && (clearTimeout(a), a = null);
|
|
81
|
+
}, I = () => {
|
|
82
|
+
b = !1, a = setTimeout(() => {
|
|
83
|
+
w();
|
|
84
|
+
}, 200);
|
|
85
|
+
};
|
|
86
|
+
return U(() => m.textarea, (t, e) => {
|
|
87
|
+
t !== e && _(t);
|
|
88
|
+
}, { immediate: !0 }), W(() => {
|
|
89
|
+
m.textarea && _(m.textarea);
|
|
90
|
+
}), X(() => {
|
|
91
|
+
i && (i.removeEventListener("mouseup", r), i.removeEventListener("keyup", r), i.removeEventListener("select", r), i.removeEventListener("mousemove", g)), document.removeEventListener("selectionchange", M), a && clearTimeout(a);
|
|
92
|
+
}), (t, e) => (z(), P(Q, { to: "body" }, [
|
|
93
|
+
D(G, { name: "fade" }, {
|
|
94
|
+
default: J(() => [
|
|
95
|
+
h.value ? (z(), K("div", {
|
|
96
|
+
key: 0,
|
|
97
|
+
ref_key: "toolbarRef",
|
|
98
|
+
ref: x,
|
|
99
|
+
"data-theme": u(k)().theme ? u(k)().theme : "light",
|
|
100
|
+
class: "text-format-toolbar",
|
|
101
|
+
style: ee(q.value),
|
|
102
|
+
onMouseenter: j,
|
|
103
|
+
onMouseleave: I
|
|
104
|
+
}, [
|
|
105
|
+
o("button", {
|
|
106
|
+
class: "text-format-toolbar__button",
|
|
107
|
+
title: u(f)("component.TextFormatToolbar.Bold"),
|
|
108
|
+
onClick: e[0] || (e[0] = (n) => d("bold"))
|
|
109
|
+
}, [...e[6] || (e[6] = [
|
|
110
|
+
o("svg", {
|
|
111
|
+
viewBox: "0 0 24 24",
|
|
112
|
+
width: "20",
|
|
113
|
+
preserveAspectRatio: "xMidYMid meet",
|
|
114
|
+
class: "",
|
|
115
|
+
fill: "currentColor"
|
|
116
|
+
}, [
|
|
117
|
+
o("path", { d: "M6.8 19V5h5.525q1.624 0 3 1T16.7 8.775q0 1.275-.575 1.963-.575.687-1.075.987.626.275 1.387 1.025.763.75.763 2.25 0 2.224-1.625 3.113-1.625.887-3.05.887zm3.025-2.8h2.6q1.2 0 1.462-.612.263-.614.263-.888 0-.275-.263-.887-.262-.613-1.537-.613H9.825zm0-5.7h2.325q.825 0 1.2-.425a1.4 1.4 0 0 0 .375-.95q0-.6-.425-.975t-1.1-.375H9.825z" })
|
|
118
|
+
], -1)
|
|
119
|
+
])], 8, ie),
|
|
120
|
+
o("button", {
|
|
121
|
+
class: "text-format-toolbar__button",
|
|
122
|
+
title: u(f)("component.TextFormatToolbar.Italic"),
|
|
123
|
+
onClick: e[1] || (e[1] = (n) => d("italic"))
|
|
124
|
+
}, [...e[7] || (e[7] = [
|
|
125
|
+
o("svg", {
|
|
126
|
+
viewBox: "0 0 24 24",
|
|
127
|
+
width: "20",
|
|
128
|
+
preserveAspectRatio: "xMidYMid meet",
|
|
129
|
+
class: "",
|
|
130
|
+
fill: "currentColor"
|
|
131
|
+
}, [
|
|
132
|
+
o("path", { d: "M5 19v-2.5h4l3-9H8V5h10v2.5h-3.5l-3 9H15V19z" })
|
|
133
|
+
], -1)
|
|
134
|
+
])], 8, se),
|
|
135
|
+
o("button", {
|
|
136
|
+
class: "text-format-toolbar__button",
|
|
137
|
+
title: u(f)("component.TextFormatToolbar.Underline"),
|
|
138
|
+
onClick: e[2] || (e[2] = (n) => d("underline"))
|
|
139
|
+
}, [...e[8] || (e[8] = [
|
|
140
|
+
o("svg", {
|
|
141
|
+
viewBox: "0 0 512 512",
|
|
142
|
+
width: "13",
|
|
143
|
+
height: "13",
|
|
144
|
+
preserveAspectRatio: "xMidYMid meet",
|
|
145
|
+
class: "",
|
|
146
|
+
fill: "currentColor"
|
|
147
|
+
}, [
|
|
148
|
+
o("rect", {
|
|
149
|
+
x: "16.65",
|
|
150
|
+
y: "443.317",
|
|
151
|
+
width: "478.699",
|
|
152
|
+
height: "68.683"
|
|
153
|
+
}),
|
|
154
|
+
o("path", { d: `M303.383,0h-94L87.689,376.715h88.041l21.225-72.846H315.81l21.496,72.846h88.043L303.383,0z M216.38,235.187
|
|
155
|
+
l39.103-133.203h1.544l39.362,133.203H216.38z` })
|
|
156
|
+
], -1)
|
|
157
|
+
])], 8, re),
|
|
158
|
+
o("button", {
|
|
159
|
+
class: "text-format-toolbar__button",
|
|
160
|
+
title: u(f)("component.TextFormatToolbar.Strikethrough"),
|
|
161
|
+
onClick: e[3] || (e[3] = (n) => d("strikethrough"))
|
|
162
|
+
}, [...e[9] || (e[9] = [
|
|
163
|
+
o("svg", {
|
|
164
|
+
viewBox: "0 0 24 24",
|
|
165
|
+
width: "20",
|
|
166
|
+
preserveAspectRatio: "xMidYMid meet",
|
|
167
|
+
class: "",
|
|
168
|
+
fill: "currentColor"
|
|
169
|
+
}, [
|
|
170
|
+
o("path", { d: "M13.99 15.27q0-.83-.586-1.27-.585-.45-2.11-.937L11.107 13H4v-2h16v2h-3.76q.69.96.69 2.25 0 1.845-1.397 2.9-1.396 1.045-3.76 1.045-1.64 0-2.988-.595-1.347-.606-2.06-1.65a4 4 0 0 1-.472-.951l2.451-.98c.145.303.363.651.667.962l.014.019h.004a2.87 2.87 0 0 0 1.971.867q.199.014.413.014 1.045 0 1.631-.42.586-.43.586-1.191M10.548 10h-3.79a3.5 3.5 0 0 1-.297-1.44q0-1.152.644-2.05.655-.909 1.866-1.416 1.22-.508 2.734-.508 1.523 0 2.715.557 1.191.546 1.846 1.552.26.394.418.831l-2.492.997C13.85 7.823 13 7 11.656 6.92q-1.074 0-1.67.459a1.42 1.42 0 0 0-.595 1.191q0 .694.693 1.162.204.136.464.268" })
|
|
171
|
+
], -1)
|
|
172
|
+
])], 8, le),
|
|
173
|
+
o("button", {
|
|
174
|
+
class: "text-format-toolbar__button",
|
|
175
|
+
title: u(f)("component.TextFormatToolbar.Code"),
|
|
176
|
+
onClick: e[4] || (e[4] = (n) => d("code"))
|
|
177
|
+
}, [...e[10] || (e[10] = [
|
|
178
|
+
o("span", { class: "pi pi-code" }, null, -1)
|
|
179
|
+
])], 8, ae),
|
|
180
|
+
o("button", {
|
|
181
|
+
class: "text-format-toolbar__button",
|
|
182
|
+
title: u(f)("component.TextFormatToolbar.Quote"),
|
|
183
|
+
onClick: e[5] || (e[5] = (n) => d("quote"))
|
|
184
|
+
}, [...e[11] || (e[11] = [
|
|
185
|
+
o("svg", {
|
|
186
|
+
viewBox: "0 0 512 512",
|
|
187
|
+
width: "13",
|
|
188
|
+
height: "13",
|
|
189
|
+
preserveAspectRatio: "xMidYMid meet",
|
|
190
|
+
class: "",
|
|
191
|
+
fill: "currentColor"
|
|
192
|
+
}, [
|
|
193
|
+
o("path", { d: `M119.472,66.59C53.489,66.59,0,120.094,0,186.1c0,65.983,53.489,119.487,119.472,119.487
|
|
194
|
+
c0,0-0.578,44.392-36.642,108.284c-4.006,12.802,3.135,26.435,15.945,30.418c9.089,2.859,18.653,0.08,24.829-6.389
|
|
195
|
+
c82.925-90.7,115.385-197.448,115.385-251.8C238.989,120.094,185.501,66.59,119.472,66.59z` }),
|
|
196
|
+
o("path", { d: `M392.482,66.59c-65.983,0-119.472,53.505-119.472,119.51c0,65.983,53.489,119.487,119.472,119.487
|
|
197
|
+
c0,0-0.578,44.392-36.642,108.284c-4.006,12.802,3.136,26.435,15.945,30.418c9.089,2.859,18.653,0.08,24.828-6.389
|
|
198
|
+
C479.539,347.2,512,240.452,512,186.1C512,120.094,458.511,66.59,392.482,66.59z` })
|
|
199
|
+
], -1)
|
|
200
|
+
])], 8, ue)
|
|
201
|
+
], 44, ne)) : Z("", !0)
|
|
202
|
+
]),
|
|
203
|
+
_: 1
|
|
204
|
+
})
|
|
205
|
+
]));
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
export {
|
|
209
|
+
Me as default
|
|
210
|
+
};
|
package/dist/components/2_chatinput_elements/WABAAttachmentSection/WABAAttachmentSection.vue2.js
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { defineComponent as E, ref as n, inject as F, watch as h, createElementBlock as v, openBlock as u, Fragment as A, createBlock as D, createCommentVNode as S, normalizeClass as P, createElementVNode as c, toDisplayString as _, unref as U } from "vue";
|
|
2
|
+
import V from "../FilePreview/FilePreview.vue.js";
|
|
3
|
+
import { uploadFile as N } from "../../../hooks/uploadFile/uploadFile.js";
|
|
4
|
+
import "../../../hooks/useMessageDraft.js";
|
|
5
|
+
import "../../../hooks/useSearchModel.js";
|
|
6
|
+
import "../../../hooks/useTheme.js";
|
|
7
|
+
/* empty css */
|
|
8
|
+
/* empty css */
|
|
9
|
+
import "../../../node_modules/linkifyjs/dist/linkify.js";
|
|
10
|
+
import "../../../functions/parseMarkdown.js";
|
|
11
|
+
const O = ["accept"], B = { class: "attachment-section__info" }, G = {
|
|
12
|
+
key: 2,
|
|
13
|
+
class: "attachment-section__error-text"
|
|
14
|
+
}, K = /* @__PURE__ */ E({
|
|
15
|
+
__name: "WABAAttachmentSection",
|
|
16
|
+
props: {
|
|
17
|
+
type: {
|
|
18
|
+
type: String,
|
|
19
|
+
required: !0
|
|
20
|
+
},
|
|
21
|
+
templateId: {
|
|
22
|
+
type: String,
|
|
23
|
+
required: !0
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
emits: ["fileSelected"],
|
|
27
|
+
setup(m, { emit: w }) {
|
|
28
|
+
const r = m, z = n(F("filebumpUrl")), p = n(null), o = n(), l = n(""), i = n(""), f = n(), d = w, k = () => {
|
|
29
|
+
o.value && i.value != "success" && o.value.click();
|
|
30
|
+
}, s = {
|
|
31
|
+
DOCUMENT: {
|
|
32
|
+
text: "Документ до 100 МБ",
|
|
33
|
+
accept: ".pdf,.doc,.docx,.xls,.xlsx",
|
|
34
|
+
maxSize: 104857600,
|
|
35
|
+
error: "Некорректный тип файла, выберите PDF, DOC или XLS",
|
|
36
|
+
icon: "pi pi-file"
|
|
37
|
+
},
|
|
38
|
+
IMAGE: {
|
|
39
|
+
text: "Изображение до 5 МБ",
|
|
40
|
+
accept: ".jpg,.jpeg,.png",
|
|
41
|
+
maxSize: 5242880,
|
|
42
|
+
error: "Некорректный тип файла, выберите JPG, JPEG или PNG",
|
|
43
|
+
icon: "pi pi-image"
|
|
44
|
+
},
|
|
45
|
+
VIDEO: {
|
|
46
|
+
text: "Видео до 16 МБ",
|
|
47
|
+
accept: ".mp4,.mov",
|
|
48
|
+
maxSize: 16777216,
|
|
49
|
+
error: "Некорректный тип файла, выберите MP4 или MOV",
|
|
50
|
+
icon: "pi pi-video"
|
|
51
|
+
}
|
|
52
|
+
}, I = (a) => {
|
|
53
|
+
var x;
|
|
54
|
+
const t = (x = a.target.files) == null ? void 0 : x[0];
|
|
55
|
+
if (t) {
|
|
56
|
+
l.value = "";
|
|
57
|
+
const y = t.name.split(".");
|
|
58
|
+
if (s[r.type].accept.indexOf(y[y.length - 1]) == -1)
|
|
59
|
+
l.value = s[r.type].error;
|
|
60
|
+
else if (t.size > s[r.type].maxSize)
|
|
61
|
+
l.value = "Файл слишком большого размера";
|
|
62
|
+
else if (!l.value) {
|
|
63
|
+
p.value = t, i.value = "uploading";
|
|
64
|
+
const g = U(z.value);
|
|
65
|
+
N(typeof g == "string" ? g : null, t).then((e) => {
|
|
66
|
+
i.value = e.status, e.status == "success" && (d("fileSelected", {
|
|
67
|
+
url: e.url,
|
|
68
|
+
filename: e.name,
|
|
69
|
+
filesize: e.size,
|
|
70
|
+
filetype: e.type
|
|
71
|
+
}), e.preview && (f.value = {
|
|
72
|
+
previewUrl: e.preview.previewUrl,
|
|
73
|
+
isImage: e.preview.isImage,
|
|
74
|
+
isVideo: e.preview.isVideo,
|
|
75
|
+
isAudio: e.preview.isAudio,
|
|
76
|
+
fileName: e.name,
|
|
77
|
+
fileSize: e.preview.fileSize
|
|
78
|
+
}));
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}, C = () => {
|
|
83
|
+
p.value && (p.value = null, i.value = "");
|
|
84
|
+
};
|
|
85
|
+
return h(
|
|
86
|
+
() => i.value,
|
|
87
|
+
(a) => {
|
|
88
|
+
a === "" && (o.value && (o.value.value = ""), p.value = null, d("fileSelected", null));
|
|
89
|
+
}
|
|
90
|
+
), h(
|
|
91
|
+
() => r.templateId,
|
|
92
|
+
() => {
|
|
93
|
+
i.value = "";
|
|
94
|
+
}
|
|
95
|
+
), (a, t) => (u(), v(A, null, [
|
|
96
|
+
i.value !== "success" ? (u(), v("div", {
|
|
97
|
+
key: 0,
|
|
98
|
+
class: P(["attachment-section", { "attachment-section__error": l.value }]),
|
|
99
|
+
onClick: k
|
|
100
|
+
}, [
|
|
101
|
+
c("input", {
|
|
102
|
+
id: "file-upload",
|
|
103
|
+
ref_key: "fileInput",
|
|
104
|
+
ref: o,
|
|
105
|
+
type: "file",
|
|
106
|
+
style: { display: "none" },
|
|
107
|
+
accept: s[m.type].accept,
|
|
108
|
+
onChange: I
|
|
109
|
+
}, null, 40, O),
|
|
110
|
+
t[1] || (t[1] = c("span", { class: "pi pi-paperclip attachment-section__icon" }, null, -1)),
|
|
111
|
+
c("div", null, [
|
|
112
|
+
t[0] || (t[0] = c("p", { class: "attachment-section__title" }, " Прикрепить файл ", -1)),
|
|
113
|
+
c("p", B, _(s[m.type].text), 1)
|
|
114
|
+
])
|
|
115
|
+
], 2)) : i.value === "success" && f.value ? (u(), D(V, {
|
|
116
|
+
key: 1,
|
|
117
|
+
"file-info": f.value,
|
|
118
|
+
onReset: C
|
|
119
|
+
}, null, 8, ["file-info"])) : S("", !0),
|
|
120
|
+
l.value ? (u(), v("div", G, _(l.value), 1)) : S("", !0)
|
|
121
|
+
], 64));
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
export {
|
|
125
|
+
K as default
|
|
126
|
+
};
|
package/dist/components/2_chatinput_elements/WABAQuickReplyButtons/WABAQuickReplyButtons.vue2.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { defineComponent as k, createElementBlock as s, openBlock as l, Fragment as m, renderList as y, createElementVNode as n, normalizeClass as b, toDisplayString as d } from "vue";
|
|
2
|
+
const h = { class: "quick-reply-buttons" }, f = ["onClick"], g = { class: "quick-reply-buttons__line" }, v = /* @__PURE__ */ k({
|
|
3
|
+
__name: "WABAQuickReplyButtons",
|
|
4
|
+
props: {
|
|
5
|
+
buttons: {
|
|
6
|
+
type: Array,
|
|
7
|
+
default: []
|
|
8
|
+
}
|
|
9
|
+
},
|
|
10
|
+
emits: ["selectAllVariants"],
|
|
11
|
+
setup(t, { emit: c }) {
|
|
12
|
+
const u = c, a = t, p = {
|
|
13
|
+
URL: "pi-arrow-up-right",
|
|
14
|
+
PHONE_NUMBER: "pi-phone",
|
|
15
|
+
QUICK_REPLY: "pi-arrow-up-left"
|
|
16
|
+
}, _ = (o) => {
|
|
17
|
+
o == 2 && a.buttons.length > 3 && u("selectAllVariants");
|
|
18
|
+
};
|
|
19
|
+
return (o, i) => (l(), s("div", h, [
|
|
20
|
+
(l(!0), s(m, null, y(t.buttons.slice(0, 3), (r, e) => (l(), s("div", {
|
|
21
|
+
key: e,
|
|
22
|
+
class: "quick-reply-buttons__preview-action",
|
|
23
|
+
onClick: (C) => _(e)
|
|
24
|
+
}, [
|
|
25
|
+
i[0] || (i[0] = n("hr", { class: "quick-reply-buttons__separator" }, null, -1)),
|
|
26
|
+
n("div", g, [
|
|
27
|
+
n("span", {
|
|
28
|
+
class: b(["quick-reply-buttons__icon pi pi-arrow-up-left", e == 2 && t.buttons.length > 3 ? "pi-list" : p[r.type]])
|
|
29
|
+
}, null, 2),
|
|
30
|
+
n("p", null, d(e == 2 && t.buttons.length > 3 ? "Смотреть все варианты" : r.text), 1)
|
|
31
|
+
])
|
|
32
|
+
], 8, f))), 128))
|
|
33
|
+
]));
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
export {
|
|
37
|
+
v as default
|
|
38
|
+
};
|