@uzum-tech/ui 1.7.2 → 1.8.0

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 (93) hide show
  1. package/dist/index.js +1548 -998
  2. package/dist/index.prod.js +3 -3
  3. package/es/chat/index.d.ts +4 -0
  4. package/es/chat/index.js +2 -0
  5. package/es/chat/src/Chat.d.ts +19 -6
  6. package/es/chat/src/Chat.js +53 -14
  7. package/es/chat/src/ChatListItems.d.ts +6027 -0
  8. package/es/chat/src/ChatListItems.js +187 -0
  9. package/es/chat/src/ChatMessages.d.ts +6049 -0
  10. package/es/chat/src/ChatMessages.js +308 -0
  11. package/es/chat/src/ChatParts/ChatAttachment.js +4 -3
  12. package/es/chat/src/ChatParts/MainArea.d.ts +0 -2
  13. package/es/chat/src/ChatParts/MainArea.js +108 -229
  14. package/es/chat/src/ChatParts/Sidebar.js +16 -80
  15. package/es/chat/src/interface.d.ts +6 -1
  16. package/es/chat/src/styles/index.cssr.js +3 -2
  17. package/es/locales/common/arDZ.js +2 -1
  18. package/es/locales/common/deDE.js +2 -1
  19. package/es/locales/common/enGB.js +2 -1
  20. package/es/locales/common/enUS.d.ts +1 -0
  21. package/es/locales/common/enUS.js +2 -1
  22. package/es/locales/common/eo.js +2 -1
  23. package/es/locales/common/esAR.js +2 -1
  24. package/es/locales/common/faIR.js +2 -1
  25. package/es/locales/common/frFR.js +2 -1
  26. package/es/locales/common/idID.js +2 -1
  27. package/es/locales/common/itIT.js +2 -1
  28. package/es/locales/common/jaJP.js +2 -1
  29. package/es/locales/common/koKR.js +2 -1
  30. package/es/locales/common/nbNO.js +2 -1
  31. package/es/locales/common/nlNL.js +2 -1
  32. package/es/locales/common/plPL.js +2 -1
  33. package/es/locales/common/ptBR.js +2 -1
  34. package/es/locales/common/ruRU.js +2 -1
  35. package/es/locales/common/skSK.js +2 -1
  36. package/es/locales/common/svSE.js +2 -1
  37. package/es/locales/common/thTH.js +2 -1
  38. package/es/locales/common/trTR.js +2 -1
  39. package/es/locales/common/ukUA.js +2 -1
  40. package/es/locales/common/viVN.js +2 -1
  41. package/es/locales/common/zhCN.js +2 -1
  42. package/es/locales/common/zhTW.js +2 -1
  43. package/es/version.d.ts +1 -1
  44. package/es/version.js +1 -1
  45. package/lib/chat/index.d.ts +4 -0
  46. package/lib/chat/index.js +5 -1
  47. package/lib/chat/src/Chat.d.ts +19 -6
  48. package/lib/chat/src/Chat.js +52 -13
  49. package/lib/chat/src/ChatListItems.d.ts +6027 -0
  50. package/lib/chat/src/ChatListItems.js +193 -0
  51. package/lib/chat/src/ChatMessages.d.ts +6049 -0
  52. package/lib/chat/src/ChatMessages.js +314 -0
  53. package/lib/chat/src/ChatParts/ChatAttachment.js +4 -3
  54. package/lib/chat/src/ChatParts/MainArea.d.ts +0 -2
  55. package/lib/chat/src/ChatParts/MainArea.js +107 -228
  56. package/lib/chat/src/ChatParts/Sidebar.js +17 -78
  57. package/lib/chat/src/interface.d.ts +6 -1
  58. package/lib/chat/src/styles/index.cssr.js +3 -2
  59. package/lib/locales/common/arDZ.js +2 -1
  60. package/lib/locales/common/deDE.js +2 -1
  61. package/lib/locales/common/enGB.js +2 -1
  62. package/lib/locales/common/enUS.d.ts +1 -0
  63. package/lib/locales/common/enUS.js +2 -1
  64. package/lib/locales/common/eo.js +2 -1
  65. package/lib/locales/common/esAR.js +2 -1
  66. package/lib/locales/common/faIR.js +2 -1
  67. package/lib/locales/common/frFR.js +2 -1
  68. package/lib/locales/common/idID.js +2 -1
  69. package/lib/locales/common/itIT.js +2 -1
  70. package/lib/locales/common/jaJP.js +2 -1
  71. package/lib/locales/common/koKR.js +2 -1
  72. package/lib/locales/common/nbNO.js +2 -1
  73. package/lib/locales/common/nlNL.js +2 -1
  74. package/lib/locales/common/plPL.js +2 -1
  75. package/lib/locales/common/ptBR.js +2 -1
  76. package/lib/locales/common/ruRU.js +2 -1
  77. package/lib/locales/common/skSK.js +2 -1
  78. package/lib/locales/common/svSE.js +2 -1
  79. package/lib/locales/common/thTH.js +2 -1
  80. package/lib/locales/common/trTR.js +2 -1
  81. package/lib/locales/common/ukUA.js +2 -1
  82. package/lib/locales/common/viVN.js +2 -1
  83. package/lib/locales/common/zhCN.js +2 -1
  84. package/lib/locales/common/zhTW.js +2 -1
  85. package/lib/version.d.ts +1 -1
  86. package/lib/version.js +1 -1
  87. package/package.json +1 -1
  88. package/volar.d.ts +2 -0
  89. package/web-types.json +149 -1
  90. package/es/chat/src/ChatGlobalState.d.ts +0 -13
  91. package/es/chat/src/ChatGlobalState.js +0 -32
  92. package/lib/chat/src/ChatGlobalState.d.ts +0 -13
  93. package/lib/chat/src/ChatGlobalState.js +0 -36
