@mobilon-dev/chotto 0.3.30 → 0.3.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/dist/_virtual/_plugin-vue_export-helper.js +9 -0
  2. package/dist/chotto.css +1 -1
  3. package/dist/components/1_atoms/ButtonContextMenu/ButtonContextMenu.vue.js +7 -0
  4. package/dist/components/1_atoms/ButtonContextMenu/ButtonContextMenu.vue2.js +106 -0
  5. package/dist/components/1_atoms/ContextMenu/ContextMenu.vue.js +46 -0
  6. package/dist/components/1_atoms/EmbedPreview/EmbedPreview.vue.js +7 -0
  7. package/dist/components/1_atoms/EmbedPreview/EmbedPreview.vue2.js +39 -0
  8. package/dist/components/1_atoms/LinkPreview/LinkPreview.vue.js +7 -0
  9. package/dist/components/1_atoms/LinkPreview/LinkPreview.vue2.js +32 -0
  10. package/dist/components/1_atoms/Tooltip/Tooltip.vue.js +7 -0
  11. package/dist/components/1_atoms/Tooltip/Tooltip.vue2.js +77 -0
  12. package/dist/components/1_icons/AvatarIcon.vue.js +42 -0
  13. package/dist/components/1_icons/CheckIcon.vue.js +28 -0
  14. package/dist/components/1_icons/CloseButtonIcon.vue.js +21 -0
  15. package/dist/components/1_icons/ContactCRMIcon.vue.js +21 -0
  16. package/dist/components/1_icons/MenuIcon.vue.js +21 -0
  17. package/dist/components/1_icons/SearchIcon.vue.js +28 -0
  18. package/dist/components/1_icons/SettingsIcon.vue.js +18 -0
  19. package/dist/components/1_icons/TelegramIcon.vue.js +32 -0
  20. package/dist/components/1_icons/WhatsAppIcon.vue.js +32 -0
  21. package/dist/components/2_blocks/CommunicationPanel/CommunicationPanel.vue.js +307 -0
  22. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationActions.js +83 -0
  23. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationAttributes.js +60 -0
  24. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationChannels.js +70 -0
  25. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationDialogSync.js +36 -0
  26. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationMenu.js +37 -0
  27. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationSubMenu.js +69 -0
  28. package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelMaxIcon.vue.js +18 -0
  29. package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelPhoneIcon.vue.js +23 -0
  30. package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelSMSIcon.vue.js +21 -0
  31. package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelSubmenuMaxIcon.vue.js +34 -0
  32. package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelSubmenuPhoneIcon.vue.js +32 -0
  33. package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelSubmenuSMSIcon.vue.js +21 -0
  34. package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelSubmenuTelegramIcon.vue.js +18 -0
  35. package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelSubmenuWhatsAppIcon.vue.js +32 -0
  36. package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelTelegramIcon.vue.js +32 -0
  37. package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelWhatsAppIcon.vue.js +18 -0
  38. package/dist/components/2_blocks/FeedFoundItem/FeedFoundItem.vue.js +7 -0
  39. package/dist/components/2_blocks/FeedFoundItem/FeedFoundItem.vue2.js +61 -0
  40. package/dist/components/2_blocks/FeedFoundObjects/FeedFoundObjects.vue.js +7 -0
  41. package/dist/components/2_blocks/FeedFoundObjects/FeedFoundObjects.vue2.js +58 -0
  42. package/dist/components/2_blocks/FeedSearch/FeedSearch.vue.js +7 -0
  43. package/dist/components/2_blocks/FeedSearch/FeedSearch.vue2.js +68 -0
  44. package/dist/components/2_chatinput_elements/ButtonCommandsSelector/ButtonCommandsSelector.vue.js +7 -0
  45. package/dist/components/2_chatinput_elements/ButtonCommandsSelector/ButtonCommandsSelector.vue2.js +70 -0
  46. package/dist/components/2_chatinput_elements/ButtonEmojiPicker/ButtonEmojiPicker.vue.js +106 -0
  47. package/dist/components/2_chatinput_elements/ButtonEmojiPicker/icons/SmilesIcon.vue.js +18 -0
  48. package/dist/components/2_chatinput_elements/ButtonTemplateSelector/ButtonTemplateSelector.vue.js +105 -0
  49. package/dist/components/2_chatinput_elements/ButtonTemplateSelector/icons/ChatTemplatesIcon.vue.js +25 -0
  50. package/dist/components/2_chatinput_elements/ButtonWabaTemplateSelector/ButtonWabaTemplateSelector.vue.js +98 -0
  51. package/dist/components/2_chatinput_elements/FilePreview/FilePreview.vue.js +7 -0
  52. package/dist/components/2_chatinput_elements/FilePreview/FilePreview.vue2.js +157 -0
  53. package/dist/components/2_chatinput_elements/FileUploader/FileUploader.vue.js +7 -0
  54. package/dist/components/2_chatinput_elements/FileUploader/FileUploader.vue2.js +105 -0
  55. package/dist/components/2_chatinput_elements/FileUploader/icons/FileUploaderIcon.vue.js +21 -0
  56. package/dist/components/2_chatinput_elements/PlaceholderComponent/PlaceholderComponent.vue.js +66 -0
  57. package/dist/components/2_chatinput_elements/TemplateSelector/TemplateSelector.vue.js +206 -0
  58. package/dist/components/2_chatinput_elements/TextFormatToolbar/TextFormatToolbar.vue.js +7 -0
  59. package/dist/components/2_chatinput_elements/TextFormatToolbar/TextFormatToolbar.vue2.js +210 -0
  60. package/dist/components/2_chatinput_elements/WABAAttachmentSection/WABAAttachmentSection.vue.js +7 -0
  61. package/dist/components/2_chatinput_elements/WABAAttachmentSection/WABAAttachmentSection.vue2.js +126 -0
  62. package/dist/components/2_chatinput_elements/WABAQuickReplyButtons/WABAQuickReplyButtons.vue.js +7 -0
  63. package/dist/components/2_chatinput_elements/WABAQuickReplyButtons/WABAQuickReplyButtons.vue2.js +38 -0
  64. package/dist/components/2_chatinput_elements/WABASeparatedQuickButtons/WABASeparatedQuickButtons.vue.js +7 -0
  65. package/dist/components/2_chatinput_elements/WABASeparatedQuickButtons/WABASeparatedQuickButtons.vue2.js +41 -0
  66. package/dist/components/2_chatinput_elements/WABATemplateSelector/WABATemplateSelector.vue.js +281 -0
  67. package/dist/components/2_chatlist_elements/ChatFilter/ChatFilter.vue.js +49 -0
  68. package/dist/components/2_chatlist_elements/ChatItem/ChatItem.vue.js +7 -0
  69. package/dist/components/2_chatlist_elements/ChatItem/ChatItem.vue2.js +193 -0
  70. package/dist/components/2_chatlist_elements/ChatTabs/ChatTabs.vue.js +37 -0
  71. package/dist/components/2_elements/AudioRecorder/AudioRecorder.vue.js +7 -0
  72. package/dist/components/2_elements/AudioRecorder/AudioRecorder.vue2.js +116 -0
  73. package/dist/components/2_elements/ChannelSelector/ChannelSelector.vue.js +73 -0
  74. package/dist/components/2_elements/ChatInfo/ChatInfo.vue.js +93 -0
  75. package/dist/components/2_elements/ChatPanel/ChatPanel.vue.js +47 -0
  76. package/dist/components/2_elements/ContactInfo/ContactInfo.vue.js +158 -0
  77. package/dist/components/2_elements/ThemeMode/ThemeMode.vue.js +49 -0
  78. package/dist/components/2_elements/UserProfile/UserProfile.vue.js +39 -0
  79. package/dist/components/2_elements/VideoRecorder/VideoRecorder.vue.js +7 -0
  80. package/dist/components/2_elements/VideoRecorder/VideoRecorder.vue2.js +94 -0
  81. package/dist/components/2_feed_elements/AudioMessage/AudioMessage.vue.js +7 -0
  82. package/dist/components/2_feed_elements/AudioMessage/AudioMessage.vue2.js +380 -0
  83. package/dist/components/2_feed_elements/BaseReplyMessage/BaseReplyMessage.vue.js +7 -0
  84. package/dist/components/2_feed_elements/BaseReplyMessage/BaseReplyMessage.vue2.js +57 -0
  85. package/dist/components/2_feed_elements/CallMessage/CallMessage.vue.js +7 -0
  86. package/dist/components/2_feed_elements/CallMessage/CallMessage.vue2.js +476 -0
  87. package/dist/components/2_feed_elements/CallMessage/icons/IncomingCallIcon.vue.js +26 -0
  88. package/dist/components/2_feed_elements/CallMessage/icons/IncomingCallIcon.vue2.js +4 -0
  89. package/dist/components/2_feed_elements/CallMessage/icons/OutgoingCallIcon.vue.js +26 -0
  90. package/dist/components/2_feed_elements/CallMessage/icons/OutgoingCallIcon.vue2.js +4 -0
  91. package/dist/components/2_feed_elements/DateMessage/DateMessage.vue.js +7 -0
  92. package/dist/components/2_feed_elements/DateMessage/DateMessage.vue2.js +20 -0
  93. package/dist/components/2_feed_elements/DateMessageSticky/DateMessageSticky.vue.js +7 -0
  94. package/dist/components/2_feed_elements/DateMessageSticky/DateMessageSticky.vue2.js +18 -0
  95. package/dist/components/2_feed_elements/FeedKeyboard/FeedKeyboard.vue.js +7 -0
  96. package/dist/components/2_feed_elements/FeedKeyboard/FeedKeyboard.vue2.js +42 -0
  97. package/dist/components/2_feed_elements/FileMessage/FileMessage.vue.js +7 -0
  98. package/dist/components/2_feed_elements/FileMessage/FileMessage.vue2.js +204 -0
  99. package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue.js +7 -0
  100. package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue2.js +266 -0
  101. package/dist/components/2_feed_elements/MessageKeyboard/MessageKeyboard.vue.js +7 -0
  102. package/dist/components/2_feed_elements/MessageKeyboard/MessageKeyboard.vue2.js +46 -0
  103. package/dist/components/2_feed_elements/MessageReactions/MessageReactions.vue.js +7 -0
  104. package/dist/components/2_feed_elements/MessageReactions/MessageReactions.vue2.js +161 -0
  105. package/dist/components/2_feed_elements/MessageReactions/composables/usePositioning.js +104 -0
  106. package/dist/components/2_feed_elements/MessageReactions/composables/useReactions.js +30 -0
  107. package/dist/components/2_feed_elements/MessageReactions/composables/useReactionsPanel.js +90 -0
  108. package/dist/components/2_feed_elements/MessageReactions/composables/useReactionsState.js +32 -0
  109. package/dist/components/2_feed_elements/MessageReactions/utils/quickReactions.js +17 -0
  110. package/dist/components/2_feed_elements/MessageStatusIndicator/MessageStatusIndicator.vue.js +73 -0
  111. package/dist/components/2_feed_elements/MessageStatusIndicator/MessageStatusIndicator.vue2.js +4 -0
  112. package/dist/components/2_feed_elements/ReplyAudioMessage/ReplyAudioMessage.vue.js +7 -0
  113. package/dist/components/2_feed_elements/ReplyAudioMessage/ReplyAudioMessage.vue2.js +39 -0
  114. package/dist/components/2_feed_elements/ReplyCallMessage/ReplyCallMessage.vue.js +7 -0
  115. package/dist/components/2_feed_elements/ReplyCallMessage/ReplyCallMessage.vue2.js +35 -0
  116. package/dist/components/2_feed_elements/ReplyFileMessage/ReplyFileMessage.vue.js +7 -0
  117. package/dist/components/2_feed_elements/ReplyFileMessage/ReplyFileMessage.vue2.js +46 -0
  118. package/dist/components/2_feed_elements/ReplyImageMessage/ReplyImageMessage.vue.js +7 -0
  119. package/dist/components/2_feed_elements/ReplyImageMessage/ReplyImageMessage.vue2.js +71 -0
  120. package/dist/components/2_feed_elements/ReplyStickerMessage/ReplyStickerMessage.vue.js +7 -0
  121. package/dist/components/2_feed_elements/ReplyStickerMessage/ReplyStickerMessage.vue2.js +119 -0
  122. package/dist/components/2_feed_elements/ReplyTextMessage/ReplyTextMessage.vue.js +7 -0
  123. package/dist/components/2_feed_elements/ReplyTextMessage/ReplyTextMessage.vue2.js +27 -0
  124. package/dist/components/2_feed_elements/ReplyVideoMessage/ReplyVideoMessage.vue.js +7 -0
  125. package/dist/components/2_feed_elements/ReplyVideoMessage/ReplyVideoMessage.vue2.js +75 -0
  126. package/dist/components/2_feed_elements/SplashScreen/SplashScreen.vue.js +7 -0
  127. package/dist/components/2_feed_elements/SplashScreen/SplashScreen.vue2.js +23 -0
  128. package/dist/components/2_feed_elements/StickerMessage/StickerMessage.vue.js +7 -0
  129. package/dist/components/2_feed_elements/StickerMessage/StickerMessage.vue2.js +258 -0
  130. package/dist/components/2_feed_elements/StickerMessage/libs/tgs-player/lottie-player.esm.js +6469 -0
  131. package/dist/components/2_feed_elements/StickerMessage/libs/tgs-player/tgs-player.esm.js +7216 -0
  132. package/dist/components/2_feed_elements/StickerMessage/utils/stickerUtils.js +10 -0
  133. package/dist/components/2_feed_elements/StickerMessage/utils/suppress-lit-warning.js +21 -0
  134. package/dist/components/2_feed_elements/SystemMessage/SystemMessage.vue.js +7 -0
  135. package/dist/components/2_feed_elements/SystemMessage/SystemMessage.vue2.js +18 -0
  136. package/dist/components/2_feed_elements/TextMessage/TextMessage.vue.js +7 -0
  137. package/dist/components/2_feed_elements/TextMessage/TextMessage.vue2.js +174 -0
  138. package/dist/components/2_feed_elements/TypingMessage/TypingMessage.vue.js +7 -0
  139. package/dist/components/2_feed_elements/TypingMessage/TypingMessage.vue2.js +32 -0
  140. package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue.js +7 -0
  141. package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue2.js +286 -0
  142. package/dist/{CreateChat-C4y1ddK_.js → components/2_modals/CreateChat/CreateChat.vue.js} +8 -7
  143. package/dist/components/2_modals/CreateChat/CreateChat.vue2.js +1 -0
  144. package/dist/{CreateChat2-Oy9JaaRC.js → components/2_modals/CreateChat2/CreateChat2.vue.js} +4 -3
  145. package/dist/{CreateDialog-DacwclUe.js → components/2_modals/CreateDialog/CreateDialog.vue.js} +12 -11
  146. package/dist/components/2_modals/Modal/Modal.vue.js +69 -0
  147. package/dist/components/2_modals/ModalFullscreen/ModalFullscreen.vue.js +46 -0
  148. package/dist/components/2_modals/ModalNoFooter/ModalNoFooter.vue.js +43 -0
  149. package/dist/components/2_modals/ModalVideoRecorder/ModalVideoRecorder.vue.js +7 -0
  150. package/dist/{ModalVideoRecorder-BkPr4JP7.js → components/2_modals/ModalVideoRecorder/ModalVideoRecorder.vue2.js} +48 -49
  151. package/dist/components/2_modals/SelectUser/SelectUser.vue.js +63 -0
  152. package/dist/{SelectUser2-kaPAmxhi.js → components/2_modals/SelectUser2/SelectUser2.vue.js} +4 -3
  153. package/dist/components/3_compounds/ChatInput/ChatInput.vue.js +7 -0
  154. package/dist/components/3_compounds/ChatInput/ChatInput.vue2.js +192 -0
  155. package/dist/components/3_compounds/ChatInput/icons/SendIcon.vue.js +35 -0
  156. package/dist/components/3_compounds/ChatInput/icons/SendIcon.vue2.js +4 -0
  157. package/dist/components/3_compounds/ChatList/ChatList.vue.js +186 -0
  158. package/dist/components/3_compounds/ChatList/ChatListHeader.vue.js +27 -0
  159. package/dist/components/3_compounds/ChatList/composables/useChatListActions.js +16 -0
  160. package/dist/components/3_compounds/ChatList/composables/useChatListFilter.js +27 -0
  161. package/dist/components/3_compounds/ChatList/composables/useChatListScroll.js +47 -0
  162. package/dist/components/3_compounds/ChatList/composables/useChatListSelection.js +28 -0
  163. package/dist/components/3_compounds/Feed/Feed.vue.js +7 -0
  164. package/dist/components/3_compounds/Feed/Feed.vue2.js +295 -0
  165. package/dist/components/3_compounds/Feed/assets/chat-background.svg.js +7 -0
  166. package/dist/components/3_compounds/Feed/composables/useFeedButton.js +17 -0
  167. package/dist/components/3_compounds/Feed/composables/useFeedComponents.js +29 -0
  168. package/dist/components/3_compounds/Feed/composables/useFeedGrouping.js +15 -0
  169. package/dist/components/3_compounds/Feed/composables/useFeedKeyboard.js +15 -0
  170. package/dist/components/3_compounds/Feed/composables/useFeedLoadMore.js +62 -0
  171. package/dist/components/3_compounds/Feed/composables/useFeedMessageVisibility.js +33 -0
  172. package/dist/components/3_compounds/Feed/composables/useFeedReply.js +42 -0
  173. package/dist/components/3_compounds/Feed/composables/useFeedScroll.js +63 -0
  174. package/dist/components/3_compounds/Feed/composables/useFeedScrollTo.js +18 -0
  175. package/dist/components/3_compounds/Feed/composables/useStickyDate.js +61 -0
  176. package/dist/components/3_compounds/Feed/functions/throttle.js +11 -0
  177. package/dist/components/3_compounds/SideBar/SideBar.vue.js +190 -0
  178. package/dist/components/4_layouts/AdaptiveExtendedLayout/AdaptiveExtendedLayout.vue.js +63 -0
  179. package/dist/components/4_layouts/BaseLayout/BaseLayout.vue.js +18 -0
  180. package/dist/components/4_layouts/ChatWrapper/ChatWrapper.vue.js +7 -0
  181. package/dist/components/4_layouts/ChatWrapper/ChatWrapper.vue2.js +53 -0
  182. package/dist/components/4_layouts/ExtendedLayout/ExtendedLayout.vue.js +21 -0
  183. package/dist/components/4_layouts/FeedLayout/FeedLayout.vue.js +15 -0
  184. package/dist/components/5_containers/BaseContainer/BaseContainer.vue.js +33 -0
  185. package/dist/components/5_containers/FloatContainer/FloatContainer.vue.js +104 -0
  186. package/dist/functions/createReactionHandlers.js +19 -0
  187. package/dist/functions/formatTimestamp.js +8 -0
  188. package/dist/functions/getChannelAccentColor.js +30 -0
  189. package/dist/functions/getMessageClass.js +6 -0
  190. package/dist/functions/getStatusMessage.js +42 -0
  191. package/dist/functions/insertDaySeparators.js +24 -0
  192. package/dist/functions/parseMarkdown.js +18 -0
  193. package/dist/functions/playNotificationAudio.js +13 -0
  194. package/dist/functions/sortByTimestamp.js +4 -0
  195. package/dist/hooks/messages/useChannelAccentColor.js +29 -0
  196. package/dist/hooks/messages/useMessageActions.js +28 -0
  197. package/dist/hooks/messages/useMessageLinks.js +48 -0
  198. package/dist/hooks/messages/useSubtextTooltip.js +12 -0
  199. package/dist/hooks/modals/useCreateChat.js +19 -0
  200. package/dist/hooks/modals/useCreateChat2.js +16 -0
  201. package/dist/hooks/modals/useCreateDialog.js +20 -0
  202. package/dist/hooks/modals/useModal.js +41 -0
  203. package/dist/hooks/modals/useModalSelectUser2.js +20 -0
  204. package/dist/hooks/modals/useVideoRecorder.js +14 -0
  205. package/dist/hooks/uploadFile/generatePreview.js +20 -0
  206. package/dist/hooks/uploadFile/getTypeFileByMime.js +7 -0
  207. package/dist/hooks/uploadFile/uploadFile.js +28 -0
  208. package/dist/hooks/useDelayDebouncedRef.js +18 -0
  209. package/dist/hooks/useImmediateDebouncedRef.js +18 -0
  210. package/dist/hooks/useMessageDraft.js +87 -0
  211. package/dist/hooks/useSearchModel.js +11 -0
  212. package/dist/hooks/useTheme.js +11 -0
  213. package/dist/hooks/validators/chats/chatValidator.js +79 -0
  214. package/dist/hooks/validators/chats/useChatValidator.js +82 -0
  215. package/dist/hooks/validators/messages/messageValidator.js +84 -0
  216. package/dist/hooks/validators/messages/useMessageValidator.js +82 -0
  217. package/dist/hooks/validators/sidebar/sidebarValidator.js +47 -0
  218. package/dist/hooks/validators/sidebar/useSidebarValidator.js +82 -0
  219. package/dist/hooks/validators/useValidation.js +94 -0
  220. package/dist/index.js +239 -0
  221. package/dist/locale/en.js +22 -0
  222. package/dist/locale/ru.js +22 -0
  223. package/dist/locale/useLocale.js +34 -0
  224. package/dist/node_modules/entities/lib/esm/decode.js +278 -0
  225. package/dist/node_modules/entities/lib/esm/decode_codepoint.js +46 -0
  226. package/dist/node_modules/entities/lib/esm/generated/decode-data-html.js +7 -0
  227. package/dist/node_modules/entities/lib/esm/generated/decode-data-xml.js +7 -0
  228. package/dist/node_modules/linkify-it/index.js +187 -0
  229. package/dist/node_modules/linkify-it/lib/re.js +19 -0
  230. package/dist/node_modules/linkify-string/dist/linkify-string.js +41 -0
  231. package/dist/node_modules/linkifyjs/dist/linkify.js +679 -0
  232. package/dist/node_modules/markdown-it/lib/common/html_blocks.js +67 -0
  233. package/dist/node_modules/markdown-it/lib/common/html_re.js +5 -0
  234. package/dist/node_modules/markdown-it/lib/common/utils.js +169 -0
  235. package/dist/node_modules/markdown-it/lib/helpers/index.js +8 -0
  236. package/dist/node_modules/markdown-it/lib/helpers/parse_link_destination.js +44 -0
  237. package/dist/node_modules/markdown-it/lib/helpers/parse_link_label.js +21 -0
  238. package/dist/node_modules/markdown-it/lib/helpers/parse_link_title.js +37 -0
  239. package/dist/node_modules/markdown-it/lib/index.js +112 -0
  240. package/dist/node_modules/markdown-it/lib/parser_block.js +63 -0
  241. package/dist/node_modules/markdown-it/lib/parser_core.js +34 -0
  242. package/dist/node_modules/markdown-it/lib/parser_inline.js +96 -0
  243. package/dist/node_modules/markdown-it/lib/presets/commonmark.js +78 -0
  244. package/dist/node_modules/markdown-it/lib/presets/default.js +40 -0
  245. package/dist/node_modules/markdown-it/lib/presets/zero.js +59 -0
  246. package/dist/node_modules/markdown-it/lib/renderer.js +127 -0
  247. package/dist/node_modules/markdown-it/lib/ruler.js +95 -0
  248. package/dist/node_modules/markdown-it/lib/rules_block/blockquote.js +59 -0
  249. package/dist/node_modules/markdown-it/lib/rules_block/code.js +23 -0
  250. package/dist/node_modules/markdown-it/lib/rules_block/fence.js +30 -0
  251. package/dist/node_modules/markdown-it/lib/rules_block/heading.js +28 -0
  252. package/dist/node_modules/markdown-it/lib/rules_block/hr.js +27 -0
  253. package/dist/node_modules/markdown-it/lib/rules_block/html_block.js +37 -0
  254. package/dist/node_modules/markdown-it/lib/rules_block/lheading.js +43 -0
  255. package/dist/node_modules/markdown-it/lib/rules_block/list.js +110 -0
  256. package/dist/node_modules/markdown-it/lib/rules_block/paragraph.js +25 -0
  257. package/dist/node_modules/markdown-it/lib/rules_block/reference.js +95 -0
  258. package/dist/node_modules/markdown-it/lib/rules_block/state_block.js +84 -0
  259. package/dist/node_modules/markdown-it/lib/rules_block/table.js +99 -0
  260. package/dist/node_modules/markdown-it/lib/rules_core/block.js +7 -0
  261. package/dist/node_modules/markdown-it/lib/rules_core/inline.js +10 -0
  262. package/dist/node_modules/markdown-it/lib/rules_core/linkify.js +57 -0
  263. package/dist/node_modules/markdown-it/lib/rules_core/normalize.js +9 -0
  264. package/dist/node_modules/markdown-it/lib/rules_core/replacements.js +31 -0
  265. package/dist/node_modules/markdown-it/lib/rules_core/smartquotes.js +80 -0
  266. package/dist/node_modules/markdown-it/lib/rules_core/state_core.js +8 -0
  267. package/dist/node_modules/markdown-it/lib/rules_core/text_join.js +16 -0
  268. package/dist/node_modules/markdown-it/lib/rules_inline/autolink.js +46 -0
  269. package/dist/node_modules/markdown-it/lib/rules_inline/backticks.js +31 -0
  270. package/dist/node_modules/markdown-it/lib/rules_inline/balance_pairs.js +34 -0
  271. package/dist/node_modules/markdown-it/lib/rules_inline/emphasis.js +57 -0
  272. package/dist/node_modules/markdown-it/lib/rules_inline/entity.js +33 -0
  273. package/dist/node_modules/markdown-it/lib/rules_inline/escape.js +32 -0
  274. package/dist/node_modules/markdown-it/lib/rules_inline/fragments_join.js +10 -0
  275. package/dist/node_modules/markdown-it/lib/rules_inline/html_inline.js +32 -0
  276. package/dist/node_modules/markdown-it/lib/rules_inline/image.js +48 -0
  277. package/dist/node_modules/markdown-it/lib/rules_inline/link.js +40 -0
  278. package/dist/node_modules/markdown-it/lib/rules_inline/linkify.js +28 -0
  279. package/dist/node_modules/markdown-it/lib/rules_inline/newline.js +23 -0
  280. package/dist/node_modules/markdown-it/lib/rules_inline/state_inline.js +27 -0
  281. package/dist/node_modules/markdown-it/lib/rules_inline/strikethrough.js +54 -0
  282. package/dist/node_modules/markdown-it/lib/rules_inline/text.js +39 -0
  283. package/dist/node_modules/markdown-it/lib/token.js +31 -0
  284. package/dist/node_modules/mdurl/index.js +10 -0
  285. package/dist/node_modules/mdurl/lib/decode.js +61 -0
  286. package/dist/node_modules/mdurl/lib/encode.js +48 -0
  287. package/dist/node_modules/mdurl/lib/format.js +7 -0
  288. package/dist/node_modules/mdurl/lib/parse.js +74 -0
  289. package/dist/node_modules/punycode.js/punycode.es6.js +139 -0
  290. package/dist/node_modules/uc.micro/categories/Cc/regex.js +4 -0
  291. package/dist/node_modules/uc.micro/categories/Cf/regex.js +4 -0
  292. package/dist/node_modules/uc.micro/categories/P/regex.js +4 -0
  293. package/dist/node_modules/uc.micro/categories/S/regex.js +4 -0
  294. package/dist/node_modules/uc.micro/categories/Z/regex.js +4 -0
  295. package/dist/node_modules/uc.micro/index.js +14 -0
  296. package/dist/node_modules/uc.micro/properties/Any/regex.js +4 -0
  297. package/dist/node_modules/vue3-emoji-picker-ru/dist/emoji-picker.es.js +16471 -0
  298. package/dist/types/components/1_icons/AvatarIcon.vue.d.ts +1 -1
  299. package/dist/types/components/2_blocks/FeedSearch/FeedSearch.vue.d.ts +2 -2
  300. package/dist/types/components/2_chatinput_elements/ButtonWabaTemplateSelector/ButtonWabaTemplateSelector.vue.d.ts +2 -2
  301. package/dist/types/components/2_chatinput_elements/PlaceholderComponent/PlaceholderComponent.vue.d.ts +2 -2
  302. package/dist/types/components/2_feed_elements/AudioMessage/AudioMessage.vue.d.ts +2 -2
  303. package/dist/types/components/2_feed_elements/BaseReplyMessage/BaseReplyMessage.vue.d.ts +2 -2
  304. package/dist/types/components/2_feed_elements/CallMessage/CallMessage.vue.d.ts +2 -2
  305. package/dist/types/components/2_feed_elements/FileMessage/FileMessage.vue.d.ts +2 -2
  306. package/dist/types/components/2_feed_elements/ImageMessage/ImageMessage.vue.d.ts +2 -2
  307. package/dist/types/components/2_feed_elements/ReplyStickerMessage/ReplyStickerMessage.vue.d.ts +1 -3
  308. package/dist/types/components/2_feed_elements/StickerMessage/StickerMessage.vue.d.ts +3 -5
  309. package/dist/types/components/2_feed_elements/StickerMessage/utils/stickerUtils.d.ts +19 -0
  310. package/dist/types/components/2_feed_elements/TextMessage/TextMessage.vue.d.ts +2 -2
  311. package/dist/types/components/2_feed_elements/VideoMessage/VideoMessage.vue.d.ts +2 -2
  312. package/dist/types/components/2_modals/CreateDialog/CreateDialog.vue.d.ts +2 -2
  313. package/dist/types/components/2_modals/CreateDialog/stories/CreateDialog.stories.d.ts +2 -2
  314. package/dist/types/components/3_compounds/ChatList/ChatList.vue.d.ts +1 -1
  315. package/dist/types/components/3_compounds/Feed/Feed.vue.d.ts +2 -2
  316. package/dist/types/main.d.ts +1 -1
  317. package/package.json +5 -5
  318. package/dist/index-BzAEsq7j.js +0 -43508
  319. package/dist/vuessages.es.js +0 -123
  320. package/dist/vuessages.umd.js +0 -624
  321. /package/dist/types/{utils → components/2_feed_elements/StickerMessage/utils}/suppress-lit-warning.d.ts +0 -0
