@mobilon-dev/chotto 0.3.104 → 0.3.105
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/2_feed_elements/AudioMessage/AudioMessage.vue.js +3 -3
- package/dist/components/2_feed_elements/AudioMessage/AudioMessage.vue2.js +164 -160
- package/dist/components/2_feed_elements/FileMessage/FileMessage.vue.js +2 -2
- package/dist/components/2_feed_elements/FileMessage/FileMessage.vue2.js +106 -102
- package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue.js +3 -3
- package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue2.js +121 -116
- package/dist/components/2_feed_elements/StickerMessage/StickerMessage.vue.js +3 -3
- package/dist/components/2_feed_elements/StickerMessage/StickerMessage.vue2.js +116 -111
- package/dist/components/2_feed_elements/TextMessage/TextMessage.vue.js +1 -1
- package/dist/components/2_feed_elements/TextMessage/TextMessage.vue2.js +153 -149
- package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue.js +3 -3
- package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue2.js +131 -126
- package/dist/components/3_compounds/Feed/Feed.vue.js +2 -2
- package/dist/components/3_compounds/Feed/Feed.vue2.js +174 -170
- package/dist/components/3_compounds/Feed/composables/useFeedReply.js +10 -10
- package/dist/functions/isSmsChannel.js +19 -0
- package/dist/hooks/messages/useMessageHoverActions.js +13 -0
- package/dist/index.js +97 -92
- package/dist/types/components/3_compounds/Feed/composables/useFeedReply.d.ts +2 -1
- package/dist/types/functions/index.d.ts +1 -0
- package/dist/types/functions/isSmsChannel.d.ts +8 -0
- package/dist/types/hooks/messages/index.d.ts +1 -0
- package/dist/types/hooks/messages/useMessageHoverActions.d.ts +9 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./FileMessage.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import e from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const
|
|
4
|
+
const a = /* @__PURE__ */ e(o, [["__scopeId", "data-v-fcec3602"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
a as default
|
|
7
7
|
};
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
1
|
+
import { defineComponent as ne, inject as ie, computed as w, createElementBlock as m, openBlock as i, unref as s, normalizeStyle as v, normalizeClass as d, createCommentVNode as l, createElementVNode as n, createVNode as u, withCtx as A, createTextVNode as oe, toDisplayString as f, Fragment as E, createBlock as y, withModifiers as le, Teleport as me, Transition as re } from "vue";
|
|
2
|
+
import ue from "../../1_atoms/ContextMenu/ContextMenu.vue.js";
|
|
3
|
+
import ce from "../../1_atoms/LinkPreview/LinkPreview.vue.js";
|
|
4
|
+
import ge from "../../1_atoms/EmbedPreview/EmbedPreview.vue.js";
|
|
5
|
+
import de from "../BaseReplyMessage/BaseReplyMessage.vue.js";
|
|
6
|
+
import fe from "../MessageReactions/MessageReactions.vue.js";
|
|
7
7
|
import L from "../MessageStatusIndicator/MessageStatusIndicator.vue.js";
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import { useMessageActions as
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
8
|
+
import ye from "../MessageSmsInvite/MessageSmsInvite.vue.js";
|
|
9
|
+
import be from "../DeletedMessageContent/DeletedMessageContent.vue.js";
|
|
10
|
+
import ve from "../../1_atoms/Tooltip/Tooltip.vue.js";
|
|
11
|
+
import { useMessageActions as he } from "../../../hooks/messages/useMessageActions.js";
|
|
12
|
+
import { useMessageHoverActions as ke } from "../../../hooks/messages/useMessageHoverActions.js";
|
|
13
|
+
import { useMessageMenuActions as we } from "../../../hooks/messages/useMessageMenuActions.js";
|
|
14
|
+
import { useMessageLinks as Me } from "../../../hooks/messages/useMessageLinks.js";
|
|
15
|
+
import { useChannelAccentColor as Re } from "../../../hooks/messages/useChannelAccentColor.js";
|
|
16
|
+
import { useSubtextTooltip as Se } from "../../../hooks/messages/useSubtextTooltip.js";
|
|
17
|
+
import { useStartReply as Ce } from "../../../hooks/messages/useStartReply.js";
|
|
17
18
|
import "../../../hooks/useMessageDraft.js";
|
|
18
19
|
import "../../../hooks/useSearchModel.js";
|
|
19
20
|
import "../../../hooks/useTheme.js";
|
|
@@ -23,20 +24,20 @@ import "../../../hooks/useEmojiNative.js";
|
|
|
23
24
|
import "../../../locale/useLocale.js";
|
|
24
25
|
/* empty css */
|
|
25
26
|
import { buildReplyPayload as U } from "../../../hooks/messages/buildReplyPayload.js";
|
|
26
|
-
import { getStatus as
|
|
27
|
-
import { getMessageClass as
|
|
28
|
-
import { createReactionHandlers as
|
|
27
|
+
import { getStatus as Te, getStatusTitle as xe } from "../../../functions/getStatusMessage.js";
|
|
28
|
+
import { getMessageClass as Ie } from "../../../functions/getMessageClass.js";
|
|
29
|
+
import { createReactionHandlers as pe } from "../../../functions/createReactionHandlers.js";
|
|
29
30
|
import "../../../functions/parseMarkdown.js";
|
|
30
|
-
const
|
|
31
|
+
const Ae = ["messageId"], Ee = ["src"], Le = {
|
|
31
32
|
key: 1,
|
|
32
33
|
class: "file-message__subtext"
|
|
33
|
-
},
|
|
34
|
+
}, Ue = { class: "file-message__footer" }, Fe = { class: "file-message__info-container" }, Ne = {
|
|
34
35
|
key: 0,
|
|
35
36
|
class: "file-message__time"
|
|
36
|
-
},
|
|
37
|
+
}, Oe = ["href"], Be = { class: "file-message__filename-text" }, je = {
|
|
37
38
|
key: 1,
|
|
38
39
|
class: "file-message__text-container"
|
|
39
|
-
},
|
|
40
|
+
}, He = ["innerHTML"], Pe = { class: "file-message__footer" }, Ve = { class: "file-message__info-container" }, De = { class: "file-message__time" }, hs = /* @__PURE__ */ ne({
|
|
40
41
|
__name: "FileMessage",
|
|
41
42
|
props: {
|
|
42
43
|
message: {
|
|
@@ -81,53 +82,57 @@ const xe = ["messageId"], Ie = ["src"], pe = {
|
|
|
81
82
|
},
|
|
82
83
|
emits: ["action", "reply", "sms-invite"],
|
|
83
84
|
setup(e, { emit: F }) {
|
|
84
|
-
const
|
|
85
|
-
|
|
85
|
+
const t = e, h = F, { linkedHtml: N, inNewWindow: M } = Me(() => t.message.text), { menuActions: b } = we(() => t.message), { hoverActionsEnabled: R, reactionsActive: O } = ke(
|
|
86
|
+
() => t.channel,
|
|
87
|
+
() => t.reactionsEnabled,
|
|
88
|
+
() => t.message
|
|
89
|
+
), B = ie("chatAppId"), { startReply: j } = Ce(B || ""), {
|
|
90
|
+
isOpenMenu: H,
|
|
86
91
|
buttonMenuVisible: P,
|
|
87
92
|
menuAnchorRef: V,
|
|
88
|
-
menuRef:
|
|
89
|
-
menuStyle:
|
|
93
|
+
menuRef: D,
|
|
94
|
+
menuStyle: $,
|
|
90
95
|
menuTheme: q,
|
|
91
|
-
showMenu:
|
|
96
|
+
showMenu: z,
|
|
92
97
|
hideMenu: S,
|
|
93
|
-
openMenu:
|
|
98
|
+
openMenu: W,
|
|
94
99
|
toggleMenu: C,
|
|
95
|
-
onMenuMouseEnter:
|
|
96
|
-
onMenuMouseLeave:
|
|
97
|
-
clickAction:
|
|
100
|
+
onMenuMouseEnter: G,
|
|
101
|
+
onMenuMouseLeave: J,
|
|
102
|
+
clickAction: K,
|
|
98
103
|
viewsAction: T,
|
|
99
|
-
handleClickReplied:
|
|
100
|
-
} =
|
|
101
|
-
onReply: () =>
|
|
102
|
-
}), x = w(() =>
|
|
103
|
-
w(() =>
|
|
104
|
+
handleClickReplied: Q
|
|
105
|
+
} = he(t.message, h, {
|
|
106
|
+
onReply: () => j(U(t.message, "message.file"))
|
|
107
|
+
}), x = w(() => Te(t.message.status)), I = w(() => xe(t.message.status, t.message.statusMsg)), { bubbleStyle: X } = Re(
|
|
108
|
+
w(() => t.message),
|
|
104
109
|
{ cssVariable: "--chotto-filemessage-right-bg", position: "right" }
|
|
105
110
|
);
|
|
106
111
|
function k(r) {
|
|
107
|
-
return
|
|
112
|
+
return Ie(r.position, "file-message");
|
|
108
113
|
}
|
|
109
|
-
const { onToggleReaction:
|
|
110
|
-
if (
|
|
114
|
+
const { onToggleReaction: Y, onAddReaction: Z, onRemoveReaction: _ } = pe(h), ee = async () => {
|
|
115
|
+
if (t.message.url)
|
|
111
116
|
try {
|
|
112
|
-
const r = new URL(
|
|
117
|
+
const r = new URL(t.message.url, window.location.href);
|
|
113
118
|
if (r.origin === window.location.origin) {
|
|
114
|
-
const
|
|
115
|
-
|
|
119
|
+
const g = document.createElement("a");
|
|
120
|
+
g.href = r.toString(), g.download = t.message.filename || `file-${t.message.messageId}`, document.body.appendChild(g), g.click(), document.body.removeChild(g);
|
|
116
121
|
return;
|
|
117
122
|
}
|
|
118
|
-
const o = await fetch(
|
|
123
|
+
const o = await fetch(t.message.url);
|
|
119
124
|
if (!o.ok)
|
|
120
125
|
throw new Error(`HTTP error! status: ${o.status}`);
|
|
121
|
-
const
|
|
122
|
-
|
|
126
|
+
const ae = await o.blob(), p = window.URL.createObjectURL(ae), c = document.createElement("a");
|
|
127
|
+
c.href = p, c.download = t.message.filename || `file-${t.message.messageId}`, document.body.appendChild(c), c.click(), document.body.removeChild(c), window.URL.revokeObjectURL(p);
|
|
123
128
|
} catch (r) {
|
|
124
|
-
console.error("Ошибка при скачивании файла:", r), window.open(
|
|
129
|
+
console.error("Ошибка при скачивании файла:", r), window.open(t.message.url, "_blank");
|
|
125
130
|
}
|
|
126
|
-
},
|
|
127
|
-
function
|
|
128
|
-
h("sms-invite",
|
|
131
|
+
}, se = Se(() => t.message, () => t.subtextTooltipData);
|
|
132
|
+
function te() {
|
|
133
|
+
h("sms-invite", t.message);
|
|
129
134
|
}
|
|
130
|
-
return (r,
|
|
135
|
+
return (r, a) => (i(), m("div", {
|
|
131
136
|
ref_key: "menuAnchorRef",
|
|
132
137
|
ref: V,
|
|
133
138
|
class: d(["file-message", [
|
|
@@ -135,8 +140,8 @@ const xe = ["messageId"], Ie = ["src"], pe = {
|
|
|
135
140
|
e.applyStyle(e.message)
|
|
136
141
|
]]),
|
|
137
142
|
messageId: e.message.messageId,
|
|
138
|
-
style: v(s(
|
|
139
|
-
onMouseleave:
|
|
143
|
+
style: v(s(X)),
|
|
144
|
+
onMouseleave: a[4] || (a[4] = //@ts-ignore
|
|
140
145
|
(...o) => s(S) && s(S)(...o))
|
|
141
146
|
}, [
|
|
142
147
|
e.message.avatar && e.isFirstInSeries ? (i(), m("img", {
|
|
@@ -146,15 +151,15 @@ const xe = ["messageId"], Ie = ["src"], pe = {
|
|
|
146
151
|
height: "32",
|
|
147
152
|
width: "32",
|
|
148
153
|
style: v({ gridRow: e.message.subText ? "2" : "1" })
|
|
149
|
-
}, null, 12,
|
|
150
|
-
e.message.subText && e.isFirstInSeries ? (i(), m("p",
|
|
151
|
-
u(
|
|
152
|
-
text: s(
|
|
154
|
+
}, null, 12, Ee)) : l("", !0),
|
|
155
|
+
e.message.subText && e.isFirstInSeries ? (i(), m("p", Le, [
|
|
156
|
+
u(ve, {
|
|
157
|
+
text: s(se),
|
|
153
158
|
position: e.message.position === "left" ? "right" : "left",
|
|
154
159
|
offset: 8
|
|
155
160
|
}, {
|
|
156
161
|
default: A(() => [
|
|
157
|
-
|
|
162
|
+
oe(f(e.message.subText), 1)
|
|
158
163
|
]),
|
|
159
164
|
_: 1
|
|
160
165
|
}, 8, ["text", "position"])
|
|
@@ -162,18 +167,17 @@ const xe = ["messageId"], Ie = ["src"], pe = {
|
|
|
162
167
|
n("div", {
|
|
163
168
|
class: d(["file-message__content", { "is-first": e.isFirstInSeries, "with-avatar-indent": !e.isFirstInSeries && e.message.avatar }]),
|
|
164
169
|
style: v({ gridRow: e.message.subText ? "2" : "1" }),
|
|
165
|
-
onMouseenter:
|
|
166
|
-
(...o) => s(R) && s(R)(...o))
|
|
170
|
+
onMouseenter: a[3] || (a[3] = (o) => s(R) && s(z)())
|
|
167
171
|
}, [
|
|
168
|
-
|
|
172
|
+
a[9] || (a[9] = n("div", {
|
|
169
173
|
class: "file-message__bottom-shadow",
|
|
170
174
|
"aria-hidden": "true"
|
|
171
175
|
}, null, -1)),
|
|
172
176
|
e.message.deleted ? (i(), m(E, { key: 0 }, [
|
|
173
|
-
u(
|
|
174
|
-
n("div",
|
|
175
|
-
n("div",
|
|
176
|
-
e.message.time ? (i(), m("span",
|
|
177
|
+
u(be),
|
|
178
|
+
n("div", Ue, [
|
|
179
|
+
n("div", Fe, [
|
|
180
|
+
e.message.time ? (i(), m("span", Ne, f(e.message.time), 1)) : l("", !0),
|
|
177
181
|
u(L, {
|
|
178
182
|
"base-class": "file-message",
|
|
179
183
|
"message-class": k(e.message),
|
|
@@ -184,66 +188,66 @@ const xe = ["messageId"], Ie = ["src"], pe = {
|
|
|
184
188
|
])
|
|
185
189
|
])
|
|
186
190
|
], 64)) : (i(), m(E, { key: 1 }, [
|
|
187
|
-
e.message.reply ? (i(), y(
|
|
191
|
+
e.message.reply ? (i(), y(de, {
|
|
188
192
|
key: 0,
|
|
189
193
|
message: e.message.reply,
|
|
190
194
|
class: d(e.message.position),
|
|
191
|
-
onReply: s(
|
|
195
|
+
onReply: s(Q)
|
|
192
196
|
}, null, 8, ["message", "class", "onReply"])) : l("", !0),
|
|
193
197
|
n("a", {
|
|
194
198
|
class: "file-message__link",
|
|
195
199
|
href: e.message.url,
|
|
196
|
-
onClick:
|
|
200
|
+
onClick: le(ee, ["prevent"])
|
|
197
201
|
}, [
|
|
198
|
-
|
|
199
|
-
n("p",
|
|
200
|
-
|
|
202
|
+
a[5] || (a[5] = n("span", { class: "pi pi-file" }, null, -1)),
|
|
203
|
+
n("p", Be, f(e.message.filename), 1),
|
|
204
|
+
a[6] || (a[6] = n("div", { class: "file-message__download-button" }, [
|
|
201
205
|
n("span", { class: "pi pi-download" })
|
|
202
206
|
], -1))
|
|
203
|
-
], 8,
|
|
204
|
-
e.message.text ? (i(), m("div",
|
|
207
|
+
], 8, Oe),
|
|
208
|
+
e.message.text ? (i(), m("div", je, [
|
|
205
209
|
n("p", {
|
|
206
|
-
onClick:
|
|
210
|
+
onClick: a[0] || (a[0] = //@ts-ignore
|
|
207
211
|
(...o) => s(M) && s(M)(...o)),
|
|
208
212
|
innerHTML: s(N)
|
|
209
|
-
}, null, 8,
|
|
213
|
+
}, null, 8, He)
|
|
210
214
|
])) : l("", !0),
|
|
211
|
-
e.message.linkPreview ? (i(), y(
|
|
215
|
+
e.message.linkPreview ? (i(), y(ce, {
|
|
212
216
|
key: 2,
|
|
213
217
|
class: d(e.message.position),
|
|
214
218
|
"link-preview": e.message.linkPreview
|
|
215
219
|
}, null, 8, ["class", "link-preview"])) : l("", !0),
|
|
216
|
-
e.message.embed ? (i(), y(
|
|
220
|
+
e.message.embed ? (i(), y(ge, {
|
|
217
221
|
key: 3,
|
|
218
222
|
class: d(e.message.position),
|
|
219
223
|
embed: e.message.embed
|
|
220
224
|
}, null, 8, ["class", "embed"])) : l("", !0),
|
|
221
|
-
n("div",
|
|
222
|
-
u(
|
|
225
|
+
n("div", Pe, [
|
|
226
|
+
u(fe, {
|
|
223
227
|
reactions: e.message.reactions,
|
|
224
228
|
"message-id": e.message.messageId,
|
|
225
229
|
reply: s(U)(e.message, "message.file"),
|
|
226
|
-
enabled:
|
|
230
|
+
enabled: s(O),
|
|
227
231
|
mode: e.reactionsMode,
|
|
228
232
|
"current-user-id": e.currentUserId,
|
|
229
233
|
"reaction-user-names": e.reactionUserNames,
|
|
230
234
|
"menu-enabled": s(b).length > 0,
|
|
231
|
-
onToggleReaction: s(
|
|
232
|
-
onAddReaction: s(
|
|
233
|
-
onRemoveReaction: s(
|
|
234
|
-
onMenu: s(
|
|
235
|
+
onToggleReaction: s(Y),
|
|
236
|
+
onAddReaction: s(Z),
|
|
237
|
+
onRemoveReaction: s(_),
|
|
238
|
+
onMenu: s(W)
|
|
235
239
|
}, null, 8, ["reactions", "message-id", "reply", "enabled", "mode", "current-user-id", "reaction-user-names", "menu-enabled", "onToggleReaction", "onAddReaction", "onRemoveReaction", "onMenu"]),
|
|
236
|
-
n("div",
|
|
240
|
+
n("div", Ve, [
|
|
237
241
|
e.message.views ? (i(), m("div", {
|
|
238
242
|
key: 0,
|
|
239
243
|
class: "file-message__views",
|
|
240
|
-
onClick:
|
|
244
|
+
onClick: a[1] || (a[1] = //@ts-ignore
|
|
241
245
|
(...o) => s(T) && s(T)(...o))
|
|
242
246
|
}, [
|
|
243
|
-
|
|
247
|
+
a[7] || (a[7] = n("span", { class: "pi pi-eye" }, null, -1)),
|
|
244
248
|
n("p", null, f(e.message.views), 1)
|
|
245
249
|
])) : l("", !0),
|
|
246
|
-
n("span",
|
|
250
|
+
n("span", De, f(e.message.time), 1),
|
|
247
251
|
u(L, {
|
|
248
252
|
"base-class": "file-message",
|
|
249
253
|
"message-class": k(e.message),
|
|
@@ -253,34 +257,34 @@ const xe = ["messageId"], Ie = ["src"], pe = {
|
|
|
253
257
|
}, null, 8, ["message-class", "message-status", "status-class", "status-title"])
|
|
254
258
|
])
|
|
255
259
|
]),
|
|
256
|
-
u(
|
|
260
|
+
u(ye, {
|
|
257
261
|
status: e.message.status,
|
|
258
262
|
"has-messenger-account": e.message.hasMessengerAccount,
|
|
259
263
|
channel: e.channel,
|
|
260
|
-
onSmsInvite:
|
|
264
|
+
onSmsInvite: te
|
|
261
265
|
}, null, 8, ["status", "has-messenger-account", "channel"]),
|
|
262
|
-
s(P) && s(b).length && !e.reactionsEnabled ? (i(), m("button", {
|
|
266
|
+
s(P) && s(b).length && !e.reactionsEnabled && s(R) ? (i(), m("button", {
|
|
263
267
|
key: 4,
|
|
264
268
|
class: "file-message__menu-button",
|
|
265
|
-
onClick:
|
|
269
|
+
onClick: a[2] || (a[2] = //@ts-ignore
|
|
266
270
|
(...o) => s(C) && s(C)(...o))
|
|
267
|
-
}, [...
|
|
271
|
+
}, [...a[8] || (a[8] = [
|
|
268
272
|
n("span", { class: "pi pi-ellipsis-h" }, null, -1)
|
|
269
273
|
])])) : l("", !0),
|
|
270
|
-
(i(), y(
|
|
271
|
-
u(
|
|
274
|
+
(i(), y(me, { to: "body" }, [
|
|
275
|
+
u(re, null, {
|
|
272
276
|
default: A(() => [
|
|
273
|
-
s(
|
|
277
|
+
s(H) && s(b).length ? (i(), y(ue, {
|
|
274
278
|
key: 0,
|
|
275
279
|
ref_key: "menuRef",
|
|
276
|
-
ref:
|
|
280
|
+
ref: D,
|
|
277
281
|
class: "file-message__context-menu message-actions-menu",
|
|
278
|
-
style: v(s(
|
|
282
|
+
style: v(s($)),
|
|
279
283
|
"data-theme": s(q),
|
|
280
284
|
actions: s(b),
|
|
281
|
-
onClick: s(
|
|
282
|
-
onMouseenter: s(
|
|
283
|
-
onMouseleave: s(
|
|
285
|
+
onClick: s(K),
|
|
286
|
+
onMouseenter: s(G),
|
|
287
|
+
onMouseleave: s(J)
|
|
284
288
|
}, null, 8, ["style", "data-theme", "actions", "onClick", "onMouseenter", "onMouseleave"])) : l("", !0)
|
|
285
289
|
]),
|
|
286
290
|
_: 1
|
|
@@ -288,9 +292,9 @@ const xe = ["messageId"], Ie = ["src"], pe = {
|
|
|
288
292
|
]))
|
|
289
293
|
], 64))
|
|
290
294
|
], 38)
|
|
291
|
-
], 46,
|
|
295
|
+
], 46, Ae));
|
|
292
296
|
}
|
|
293
297
|
});
|
|
294
298
|
export {
|
|
295
|
-
|
|
299
|
+
hs as default
|
|
296
300
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import o from "./ImageMessage.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
|
-
import
|
|
4
|
-
const r = /* @__PURE__ */ o
|
|
3
|
+
import a from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const r = /* @__PURE__ */ a(o, [["__scopeId", "data-v-203a151d"]]);
|
|
5
5
|
export {
|
|
6
6
|
r as default
|
|
7
7
|
};
|