@mobilon-dev/chotto 0.3.84 → 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.
Files changed (126) hide show
  1. package/dist/chotto.css +1 -1
  2. package/dist/components/1_atoms/ButtonContextMenu/ButtonContextMenu.vue2.js +3 -2
  3. package/dist/components/1_atoms/ContactContextMenu/ContactContextMenu.vue2.js +3 -2
  4. package/dist/components/1_atoms/EmojiGlyph/EmojiGlyph.vue.js +38 -0
  5. package/dist/components/1_atoms/EmojiGlyph/EmojiGlyph.vue2.js +4 -0
  6. package/dist/components/1_atoms/Tooltip/Tooltip.vue.js +1 -1
  7. package/dist/components/1_atoms/Tooltip/Tooltip.vue2.js +49 -36
  8. package/dist/components/1_icons/CloseIcon.vue.js +21 -0
  9. package/dist/components/2_blocks/FeedSearch/FeedSearch.vue2.js +10 -9
  10. package/dist/components/2_chatinput_elements/ButtonCommandsSelector/ButtonCommandsSelector.vue2.js +8 -7
  11. package/dist/components/2_chatinput_elements/ButtonEmojiPicker/ButtonEmojiPicker.vue.js +2 -2
  12. package/dist/components/2_chatinput_elements/ButtonEmojiPicker/ButtonEmojiPicker.vue2.js +48 -37
  13. package/dist/components/2_chatinput_elements/ButtonTemplateSelector/ButtonTemplateSelector.vue2.js +3 -2
  14. package/dist/components/2_chatinput_elements/ButtonWabaTemplateSelector/ButtonWabaTemplateSelector.vue.js +7 -6
  15. package/dist/components/2_chatinput_elements/FilePreview/FilePreview.vue2.js +3 -2
  16. package/dist/components/2_chatinput_elements/FileUploader/FileUploader.vue2.js +3 -2
  17. package/dist/components/2_chatinput_elements/StickerPicker/StickerPicker.vue2.js +3 -2
  18. package/dist/components/2_chatinput_elements/TemplateSelector/TemplateSelector.vue.js +27 -26
  19. package/dist/components/2_chatinput_elements/TextFormatToolbar/TextFormatToolbar.vue2.js +3 -2
  20. package/dist/components/2_chatinput_elements/WABAAttachmentSection/WABAAttachmentSection.vue2.js +3 -2
  21. package/dist/components/2_chatlist_elements/ChatItem/ChatItem.vue2.js +3 -2
  22. package/dist/components/2_elements/AudioRecorder/AudioRecorder.vue2.js +3 -2
  23. package/dist/components/2_elements/ChannelSelector/ChannelSelector.vue.js +6 -5
  24. package/dist/components/2_elements/ThemeMode/ThemeMode.vue.js +10 -9
  25. package/dist/components/2_elements/VideoRecorder/VideoRecorder.vue2.js +3 -2
  26. package/dist/components/2_feed_elements/AudioMessage/AudioMessage.vue.js +1 -1
  27. package/dist/components/2_feed_elements/AudioMessage/AudioMessage.vue2.js +169 -143
  28. package/dist/components/2_feed_elements/BaseReplyMessage/BaseReplyMessage.vue.js +4 -4
  29. package/dist/components/2_feed_elements/BaseReplyMessage/BaseReplyMessage.vue2.js +33 -32
  30. package/dist/components/2_feed_elements/CallMessage/CallMessage.vue2.js +8 -2
  31. package/dist/components/2_feed_elements/FileMessage/FileMessage.vue.js +3 -3
  32. package/dist/components/2_feed_elements/FileMessage/FileMessage.vue2.js +134 -108
  33. package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue.js +1 -1
  34. package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue2.js +116 -97
  35. package/dist/components/2_feed_elements/MessageKeyboard/MessageKeyboard.vue2.js +3 -2
  36. package/dist/components/2_feed_elements/MessageReactions/MessageReactions.vue.js +2 -2
  37. package/dist/components/2_feed_elements/MessageReactions/MessageReactions.vue2.js +232 -113
  38. package/dist/components/2_feed_elements/MessageReactions/composables/usePositioning.js +77 -62
  39. package/dist/components/2_feed_elements/MessageReactions/composables/useReactions.js +62 -20
  40. package/dist/components/2_feed_elements/MessageReactions/composables/useReactionsPanel.js +91 -69
  41. package/dist/components/2_feed_elements/MessageReactions/composables/useReactionsState.js +46 -22
  42. package/dist/components/2_feed_elements/MessageReactions/icons/ExpandReactionsIcon.vue.js +21 -0
  43. package/dist/components/2_feed_elements/MessageReactions/icons/ReplyIcon.vue.js +21 -0
  44. package/dist/components/2_feed_elements/MessageReactions/utils/quickReactions.js +2 -8
  45. package/dist/components/2_feed_elements/MessageReactions/utils/reactionTooltip.js +39 -0
  46. package/dist/components/2_feed_elements/MissedCallMessage/MissedCallMessage.vue2.js +26 -20
  47. package/dist/components/2_feed_elements/ReplyAudioMessage/ReplyAudioMessage.vue.js +2 -2
  48. package/dist/components/2_feed_elements/ReplyAudioMessage/ReplyAudioMessage.vue2.js +27 -18
  49. package/dist/components/2_feed_elements/ReplyCallMessage/ReplyCallMessage.vue.js +2 -2
  50. package/dist/components/2_feed_elements/ReplyCallMessage/ReplyCallMessage.vue2.js +16 -15
  51. package/dist/components/2_feed_elements/ReplyFileMessage/ReplyFileMessage.vue.js +3 -3
  52. package/dist/components/2_feed_elements/ReplyFileMessage/ReplyFileMessage.vue2.js +27 -18
  53. package/dist/components/2_feed_elements/ReplyImageMessage/ReplyImageMessage.vue.js +1 -1
  54. package/dist/components/2_feed_elements/ReplyImageMessage/ReplyImageMessage.vue2.js +16 -12
  55. package/dist/components/2_feed_elements/ReplyStickerMessage/ReplyStickerMessage.vue.js +4 -4
  56. package/dist/components/2_feed_elements/ReplyStickerMessage/ReplyStickerMessage.vue2.js +74 -65
  57. package/dist/components/2_feed_elements/ReplyTextMessage/ReplyTextMessage.vue.js +1 -1
  58. package/dist/components/2_feed_elements/ReplyTextMessage/ReplyTextMessage.vue2.js +20 -11
  59. package/dist/components/2_feed_elements/ReplyVideoMessage/ReplyVideoMessage.vue.js +2 -2
  60. package/dist/components/2_feed_elements/ReplyVideoMessage/ReplyVideoMessage.vue2.js +13 -9
  61. package/dist/components/2_feed_elements/StickerMessage/StickerMessage.vue.js +4 -4
  62. package/dist/components/2_feed_elements/StickerMessage/StickerMessage.vue2.js +74 -55
  63. package/dist/components/2_feed_elements/TextMessage/TextMessage.vue.js +4 -4
  64. package/dist/components/2_feed_elements/TextMessage/TextMessage.vue2.js +102 -76
  65. package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue.js +2 -2
  66. package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue2.js +74 -55
  67. package/dist/components/3_compounds/ChatInput/ChatInput.vue.js +2 -2
  68. package/dist/components/3_compounds/ChatInput/ChatInput.vue2.js +99 -82
  69. package/dist/components/3_compounds/Feed/Feed.vue.js +3 -3
  70. package/dist/components/3_compounds/Feed/Feed.vue2.js +159 -139
  71. package/dist/components/3_compounds/Feed/composables/useFeedReply.js +22 -25
  72. package/dist/functions/renderAppleEmojis.js +92 -0
  73. package/dist/hooks/messages/buildReplyPayload.js +14 -0
  74. package/dist/hooks/messages/useMessageLinks.js +60 -50
  75. package/dist/hooks/messages/useStartReply.js +29 -0
  76. package/dist/hooks/useEmojiNative.js +19 -0
  77. package/dist/index.js +130 -122
  78. package/dist/themes/dark.css +1 -1
  79. package/dist/themes/default.css +1 -1
  80. package/dist/themes/glass.css +1 -1
  81. package/dist/themes/green.css +1 -1
  82. package/dist/themes/mobilon1.css +1 -1
  83. package/dist/types/apps/data/messages.d.ts +20 -18
  84. package/dist/types/components/1_atoms/EmojiGlyph/EmojiGlyph.vue.d.ts +12 -0
  85. package/dist/types/components/1_atoms/Tooltip/stories/Tooltip.stories.d.ts +3 -0
  86. package/dist/types/components/1_icons/CloseIcon.vue.d.ts +2 -0
  87. package/dist/types/components/2_chatinput_elements/ButtonEmojiPicker/ButtonEmojiPicker.vue.d.ts +9 -1
  88. package/dist/types/components/2_feed_elements/AudioMessage/AudioMessage.vue.d.ts +29 -0
  89. package/dist/types/components/2_feed_elements/AudioMessage/styles/types.d.ts +24 -16
  90. package/dist/types/components/2_feed_elements/BaseReplyMessage/styles/types.d.ts +8 -4
  91. package/dist/types/components/2_feed_elements/FileMessage/FileMessage.vue.d.ts +29 -0
  92. package/dist/types/components/2_feed_elements/FileMessage/styles/types.d.ts +20 -0
  93. package/dist/types/components/2_feed_elements/ImageMessage/ImageMessage.vue.d.ts +29 -0
  94. package/dist/types/components/2_feed_elements/ImageMessage/styles/types.d.ts +2 -0
  95. package/dist/types/components/2_feed_elements/MessageReactions/MessageReactions.vue.d.ts +64 -1
  96. package/dist/types/components/2_feed_elements/MessageReactions/composables/index.d.ts +2 -2
  97. package/dist/types/components/2_feed_elements/MessageReactions/composables/usePositioning.d.ts +11 -1
  98. package/dist/types/components/2_feed_elements/MessageReactions/composables/useReactions.d.ts +20 -12
  99. package/dist/types/components/2_feed_elements/MessageReactions/composables/useReactionsPanel.d.ts +3 -3
  100. package/dist/types/components/2_feed_elements/MessageReactions/composables/useReactionsState.d.ts +13 -22
  101. package/dist/types/components/2_feed_elements/MessageReactions/icons/ExpandReactionsIcon.vue.d.ts +2 -0
  102. package/dist/types/components/2_feed_elements/MessageReactions/icons/ReplyIcon.vue.d.ts +2 -0
  103. package/dist/types/components/2_feed_elements/MessageReactions/styles/types.d.ts +14 -74
  104. package/dist/types/components/2_feed_elements/MessageReactions/utils/quickReactions.d.ts +1 -1
  105. package/dist/types/components/2_feed_elements/MessageReactions/utils/reactionTooltip.d.ts +14 -0
  106. package/dist/types/components/2_feed_elements/ReplyAudioMessage/styles/types.d.ts +6 -0
  107. package/dist/types/components/2_feed_elements/ReplyCallMessage/styles/types.d.ts +6 -0
  108. package/dist/types/components/2_feed_elements/ReplyFileMessage/styles/types.d.ts +6 -0
  109. package/dist/types/components/2_feed_elements/ReplyImageMessage/styles/types.d.ts +6 -0
  110. package/dist/types/components/2_feed_elements/ReplyStickerMessage/styles/types.d.ts +6 -0
  111. package/dist/types/components/2_feed_elements/ReplyTextMessage/styles/types.d.ts +4 -0
  112. package/dist/types/components/2_feed_elements/ReplyVideoMessage/styles/types.d.ts +6 -0
  113. package/dist/types/components/2_feed_elements/StickerMessage/StickerMessage.vue.d.ts +29 -0
  114. package/dist/types/components/2_feed_elements/TextMessage/TextMessage.vue.d.ts +29 -0
  115. package/dist/types/components/2_feed_elements/TextMessage/styles/types.d.ts +22 -0
  116. package/dist/types/components/2_feed_elements/VideoMessage/VideoMessage.vue.d.ts +29 -0
  117. package/dist/types/components/2_feed_elements/types/messages.d.ts +11 -6
  118. package/dist/types/components/3_compounds/ChatInput/styles/types.d.ts +2 -0
  119. package/dist/types/components/3_compounds/Feed/Feed.vue.d.ts +33 -0
  120. package/dist/types/functions/renderAppleEmojis.d.ts +16 -0
  121. package/dist/types/hooks/index.d.ts +1 -0
  122. package/dist/types/hooks/messages/buildReplyPayload.d.ts +11 -0
  123. package/dist/types/hooks/messages/index.d.ts +2 -0
  124. package/dist/types/hooks/messages/useStartReply.d.ts +6 -0
  125. package/dist/types/hooks/useEmojiNative.d.ts +9 -0
  126. package/package.json +1 -1
@@ -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;
@@ -2,3 +2,5 @@ export * from './useMessageActions';
2
2
  export * from './useMessageLinks';
3
3
  export * from './useChannelAccentColor';
4
4
  export * from './useSubtextTooltip';
5
+ export * from './useStartReply';
6
+ export * from './buildReplyPayload';
@@ -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
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mobilon-dev/chotto",
3
- "version": "0.3.84",
3
+ "version": "0.3.85",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",