@@ -0,0 +1,116 @@
1
+ import { defineComponent as D, inject as N, ref as o, computed as T, watch as j, createElementBlock as y, openBlock as c, createCommentVNode as m, createBlock as M, createElementVNode as a, toDisplayString as x, unref as w, normalizeClass as L, Teleport as P } from "vue";
2
+ import { uploadFile as O } from "../../../hooks/uploadFile/uploadFile.js";
3
+ import { useMessageDraft as q } from "../../../hooks/useMessageDraft.js";
4
+ import "../../../hooks/useSearchModel.js";
5
+ import "../../../hooks/useTheme.js";
6
+ /* empty css */
7
+ /* empty css */
8
+ import "../../../node_modules/linkifyjs/dist/linkify.js";
9
+ import "../../../functions/parseMarkdown.js";
10
+ import G from "../../2_chatinput_elements/FilePreview/FilePreview.vue.js";
11
+ const H = { class: "audio-recorder__container" }, J = { key: 0 }, K = {
12
+ key: 1,
13
+ class: "audio-recorder__recording-container"
14
+ }, Q = { class: "audio-recorder__recording-time" }, ae = /* @__PURE__ */ D({
15
+ __name: "AudioRecorder",
16
+ props: {
17
+ state: {
18
+ type: String,
19
+ default: "active"
20
+ },
21
+ filebumpUrl: {
22
+ type: String,
23
+ default: null
24
+ }
25
+ },
26
+ setup(R) {
27
+ const f = N("chatAppId"), { getMessage: n, setMessageFile: U, resetMessageFile: S, setRecordingMessage: k } = q(f), h = o(), t = o(0), r = o(0), u = o(0), d = o(0), z = T(() => {
28
+ let l = d.value < 10 ? "0" + d.value : d.value, e = u.value < 10 ? "0" + u.value : u.value, i = r.value < 10 ? "0" + r.value : r.value, _ = t.value < 10 ? "00" + t.value : t.value < 100 ? "0" + t.value : t.value;
29
+ return l + ":" + e + ":" + i + ":" + _;
30
+ }), v = o(""), g = o(!1), s = o(), b = o([]), A = o(), p = o(), C = R, B = async () => {
31
+ if (!n().file && C.state == "active") {
32
+ const l = await navigator.mediaDevices.getUserMedia({ audio: !0, video: !1 });
33
+ h.value = setInterval(() => {
34
+ t.value += 10, t.value == 1e3 && (t.value = 0, r.value++, r.value == 60 && (r.value = 0, u.value++, u.value == 60 && (u.value = 0, d.value++)));
35
+ }, 10), k(!0), g.value = !0, s.value = new MediaRecorder(l), s.value.start(), s.value.ondataavailable = (e) => {
36
+ b.value.push(e.data);
37
+ };
38
+ }
39
+ }, F = () => {
40
+ I(), A.value = void 0;
41
+ }, E = () => {
42
+ s.value && (s.value.stop(), s.value.onstop = async () => {
43
+ const l = new File(b.value, "voicemessage.mp3", { type: "audio/*" }), e = URL.createObjectURL(l);
44
+ A.value = e, v.value = "uploading", await O(C.filebumpUrl, l).then((i) => {
45
+ if (v.value = i.status, i.status == "success") {
46
+ const _ = document.getElementById("chat-input-file-line-" + f);
47
+ _ && (_.style.display = "inherit"), U({
48
+ url: i.url,
49
+ name: i.name,
50
+ size: i.size,
51
+ type: i.type
52
+ }), i.preview && (p.value = {
53
+ previewUrl: i.preview.previewUrl,
54
+ isImage: i.preview.isImage,
55
+ isVideo: i.preview.isVideo,
56
+ isAudio: i.preview.isAudio,
57
+ fileName: i.name,
58
+ fileSize: i.preview.fileSize
59
+ });
60
+ }
61
+ });
62
+ }), I();
63
+ }, I = () => {
64
+ clearInterval(h.value), t.value = 0, r.value = 0, u.value = 0, d.value = 0, k(!1), g.value = !1, s.value = void 0, b.value = [];
65
+ }, V = () => {
66
+ const l = document.getElementById("chat-input-file-line-" + f);
67
+ l && (l.style.display = "none"), S(), p.value = void 0;
68
+ };
69
+ return j(
70
+ () => n().file,
71
+ () => {
72
+ n().file || (p.value = void 0);
73
+ }
74
+ ), (l, e) => (c(), y("div", H, [
75
+ v.value === "uploading" ? (c(), y("div", J, [...e[0] || (e[0] = [
76
+ a("p", null, "Загрузка файла...", -1)
77
+ ])])) : m("", !0),
78
+ g.value && v.value != "uploading" ? (c(), y("div", K, [
79
+ e[3] || (e[3] = a("span", { class: "audio-recorder__recording-icon pi pi-circle-fill" }, null, -1)),
80
+ a("button", {
81
+ class: "audio-recorder__button audio-recorder__button-record",
82
+ onClick: F
83
+ }, [...e[1] || (e[1] = [
84
+ a("span", { class: "pi pi-trash" }, null, -1)
85
+ ])]),
86
+ a("button", {
87
+ class: "audio-recorder__button audio-recorder__button-record",
88
+ onClick: E
89
+ }, [...e[2] || (e[2] = [
90
+ a("div", { class: "audio-recorder__stop" }, null, -1)
91
+ ])]),
92
+ a("span", Q, x(z.value), 1)
93
+ ])) : m("", !0),
94
+ !g.value && v.value != "uploading" && !w(n)().isRecording ? (c(), y("button", {
95
+ key: 2,
96
+ class: L(["audio-recorder__button", { "audio-recorder__button-disabled": R.state == "disabled" || w(n)().file }]),
97
+ onClick: B
98
+ }, [...e[4] || (e[4] = [
99
+ a("span", { class: "pi pi-microphone" }, null, -1)
100
+ ])], 2)) : m("", !0),
101
+ w(n)().file ? (c(), M(P, {
102
+ key: 3,
103
+ to: "#chat-input-file-line-" + w(f)
104
+ }, [
105
+ p.value ? (c(), M(G, {
106
+ key: 0,
107
+ "file-info": p.value,
108
+ onReset: V
109
+ }, null, 8, ["file-info"])) : m("", !0)
110
+ ], 8, ["to"])) : m("", !0)
111
+ ]));
112
+ }
113
+ });
114
+ export {
115
+ ae as default
116
+ };
@@ -0,0 +1,73 @@
1
+ import { inject as f, ref as C, createElementBlock as a, createCommentVNode as l, unref as c, openBlock as s, normalizeClass as o, createVNode as g, createElementVNode as i, toDisplayString as r, withCtx as v } from "vue";
2
+ import y from "../../1_atoms/ButtonContextMenu/ButtonContextMenu.vue.js";
3
+ import { t as b } from "../../../locale/useLocale.js";
4
+ import { useMessageDraft as k } from "../../../hooks/useMessageDraft.js";
5
+ import "../../../hooks/useSearchModel.js";
6
+ import "../../../hooks/useTheme.js";
7
+ /* empty css */
8
+ import S from "../../../_virtual/_plugin-vue_export-helper.js";
9
+ /* empty css */
10
+ import "../../../node_modules/linkifyjs/dist/linkify.js";
11
+ import "../../../functions/parseMarkdown.js";
12
+ /* empty css */
13
+ const x = {
14
+ key: 0,
15
+ class: "channels__selected"
16
+ }, D = ["src"], A = { class: "channels__title" }, B = {
17
+ key: 1,
18
+ class: "channels__selected channels__title"
19
+ }, I = {
20
+ __name: "ChannelSelector",
21
+ props: {
22
+ channels: {
23
+ type: Array,
24
+ required: !1,
25
+ default: () => []
26
+ },
27
+ mode: {
28
+ type: String,
29
+ required: !1,
30
+ default: "hover"
31
+ },
32
+ state: {
33
+ type: String,
34
+ default: "active"
35
+ }
36
+ },
37
+ emits: ["selectChannel"],
38
+ setup(e, { emit: d }) {
39
+ const m = e, h = f("chatAppId"), { getMessage: u } = k(h), p = d, t = C(m.channels.find((n) => n.type === "default")), _ = (n) => {
40
+ t.value = n, p("selectChannel", t.value);
41
+ };
42
+ return (n, N) => c(u)().isRecording ? l("", !0) : (s(), a("div", {
43
+ key: 0,
44
+ class: o(["channels__container", { "channels__container-disabled": e.state == "disabled" }])
45
+ }, [
46
+ t.value ? (s(), a("div", x, [
47
+ t.value.icon ? (s(), a("img", {
48
+ key: 0,
49
+ src: t.value.icon,
50
+ class: "channels__icon"
51
+ }, null, 8, D)) : l("", !0),
52
+ i("span", A, r(t.value.title), 1)
53
+ ])) : (s(), a("span", B, r(c(b)("component.ChannelSelector.Placeholder")), 1)),
54
+ g(y, {
55
+ actions: e.channels,
56
+ mode: e.mode,
57
+ "menu-side": "top",
58
+ disabled: e.state == "disabled",
59
+ onClick: _
60
+ }, {
61
+ default: v(() => [
62
+ i("span", {
63
+ class: o(["pi pi-list channels__trigger", { channels__disabled: e.state == "disabled" }])
64
+ }, null, 2)
65
+ ]),
66
+ _: 1
67
+ }, 8, ["actions", "mode", "disabled"])
68
+ ], 2));
69
+ }
70
+ }, K = /* @__PURE__ */ S(I, [["__scopeId", "data-v-d5653eb5"]]);
71
+ export {
72
+ K as default
73
+ };
@@ -0,0 +1,93 @@
1
+ import { inject as p, computed as m, createElementBlock as i, createCommentVNode as o, openBlock as a, createElementVNode as n, createVNode as v, createTextVNode as u, toDisplayString as c, renderSlot as r, unref as y } from "vue";
2
+ import k from "../../1_icons/AvatarIcon.vue.js";
3
+ /* empty css */
4
+ import T from "../../../_virtual/_plugin-vue_export-helper.js";
5
+ const g = {
6
+ key: 0,
7
+ class: "chat-info__container"
8
+ }, A = { class: "chat-info__base-line" }, B = { class: "chat-info__avatar-container" }, C = ["src"], I = {
9
+ key: 1,
10
+ class: ""
11
+ }, q = { class: "chat-info__info-container" }, w = { class: "chat-info__title" }, N = {
12
+ key: 0,
13
+ class: "chat-info__additional-title"
14
+ }, S = {
15
+ key: 0,
16
+ class: "chat-info__time"
17
+ }, V = { class: "chat-info__actions" }, $ = ["id"], b = {
18
+ __name: "ChatInfo",
19
+ props: {
20
+ chat: {
21
+ type: Object,
22
+ required: !0
23
+ },
24
+ showReturnButton: {
25
+ type: Boolean,
26
+ required: !1,
27
+ default: !1
28
+ },
29
+ description: {
30
+ type: String,
31
+ required: !1,
32
+ default: ""
33
+ },
34
+ additionalTitle: {
35
+ type: String,
36
+ required: !1,
37
+ default: ""
38
+ },
39
+ defaultLastActivityTime: {
40
+ type: Boolean,
41
+ required: !1,
42
+ default: !1
43
+ }
44
+ },
45
+ emits: ["returnToChats"],
46
+ setup(e, { emit: h }) {
47
+ const t = e, f = h, _ = p("chatAppId"), d = m(() => {
48
+ if (t.description) return t.description;
49
+ if (!t.description && t.defaultLastActivityTime) return t.chat["lastActivity.time"];
50
+ });
51
+ return (s, l) => e.chat ? (a(), i("div", g, [
52
+ n("div", A, [
53
+ e.showReturnButton ? (a(), i("span", {
54
+ key: 0,
55
+ class: "pi pi-arrow-left chat-info__return-button",
56
+ onClick: l[0] || (l[0] = (j) => f("returnToChats"))
57
+ })) : o("", !0),
58
+ n("div", B, [
59
+ t.chat.avatar ? (a(), i("img", {
60
+ key: 0,
61
+ src: t.chat.avatar,
62
+ width: "40",
63
+ height: "40"
64
+ }, null, 8, C)) : (a(), i("span", I, [
65
+ v(k, { size: 40 })
66
+ ]))
67
+ ]),
68
+ n("div", q, [
69
+ n("span", w, [
70
+ u(c(e.chat.name) + " ", 1),
71
+ e.additionalTitle ? (a(), i("span", N, c(e.additionalTitle), 1)) : o("", !0)
72
+ ]),
73
+ d.value ? (a(), i("p", S, [
74
+ r(s.$slots, "img-description", {}, void 0, !0),
75
+ u(" " + c(d.value), 1)
76
+ ])) : o("", !0)
77
+ ]),
78
+ n("div", V, [
79
+ r(s.$slots, "actions", {}, void 0, !0)
80
+ ])
81
+ ]),
82
+ n("div", {
83
+ id: "chat-info-search-panel-" + y(_),
84
+ class: "chat-info__search-panel"
85
+ }, [
86
+ r(s.$slots, "search", {}, void 0, !0)
87
+ ], 8, $)
88
+ ])) : o("", !0);
89
+ }
90
+ }, x = /* @__PURE__ */ T(b, [["__scopeId", "data-v-7364088e"]]);
91
+ export {
92
+ x as default
93
+ };
@@ -0,0 +1,47 @@
1
+ import { createElementBlock as n, openBlock as o, createElementVNode as t, createCommentVNode as s, createVNode as c, toDisplayString as i, renderSlot as r } from "vue";
2
+ import _ from "../../1_icons/CloseButtonIcon.vue.js";
3
+ /* empty css */
4
+ import d from "../../../_virtual/_plugin-vue_export-helper.js";
5
+ const p = { class: "chat-panel" }, m = { class: "chat-panel__header" }, u = { class: "chat-panel__button-close-cross" }, h = {
6
+ key: 0,
7
+ class: "chat-panel__title-container"
8
+ }, f = {
9
+ key: 0,
10
+ class: "chat-panel__title"
11
+ }, v = {
12
+ __name: "ChatPanel",
13
+ props: {
14
+ title: {
15
+ type: String,
16
+ default: ""
17
+ },
18
+ titleEnabled: {
19
+ type: Boolean,
20
+ default: !0
21
+ }
22
+ },
23
+ emits: ["close-panel"],
24
+ setup(e, { emit: b }) {
25
+ return (a, l) => (o(), n("div", p, [
26
+ t("div", m, [
27
+ t("button", {
28
+ class: "chat-panel__button-close",
29
+ onClick: l[0] || (l[0] = (k) => a.$emit("close-panel"))
30
+ }, [
31
+ t("span", u, [
32
+ c(_)
33
+ ])
34
+ ]),
35
+ e.titleEnabled ? (o(), n("div", h, [
36
+ e.title ? (o(), n("span", f, i(e.title), 1)) : s("", !0)
37
+ ])) : s("", !0)
38
+ ]),
39
+ t("div", null, [
40
+ r(a.$slots, "content", {}, void 0, !0)
41
+ ])
42
+ ]));
43
+ }
44
+ }, N = /* @__PURE__ */ d(v, [["__scopeId", "data-v-aa67f69c"]]);
45
+ export {
46
+ N as default
47
+ };
@@ -0,0 +1,158 @@
1
+ import { ref as h, computed as b, watch as P, createElementBlock as s, openBlock as a, createElementVNode as o, Fragment as O, renderList as R, normalizeClass as S, withDirectives as z, vModelRadio as F, createTextVNode as j, createCommentVNode as C, createBlock as g, toDisplayString as k, resolveDynamicComponent as x, createVNode as U } from "vue";
2
+ import W from "../../1_icons/ContactCRMIcon.vue.js";
3
+ import G from "../../1_icons/CheckIcon.vue.js";
4
+ import H from "../../1_icons/WhatsAppIcon.vue.js";
5
+ import J from "../../1_icons/TelegramIcon.vue.js";
6
+ /* empty css */
7
+ import K from "../../../_virtual/_plugin-vue_export-helper.js";
8
+ const Q = { class: "contact-info" }, X = { class: "contact-info__attribute-list" }, Y = ["id", "value", "onChange"], Z = ["for"], tt = { class: "contact-info__custom-radio" }, et = { class: "contact-info__radio-inner" }, nt = {
9
+ key: 0,
10
+ class: "contact-info__badge"
11
+ }, ot = { class: "contact-info__channel-section" }, ct = { class: "contact-info__custom-select" }, at = { class: "contact-info__icon" }, lt = ["src", "alt"], it = {
12
+ key: 0,
13
+ class: "contact-info__select-options"
14
+ }, st = ["onClick"], rt = { class: "contact-info__icon" }, ut = ["src", "alt"], dt = { class: "contact-info__crm-button" }, _t = {
15
+ __name: "ContactInfo",
16
+ props: {
17
+ contact: {
18
+ type: Object,
19
+ required: !1,
20
+ default: () => ({ attributes: [] })
21
+ },
22
+ currentDialog: {
23
+ type: Object,
24
+ default: () => ({})
25
+ },
26
+ channels: {
27
+ type: Array,
28
+ required: !0
29
+ }
30
+ },
31
+ emits: ["close", "open-crm", "select-attribute-channel"],
32
+ setup(y, { emit: B }) {
33
+ var V, A, N;
34
+ const c = y, I = B, l = h(((N = (A = (V = c.contact) == null ? void 0 : V.attributes) == null ? void 0 : A[0]) == null ? void 0 : N.id) || ""), f = h(c.channels[0] || null), u = h(!1), L = (t) => {
35
+ f.value = t, u.value = !1, console.log(`Выбран канал связи: ${t.title}`), I("select-attribute-channel", {
36
+ attributeId: l.value,
37
+ channelId: t.channelId
38
+ });
39
+ }, M = (t) => (t == null ? void 0 : t.replace(/\D/g, "")) || "", w = b(() => {
40
+ var t, e;
41
+ return (e = (t = c.contact) == null ? void 0 : t.attributes) == null ? void 0 : e.find((i) => i.id === l.value);
42
+ }), d = b(() => {
43
+ if (f.value)
44
+ return f.value;
45
+ if (!w.value) return c.channels[0] || null;
46
+ const t = M(w.value.value);
47
+ return t ? c.channels.find((i) => {
48
+ var r, _;
49
+ const v = ((r = i.title) == null ? void 0 : r.toLowerCase()) || "", m = ((_ = i.channelId) == null ? void 0 : _.toLowerCase()) || "", p = v.includes(t), n = ["whatsapp", "waba", "telegram"].some((E) => m.includes(E));
50
+ return p && n;
51
+ }) || c.channels[0] || { title: "default", channelId: "fallback" } : c.channels[0] || null;
52
+ }), T = b(() => c.channels), $ = (t) => t ? t.includes("whatsapp") || t.includes("waba") ? H : t.includes("telegram") ? J : null : null, D = (t) => !c.currentDialog || !Object.keys(c.currentDialog) ? !1 : c.currentDialog.attributeId === t.id, q = (t) => {
53
+ I("select-attribute-channel", {
54
+ attributeId: t.id,
55
+ channelId: f.value.channelId
56
+ });
57
+ };
58
+ return P(
59
+ () => c.contact,
60
+ () => {
61
+ var t, e;
62
+ (e = (t = c.contact) == null ? void 0 : t.attributes) != null && e.length ? l.value && c.contact.attributes.some((i) => i.id === l.value) || (l.value = c.contact.attributes[0].id) : l.value = "";
63
+ },
64
+ { immediate: !0 }
65
+ ), (t, e) => {
66
+ var i, v, m, p;
67
+ return a(), s("div", Q, [
68
+ o("div", X, [
69
+ (a(!0), s(O, null, R(((i = y.contact) == null ? void 0 : i.attributes) || [], (n, r) => (a(), s("div", {
70
+ key: n.id,
71
+ class: S(["contact-info__attribute-item", { "contact-info__attribute-item--current-chat": D(n) }])
72
+ }, [
73
+ z(o("input", {
74
+ id: `attr-${r}`,
75
+ "onUpdate:modelValue": e[0] || (e[0] = (_) => l.value = _),
76
+ type: "radio",
77
+ value: n.id,
78
+ onChange: (_) => q(n)
79
+ }, null, 40, Y), [
80
+ [F, l.value]
81
+ ]),
82
+ o("label", {
83
+ for: `attr-${r}`
84
+ }, [
85
+ o("span", tt, [
86
+ o("span", et, [
87
+ l.value === n.id ? (a(), g(G, { key: 0 })) : C("", !0)
88
+ ])
89
+ ]),
90
+ j(" " + k(n.value) + " ", 1),
91
+ D(n) ? (a(), s("span", nt, " Текущий чат ")) : C("", !0)
92
+ ], 8, Z)
93
+ ], 2))), 128))
94
+ ]),
95
+ o("div", ot, [
96
+ e[3] || (e[3] = o("label", { class: "contact-info__channel-label" }, "Канал связи", -1)),
97
+ o("div", ct, [
98
+ o("div", {
99
+ class: "contact-info__select-trigger",
100
+ onClick: e[1] || (e[1] = (n) => u.value = !u.value)
101
+ }, [
102
+ o("div", at, [
103
+ (v = d.value) != null && v.icon ? (a(), s("img", {
104
+ key: 0,
105
+ src: d.value.icon,
106
+ alt: d.value.title,
107
+ width: "22",
108
+ height: "22"
109
+ }, null, 8, lt)) : (a(), g(x($((m = d.value) == null ? void 0 : m.channelId)), {
110
+ key: 1,
111
+ class: "contact-info__icon-component"
112
+ }))
113
+ ]),
114
+ o("span", null, k((p = d.value) == null ? void 0 : p.title), 1),
115
+ o("div", {
116
+ class: S(["contact-info__arrow", { "contact-info__arrow--open": u.value }])
117
+ }, null, 2)
118
+ ]),
119
+ u.value ? (a(), s("div", it, [
120
+ (a(!0), s(O, null, R(T.value, (n) => (a(), s("div", {
121
+ key: n.channelId,
122
+ class: "contact-info__select-option",
123
+ onClick: (r) => L(n)
124
+ }, [
125
+ o("div", rt, [
126
+ n.icon ? (a(), s("img", {
127
+ key: 0,
128
+ src: n.icon,
129
+ alt: n.title,
130
+ width: "22",
131
+ height: "22"
132
+ }, null, 8, ut)) : (a(), g(x($(n.channelId)), {
133
+ key: 1,
134
+ class: "contact-info__icon-component"
135
+ }))
136
+ ]),
137
+ o("span", null, k(n.title), 1)
138
+ ], 8, st))), 128))
139
+ ])) : C("", !0)
140
+ ])
141
+ ]),
142
+ e[5] || (e[5] = o("div", { class: "contact-info__divider" }, null, -1)),
143
+ o("div", dt, [
144
+ o("button", {
145
+ class: "contact-info__button",
146
+ onClick: e[2] || (e[2] = (n) => t.$emit("open-crm"))
147
+ }, [
148
+ U(W),
149
+ e[4] || (e[4] = j(" Открыть контакт в CRM ", -1))
150
+ ])
151
+ ])
152
+ ]);
153
+ };
154
+ }
155
+ }, gt = /* @__PURE__ */ K(_t, [["__scopeId", "data-v-42660d89"]]);
156
+ export {
157
+ gt as default
158
+ };
@@ -0,0 +1,49 @@
1
+ import { inject as f, onMounted as T, createElementBlock as m, createCommentVNode as _, openBlock as s, createElementVNode as g, Fragment as y, renderList as v, toDisplayString as k } from "vue";
2
+ import "../../../hooks/useMessageDraft.js";
3
+ import "../../../hooks/useSearchModel.js";
4
+ import { useTheme as B } from "../../../hooks/useTheme.js";
5
+ /* empty css */
6
+ import I from "../../../_virtual/_plugin-vue_export-helper.js";
7
+ /* empty css */
8
+ import "../../../node_modules/linkifyjs/dist/linkify.js";
9
+ import "../../../functions/parseMarkdown.js";
10
+ /* empty css */
11
+ const x = { key: 0 }, A = ["value", "selected"], E = {
12
+ __name: "ThemeMode",
13
+ props: {
14
+ themes: {
15
+ type: Array,
16
+ default: () => []
17
+ },
18
+ show: Boolean
19
+ },
20
+ emits: ["selectedTheme"],
21
+ setup(c, { emit: a }) {
22
+ const n = c, i = a, r = f("chatAppId"), { getTheme: p } = B(r), l = () => {
23
+ const e = n.themes.find((t) => t.default === !0);
24
+ return e ? e.code : n.themes[0].code;
25
+ }, u = (e) => {
26
+ const t = e.target.value;
27
+ d(t);
28
+ }, d = (e) => {
29
+ r && (document.getElementById(r).dataset.theme = e, p().theme = e, i("selectedTheme", e));
30
+ };
31
+ return T(() => {
32
+ const e = l();
33
+ d(e);
34
+ }), (e, t) => c.show ? (s(), m("div", x, [
35
+ g("select", {
36
+ onChange: t[0] || (t[0] = (o) => u(o))
37
+ }, [
38
+ (s(!0), m(y, null, v(n.themes, (o, h) => (s(), m("option", {
39
+ key: h,
40
+ value: o.code,
41
+ selected: o.default === !0
42
+ }, k(o.name), 9, A))), 128))
43
+ ], 32)
44
+ ])) : _("", !0);
45
+ }
46
+ }, S = /* @__PURE__ */ I(E, [["__scopeId", "data-v-c6c5d7cb"]]);
47
+ export {
48
+ S as default
49
+ };
@@ -0,0 +1,39 @@
1
+ import { createElementBlock as r, createCommentVNode as o, openBlock as a, createElementVNode as t, normalizeStyle as c, toDisplayString as s } from "vue";
2
+ /* empty css */
3
+ import i from "../../../_virtual/_plugin-vue_export-helper.js";
4
+ const l = {
5
+ key: 0,
6
+ class: "profile__container"
7
+ }, n = {
8
+ key: 0,
9
+ class: "profile__avatar-container"
10
+ }, _ = ["src"], u = { class: "profile__name" }, d = { class: "profile__email" }, m = { class: "profile__phone" }, f = {
11
+ __name: "UserProfile",
12
+ props: {
13
+ user: {
14
+ type: Object,
15
+ required: !0
16
+ }
17
+ },
18
+ setup(e) {
19
+ return (h, p) => e.user ? (a(), r("div", l, [
20
+ e.user.avatar ? (a(), r("div", n, [
21
+ t("span", {
22
+ class: "profile__status",
23
+ style: c({ backgroundColor: e.user.status })
24
+ }, null, 4),
25
+ t("img", {
26
+ src: e.user.avatar,
27
+ height: "48",
28
+ width: "48"
29
+ }, null, 8, _)
30
+ ])) : o("", !0),
31
+ t("h2", u, s(e.user.name), 1),
32
+ t("p", d, s(e.user.email), 1),
33
+ t("p", m, s(e.user.phone), 1)
34
+ ])) : o("", !0);
35
+ }
36
+ }, g = /* @__PURE__ */ i(f, [["__scopeId", "data-v-8ff961d8"]]);
37
+ export {
38
+ g as default
39
+ };
@@ -0,0 +1,7 @@
1
+ import o from "./VideoRecorder.vue2.js";
2
+ /* empty css */
3
+ import r from "../../../_virtual/_plugin-vue_export-helper.js";
4
+ const c = /* @__PURE__ */ r(o, [["__scopeId", "data-v-93c4aad3"]]);
5
+ export {
6
+ c as default
7
+ };
@@ -0,0 +1,94 @@
1
+ import { defineComponent as F, inject as R, ref as g, watch as V, createElementBlock as d, openBlock as o, Fragment as C, createCommentVNode as s, createBlock as y, unref as p, normalizeClass as I, createElementVNode as w, Teleport as M } from "vue";
2
+ import { uploadFile as z } from "../../../hooks/uploadFile/uploadFile.js";
3
+ import { useMessageDraft as A } from "../../../hooks/useMessageDraft.js";
4
+ import "../../../hooks/useSearchModel.js";
5
+ import { useTheme as B } from "../../../hooks/useTheme.js";
6
+ /* empty css */
7
+ /* empty css */
8
+ import { useModalVideoRecorder as S } from "../../../hooks/modals/useVideoRecorder.js";
9
+ import "../../../node_modules/linkifyjs/dist/linkify.js";
10
+ import "../../../functions/parseMarkdown.js";
11
+ import E from "../../2_chatinput_elements/FilePreview/FilePreview.vue.js";
12
+ const U = {
13
+ key: 0,
14
+ class: "video-recorder__container"
15
+ }, N = {
16
+ key: 1,
17
+ class: "video-recorder__container"
18
+ }, O = /* @__PURE__ */ F({
19
+ __name: "VideoRecorder",
20
+ props: {
21
+ state: {
22
+ type: String,
23
+ default: "active"
24
+ },
25
+ filebumpUrl: {
26
+ type: String,
27
+ default: null
28
+ }
29
+ },
30
+ setup(c) {
31
+ const r = R("chatAppId"), { getMessage: t, setMessageFile: h, setRecordingMessage: m, resetMessageFile: _ } = A(r), { getTheme: u } = B(r), a = g(""), l = g(), f = c, k = async () => {
32
+ if (!t().file && f.state == "active") {
33
+ const n = u().theme ? u().theme : "";
34
+ await S(n).then(async (i) => {
35
+ i.videoFile && (a.value = "uploading", m(!0), await z(f.filebumpUrl, i.videoFile).then((e) => {
36
+ if (m(!1), a.value = e.status, e.status == "success") {
37
+ h({
38
+ url: e.url,
39
+ name: e.name,
40
+ size: e.size,
41
+ type: e.type
42
+ });
43
+ const v = document.getElementById("chat-input-file-line-" + r);
44
+ v && (v.style.display = "inherit"), e.preview && (l.value = {
45
+ previewUrl: e.preview.previewUrl,
46
+ isImage: e.preview.isImage,
47
+ isVideo: e.preview.isVideo,
48
+ isAudio: e.preview.isAudio,
49
+ fileName: e.name,
50
+ fileSize: e.preview.fileSize
51
+ });
52
+ }
53
+ }));
54
+ });
55
+ }
56
+ }, b = () => {
57
+ _();
58
+ const n = document.getElementById("chat-input-file-line-" + r);
59
+ n && (n.style.display = "none"), l.value = void 0;
60
+ };
61
+ return V(
62
+ () => t().file,
63
+ () => {
64
+ t().file || (l.value = void 0);
65
+ }
66
+ ), (n, i) => (o(), d(C, null, [
67
+ p(t)().isRecording ? s("", !0) : (o(), d("div", U, [
68
+ a.value != "uploading" ? (o(), d("button", {
69
+ key: 0,
70
+ class: I(["video-recorder__button", { "video-recorder__button-disabled": c.state == "disabled" || p(t)().file }]),
71
+ onClick: k
72
+ }, [...i[0] || (i[0] = [
73
+ w("span", { class: "pi pi-video" }, null, -1)
74
+ ])], 2)) : s("", !0)
75
+ ])),
76
+ a.value === "uploading" ? (o(), d("div", N, [...i[1] || (i[1] = [
77
+ w("p", null, "Загрузка файла...", -1)
78
+ ])])) : s("", !0),
79
+ p(t)().file ? (o(), y(M, {
80
+ key: 2,
81
+ to: "#chat-input-file-line-" + p(r)
82
+ }, [
83
+ l.value ? (o(), y(E, {
84
+ key: 0,
85
+ "file-info": l.value,
86
+ onReset: b
87
+ }, null, 8, ["file-info"])) : s("", !0)
88
+ ], 8, ["to"])) : s("", !0)
89
+ ], 64));
90
+ }
91
+ });
92
+ export {
93
+ O as default
94
+ };