@mobilon-dev/chotto 0.3.83 → 0.3.85
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/chotto.css +1 -1
- package/dist/components/1_atoms/ButtonContextMenu/ButtonContextMenu.vue2.js +3 -2
- package/dist/components/1_atoms/ContactContextMenu/ContactContextMenu.vue2.js +3 -2
- package/dist/components/1_atoms/EmojiGlyph/EmojiGlyph.vue.js +38 -0
- package/dist/components/1_atoms/EmojiGlyph/EmojiGlyph.vue2.js +4 -0
- package/dist/components/1_atoms/Tooltip/Tooltip.vue.js +1 -1
- package/dist/components/1_atoms/Tooltip/Tooltip.vue2.js +49 -36
- package/dist/components/1_icons/CloseIcon.vue.js +21 -0
- package/dist/components/2_blocks/CommunicationPanel/CommunicationPanel.vue.js +351 -282
- package/dist/components/2_blocks/CommunicationPanel/CommunicationPanelAttributeIndicator.vue.js +38 -33
- package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationActions.js +64 -39
- package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationAttributes.js +116 -61
- package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationChannels.js +1 -1
- package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationMenu.js +30 -16
- package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationRecentSelection.js +47 -0
- package/dist/components/2_blocks/CommunicationPanel/icons/{CommunicationPanelConfirmSpinner.vue2.js → CommunicationPanelConfirmSpinner.vue.js} +1 -1
- package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelUnconfirmedIcon.vue.js +19 -0
- package/dist/components/2_blocks/FeedSearch/FeedSearch.vue2.js +10 -9
- package/dist/components/2_chatinput_elements/ButtonCommandsSelector/ButtonCommandsSelector.vue2.js +8 -7
- package/dist/components/2_chatinput_elements/ButtonEmojiPicker/ButtonEmojiPicker.vue.js +2 -2
- package/dist/components/2_chatinput_elements/ButtonEmojiPicker/ButtonEmojiPicker.vue2.js +48 -37
- package/dist/components/2_chatinput_elements/ButtonTemplateSelector/ButtonTemplateSelector.vue2.js +3 -2
- package/dist/components/2_chatinput_elements/ButtonWabaTemplateSelector/ButtonWabaTemplateSelector.vue.js +7 -6
- package/dist/components/2_chatinput_elements/FilePreview/FilePreview.vue2.js +3 -2
- package/dist/components/2_chatinput_elements/FileUploader/FileUploader.vue2.js +3 -2
- package/dist/components/2_chatinput_elements/StickerPicker/StickerPicker.vue2.js +3 -2
- package/dist/components/2_chatinput_elements/TemplateSelector/TemplateSelector.vue.js +27 -26
- package/dist/components/2_chatinput_elements/TextFormatToolbar/TextFormatToolbar.vue2.js +3 -2
- package/dist/components/2_chatinput_elements/WABAAttachmentSection/WABAAttachmentSection.vue2.js +3 -2
- package/dist/components/2_chatlist_elements/ChatItem/ChatItem.vue2.js +3 -2
- package/dist/components/2_elements/AudioRecorder/AudioRecorder.vue2.js +3 -2
- package/dist/components/2_elements/ChannelSelector/ChannelSelector.vue.js +6 -5
- package/dist/components/2_elements/ThemeMode/ThemeMode.vue.js +10 -9
- package/dist/components/2_elements/VideoRecorder/VideoRecorder.vue2.js +3 -2
- package/dist/components/2_feed_elements/AudioMessage/AudioMessage.vue.js +1 -1
- package/dist/components/2_feed_elements/AudioMessage/AudioMessage.vue2.js +169 -143
- package/dist/components/2_feed_elements/BaseReplyMessage/BaseReplyMessage.vue.js +4 -4
- package/dist/components/2_feed_elements/BaseReplyMessage/BaseReplyMessage.vue2.js +33 -32
- package/dist/components/2_feed_elements/CallMessage/CallMessage.vue2.js +8 -2
- package/dist/components/2_feed_elements/FileMessage/FileMessage.vue.js +3 -3
- package/dist/components/2_feed_elements/FileMessage/FileMessage.vue2.js +134 -108
- package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue.js +1 -1
- package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue2.js +116 -97
- package/dist/components/2_feed_elements/MessageKeyboard/MessageKeyboard.vue2.js +3 -2
- package/dist/components/2_feed_elements/MessageReactions/MessageReactions.vue.js +2 -2
- package/dist/components/2_feed_elements/MessageReactions/MessageReactions.vue2.js +232 -113
- package/dist/components/2_feed_elements/MessageReactions/composables/usePositioning.js +77 -62
- package/dist/components/2_feed_elements/MessageReactions/composables/useReactions.js +62 -20
- package/dist/components/2_feed_elements/MessageReactions/composables/useReactionsPanel.js +91 -69
- package/dist/components/2_feed_elements/MessageReactions/composables/useReactionsState.js +46 -22
- package/dist/components/2_feed_elements/MessageReactions/icons/ExpandReactionsIcon.vue.js +21 -0
- package/dist/components/2_feed_elements/MessageReactions/icons/ReplyIcon.vue.js +21 -0
- package/dist/components/2_feed_elements/MessageReactions/utils/quickReactions.js +2 -8
- package/dist/components/2_feed_elements/MessageReactions/utils/reactionTooltip.js +39 -0
- package/dist/components/2_feed_elements/MissedCallMessage/MissedCallMessage.vue2.js +26 -20
- package/dist/components/2_feed_elements/ReplyAudioMessage/ReplyAudioMessage.vue.js +2 -2
- package/dist/components/2_feed_elements/ReplyAudioMessage/ReplyAudioMessage.vue2.js +27 -18
- package/dist/components/2_feed_elements/ReplyCallMessage/ReplyCallMessage.vue.js +2 -2
- package/dist/components/2_feed_elements/ReplyCallMessage/ReplyCallMessage.vue2.js +16 -15
- package/dist/components/2_feed_elements/ReplyFileMessage/ReplyFileMessage.vue.js +3 -3
- package/dist/components/2_feed_elements/ReplyFileMessage/ReplyFileMessage.vue2.js +27 -18
- package/dist/components/2_feed_elements/ReplyImageMessage/ReplyImageMessage.vue.js +1 -1
- package/dist/components/2_feed_elements/ReplyImageMessage/ReplyImageMessage.vue2.js +16 -12
- package/dist/components/2_feed_elements/ReplyStickerMessage/ReplyStickerMessage.vue.js +4 -4
- package/dist/components/2_feed_elements/ReplyStickerMessage/ReplyStickerMessage.vue2.js +74 -65
- package/dist/components/2_feed_elements/ReplyTextMessage/ReplyTextMessage.vue.js +1 -1
- package/dist/components/2_feed_elements/ReplyTextMessage/ReplyTextMessage.vue2.js +20 -11
- package/dist/components/2_feed_elements/ReplyVideoMessage/ReplyVideoMessage.vue.js +2 -2
- package/dist/components/2_feed_elements/ReplyVideoMessage/ReplyVideoMessage.vue2.js +13 -9
- package/dist/components/2_feed_elements/StickerMessage/StickerMessage.vue.js +4 -4
- package/dist/components/2_feed_elements/StickerMessage/StickerMessage.vue2.js +74 -55
- package/dist/components/2_feed_elements/TextMessage/TextMessage.vue.js +4 -4
- package/dist/components/2_feed_elements/TextMessage/TextMessage.vue2.js +102 -76
- package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue.js +2 -2
- package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue2.js +74 -55
- package/dist/components/3_compounds/ChatInput/ChatInput.vue.js +2 -2
- package/dist/components/3_compounds/ChatInput/ChatInput.vue2.js +99 -82
- package/dist/components/3_compounds/Feed/Feed.vue.js +3 -3
- package/dist/components/3_compounds/Feed/Feed.vue2.js +159 -139
- package/dist/components/3_compounds/Feed/composables/useFeedReply.js +22 -25
- package/dist/functions/renderAppleEmojis.js +92 -0
- package/dist/hooks/messages/buildReplyPayload.js +14 -0
- package/dist/hooks/messages/useMessageLinks.js +60 -50
- package/dist/hooks/messages/useStartReply.js +29 -0
- package/dist/hooks/useEmojiNative.js +19 -0
- package/dist/index.js +130 -122
- package/dist/themes/dark.css +1 -1
- package/dist/themes/default.css +1 -1
- package/dist/themes/glass.css +1 -1
- package/dist/themes/green.css +1 -1
- package/dist/themes/mobilon1.css +1 -1
- package/dist/types/apps/data/messages.d.ts +20 -18
- package/dist/types/components/1_atoms/EmojiGlyph/EmojiGlyph.vue.d.ts +12 -0
- package/dist/types/components/1_atoms/Tooltip/stories/Tooltip.stories.d.ts +3 -0
- package/dist/types/components/1_icons/CloseIcon.vue.d.ts +2 -0
- package/dist/types/components/2_blocks/CommunicationPanel/CommunicationPanel.vue.d.ts +2 -0
- package/dist/types/components/2_blocks/CommunicationPanel/CommunicationPanelAttributeIndicator.vue.d.ts +2 -2
- package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationActions.d.ts +10 -1
- package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationAttributes.d.ts +23 -2
- package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationMenu.d.ts +1 -0
- package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationRecentSelection.d.ts +20 -0
- package/dist/types/components/2_blocks/CommunicationPanel/icons/CommunicationPanelUnconfirmedIcon.vue.d.ts +2 -0
- package/dist/types/components/2_blocks/CommunicationPanel/icons/index.d.ts +1 -0
- package/dist/types/components/2_blocks/CommunicationPanel/stories/CommunicationPanel.stories.d.ts +2 -0
- package/dist/types/components/2_blocks/CommunicationPanel/styles/types.d.ts +42 -10
- package/dist/types/components/2_chatinput_elements/ButtonEmojiPicker/ButtonEmojiPicker.vue.d.ts +9 -1
- package/dist/types/components/2_feed_elements/AudioMessage/AudioMessage.vue.d.ts +29 -0
- package/dist/types/components/2_feed_elements/AudioMessage/styles/types.d.ts +24 -16
- package/dist/types/components/2_feed_elements/BaseReplyMessage/styles/types.d.ts +8 -4
- package/dist/types/components/2_feed_elements/FileMessage/FileMessage.vue.d.ts +29 -0
- package/dist/types/components/2_feed_elements/FileMessage/styles/types.d.ts +20 -0
- package/dist/types/components/2_feed_elements/ImageMessage/ImageMessage.vue.d.ts +29 -0
- package/dist/types/components/2_feed_elements/ImageMessage/styles/types.d.ts +2 -0
- package/dist/types/components/2_feed_elements/MessageReactions/MessageReactions.vue.d.ts +64 -1
- package/dist/types/components/2_feed_elements/MessageReactions/composables/index.d.ts +2 -2
- package/dist/types/components/2_feed_elements/MessageReactions/composables/usePositioning.d.ts +11 -1
- package/dist/types/components/2_feed_elements/MessageReactions/composables/useReactions.d.ts +20 -12
- package/dist/types/components/2_feed_elements/MessageReactions/composables/useReactionsPanel.d.ts +3 -3
- package/dist/types/components/2_feed_elements/MessageReactions/composables/useReactionsState.d.ts +13 -22
- package/dist/types/components/2_feed_elements/MessageReactions/icons/ExpandReactionsIcon.vue.d.ts +2 -0
- package/dist/types/components/2_feed_elements/MessageReactions/icons/ReplyIcon.vue.d.ts +2 -0
- package/dist/types/components/2_feed_elements/MessageReactions/styles/types.d.ts +14 -74
- package/dist/types/components/2_feed_elements/MessageReactions/utils/quickReactions.d.ts +1 -1
- package/dist/types/components/2_feed_elements/MessageReactions/utils/reactionTooltip.d.ts +14 -0
- package/dist/types/components/2_feed_elements/ReplyAudioMessage/styles/types.d.ts +6 -0
- package/dist/types/components/2_feed_elements/ReplyCallMessage/styles/types.d.ts +6 -0
- package/dist/types/components/2_feed_elements/ReplyFileMessage/styles/types.d.ts +6 -0
- package/dist/types/components/2_feed_elements/ReplyImageMessage/styles/types.d.ts +6 -0
- package/dist/types/components/2_feed_elements/ReplyStickerMessage/styles/types.d.ts +6 -0
- package/dist/types/components/2_feed_elements/ReplyTextMessage/styles/types.d.ts +4 -0
- package/dist/types/components/2_feed_elements/ReplyVideoMessage/styles/types.d.ts +6 -0
- package/dist/types/components/2_feed_elements/StickerMessage/StickerMessage.vue.d.ts +29 -0
- package/dist/types/components/2_feed_elements/TextMessage/TextMessage.vue.d.ts +29 -0
- package/dist/types/components/2_feed_elements/TextMessage/styles/types.d.ts +22 -0
- package/dist/types/components/2_feed_elements/VideoMessage/VideoMessage.vue.d.ts +29 -0
- package/dist/types/components/2_feed_elements/types/messages.d.ts +11 -6
- package/dist/types/components/3_compounds/ChatInput/styles/types.d.ts +2 -0
- package/dist/types/components/3_compounds/Feed/Feed.vue.d.ts +33 -0
- package/dist/types/functions/renderAppleEmojis.d.ts +16 -0
- package/dist/types/hooks/index.d.ts +1 -0
- package/dist/types/hooks/messages/buildReplyPayload.d.ts +11 -0
- package/dist/types/hooks/messages/index.d.ts +2 -0
- package/dist/types/hooks/messages/useStartReply.d.ts +6 -0
- package/dist/types/hooks/useEmojiNative.d.ts +9 -0
- package/package.json +1 -1
|
@@ -12,6 +12,8 @@ export interface ReplyFileMessageThemeCSSVariables {
|
|
|
12
12
|
'--chotto-replyfilemessage-p-white-space': string;
|
|
13
13
|
/** Размер шрифта абзаца */
|
|
14
14
|
'--chotto-replyfilemessage-p-font-size': string;
|
|
15
|
+
/** Жирность абзаца (заголовок «В ответ») */
|
|
16
|
+
'--chotto-replyfilemessage-p-font-weight': string;
|
|
15
17
|
/** Цвет абзаца */
|
|
16
18
|
'--chotto-replyfilemessage-p-color': string;
|
|
17
19
|
/** Переполнение абзаца */
|
|
@@ -30,6 +32,8 @@ export interface ReplyFileMessageThemeCSSVariables {
|
|
|
30
32
|
'--chotto-replyfilemessage-text-margin-top': string;
|
|
31
33
|
/** Размер шрифта текста */
|
|
32
34
|
'--chotto-replyfilemessage-text-font-size': string;
|
|
35
|
+
/** Жирность текста */
|
|
36
|
+
'--chotto-replyfilemessage-text-font-weight': string;
|
|
33
37
|
/** Цвет текста */
|
|
34
38
|
'--chotto-replyfilemessage-text-color': string;
|
|
35
39
|
/** Отображение ссылки на файл */
|
|
@@ -60,6 +64,8 @@ export interface ReplyFileMessageThemeCSSVariables {
|
|
|
60
64
|
'--chotto-replyfilemessage-filename-text-margin-right': string;
|
|
61
65
|
/** Размер шрифта имени файла */
|
|
62
66
|
'--chotto-replyfilemessage-filename-text-font-size': string;
|
|
67
|
+
/** Жирность имени файла */
|
|
68
|
+
'--chotto-replyfilemessage-filename-text-font-weight': string;
|
|
63
69
|
/** Цвет имени файла */
|
|
64
70
|
'--chotto-replyfilemessage-filename-text-color': string;
|
|
65
71
|
/** Подчёркивание имени файла */
|
|
@@ -6,6 +6,8 @@ export interface ReplyImageMessageThemeCSSVariables {
|
|
|
6
6
|
'--chotto-replyimagemessage-p-margin': string;
|
|
7
7
|
/** Размер шрифта абзаца */
|
|
8
8
|
'--chotto-replyimagemessage-p-font-size': string;
|
|
9
|
+
/** Жирность абзаца (заголовок «В ответ») */
|
|
10
|
+
'--chotto-replyimagemessage-p-font-weight': string;
|
|
9
11
|
/** Цвет абзаца */
|
|
10
12
|
'--chotto-replyimagemessage-p-color': string;
|
|
11
13
|
/** Переполнение абзаца */
|
|
@@ -62,6 +64,8 @@ export interface ReplyImageMessageThemeCSSVariables {
|
|
|
62
64
|
'--chotto-replyimagemessage-text-margin-top': string;
|
|
63
65
|
/** Размер шрифта текста */
|
|
64
66
|
'--chotto-replyimagemessage-text-font-size': string;
|
|
67
|
+
/** Жирность текста */
|
|
68
|
+
'--chotto-replyimagemessage-text-font-weight': string;
|
|
65
69
|
/** Цвет текста */
|
|
66
70
|
'--chotto-replyimagemessage-text-color': string;
|
|
67
71
|
/** Отображение описания ответа */
|
|
@@ -76,6 +80,8 @@ export interface ReplyImageMessageThemeCSSVariables {
|
|
|
76
80
|
'--chotto-replyimagemessage-reply-description-white-space': string;
|
|
77
81
|
/** Цвет спана в описании ответа */
|
|
78
82
|
'--chotto-replyimagemessage-reply-description-span-color': string;
|
|
83
|
+
/** Жирность текста «Фотография» */
|
|
84
|
+
'--chotto-replyimagemessage-reply-description-p-font-weight': string;
|
|
79
85
|
/** Переход появления модального окна */
|
|
80
86
|
'--chotto-replyimagemessage-modal-fade-enter-active-transition': string;
|
|
81
87
|
/** Прозрачность модального окна в начале */
|
|
@@ -6,6 +6,8 @@ export interface ReplyStickerMessageThemeCSSVariables {
|
|
|
6
6
|
'--chotto-replystickermessage-p-margin': string;
|
|
7
7
|
/** Размер шрифта абзаца */
|
|
8
8
|
'--chotto-replystickermessage-p-font-size': string;
|
|
9
|
+
/** Жирность абзаца (заголовок «В ответ») */
|
|
10
|
+
'--chotto-replystickermessage-p-font-weight': string;
|
|
9
11
|
/** Цвет абзаца */
|
|
10
12
|
'--chotto-replystickermessage-p-color': string;
|
|
11
13
|
/** Переполнение абзаца */
|
|
@@ -84,6 +86,8 @@ export interface ReplyStickerMessageThemeCSSVariables {
|
|
|
84
86
|
'--chotto-replystickermessage-text-margin-top': string;
|
|
85
87
|
/** Размер шрифта текста */
|
|
86
88
|
'--chotto-replystickermessage-text-font-size': string;
|
|
89
|
+
/** Жирность текста */
|
|
90
|
+
'--chotto-replystickermessage-text-font-weight': string;
|
|
87
91
|
/** Цвет текста */
|
|
88
92
|
'--chotto-replystickermessage-text-color': string;
|
|
89
93
|
/** Отображение описания ответа */
|
|
@@ -98,6 +102,8 @@ export interface ReplyStickerMessageThemeCSSVariables {
|
|
|
98
102
|
'--chotto-replystickermessage-reply-description-white-space': string;
|
|
99
103
|
/** Цвет спана в описании ответа */
|
|
100
104
|
'--chotto-replystickermessage-reply-description-span-color': string;
|
|
105
|
+
/** Жирность текста «Стикер» */
|
|
106
|
+
'--chotto-replystickermessage-reply-description-p-font-weight': string;
|
|
101
107
|
/** Переход появления модального окна */
|
|
102
108
|
'--chotto-replystickermessage-modal-fade-enter-active-transition': string;
|
|
103
109
|
/** Прозрачность модального окна в начале */
|
|
@@ -12,10 +12,14 @@ export interface ReplyTextMessageThemeCSSVariables {
|
|
|
12
12
|
'--chotto-replytextmessage-text-font-size': string;
|
|
13
13
|
/** Цвет текста ответа */
|
|
14
14
|
'--chotto-replytextmessage-text-color': string;
|
|
15
|
+
/** Жирность текста ответа */
|
|
16
|
+
'--chotto-replytextmessage-text-font-weight': string;
|
|
15
17
|
/** Внешние отступы абзаца */
|
|
16
18
|
'--chotto-replytextmessage-p-margin': string;
|
|
17
19
|
/** Размер шрифта абзаца */
|
|
18
20
|
'--chotto-replytextmessage-p-font-size': string;
|
|
21
|
+
/** Жирность абзаца */
|
|
22
|
+
'--chotto-replytextmessage-p-font-weight': string;
|
|
19
23
|
/** Цвет абзаца */
|
|
20
24
|
'--chotto-replytextmessage-p-color': string;
|
|
21
25
|
/** Правила переноса строк */
|
|
@@ -6,6 +6,8 @@ export interface ReplyVideoMessageThemeCSSVariables {
|
|
|
6
6
|
'--chotto-replyvideomessage-p-margin': string;
|
|
7
7
|
/** Размер шрифта текста ответа */
|
|
8
8
|
'--chotto-replyvideomessage-p-font-size': string;
|
|
9
|
+
/** Жирность абзаца (заголовок «В ответ») */
|
|
10
|
+
'--chotto-replyvideomessage-p-font-weight': string;
|
|
9
11
|
/** Цвет текста ответа */
|
|
10
12
|
'--chotto-replyvideomessage-p-color': string;
|
|
11
13
|
/** Переполнение текста ответа */
|
|
@@ -48,6 +50,8 @@ export interface ReplyVideoMessageThemeCSSVariables {
|
|
|
48
50
|
'--chotto-replyvideomessage-text-margin-top': string;
|
|
49
51
|
/** Размер шрифта текста */
|
|
50
52
|
'--chotto-replyvideomessage-text-font-size': string;
|
|
53
|
+
/** Жирность текста */
|
|
54
|
+
'--chotto-replyvideomessage-text-font-weight': string;
|
|
51
55
|
/** Цвет текста */
|
|
52
56
|
'--chotto-replyvideomessage-text-color': string;
|
|
53
57
|
/** Отображение описания ответа */
|
|
@@ -60,6 +64,8 @@ export interface ReplyVideoMessageThemeCSSVariables {
|
|
|
60
64
|
'--chotto-replyvideomessage-reply-description-margin-bottom': string;
|
|
61
65
|
/** Цвет текста описания ответа */
|
|
62
66
|
'--chotto-replyvideomessage-reply-description-span-color': string;
|
|
67
|
+
/** Жирность текста «Видео» */
|
|
68
|
+
'--chotto-replyvideomessage-reply-description-p-font-weight': string;
|
|
63
69
|
/** Ширина видео в модальном окне */
|
|
64
70
|
'--chotto-replyvideomessage-modal-video-width': string;
|
|
65
71
|
/** Высота видео в модальном окне */
|
|
@@ -17,6 +17,19 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
17
17
|
type: BooleanConstructor;
|
|
18
18
|
default: boolean;
|
|
19
19
|
};
|
|
20
|
+
reactionsMode: {
|
|
21
|
+
type: () => "single" | "multi";
|
|
22
|
+
default: string;
|
|
23
|
+
validator: (value: string) => boolean;
|
|
24
|
+
};
|
|
25
|
+
currentUserId: {
|
|
26
|
+
type: () => string | number | undefined;
|
|
27
|
+
default: undefined;
|
|
28
|
+
};
|
|
29
|
+
reactionUserNames: {
|
|
30
|
+
type: () => Record<string, string>;
|
|
31
|
+
default: undefined;
|
|
32
|
+
};
|
|
20
33
|
channel: {
|
|
21
34
|
type: StringConstructor;
|
|
22
35
|
required: false;
|
|
@@ -43,6 +56,19 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
43
56
|
type: BooleanConstructor;
|
|
44
57
|
default: boolean;
|
|
45
58
|
};
|
|
59
|
+
reactionsMode: {
|
|
60
|
+
type: () => "single" | "multi";
|
|
61
|
+
default: string;
|
|
62
|
+
validator: (value: string) => boolean;
|
|
63
|
+
};
|
|
64
|
+
currentUserId: {
|
|
65
|
+
type: () => string | number | undefined;
|
|
66
|
+
default: undefined;
|
|
67
|
+
};
|
|
68
|
+
reactionUserNames: {
|
|
69
|
+
type: () => Record<string, string>;
|
|
70
|
+
default: undefined;
|
|
71
|
+
};
|
|
46
72
|
channel: {
|
|
47
73
|
type: StringConstructor;
|
|
48
74
|
required: false;
|
|
@@ -54,8 +80,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
54
80
|
"onSms-invite"?: ((...args: any[]) => any) | undefined;
|
|
55
81
|
}>, {
|
|
56
82
|
channel: string;
|
|
83
|
+
currentUserId: string | number | undefined;
|
|
84
|
+
reactionUserNames: Record<string, string>;
|
|
57
85
|
applyStyle: Function;
|
|
58
86
|
isFirstInSeries: boolean;
|
|
59
87
|
reactionsEnabled: boolean;
|
|
88
|
+
reactionsMode: "single" | "multi";
|
|
60
89
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
61
90
|
export default _default;
|
|
@@ -16,6 +16,19 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
16
16
|
type: BooleanConstructor;
|
|
17
17
|
default: boolean;
|
|
18
18
|
};
|
|
19
|
+
reactionsMode: {
|
|
20
|
+
type: () => "single" | "multi";
|
|
21
|
+
default: string;
|
|
22
|
+
validator: (value: string) => boolean;
|
|
23
|
+
};
|
|
24
|
+
currentUserId: {
|
|
25
|
+
type: () => string | number | undefined;
|
|
26
|
+
default: undefined;
|
|
27
|
+
};
|
|
28
|
+
reactionUserNames: {
|
|
29
|
+
type: () => Record<string, string>;
|
|
30
|
+
default: undefined;
|
|
31
|
+
};
|
|
19
32
|
subtextTooltipData: {
|
|
20
33
|
type: () => Record<string, string>;
|
|
21
34
|
required: false;
|
|
@@ -47,6 +60,19 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
47
60
|
type: BooleanConstructor;
|
|
48
61
|
default: boolean;
|
|
49
62
|
};
|
|
63
|
+
reactionsMode: {
|
|
64
|
+
type: () => "single" | "multi";
|
|
65
|
+
default: string;
|
|
66
|
+
validator: (value: string) => boolean;
|
|
67
|
+
};
|
|
68
|
+
currentUserId: {
|
|
69
|
+
type: () => string | number | undefined;
|
|
70
|
+
default: undefined;
|
|
71
|
+
};
|
|
72
|
+
reactionUserNames: {
|
|
73
|
+
type: () => Record<string, string>;
|
|
74
|
+
default: undefined;
|
|
75
|
+
};
|
|
50
76
|
subtextTooltipData: {
|
|
51
77
|
type: () => Record<string, string>;
|
|
52
78
|
required: false;
|
|
@@ -63,9 +89,12 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
63
89
|
"onSms-invite"?: ((...args: any[]) => any) | undefined;
|
|
64
90
|
}>, {
|
|
65
91
|
channel: string;
|
|
92
|
+
currentUserId: string | number | undefined;
|
|
93
|
+
reactionUserNames: Record<string, string>;
|
|
66
94
|
applyStyle: Function;
|
|
67
95
|
isFirstInSeries: boolean;
|
|
68
96
|
reactionsEnabled: boolean;
|
|
97
|
+
reactionsMode: "single" | "multi";
|
|
69
98
|
subtextTooltipData: Record<string, string>;
|
|
70
99
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
71
100
|
export default _default;
|
|
@@ -52,6 +52,24 @@ export interface TextMessageThemeCSSVariables {
|
|
|
52
52
|
'--chotto-textmessage-right-after-z-index': string;
|
|
53
53
|
/** Фильтр псевдоэлемента справа */
|
|
54
54
|
'--chotto-textmessage-right-after-filter': string;
|
|
55
|
+
/** Обрезка хвостика справа (скрывает часть внутри пузыря) */
|
|
56
|
+
'--chotto-textmessage-right-after-clip-path': string;
|
|
57
|
+
/** Отображение футера (реакции + время) */
|
|
58
|
+
'--chotto-textmessage-footer-display': string;
|
|
59
|
+
/** Выравнивание элементов футера по поперечной оси */
|
|
60
|
+
'--chotto-textmessage-footer-align-items': string;
|
|
61
|
+
/** Выравнивание элементов футера по главной оси */
|
|
62
|
+
'--chotto-textmessage-footer-justify-content': string;
|
|
63
|
+
/** Промежуток между элементами футера */
|
|
64
|
+
'--chotto-textmessage-footer-column-gap': string;
|
|
65
|
+
/** Отступ сверху футера при наличии реакций */
|
|
66
|
+
'--chotto-textmessage-footer-margin-top': string;
|
|
67
|
+
/** Растягивание блока реакций в футере */
|
|
68
|
+
'--chotto-textmessage-reactions-flex': string;
|
|
69
|
+
/** Перенос реакций */
|
|
70
|
+
'--chotto-textmessage-reactions-flex-wrap': string;
|
|
71
|
+
/** Минимальная ширина блока реакций */
|
|
72
|
+
'--chotto-textmessage-reactions-min-width': string;
|
|
55
73
|
/** Отображение контейнера информации */
|
|
56
74
|
'--chotto-textmessage-info-container-display': string;
|
|
57
75
|
/** Выравнивание элементов контейнера информации по поперечной оси */
|
|
@@ -60,6 +78,10 @@ export interface TextMessageThemeCSSVariables {
|
|
|
60
78
|
'--chotto-textmessage-info-container-justify-content': string;
|
|
61
79
|
/** Промежуток между элементами контейнера информации */
|
|
62
80
|
'--chotto-textmessage-info-container-column-gap': string;
|
|
81
|
+
/** Сжатие контейнера информации */
|
|
82
|
+
'--chotto-textmessage-info-container-flex-shrink': string;
|
|
83
|
+
/** Отступ слева у контейнера информации */
|
|
84
|
+
'--chotto-textmessage-info-container-margin-left': string;
|
|
63
85
|
/** Отображение блока просмотров */
|
|
64
86
|
'--chotto-textmessage-views-display': string;
|
|
65
87
|
/** Выравнивание элементов блока просмотров */
|
|
@@ -16,6 +16,19 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
16
16
|
type: BooleanConstructor;
|
|
17
17
|
default: boolean;
|
|
18
18
|
};
|
|
19
|
+
reactionsMode: {
|
|
20
|
+
type: () => "single" | "multi";
|
|
21
|
+
default: string;
|
|
22
|
+
validator: (value: string) => boolean;
|
|
23
|
+
};
|
|
24
|
+
currentUserId: {
|
|
25
|
+
type: () => string | number | undefined;
|
|
26
|
+
default: undefined;
|
|
27
|
+
};
|
|
28
|
+
reactionUserNames: {
|
|
29
|
+
type: () => Record<string, string>;
|
|
30
|
+
default: undefined;
|
|
31
|
+
};
|
|
19
32
|
subtextTooltipData: {
|
|
20
33
|
type: () => Record<string, string>;
|
|
21
34
|
required: false;
|
|
@@ -47,6 +60,19 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
47
60
|
type: BooleanConstructor;
|
|
48
61
|
default: boolean;
|
|
49
62
|
};
|
|
63
|
+
reactionsMode: {
|
|
64
|
+
type: () => "single" | "multi";
|
|
65
|
+
default: string;
|
|
66
|
+
validator: (value: string) => boolean;
|
|
67
|
+
};
|
|
68
|
+
currentUserId: {
|
|
69
|
+
type: () => string | number | undefined;
|
|
70
|
+
default: undefined;
|
|
71
|
+
};
|
|
72
|
+
reactionUserNames: {
|
|
73
|
+
type: () => Record<string, string>;
|
|
74
|
+
default: undefined;
|
|
75
|
+
};
|
|
50
76
|
subtextTooltipData: {
|
|
51
77
|
type: () => Record<string, string>;
|
|
52
78
|
required: false;
|
|
@@ -63,9 +89,12 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
63
89
|
"onSms-invite"?: ((...args: any[]) => any) | undefined;
|
|
64
90
|
}>, {
|
|
65
91
|
channel: string;
|
|
92
|
+
currentUserId: string | number | undefined;
|
|
93
|
+
reactionUserNames: Record<string, string>;
|
|
66
94
|
applyStyle: Function;
|
|
67
95
|
isFirstInSeries: boolean;
|
|
68
96
|
reactionsEnabled: boolean;
|
|
97
|
+
reactionsMode: "single" | "multi";
|
|
69
98
|
subtextTooltipData: Record<string, string>;
|
|
70
99
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
71
100
|
export default _default;
|
|
@@ -16,22 +16,27 @@ export interface ILinkPreview {
|
|
|
16
16
|
description: string;
|
|
17
17
|
}
|
|
18
18
|
export type ReactionKey = string;
|
|
19
|
+
/** Одна реакция от конкретного пользователя */
|
|
19
20
|
export interface MessageReactionItem {
|
|
20
21
|
key: ReactionKey;
|
|
21
|
-
count: number;
|
|
22
|
-
reactedByMe?: boolean;
|
|
23
|
-
}
|
|
24
|
-
export interface MessageRecentReaction {
|
|
25
22
|
userId: string | number;
|
|
26
|
-
key: ReactionKey;
|
|
27
23
|
date?: number;
|
|
24
|
+
/** Имя автора (snapshot); если нет — берётся из reactionUserNames */
|
|
25
|
+
name?: string;
|
|
26
|
+
}
|
|
27
|
+
/** Агрегированный чип для отображения (считается в UI) */
|
|
28
|
+
export interface MessageReactionChip {
|
|
29
|
+
key: ReactionKey;
|
|
30
|
+
count: number;
|
|
31
|
+
reactedByMe: boolean;
|
|
32
|
+
/** Исходные события по этому эмодзи (для тултипа) */
|
|
33
|
+
events: MessageReactionItem[];
|
|
28
34
|
}
|
|
29
35
|
export interface MessageReactions {
|
|
30
36
|
items: MessageReactionItem[];
|
|
31
37
|
meta?: {
|
|
32
38
|
mode?: 'single' | 'multi';
|
|
33
39
|
};
|
|
34
|
-
recent?: MessageRecentReaction[];
|
|
35
40
|
vendor?: {
|
|
36
41
|
telegram?: {
|
|
37
42
|
total_count?: number;
|
|
@@ -26,6 +26,8 @@ export interface ChatInputThemeCSSVariables {
|
|
|
26
26
|
'--chotto-chatinput-reply-line-grid-row': string;
|
|
27
27
|
/** Отображение строки ответа */
|
|
28
28
|
'--chotto-chatinput-reply-line-display': string;
|
|
29
|
+
/** Отступ снизу строки ответа */
|
|
30
|
+
'--chotto-chatinput-reply-line-margin-bottom': string;
|
|
29
31
|
/** Колонка сетки строки файла */
|
|
30
32
|
'--chotto-chatinput-file-line-grid-column': string;
|
|
31
33
|
/** Строка сетки строки файла */
|
|
@@ -75,6 +75,21 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
75
75
|
type: BooleanConstructor;
|
|
76
76
|
default: boolean;
|
|
77
77
|
};
|
|
78
|
+
reactionsMode: {
|
|
79
|
+
type: () => "single" | "multi";
|
|
80
|
+
default: string;
|
|
81
|
+
validator: (value: string) => boolean;
|
|
82
|
+
};
|
|
83
|
+
/** Id текущего пользователя — для расчёта «моих» реакций */
|
|
84
|
+
currentUserId: {
|
|
85
|
+
type: () => string | number | undefined;
|
|
86
|
+
default: undefined;
|
|
87
|
+
};
|
|
88
|
+
/** userId → имя для тултипов реакций */
|
|
89
|
+
reactionUserNames: {
|
|
90
|
+
type: () => Record<string, string>;
|
|
91
|
+
default: undefined;
|
|
92
|
+
};
|
|
78
93
|
subtextTooltipData: {
|
|
79
94
|
type: ObjectConstructor;
|
|
80
95
|
required: false;
|
|
@@ -170,6 +185,21 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
170
185
|
type: BooleanConstructor;
|
|
171
186
|
default: boolean;
|
|
172
187
|
};
|
|
188
|
+
reactionsMode: {
|
|
189
|
+
type: () => "single" | "multi";
|
|
190
|
+
default: string;
|
|
191
|
+
validator: (value: string) => boolean;
|
|
192
|
+
};
|
|
193
|
+
/** Id текущего пользователя — для расчёта «моих» реакций */
|
|
194
|
+
currentUserId: {
|
|
195
|
+
type: () => string | number | undefined;
|
|
196
|
+
default: undefined;
|
|
197
|
+
};
|
|
198
|
+
/** userId → имя для тултипов реакций */
|
|
199
|
+
reactionUserNames: {
|
|
200
|
+
type: () => Record<string, string>;
|
|
201
|
+
default: undefined;
|
|
202
|
+
};
|
|
173
203
|
subtextTooltipData: {
|
|
174
204
|
type: ObjectConstructor;
|
|
175
205
|
required: false;
|
|
@@ -198,8 +228,11 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
198
228
|
}>, {
|
|
199
229
|
typing: boolean | IFeedTyping;
|
|
200
230
|
chatBackground: string;
|
|
231
|
+
currentUserId: string | number | undefined;
|
|
232
|
+
reactionUserNames: Record<string, string>;
|
|
201
233
|
applyStyle: Function;
|
|
202
234
|
reactionsEnabled: boolean;
|
|
235
|
+
reactionsMode: "single" | "multi";
|
|
203
236
|
subtextTooltipData: Record<string, any>;
|
|
204
237
|
enableDoubleClickReply: boolean;
|
|
205
238
|
buttonParams: IFeedUnreadButton;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Рендер Unicode-эмодзi картинками Apple (тот же CDN, что vue3-emoji-picker-ru при native=false).
|
|
3
|
+
*/
|
|
4
|
+
export declare const APPLE_EMOJI_CDN = "https://cdn.jsdelivr.net/npm/emoji-datasource-apple@6.0.1/img/apple/64";
|
|
5
|
+
/** Имена файлов emoji-datasource совпадают с полем u: все codepoints через дефис, включая fe0f/fe0e */
|
|
6
|
+
export declare function emojiToAppleCode(emoji: string, options?: {
|
|
7
|
+
stripVariationSelectors?: boolean;
|
|
8
|
+
}): string;
|
|
9
|
+
export declare function getAppleEmojiUrl(emoji: string): string;
|
|
10
|
+
/** Альтернативный URL, если основной codepoint не совпал с именем файла в emoji-datasource */
|
|
11
|
+
export declare function getAppleEmojiFallbackUrl(emoji: string): string | null;
|
|
12
|
+
export declare function createAppleEmojiImgHtml(emoji: string): string;
|
|
13
|
+
/** Plain text → HTML с Apple-эмодзi (для зеркала инпута) */
|
|
14
|
+
export declare function textToAppleEmojiHtml(text: string): string;
|
|
15
|
+
/** HTML → HTML, эмодзi в текстовых узлах заменяются на img */
|
|
16
|
+
export declare function replaceEmojisInHtml(html: string): string;
|
|
@@ -4,6 +4,7 @@ export * from './useImmediateDebouncedRef';
|
|
|
4
4
|
export * from './useMessageDraft';
|
|
5
5
|
export * from './useSearchModel';
|
|
6
6
|
export * from './useTheme';
|
|
7
|
+
export * from './useEmojiNative';
|
|
7
8
|
export * from './modals';
|
|
8
9
|
export * from './validators';
|
|
9
10
|
export * from './messages';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Reply } from '@/types';
|
|
2
|
+
export interface ReplyMessageSource {
|
|
3
|
+
messageId: string | number;
|
|
4
|
+
type?: string;
|
|
5
|
+
text?: string;
|
|
6
|
+
url?: string;
|
|
7
|
+
filename?: string;
|
|
8
|
+
header?: string;
|
|
9
|
+
callDuration?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function buildReplyPayload(message: ReplyMessageSource, fallbackType: string): Reply;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Reply } from '@/types';
|
|
2
|
+
export declare function showReplyPreview(chatAppId: string): void;
|
|
3
|
+
export declare function hideReplyPreview(chatAppId: string): void;
|
|
4
|
+
export declare function useStartReply(chatAppId: string): {
|
|
5
|
+
startReply: (reply: Reply) => void;
|
|
6
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Общий флаг native/3D-эмодзи для инстанса чата (ключ — chatAppId).
|
|
3
|
+
* Источник правды — prop `native` у ButtonEmojiPicker.
|
|
4
|
+
*/
|
|
5
|
+
export declare const useEmojiNative: (outId: string) => {
|
|
6
|
+
isNative: import("vue").ComputedRef<boolean>;
|
|
7
|
+
getNative: () => boolean;
|
|
8
|
+
setNative: (native: boolean) => void;
|
|
9
|
+
};
|