@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.
- 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/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_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
|
@@ -1,90 +1,112 @@
|
|
|
1
|
-
import { ref as
|
|
2
|
-
import { calculatePanelPosition as
|
|
3
|
-
function
|
|
4
|
-
const
|
|
5
|
-
let
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { ref as f, watch as W, nextTick as M } from "vue";
|
|
2
|
+
import { calculatePanelPosition as j, calculatePickerPositionAboveQuickPanel as B, calculateFixedPanelPosition as D } from "./usePositioning.js";
|
|
3
|
+
function J(g, P) {
|
|
4
|
+
const a = f(!1), l = f(!1), o = f(null), n = f(null), O = f({}), T = f({});
|
|
5
|
+
let Q = !1, m = !1, k = !1, d = null, w = null;
|
|
6
|
+
W(a, async (v) => {
|
|
7
|
+
var i, c;
|
|
8
|
+
if (v) {
|
|
9
|
+
await M();
|
|
10
|
+
let e = 0;
|
|
11
|
+
for (; !n.value && e < 20; )
|
|
12
|
+
await new Promise((t) => setTimeout(t, 10)), e++;
|
|
13
|
+
for (e = 0; ((i = n.value) == null ? void 0 : i.offsetWidth) === 0 && e < 10; )
|
|
14
|
+
await new Promise((t) => setTimeout(t, 10)), e++;
|
|
15
|
+
const r = ((c = n.value) == null ? void 0 : c.offsetWidth) || g.value.length * 40 + 40, s = await j(n.value, P.value, r);
|
|
16
|
+
O.value = s;
|
|
10
17
|
}
|
|
11
|
-
}),
|
|
12
|
-
if (
|
|
13
|
-
await
|
|
14
|
-
let
|
|
15
|
-
const
|
|
16
|
-
for (; !
|
|
17
|
-
await new Promise((
|
|
18
|
-
await
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
18
|
+
}), W(l, async (v) => {
|
|
19
|
+
if (v) {
|
|
20
|
+
await M();
|
|
21
|
+
let i = 0;
|
|
22
|
+
const c = 20;
|
|
23
|
+
for (; !o.value && i < c; )
|
|
24
|
+
await new Promise((t) => setTimeout(t, 10)), i++;
|
|
25
|
+
await M();
|
|
26
|
+
const e = 350, r = () => n.value && a.value ? B(
|
|
27
|
+
o.value,
|
|
28
|
+
n.value,
|
|
29
|
+
P.value,
|
|
30
|
+
e
|
|
31
|
+
) : D(o.value, P.value, e);
|
|
32
|
+
let s = await r();
|
|
33
|
+
if (T.value = s, o.value) {
|
|
34
|
+
let t = 0;
|
|
35
|
+
const p = 10;
|
|
36
|
+
for (; o.value.offsetWidth === 0 && t < p; )
|
|
37
|
+
await new Promise((b) => setTimeout(b, 10)), t++;
|
|
38
|
+
await M(), s = await r(), T.value = s;
|
|
27
39
|
}
|
|
28
40
|
}
|
|
29
41
|
});
|
|
30
|
-
function
|
|
31
|
-
|
|
42
|
+
function h() {
|
|
43
|
+
d && (clearTimeout(d), d = null);
|
|
32
44
|
}
|
|
33
|
-
function
|
|
34
|
-
|
|
45
|
+
function u() {
|
|
46
|
+
w && (clearTimeout(w), w = null);
|
|
35
47
|
}
|
|
36
|
-
|
|
37
|
-
|
|
48
|
+
function y() {
|
|
49
|
+
u(), w = setTimeout(() => {
|
|
50
|
+
!k && !m && !Q && (a.value = !1, l.value = !1);
|
|
51
|
+
}, 150);
|
|
38
52
|
}
|
|
39
|
-
function
|
|
40
|
-
|
|
53
|
+
function x() {
|
|
54
|
+
u(), a.value = !0;
|
|
41
55
|
}
|
|
42
|
-
function
|
|
43
|
-
|
|
56
|
+
function A() {
|
|
57
|
+
h(), u(), a.value = !1;
|
|
44
58
|
}
|
|
45
|
-
function
|
|
46
|
-
|
|
47
|
-
!c && !P && (t.value = !1);
|
|
48
|
-
}, 150);
|
|
59
|
+
async function F() {
|
|
60
|
+
h(), u(), m = !0, l.value = !0;
|
|
49
61
|
}
|
|
50
|
-
function
|
|
51
|
-
|
|
62
|
+
function C() {
|
|
63
|
+
u(), l.value = !1;
|
|
52
64
|
}
|
|
53
|
-
function
|
|
54
|
-
|
|
55
|
-
!c && !r && (l.value = !1);
|
|
56
|
-
}, 150);
|
|
65
|
+
function E() {
|
|
66
|
+
m = !0, u();
|
|
57
67
|
}
|
|
58
|
-
function
|
|
59
|
-
|
|
68
|
+
function I() {
|
|
69
|
+
m = !1, y();
|
|
60
70
|
}
|
|
61
|
-
function
|
|
62
|
-
|
|
71
|
+
function L() {
|
|
72
|
+
Q = !0, u();
|
|
73
|
+
}
|
|
74
|
+
function S() {
|
|
75
|
+
Q = !1, y();
|
|
76
|
+
}
|
|
77
|
+
function q() {
|
|
78
|
+
k = !0, u(), h(), !(a.value || l.value) && (d = setTimeout(() => {
|
|
79
|
+
k && x();
|
|
80
|
+
}, 1e3));
|
|
81
|
+
}
|
|
82
|
+
function z() {
|
|
83
|
+
k = !1, h(), y();
|
|
63
84
|
}
|
|
64
|
-
function
|
|
65
|
-
|
|
66
|
-
|
|
85
|
+
function R(v) {
|
|
86
|
+
var s, t, p;
|
|
87
|
+
const i = v.target, c = (s = n.value) == null ? void 0 : s.contains(i), e = (t = o.value) == null ? void 0 : t.contains(i), r = (p = P.value) == null ? void 0 : p.contains(i);
|
|
88
|
+
a.value && !c && !r && !e && (a.value = !1, l.value = !1), l.value && !e && !c && !r && (l.value = !1);
|
|
67
89
|
}
|
|
68
90
|
return {
|
|
69
|
-
isQuickReactionsOpen:
|
|
91
|
+
isQuickReactionsOpen: a,
|
|
70
92
|
isFullPickerOpen: l,
|
|
71
|
-
pickerRef:
|
|
72
|
-
quickReactionsRef:
|
|
73
|
-
quickPanelStyle:
|
|
74
|
-
pickerStyle:
|
|
75
|
-
openQuickPanel:
|
|
76
|
-
closeQuickPanel:
|
|
77
|
-
openFullPicker:
|
|
78
|
-
closeFullPicker:
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
handleClickOutside:
|
|
93
|
+
pickerRef: o,
|
|
94
|
+
quickReactionsRef: n,
|
|
95
|
+
quickPanelStyle: O,
|
|
96
|
+
pickerStyle: T,
|
|
97
|
+
openQuickPanel: x,
|
|
98
|
+
closeQuickPanel: A,
|
|
99
|
+
openFullPicker: F,
|
|
100
|
+
closeFullPicker: C,
|
|
101
|
+
handleMessageMouseEnter: q,
|
|
102
|
+
handleMessageMouseLeave: z,
|
|
103
|
+
handleQuickPanelMouseEnter: E,
|
|
104
|
+
handleQuickPanelMouseLeave: I,
|
|
105
|
+
handlePickerMouseEnter: L,
|
|
106
|
+
handlePickerMouseLeave: S,
|
|
107
|
+
handleClickOutside: R
|
|
86
108
|
};
|
|
87
109
|
}
|
|
88
110
|
export {
|
|
89
|
-
|
|
111
|
+
J as useReactionsPanel
|
|
90
112
|
};
|
|
@@ -1,32 +1,56 @@
|
|
|
1
|
-
import { ref as
|
|
2
|
-
import { updateLocalReactionsToggle as
|
|
3
|
-
function
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { ref as h, watch as L, computed as l } from "vue";
|
|
2
|
+
import { aggregateReactions as M, getMyReactionKey as K, hasMyReaction as q, updateLocalReactionsToggle as w, updateLocalReactionsRemove as x, updateLocalReactionsReplace as A, updateLocalReactionsAdd as I } from "./useReactions.js";
|
|
3
|
+
function R(o) {
|
|
4
|
+
if (o)
|
|
5
|
+
return {
|
|
6
|
+
...o,
|
|
7
|
+
items: o.items.map((a) => ({ ...a })),
|
|
8
|
+
meta: o.meta ? { ...o.meta } : void 0
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
function b(o, a, u, i) {
|
|
12
|
+
const n = h(R(o.value));
|
|
13
|
+
L(o, (t) => {
|
|
14
|
+
n.value = R(t);
|
|
7
15
|
}, { deep: !0, immediate: !0 });
|
|
8
|
-
const
|
|
16
|
+
const s = l(() => M(n.value, u.value)), d = l(() => s.value.length > 0), f = l(() => K(n, u.value));
|
|
17
|
+
function v() {
|
|
9
18
|
var e;
|
|
10
|
-
return (e =
|
|
11
|
-
}
|
|
12
|
-
function
|
|
13
|
-
|
|
19
|
+
return ((e = i == null ? void 0 : i.value) == null ? void 0 : e.trim()) || void 0;
|
|
20
|
+
}
|
|
21
|
+
function c() {
|
|
22
|
+
return u.value;
|
|
23
|
+
}
|
|
24
|
+
function m(t) {
|
|
25
|
+
const e = c();
|
|
26
|
+
if (e == null) return;
|
|
27
|
+
const r = v();
|
|
28
|
+
if (a.value === "single")
|
|
29
|
+
return A(n, t, e, r);
|
|
30
|
+
I(n, t, e, a.value, r);
|
|
31
|
+
}
|
|
32
|
+
function p(t) {
|
|
33
|
+
const e = c();
|
|
34
|
+
e != null && x(n, t, e);
|
|
14
35
|
}
|
|
15
|
-
function
|
|
16
|
-
|
|
36
|
+
function g(t) {
|
|
37
|
+
const e = c();
|
|
38
|
+
e != null && w(n, t, e, a.value, v());
|
|
17
39
|
}
|
|
18
|
-
function
|
|
19
|
-
|
|
40
|
+
function y(t) {
|
|
41
|
+
return q(n, t, u.value);
|
|
20
42
|
}
|
|
21
43
|
return {
|
|
22
|
-
localReactions:
|
|
23
|
-
displayedReactions:
|
|
24
|
-
hasReactions:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
44
|
+
localReactions: n,
|
|
45
|
+
displayedReactions: s,
|
|
46
|
+
hasReactions: d,
|
|
47
|
+
myReactionKey: f,
|
|
48
|
+
addReaction: m,
|
|
49
|
+
removeReaction: p,
|
|
50
|
+
toggleReaction: g,
|
|
51
|
+
isMyReaction: y
|
|
28
52
|
};
|
|
29
53
|
}
|
|
30
54
|
export {
|
|
31
|
-
|
|
55
|
+
b as useReactionsState
|
|
32
56
|
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createElementBlock as t, openBlock as o, createElementVNode as C } from "vue";
|
|
2
|
+
import n from "../../../../_virtual/_plugin-vue_export-helper.js";
|
|
3
|
+
const r = {}, c = {
|
|
4
|
+
width: "22",
|
|
5
|
+
height: "21",
|
|
6
|
+
viewBox: "0 0 22 21",
|
|
7
|
+
fill: "none",
|
|
8
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
9
|
+
};
|
|
10
|
+
function l(s, e) {
|
|
11
|
+
return o(), t("svg", c, [...e[0] || (e[0] = [
|
|
12
|
+
C("path", {
|
|
13
|
+
d: "M5 8.5C5 7.67 5.67 7 6.5 7C7.33 7 8 7.67 8 8.5C8 9.33 7.33 10 6.5 10C5.67 10 5 9.33 5 8.5ZM10 16.5C12.33 16.5 14.31 15.04 15.11 13H4.89C5.69 15.04 7.67 16.5 10 16.5ZM13.5 10C14.33 10 15 9.33 15 8.5C15 7.67 14.33 7 13.5 7C12.67 7 12 7.67 12 8.5C12 9.33 12.67 10 13.5 10ZM20 0H18V2H16V4H18V6H20V4H22V2H20V0ZM18 11C18 15.42 14.42 19 10 19C5.58 19 2 15.42 2 11C2 6.58 5.58 3 10 3C11.46 3 12.82 3.4 14 4.08V1.84C12.77 1.3 11.42 1 9.99 1C4.47 1 0 5.48 0 11C0 16.52 4.47 21 9.99 21C15.52 21 20 16.52 20 11C20 9.95 19.83 8.95 19.53 8H17.4C17.78 8.93 18 9.94 18 11Z",
|
|
14
|
+
fill: "#5F5F5F"
|
|
15
|
+
}, null, -1)
|
|
16
|
+
])]);
|
|
17
|
+
}
|
|
18
|
+
const d = /* @__PURE__ */ n(r, [["render", l]]);
|
|
19
|
+
export {
|
|
20
|
+
d as default
|
|
21
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createElementBlock as t, openBlock as o, createElementVNode as n } from "vue";
|
|
2
|
+
import r from "../../../../_virtual/_plugin-vue_export-helper.js";
|
|
3
|
+
const l = {}, c = {
|
|
4
|
+
width: "20",
|
|
5
|
+
height: "15",
|
|
6
|
+
viewBox: "0 0 20 15",
|
|
7
|
+
fill: "none",
|
|
8
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
9
|
+
};
|
|
10
|
+
function s(C, e) {
|
|
11
|
+
return o(), t("svg", c, [...e[0] || (e[0] = [
|
|
12
|
+
n("path", {
|
|
13
|
+
d: "M7.38182 11.8483L0.52982 6.92826C0.368428 6.83289 0.234682 6.6971 0.141773 6.53428C0.048864 6.37145 0 6.18723 0 5.99976C0 5.8123 0.048864 5.62807 0.141773 5.46525C0.234682 5.30242 0.368428 5.16663 0.52982 5.07126L7.38182 0.148261C7.54516 0.0521888 7.73101 0.00104323 7.9205 1.5791e-05C8.10999 -0.00101165 8.29639 0.0481155 8.46076 0.142411C8.62513 0.236707 8.76162 0.372813 8.85638 0.536913C8.95115 0.701013 9.00081 0.887265 9.00032 1.07676V2.99826C11.2503 2.99826 18.0003 2.99826 19.5003 14.9983C15.7503 8.24826 9.00032 8.99826 9.00032 8.99826V10.9198C9.00032 11.7598 8.09132 12.2668 7.38182 11.8498V11.8483Z",
|
|
14
|
+
fill: "#5F5F5F"
|
|
15
|
+
}, null, -1)
|
|
16
|
+
])]);
|
|
17
|
+
}
|
|
18
|
+
const m = /* @__PURE__ */ r(l, [["render", s]]);
|
|
19
|
+
export {
|
|
20
|
+
m as default
|
|
21
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
function c(t) {
|
|
2
|
+
if (!(t == null || !Number.isFinite(t)))
|
|
3
|
+
return t > 1e12 ? t : t * 1e3;
|
|
4
|
+
}
|
|
5
|
+
function l(t) {
|
|
6
|
+
const e = c(t);
|
|
7
|
+
if (e == null) return "";
|
|
8
|
+
const n = new Date(e);
|
|
9
|
+
if (Number.isNaN(n.getTime())) return "";
|
|
10
|
+
const r = (f) => String(f).padStart(2, "0"), o = r(n.getDate()), i = r(n.getMonth() + 1), u = String(n.getFullYear()).slice(-2), s = r(n.getHours()), a = r(n.getMinutes());
|
|
11
|
+
return `${o}.${i}.${u} ${s}:${a}`;
|
|
12
|
+
}
|
|
13
|
+
function m(t, e) {
|
|
14
|
+
var o, i;
|
|
15
|
+
const n = (o = t.name) == null ? void 0 : o.trim();
|
|
16
|
+
if (n) return n;
|
|
17
|
+
const r = (i = e == null ? void 0 : e[String(t.userId)]) == null ? void 0 : i.trim();
|
|
18
|
+
return r || String(t.userId);
|
|
19
|
+
}
|
|
20
|
+
function g(t) {
|
|
21
|
+
return [...t].sort((e, n) => {
|
|
22
|
+
const r = c(e.date) ?? 0, o = c(n.date) ?? 0;
|
|
23
|
+
return r - o;
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function d(t, e) {
|
|
27
|
+
return g(t).map((n) => {
|
|
28
|
+
const r = m(n, e), o = l(n.date);
|
|
29
|
+
return o ? `${r}, ${o}` : r;
|
|
30
|
+
}).filter(Boolean).join(`
|
|
31
|
+
`);
|
|
32
|
+
}
|
|
33
|
+
export {
|
|
34
|
+
d as buildReactionTooltipText,
|
|
35
|
+
l as formatReactionDate,
|
|
36
|
+
c as normalizeReactionTimestamp,
|
|
37
|
+
m as resolveReactionUserName,
|
|
38
|
+
g as sortReactionEvents
|
|
39
|
+
};
|
|
@@ -1,17 +1,23 @@
|
|
|
1
|
-
import { defineComponent as T, createElementBlock as
|
|
1
|
+
import { defineComponent as T, createElementBlock as l, openBlock as i, unref as t, normalizeClass as p, createCommentVNode as m, createElementVNode as a, normalizeStyle as _, createVNode as r, withCtx as f, createTextVNode as h, toDisplayString as x, Transition as w, createBlock as S } from "vue";
|
|
2
2
|
import { useMessageActions as V } from "../../../hooks/messages/useMessageActions.js";
|
|
3
3
|
import "../../../node_modules/linkifyjs/dist/linkify.js";
|
|
4
4
|
import "../../../node_modules/linkify-string/dist/linkify-string.js";
|
|
5
5
|
import "../../../functions/parseMarkdown.js";
|
|
6
|
+
import "../../../hooks/useEmojiNative.js";
|
|
6
7
|
import { getMessageClass as I } from "../../../functions/getMessageClass.js";
|
|
7
8
|
import { useSubtextTooltip as N } from "../../../hooks/messages/useSubtextTooltip.js";
|
|
9
|
+
import "../../../hooks/useMessageDraft.js";
|
|
10
|
+
import "../../../hooks/useSearchModel.js";
|
|
11
|
+
import "../../../hooks/useTheme.js";
|
|
12
|
+
/* empty css */
|
|
13
|
+
/* empty css */
|
|
8
14
|
import B from "../../1_atoms/ContextMenu/ContextMenu.vue.js";
|
|
9
15
|
import D from "../../1_atoms/Tooltip/Tooltip.vue.js";
|
|
10
16
|
import O from "./icons/MissedCallIcon.vue.js";
|
|
11
17
|
const j = ["messageId"], q = ["src"], z = {
|
|
12
18
|
key: 1,
|
|
13
19
|
class: "missed-call-message__subtext"
|
|
14
|
-
}, A = { class: "missed-call-message__main-content" }, E = { class: "missed-call-message__icon-wrapper" }, F = { class: "missed-call-message__info-container" }, R = { class: "missed-call-message__time" },
|
|
20
|
+
}, A = { class: "missed-call-message__main-content" }, E = { class: "missed-call-message__icon-wrapper" }, F = { class: "missed-call-message__info-container" }, R = { class: "missed-call-message__time" }, ae = /* @__PURE__ */ T({
|
|
15
21
|
__name: "MissedCallMessage",
|
|
16
22
|
props: {
|
|
17
23
|
message: {
|
|
@@ -30,49 +36,49 @@ const j = ["messageId"], q = ["src"], z = {
|
|
|
30
36
|
},
|
|
31
37
|
emits: ["action", "reply"],
|
|
32
38
|
setup(e, { emit: y }) {
|
|
33
|
-
const b = y,
|
|
39
|
+
const b = y, n = e, {
|
|
34
40
|
isOpenMenu: c,
|
|
35
41
|
buttonMenuVisible: C,
|
|
36
42
|
showMenu: u,
|
|
37
43
|
hideMenu: d,
|
|
38
44
|
clickAction: M
|
|
39
|
-
} = V(
|
|
45
|
+
} = V(n.message, b), k = N(() => n.message, () => n.subtextTooltipData);
|
|
40
46
|
function v(g) {
|
|
41
47
|
return I(g.position, "missed-call-message");
|
|
42
48
|
}
|
|
43
|
-
return (g, s) => (i(),
|
|
44
|
-
class:
|
|
49
|
+
return (g, s) => (i(), l("div", {
|
|
50
|
+
class: p([
|
|
45
51
|
v(e.message),
|
|
46
52
|
e.applyStyle(e.message)
|
|
47
53
|
]),
|
|
48
54
|
messageId: e.message.messageId,
|
|
49
55
|
onMouseenter: s[1] || (s[1] = //@ts-ignore
|
|
50
|
-
(...
|
|
56
|
+
(...o) => t(u) && t(u)(...o)),
|
|
51
57
|
onMouseleave: s[2] || (s[2] = //@ts-ignore
|
|
52
|
-
(...
|
|
58
|
+
(...o) => t(d) && t(d)(...o))
|
|
53
59
|
}, [
|
|
54
|
-
e.message.avatar ? (i(),
|
|
60
|
+
e.message.avatar ? (i(), l("img", {
|
|
55
61
|
key: 0,
|
|
56
62
|
class: "missed-call-message__avatar",
|
|
57
63
|
src: e.message.avatar,
|
|
58
64
|
height: "32",
|
|
59
65
|
width: "32",
|
|
60
66
|
style: _({ gridRow: e.message.subText ? "2" : "1" })
|
|
61
|
-
}, null, 12, q)) :
|
|
62
|
-
e.message.subText ? (i(),
|
|
67
|
+
}, null, 12, q)) : m("", !0),
|
|
68
|
+
e.message.subText ? (i(), l("p", z, [
|
|
63
69
|
r(D, {
|
|
64
70
|
text: t(k),
|
|
65
71
|
position: "right",
|
|
66
72
|
offset: 8
|
|
67
73
|
}, {
|
|
68
|
-
default:
|
|
74
|
+
default: f(() => [
|
|
69
75
|
h(x(e.message.subText), 1)
|
|
70
76
|
]),
|
|
71
77
|
_: 1
|
|
72
78
|
}, 8, ["text"])
|
|
73
|
-
])) :
|
|
79
|
+
])) : m("", !0),
|
|
74
80
|
a("div", {
|
|
75
|
-
class:
|
|
81
|
+
class: p(["missed-call-message__content", { "is-first": !0 }])
|
|
76
82
|
}, [
|
|
77
83
|
a("div", A, [
|
|
78
84
|
a("div", E, [
|
|
@@ -83,21 +89,21 @@ const j = ["messageId"], q = ["src"], z = {
|
|
|
83
89
|
a("div", F, [
|
|
84
90
|
a("span", R, x(e.message.time), 1)
|
|
85
91
|
]),
|
|
86
|
-
t(C) && e.message.actions ? (i(),
|
|
92
|
+
t(C) && e.message.actions ? (i(), l("button", {
|
|
87
93
|
key: 0,
|
|
88
94
|
class: "missed-call-message__menu-button",
|
|
89
|
-
onClick: s[0] || (s[0] = (
|
|
95
|
+
onClick: s[0] || (s[0] = (o) => c.value = !t(c))
|
|
90
96
|
}, [...s[4] || (s[4] = [
|
|
91
97
|
a("span", { class: "pi pi-ellipsis-h" }, null, -1)
|
|
92
|
-
])])) :
|
|
98
|
+
])])) : m("", !0),
|
|
93
99
|
r(w, null, {
|
|
94
|
-
default:
|
|
100
|
+
default: f(() => [
|
|
95
101
|
t(c) && e.message.actions ? (i(), S(B, {
|
|
96
102
|
key: 0,
|
|
97
103
|
class: "missed-call-message__context-menu",
|
|
98
104
|
actions: e.message.actions,
|
|
99
105
|
onClick: t(M)
|
|
100
|
-
}, null, 8, ["actions", "onClick"])) :
|
|
106
|
+
}, null, 8, ["actions", "onClick"])) : m("", !0)
|
|
101
107
|
]),
|
|
102
108
|
_: 1
|
|
103
109
|
})
|
|
@@ -106,5 +112,5 @@ const j = ["messageId"], q = ["src"], z = {
|
|
|
106
112
|
}
|
|
107
113
|
});
|
|
108
114
|
export {
|
|
109
|
-
|
|
115
|
+
ae as default
|
|
110
116
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./ReplyAudioMessage.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
|
-
import
|
|
4
|
-
const r = /* @__PURE__ */
|
|
3
|
+
import t from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const r = /* @__PURE__ */ t(o, [["__scopeId", "data-v-5ad9c9f7"]]);
|
|
5
5
|
export {
|
|
6
6
|
r as default
|
|
7
7
|
};
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
import { defineComponent as u, ref as c, createElementBlock as n, openBlock as i, Fragment as g, withDirectives as _, createElementVNode as
|
|
2
|
-
import { useMessageLinks as
|
|
1
|
+
import { defineComponent as u, ref as c, createElementBlock as n, openBlock as i, Fragment as g, withDirectives as _, createElementVNode as t, vShow as y, createCommentVNode as a, toDisplayString as f, unref as o } from "vue";
|
|
2
|
+
import { useMessageLinks as x } from "../../../hooks/messages/useMessageLinks.js";
|
|
3
3
|
import "../../../functions/parseMarkdown.js";
|
|
4
|
-
|
|
4
|
+
import "../../../hooks/useMessageDraft.js";
|
|
5
|
+
import "../../../hooks/useSearchModel.js";
|
|
6
|
+
import "../../../hooks/useTheme.js";
|
|
7
|
+
import "../../../hooks/useEmojiNative.js";
|
|
8
|
+
/* empty css */
|
|
9
|
+
/* empty css */
|
|
10
|
+
const k = { class: "audio-message__play" }, v = { class: "audio-message__text-container" }, C = ["textContent"], h = ["innerHTML"], V = /* @__PURE__ */ u({
|
|
5
11
|
__name: "ReplyAudioMessage",
|
|
6
12
|
props: {
|
|
7
13
|
message: {
|
|
@@ -9,31 +15,34 @@ const v = { class: "audio-message__play" }, x = { class: "audio-message__text-co
|
|
|
9
15
|
required: !0
|
|
10
16
|
}
|
|
11
17
|
},
|
|
12
|
-
setup(
|
|
13
|
-
const
|
|
14
|
-
return (
|
|
15
|
-
_(
|
|
16
|
-
|
|
18
|
+
setup(s) {
|
|
19
|
+
const l = s, m = c(!1), { linkedHtml: p, inNewWindow: r } = x(() => l.message.text);
|
|
20
|
+
return (w, e) => (i(), n(g, null, [
|
|
21
|
+
_(t("div", k, [...e[1] || (e[1] = [
|
|
22
|
+
t("span", { class: "pi pi-play" }, null, -1)
|
|
17
23
|
])], 512), [
|
|
18
24
|
[y, !m.value]
|
|
19
25
|
]),
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
t("div", v, [
|
|
27
|
+
s.message.header ? (i(), n("p", {
|
|
28
|
+
key: 0,
|
|
29
|
+
textContent: f(`В ответ ${s.message.header}`)
|
|
30
|
+
}, null, 8, C)) : a("", !0),
|
|
31
|
+
e[2] || (e[2] = t("div", { class: "audio-message__reply-description" }, [
|
|
32
|
+
t("span", { class: "pi pi-microphone" }),
|
|
33
|
+
t("p", null, "Аудиосообщение")
|
|
25
34
|
], -1)),
|
|
26
|
-
|
|
35
|
+
s.message.text ? (i(), n("p", {
|
|
27
36
|
key: 1,
|
|
28
37
|
class: "audio-message__text",
|
|
29
38
|
onClick: e[0] || (e[0] = //@ts-ignore
|
|
30
|
-
(...
|
|
31
|
-
innerHTML: o(
|
|
32
|
-
}, null, 8,
|
|
39
|
+
(...d) => o(r) && o(r)(...d)),
|
|
40
|
+
innerHTML: o(p)
|
|
41
|
+
}, null, 8, h)) : a("", !0)
|
|
33
42
|
])
|
|
34
43
|
], 64));
|
|
35
44
|
}
|
|
36
45
|
});
|
|
37
46
|
export {
|
|
38
|
-
|
|
47
|
+
V as default
|
|
39
48
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./ReplyCallMessage.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
|
-
import
|
|
4
|
-
const r = /* @__PURE__ */
|
|
3
|
+
import a from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const r = /* @__PURE__ */ a(o, [["__scopeId", "data-v-a995503b"]]);
|
|
5
5
|
export {
|
|
6
6
|
r as default
|
|
7
7
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { defineComponent as c, createElementBlock as s, openBlock as
|
|
2
|
-
const m = { class: "call-message__text-container" }, r =
|
|
1
|
+
import { defineComponent as c, createElementBlock as s, openBlock as t, Fragment as o, createElementVNode as a, normalizeClass as i, createCommentVNode as l, toDisplayString as n } from "vue";
|
|
2
|
+
const m = { class: "call-message__text-container" }, r = ["textContent"], d = { class: "call-message__reply-description" }, g = {
|
|
3
3
|
key: 0,
|
|
4
4
|
class: "call-message__title"
|
|
5
5
|
}, _ = {
|
|
6
6
|
key: 1,
|
|
7
7
|
class: "call-message__title"
|
|
8
|
-
}, u = { key: 1 },
|
|
8
|
+
}, u = { key: 1 }, k = /* @__PURE__ */ c({
|
|
9
9
|
__name: "ReplyCallMessage",
|
|
10
10
|
props: {
|
|
11
11
|
message: {
|
|
@@ -14,22 +14,23 @@ const m = { class: "call-message__text-container" }, r = { key: 0 }, d = { class
|
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
setup(e) {
|
|
17
|
-
return console.log(e.message), (h, y) => (
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
l("
|
|
26
|
-
|
|
17
|
+
return console.log(e.message), (h, y) => (t(), s(o, null, [
|
|
18
|
+
a("div", {
|
|
19
|
+
class: i(["call-message__icon pi pi-phone", { "call-message__icon-missed": e.message.isMissedCall }])
|
|
20
|
+
}, null, 2),
|
|
21
|
+
a("div", m, [
|
|
22
|
+
e.message.header ? (t(), s("p", {
|
|
23
|
+
key: 0,
|
|
24
|
+
textContent: n(`В ответ ${e.message.header}`)
|
|
25
|
+
}, null, 8, r)) : l("", !0),
|
|
26
|
+
a("div", d, [
|
|
27
|
+
e.message.isMissedCall ? (t(), s("span", _, " Пропущенный аудиозвонок ")) : (t(), s("span", g, " Аудиозвонок "))
|
|
27
28
|
]),
|
|
28
|
-
e.message.callDuration ? (
|
|
29
|
+
e.message.callDuration ? (t(), s("p", u, n(e.message.callDuration), 1)) : l("", !0)
|
|
29
30
|
])
|
|
30
31
|
], 64));
|
|
31
32
|
}
|
|
32
33
|
});
|
|
33
34
|
export {
|
|
34
|
-
|
|
35
|
+
k as default
|
|
35
36
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import o from "./ReplyFileMessage.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
|
-
import
|
|
4
|
-
const s = /* @__PURE__ */ o
|
|
3
|
+
import e from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const s = /* @__PURE__ */ e(o, [["__scopeId", "data-v-d52b8fdd"]]);
|
|
5
5
|
export {
|
|
6
6
|
s as default
|
|
7
7
|
};
|