@@ -0,0 +1,314 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.chatMessagesProps = void 0;
7
+ const vue_1 = require("vue");
8
+ const interface_1 = require("./interface");
9
+ const ChatAttachment_1 = __importDefault(require("./ChatParts/ChatAttachment"));
10
+ const icon_1 = require("../../icon");
11
+ const skeleton_1 = require("../../skeleton");
12
+ const index_cssr_1 = __importDefault(require("./styles/index.cssr"));
13
+ const styles_1 = require("../styles");
14
+ const _mixins_1 = require("../../_mixins");
15
+ const icons_1 = require("../../_internal/icons");
16
+ const statusIconMapper = {
17
+ [interface_1.MessageStatus.READ]: icons_1.CheckmarkDoneSharp,
18
+ [interface_1.MessageStatus.PENDING]: icons_1.MdTime,
19
+ [interface_1.MessageStatus.RETRY]: icons_1.Refresh,
20
+ [interface_1.MessageStatus.UNREAD]: icons_1.CheckmarkDoneSharp
21
+ };
22
+ exports.chatMessagesProps = Object.assign(Object.assign({}, _mixins_1.useTheme.props), { messages: {
23
+ type: Array,
24
+ default: () => []
25
+ }, loading: {
26
+ type: Boolean,
27
+ default: false
28
+ }, loadingCount: {
29
+ type: Number,
30
+ default: 5
31
+ }, typingChatIds: {
32
+ type: Array,
33
+ default: () => []
34
+ }, selectedChatId: {
35
+ type: [String, Number, Symbol],
36
+ default: undefined
37
+ }, typingText: {
38
+ type: String,
39
+ default: undefined
40
+ }, retryText: {
41
+ type: String,
42
+ default: undefined
43
+ }, uploadProps: {
44
+ type: Object,
45
+ default: undefined
46
+ }, showUnreadNotification: {
47
+ type: Boolean,
48
+ default: false
49
+ }, unreadNotificationText: {
50
+ type: String,
51
+ default: undefined
52
+ }, unreadNotificationCount: {
53
+ type: Number,
54
+ default: undefined
55
+ }, onMessageRetry: {
56
+ type: Function,
57
+ default: undefined
58
+ } });
59
+ exports.default = (0, vue_1.defineComponent)({
60
+ name: 'ChatMessages',
61
+ props: exports.chatMessagesProps,
62
+ emits: ['message-retry'],
63
+ setup(props, { slots, emit }) {
64
+ const { mergedClsPrefixRef } = (0, _mixins_1.useConfig)(props);
65
+ const themeRef = (0, _mixins_1.useTheme)('Chat', '-chat', index_cssr_1.default, styles_1.chatLight, props, mergedClsPrefixRef);
66
+ const { localeRef } = (0, _mixins_1.useLocale)('Chat');
67
+ const cssVarsRef = (0, vue_1.computed)(() => {
68
+ const { common: { cubicBezierEaseInOut, brandPrimary500, staticGreen, staticRed, textPrimary, textSecondary, textTertiary }, self: { backgroundColor, borderColor, mainBackgroundColor, headerBackgroundColor, headerBorderColor, headerTitleColor, messageBubbleBackgroundColorOwn, messageBubbleBackgroundColorOther, messageBubbleTextColorOwn, messageBubbleTextColorOther, messageTimeColor, messageStatusColor, attachmentBackgroundColorOwn, attachmentBackgroundColorOther, unreadNotificationBackgroundColor, unreadNotificationTextColor, typingIndicatorColor, dateSeparatorColor, dateSeparatorBackgroundColor, borderRadius, errorColor } } = themeRef.value;
69
+ return {
70
+ '--u-bezier': cubicBezierEaseInOut,
71
+ '--u-color-primary': brandPrimary500,
72
+ '--u-color-success': staticGreen,
73
+ '--u-color-error': errorColor || staticRed,
74
+ '--u-text-color-base': textPrimary,
75
+ '--u-text-color-secondary': textSecondary,
76
+ '--u-text-color-disabled': textTertiary,
77
+ '--u-background-color': backgroundColor,
78
+ '--u-border-color': borderColor,
79
+ '--u-main-background-color': mainBackgroundColor,
80
+ '--u-header-background-color': headerBackgroundColor,
81
+ '--u-header-border-color': headerBorderColor,
82
+ '--u-header-title-color': headerTitleColor,
83
+ '--u-message-bubble-background-color-own': messageBubbleBackgroundColorOwn,
84
+ '--u-message-bubble-background-color-other': messageBubbleBackgroundColorOther,
85
+ '--u-message-bubble-text-color-own': messageBubbleTextColorOwn,
86
+ '--u-message-bubble-text-color-other': messageBubbleTextColorOther,
87
+ '--u-message-time-color': messageTimeColor,
88
+ '--u-message-status-color': messageStatusColor,
89
+ '--u-attachment-background-color-own': attachmentBackgroundColorOwn,
90
+ '--u-attachment-background-color-other': attachmentBackgroundColorOther,
91
+ '--u-unread-notification-background-color': unreadNotificationBackgroundColor,
92
+ '--u-unread-notification-text-color': unreadNotificationTextColor,
93
+ '--u-typing-indicator-color': typingIndicatorColor,
94
+ '--u-date-separator-color': dateSeparatorColor,
95
+ '--u-date-separator-background-color': dateSeparatorBackgroundColor,
96
+ '--u-border-radius': borderRadius
97
+ };
98
+ });
99
+ const themeClassHandle = (0, _mixins_1.useThemeClass)('chat-messages', (0, vue_1.computed)(() => ''), cssVarsRef, props);
100
+ const mergedTypingTextRef = (0, vue_1.computed)(() => { var _a; return (_a = props.typingText) !== null && _a !== void 0 ? _a : localeRef.value.typingText; });
101
+ const mergedRetryTextRef = (0, vue_1.computed)(() => { var _a; return (_a = props.retryText) !== null && _a !== void 0 ? _a : localeRef.value.retryText; });
102
+ const mergedUnreadNotificationTextRef = (0, vue_1.computed)(() => { var _a; return (_a = props.unreadNotificationText) !== null && _a !== void 0 ? _a : localeRef.value.unreadNotificationText; });
103
+ const unreadMessagesCount = (0, vue_1.computed)(() => {
104
+ if (!props.messages)
105
+ return 0;
106
+ return props.messages.filter((msg) => !msg.isOwn && msg.status === interface_1.MessageStatus.UNREAD).length;
107
+ });
108
+ const handleMessageRetry = (message) => {
109
+ var _a;
110
+ emit('message-retry', message);
111
+ (_a = props.onMessageRetry) === null || _a === void 0 ? void 0 : _a.call(props, message);
112
+ };
113
+ const renderDateSeparator = (date) => {
114
+ return ((0, vue_1.h)("div", { class: `${mergedClsPrefixRef.value}-chat-main__date-separator` },
115
+ (0, vue_1.h)("span", null, date)));
116
+ };
117
+ const renderUnreadNotification = () => {
118
+ var _a;
119
+ const count = (_a = props.unreadNotificationCount) !== null && _a !== void 0 ? _a : unreadMessagesCount.value;
120
+ return ((0, vue_1.h)("div", { class: `${mergedClsPrefixRef.value}-chat-main__unread-notification` },
121
+ (0, vue_1.h)("span", null,
122
+ count,
123
+ " ",
124
+ mergedUnreadNotificationTextRef.value)));
125
+ };
126
+ const renderMessage = (message) => {
127
+ const isOwn = message.isOwn;
128
+ const attachments = message.attachment
129
+ ? Array.isArray(message.attachment)
130
+ ? message.attachment
131
+ : [message.attachment]
132
+ : [];
133
+ return ((0, vue_1.h)("div", { key: message.id, class: [
134
+ `${mergedClsPrefixRef.value}-chat-main__message`,
135
+ isOwn
136
+ ? `${mergedClsPrefixRef.value}-chat-main__message--own`
137
+ : `${mergedClsPrefixRef.value}-chat-main__message--other`
138
+ ] },
139
+ (0, vue_1.h)("div", { class: `${mergedClsPrefixRef.value}-chat-main__message-wrapper` },
140
+ message.content || attachments.length > 1 ? ((0, vue_1.h)("div", { class: [
141
+ `${mergedClsPrefixRef.value}-chat-main__message-bubble`,
142
+ isOwn
143
+ ? `${mergedClsPrefixRef.value}-chat-main__message-bubble--own`
144
+ : `${mergedClsPrefixRef.value}-chat-main__message-bubble--other`
145
+ ] },
146
+ attachments.length > 0 && ((0, vue_1.h)(ChatAttachment_1.default, { message: message, attachments: attachments, uploadProps: props.uploadProps, withPadding: true }, {
147
+ default: slots.messageAttachment,
148
+ 'upload-file-title': slots.messageAttachmentTitle,
149
+ 'upload-file-subtitle': slots.messageAttachmentSubtitle
150
+ })),
151
+ message.content && ((0, vue_1.h)("div", { class: `${mergedClsPrefixRef.value}-chat-main__message-text` }, message.content)))) : attachments.length === 1 ? ((0, vue_1.h)(ChatAttachment_1.default, { message: message, attachments: attachments, uploadProps: props.uploadProps }, {
152
+ default: slots.messageAttachment,
153
+ 'upload-file-title': slots.messageAttachmentTitle,
154
+ 'upload-file-subtitle': slots.messageAttachmentSubtitle
155
+ })) : null,
156
+ (0, vue_1.h)("div", { class: [
157
+ `${mergedClsPrefixRef.value}-chat-main__message-meta`,
158
+ isOwn
159
+ ? `${mergedClsPrefixRef.value}-chat-main__message-meta--own`
160
+ : `${mergedClsPrefixRef.value}-chat-main__message-meta--other`,
161
+ message.status === interface_1.MessageStatus.RETRY &&
162
+ `${mergedClsPrefixRef.value}-chat-main__message-meta--retry`
163
+ ] }, message.status === interface_1.MessageStatus.RETRY ? ((0, vue_1.h)("div", { class: `${mergedClsPrefixRef.value}-chat-main__message-retry`, onClick: () => {
164
+ handleMessageRetry(message);
165
+ }, style: { cursor: 'pointer' } },
166
+ (0, vue_1.h)(icon_1.UIcon, { size: 16, component: statusIconMapper[interface_1.MessageStatus.RETRY], class: `${mergedClsPrefixRef.value}-chat-main__message-retry-icon` }),
167
+ (0, vue_1.h)("span", { class: `${mergedClsPrefixRef.value}-chat-main__message-retry-text` }, mergedRetryTextRef.value))) : ((0, vue_1.h)(vue_1.Fragment, null,
168
+ (0, vue_1.h)("span", { class: `${mergedClsPrefixRef.value}-chat-main__message-time` }, message.timestamp),
169
+ isOwn && message.status && ((0, vue_1.h)("div", { class: `${mergedClsPrefixRef.value}-chat-main__message-status` }, slots.messageStatus
170
+ ? slots.messageStatus(message)
171
+ : statusIconMapper[message.status] && ((0, vue_1.h)(icon_1.UIcon, { size: 16, component: statusIconMapper[message.status], class: [
172
+ `${mergedClsPrefixRef.value}-chat-main__message-status-icon`,
173
+ `${mergedClsPrefixRef.value}-chat-main__message-status-icon--${String(message.status)}`
174
+ ] }))))))))));
175
+ };
176
+ const renderTypingIndicator = () => {
177
+ return ((0, vue_1.h)("div", { class: [
178
+ `${mergedClsPrefixRef.value}-chat-main__message`,
179
+ `${mergedClsPrefixRef.value}-chat-main__message--other`
180
+ ] },
181
+ (0, vue_1.h)("div", { class: `${mergedClsPrefixRef.value}-chat-main__message-wrapper` },
182
+ (0, vue_1.h)("div", { class: [
183
+ `${mergedClsPrefixRef.value}-chat-main__message-bubble`,
184
+ `${mergedClsPrefixRef.value}-chat-main__message-bubble--other`,
185
+ `${mergedClsPrefixRef.value}-chat-main__message-bubble--typing`
186
+ ] }),
187
+ (0, vue_1.h)("div", { class: [
188
+ `${mergedClsPrefixRef.value}-chat-main__message-meta`,
189
+ `${mergedClsPrefixRef.value}-chat-main__message-meta--other`
190
+ ] },
191
+ (0, vue_1.h)("span", { class: `${mergedClsPrefixRef.value}-chat-main__message-time` }, mergedTypingTextRef.value)))));
192
+ };
193
+ const renderSkeletonMessage = (isOwn, index) => {
194
+ return ((0, vue_1.h)("div", { key: `skeleton-${index}`, class: [
195
+ `${mergedClsPrefixRef.value}-chat-main__message`,
196
+ isOwn
197
+ ? `${mergedClsPrefixRef.value}-chat-main__message--own`
198
+ : `${mergedClsPrefixRef.value}-chat-main__message--other`
199
+ ] },
200
+ (0, vue_1.h)("div", { class: `${mergedClsPrefixRef.value}-chat-main__message-wrapper` },
201
+ (0, vue_1.h)("div", { class: [
202
+ `${mergedClsPrefixRef.value}-chat-main__message-bubble`,
203
+ isOwn
204
+ ? `${mergedClsPrefixRef.value}-chat-main__message-bubble--own`
205
+ : `${mergedClsPrefixRef.value}-chat-main__message-bubble--other`
206
+ ] },
207
+ (0, vue_1.h)("div", { class: `${mergedClsPrefixRef.value}-chat-main__message-text` },
208
+ (0, vue_1.h)("div", { style: { width: '376px', height: '20px' } }))),
209
+ (0, vue_1.h)("div", { class: [
210
+ `${mergedClsPrefixRef.value}-chat-main__message-meta`,
211
+ isOwn
212
+ ? `${mergedClsPrefixRef.value}-chat-main__message-meta--own`
213
+ : `${mergedClsPrefixRef.value}-chat-main__message-meta--other`
214
+ ] },
215
+ (0, vue_1.h)(skeleton_1.USkeleton, { style: { width: '36px', height: '20px', borderRadius: '4px' } })))));
216
+ };
217
+ return {
218
+ mergedClsPrefixRef,
219
+ renderMessage,
220
+ renderTypingIndicator,
221
+ renderSkeletonMessage,
222
+ renderDateSeparator,
223
+ renderUnreadNotification,
224
+ cssVars: cssVarsRef,
225
+ themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,
226
+ onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender
227
+ };
228
+ },
229
+ render() {
230
+ var _a, _b, _c;
231
+ (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this);
232
+ const { mergedClsPrefixRef, renderMessage, renderTypingIndicator, renderSkeletonMessage, renderDateSeparator, renderUnreadNotification } = this;
233
+ if (this.loading) {
234
+ return ((0, vue_1.h)("div", { class: [`${mergedClsPrefixRef}-chat`, this.themeClass], style: this.cssVars },
235
+ (0, vue_1.h)("div", { class: `${mergedClsPrefixRef}-chat-main`, style: {
236
+ border: 'none',
237
+ borderRadius: '0',
238
+ padding: '0',
239
+ background: 'transparent'
240
+ } },
241
+ (0, vue_1.h)("div", { class: `${mergedClsPrefixRef}-chat-main__messages` }, Array.from({ length: this.loadingCount || 5 }).map((_, index) => {
242
+ const isOwn = index % 2 === 0;
243
+ return renderSkeletonMessage(isOwn, index);
244
+ })))));
245
+ }
246
+ const messagesWithDates = [];
247
+ let currentDate = '';
248
+ let unreadNotificationInserted = false;
249
+ (_b = this.messages) === null || _b === void 0 ? void 0 : _b.forEach((message, index) => {
250
+ const messageDate = message.date || '';
251
+ if (messageDate !== currentDate) {
252
+ messagesWithDates.push({
253
+ type: 'date-separator',
254
+ date: messageDate,
255
+ id: `date-${String(index)}`
256
+ });
257
+ currentDate = messageDate;
258
+ }
259
+ if (!unreadNotificationInserted &&
260
+ !message.isOwn &&
261
+ message.status === interface_1.MessageStatus.UNREAD &&
262
+ this.showUnreadNotification) {
263
+ messagesWithDates.push({
264
+ type: 'unread-notification',
265
+ id: 'unread-notification'
266
+ });
267
+ unreadNotificationInserted = true;
268
+ }
269
+ messagesWithDates.push(Object.assign({ type: 'message' }, message));
270
+ });
271
+ if (!unreadNotificationInserted && this.showUnreadNotification) {
272
+ const unreadCount = this.unreadNotificationCount || 0;
273
+ let incomingMessagesFound = 0;
274
+ let insertIndex = messagesWithDates.length;
275
+ for (let i = messagesWithDates.length - 1; i >= 0; i--) {
276
+ const item = messagesWithDates[i];
277
+ if (item.type === 'message') {
278
+ const message = item;
279
+ if (!message.isOwn) {
280
+ incomingMessagesFound++;
281
+ if (incomingMessagesFound === unreadCount) {
282
+ insertIndex = i;
283
+ break;
284
+ }
285
+ }
286
+ }
287
+ }
288
+ messagesWithDates.splice(insertIndex, 0, {
289
+ type: 'unread-notification',
290
+ id: 'unread-notification'
291
+ });
292
+ }
293
+ const isTyping = this.selectedChatId && ((_c = this.typingChatIds) === null || _c === void 0 ? void 0 : _c.includes(this.selectedChatId));
294
+ return ((0, vue_1.h)("div", { class: [`${mergedClsPrefixRef}-chat`, this.themeClass], style: this.cssVars },
295
+ (0, vue_1.h)("div", { class: `${mergedClsPrefixRef}-chat-main`, style: {
296
+ border: 'none',
297
+ borderRadius: '0',
298
+ padding: '0',
299
+ background: 'transparent'
300
+ } },
301
+ (0, vue_1.h)("div", { class: `${mergedClsPrefixRef}-chat-main__messages-container` },
302
+ messagesWithDates.map((item) => {
303
+ var _a;
304
+ if (item.type === 'date-separator') {
305
+ return renderDateSeparator((_a = item.date) !== null && _a !== void 0 ? _a : '');
306
+ }
307
+ if (item.type === 'unread-notification') {
308
+ return renderUnreadNotification();
309
+ }
310
+ return renderMessage(item);
311
+ }),
312
+ isTyping && renderTypingIndicator()))));
313
+ }
314
+ });
@@ -49,8 +49,8 @@ exports.default = (0, vue_1.defineComponent)({
49
49
  gap: '2px',
50
50
  marginTop: '0'
51
51
  }
52
- : undefined, showRemoveButton: false, showDownloadButton: props.attachments.some((att) => att.status === 'finished'), showRetryButton: props.attachments.some((att) => att.status === 'error') }, props.uploadProps),
53
- (0, vue_1.h)(upload_1.UUploadFileList, null, {
52
+ : undefined, showRemoveButton: false, showDownloadButton: props.attachments.some((att) => att.status === 'finished'), showRetryButton: props.attachments.some((att) => att.status === 'error') }, props.uploadProps), {
53
+ default: () => ((0, vue_1.h)(upload_1.UUploadFileList, null, {
54
54
  'upload-file-title': slots['upload-file-title']
55
55
  ? ({ file }) => { var _a; return (_a = slots['upload-file-title']) === null || _a === void 0 ? void 0 : _a.call(slots, file); }
56
56
  : undefined,
@@ -61,7 +61,8 @@ exports.default = (0, vue_1.defineComponent)({
61
61
  const att = props.attachments.find((a) => a.name === file.name);
62
62
  return ((0, vue_1.h)("span", { style: { fontSize: '12px', color: '#999' } }, (att === null || att === void 0 ? void 0 : att.size) || ((_a = file.file) === null || _a === void 0 ? void 0 : _a.size)));
63
63
  }
64
- })));
64
+ }))
65
+ }));
65
66
  if (props.withPadding) {
66
67
  return (0, vue_1.h)("div", { style: { padding: '2px' } }, uploadComponent);
67
68
  }
@@ -2,8 +2,6 @@ declare const _default: import("vue").DefineComponent<{}, {
2
2
  renderHeader: () => JSX.Element;
3
3
  renderMessages: () => JSX.Element;
4
4
  renderFooter: () => JSX.Element;
5
- renderUnreadNotification: () => JSX.Element | null;
6
- showUnreadNotification: import("vue").ComputedRef<boolean>;
7
5
  messagesBodyRef: import("vue").Ref<HTMLElement | {
8
6
  $el: HTMLElement;
9
7
  } | undefined>;