@uzum-tech/ui 2.3.3 → 2.3.4
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/index.js +287 -242
- package/dist/index.mjs +287 -242
- package/dist/index.prod.js +2 -2
- package/dist/index.prod.mjs +2 -2
- package/es/chat/src/Chat.d.ts +363 -3120
- package/es/chat/src/Chat.mjs +13 -240
- package/es/chat/src/ChatListItems.d.ts +4 -4
- package/es/chat/src/ChatMainArea.d.ts +36 -10
- package/es/chat/src/ChatMainArea.mjs +49 -3
- package/es/chat/src/ChatMessages.d.ts +3 -3
- package/es/chat/src/interface.d.ts +2814 -2
- package/es/chat/src/interface.mjs +244 -1
- package/es/components.d.ts +251 -183
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/lib/chat/src/Chat.d.ts +363 -3120
- package/lib/chat/src/Chat.js +15 -180
- package/lib/chat/src/ChatListItems.d.ts +4 -4
- package/lib/chat/src/ChatMainArea.d.ts +36 -10
- package/lib/chat/src/ChatMainArea.js +48 -3
- package/lib/chat/src/ChatMessages.d.ts +3 -3
- package/lib/chat/src/interface.d.ts +2814 -2
- package/lib/chat/src/interface.js +183 -1
- package/lib/components.d.ts +251 -183
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +1 -1
- package/web-types.json +9 -2
package/lib/chat/src/Chat.js
CHANGED
|
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.chatProps = void 0;
|
|
7
6
|
const vue_1 = require("vue");
|
|
8
7
|
const _mixins_1 = require("../../_mixins");
|
|
9
8
|
const _utils_1 = require("../../_utils");
|
|
@@ -13,189 +12,12 @@ const ChatMainArea_1 = __importDefault(require("./ChatMainArea"));
|
|
|
13
12
|
const Sidebar_1 = __importDefault(require("./ChatParts/Sidebar"));
|
|
14
13
|
const interface_1 = require("./interface");
|
|
15
14
|
const index_cssr_1 = __importDefault(require("./styles/index.cssr"));
|
|
16
|
-
exports.chatProps = Object.assign(Object.assign({}, _mixins_1.useTheme.props), { chatItems: {
|
|
17
|
-
type: Array,
|
|
18
|
-
default: () => []
|
|
19
|
-
}, selectedChatId: {
|
|
20
|
-
type: [String, Number],
|
|
21
|
-
default: undefined
|
|
22
|
-
}, messages: {
|
|
23
|
-
type: Array,
|
|
24
|
-
default: () => []
|
|
25
|
-
}, typingChatIds: {
|
|
26
|
-
type: Array,
|
|
27
|
-
default: () => []
|
|
28
|
-
}, disabled: {
|
|
29
|
-
type: Boolean,
|
|
30
|
-
default: false
|
|
31
|
-
}, listEmptyProps: {
|
|
32
|
-
type: Object,
|
|
33
|
-
default: undefined
|
|
34
|
-
}, listHeaderTitle: {
|
|
35
|
-
type: [String, Function],
|
|
36
|
-
default: 'Chats'
|
|
37
|
-
}, listHeaderActions: {
|
|
38
|
-
type: Array,
|
|
39
|
-
default: () => []
|
|
40
|
-
}, listHeaderButtonProps: {
|
|
41
|
-
type: Object,
|
|
42
|
-
default: undefined
|
|
43
|
-
}, listHeaderIconProps: {
|
|
44
|
-
type: Object,
|
|
45
|
-
default: undefined
|
|
46
|
-
}, listItemAvatarProps: {
|
|
47
|
-
type: Object,
|
|
48
|
-
default: undefined
|
|
49
|
-
}, listItemBadgeProps: {
|
|
50
|
-
type: Object,
|
|
51
|
-
default: undefined
|
|
52
|
-
}, headerTitle: {
|
|
53
|
-
type: [String, Function],
|
|
54
|
-
default: undefined
|
|
55
|
-
}, headerActions: {
|
|
56
|
-
type: Array,
|
|
57
|
-
default: () => []
|
|
58
|
-
}, headerButtonProps: {
|
|
59
|
-
type: Object,
|
|
60
|
-
default: undefined
|
|
61
|
-
}, headerIconProps: {
|
|
62
|
-
type: Object,
|
|
63
|
-
default: undefined
|
|
64
|
-
}, headerShareButtonProps: {
|
|
65
|
-
type: Object,
|
|
66
|
-
default: undefined
|
|
67
|
-
}, headerProfileButtonProps: {
|
|
68
|
-
type: Object,
|
|
69
|
-
default: undefined
|
|
70
|
-
}, headerCloseButtonProps: {
|
|
71
|
-
type: Object,
|
|
72
|
-
default: undefined
|
|
73
|
-
}, headerShareIconProps: {
|
|
74
|
-
type: Object,
|
|
75
|
-
default: undefined
|
|
76
|
-
}, headerProfileIconProps: {
|
|
77
|
-
type: Object,
|
|
78
|
-
default: undefined
|
|
79
|
-
}, messageSenderAvatarProps: {
|
|
80
|
-
type: Object,
|
|
81
|
-
default: undefined
|
|
82
|
-
}, messageUploadProps: {
|
|
83
|
-
type: Object,
|
|
84
|
-
default: undefined
|
|
85
|
-
}, messageButtonProps: {
|
|
86
|
-
type: Object,
|
|
87
|
-
default: undefined
|
|
88
|
-
}, footerInputProps: {
|
|
89
|
-
type: Object,
|
|
90
|
-
default: undefined
|
|
91
|
-
}, footerButtonProps: {
|
|
92
|
-
type: Object,
|
|
93
|
-
default: undefined
|
|
94
|
-
}, footerUploadProps: {
|
|
95
|
-
type: Object,
|
|
96
|
-
default: undefined
|
|
97
|
-
}, footerUploadTriggerProps: {
|
|
98
|
-
type: Object,
|
|
99
|
-
default: undefined
|
|
100
|
-
}, footerIconProps: {
|
|
101
|
-
type: Object,
|
|
102
|
-
default: undefined
|
|
103
|
-
}, footerSuffixIconProps: {
|
|
104
|
-
type: Object,
|
|
105
|
-
default: undefined
|
|
106
|
-
}, emptyProps: {
|
|
107
|
-
type: Object,
|
|
108
|
-
default: undefined
|
|
109
|
-
}, retryText: {
|
|
110
|
-
type: String,
|
|
111
|
-
default: undefined
|
|
112
|
-
}, typingText: {
|
|
113
|
-
type: String,
|
|
114
|
-
default: undefined
|
|
115
|
-
}, closeButtonText: {
|
|
116
|
-
type: String,
|
|
117
|
-
default: undefined
|
|
118
|
-
}, shareButtonTooltip: {
|
|
119
|
-
type: String,
|
|
120
|
-
default: undefined
|
|
121
|
-
}, profileButtonTooltip: {
|
|
122
|
-
type: String,
|
|
123
|
-
default: undefined
|
|
124
|
-
}, unreadNotificationText: {
|
|
125
|
-
type: String,
|
|
126
|
-
default: undefined
|
|
127
|
-
}, chatItemsLoading: {
|
|
128
|
-
type: Boolean,
|
|
129
|
-
default: false
|
|
130
|
-
}, chatItemsLoadingCount: {
|
|
131
|
-
type: Number,
|
|
132
|
-
default: 10
|
|
133
|
-
}, messagesLoading: {
|
|
134
|
-
type: Boolean,
|
|
135
|
-
default: false
|
|
136
|
-
}, messagesLoadingCount: {
|
|
137
|
-
type: Number,
|
|
138
|
-
default: 10
|
|
139
|
-
}, height: {
|
|
140
|
-
type: [String, Number],
|
|
141
|
-
default: 800
|
|
142
|
-
}, onChatSelect: {
|
|
143
|
-
type: Function,
|
|
144
|
-
default: undefined
|
|
145
|
-
}, onMessageRetry: {
|
|
146
|
-
type: Function,
|
|
147
|
-
default: undefined
|
|
148
|
-
}, bubbleActions: {
|
|
149
|
-
type: Array,
|
|
150
|
-
default: undefined
|
|
151
|
-
}, onChatClose: {
|
|
152
|
-
type: Function,
|
|
153
|
-
default: undefined
|
|
154
|
-
}, onChatShare: {
|
|
155
|
-
type: Function,
|
|
156
|
-
default: undefined
|
|
157
|
-
}, onUserProfile: {
|
|
158
|
-
type: Function,
|
|
159
|
-
default: undefined
|
|
160
|
-
}, onAttachmentUpload: {
|
|
161
|
-
type: Function,
|
|
162
|
-
default: undefined
|
|
163
|
-
}, onAttachmentDownload: {
|
|
164
|
-
type: Function,
|
|
165
|
-
default: undefined
|
|
166
|
-
}, onFilterChange: {
|
|
167
|
-
type: Function,
|
|
168
|
-
default: undefined
|
|
169
|
-
}, onFooterInputChange: {
|
|
170
|
-
type: Function,
|
|
171
|
-
default: undefined
|
|
172
|
-
}, onNetworkError: {
|
|
173
|
-
type: Function,
|
|
174
|
-
default: undefined
|
|
175
|
-
}, onUploadError: {
|
|
176
|
-
type: Function,
|
|
177
|
-
default: undefined
|
|
178
|
-
}, onSendError: {
|
|
179
|
-
type: Function,
|
|
180
|
-
default: undefined
|
|
181
|
-
}, onChatItemsScrollToTop: {
|
|
182
|
-
type: Function,
|
|
183
|
-
default: undefined
|
|
184
|
-
}, onChatItemsScrollToBottom: {
|
|
185
|
-
type: Function,
|
|
186
|
-
default: undefined
|
|
187
|
-
}, onMessagesScrollToTop: {
|
|
188
|
-
type: Function,
|
|
189
|
-
default: undefined
|
|
190
|
-
}, onMessagesScrollToBottom: {
|
|
191
|
-
type: Function,
|
|
192
|
-
default: undefined
|
|
193
|
-
} });
|
|
194
15
|
exports.default = (0, vue_1.defineComponent)({
|
|
195
16
|
name: 'Chat',
|
|
196
|
-
props:
|
|
17
|
+
props: interface_1.chatProps,
|
|
197
18
|
emits: [
|
|
198
19
|
'update:selectedChatId',
|
|
20
|
+
'update:inputValue',
|
|
199
21
|
'message-send',
|
|
200
22
|
'message-retry',
|
|
201
23
|
'attachment-upload',
|
|
@@ -211,6 +33,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
211
33
|
'messages-scroll-to-bottom'
|
|
212
34
|
],
|
|
213
35
|
setup(props, { emit, expose }) {
|
|
36
|
+
var _a;
|
|
214
37
|
const { mergedClsPrefixRef } = (0, _mixins_1.useConfig)(props);
|
|
215
38
|
const themeRef = (0, _mixins_1.useTheme)('Chat', '-chat', index_cssr_1.default, styles_1.chatLight, props, mergedClsPrefixRef);
|
|
216
39
|
const { localeRef } = (0, _mixins_1.useLocale)('Chat');
|
|
@@ -267,6 +90,16 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
267
90
|
? props.selectedChatId
|
|
268
91
|
: uncontrolledSelectedChatIdRef.value;
|
|
269
92
|
});
|
|
93
|
+
const uncontrolledInputValueRef = (0, vue_1.ref)((_a = props.inputValue) !== null && _a !== void 0 ? _a : '');
|
|
94
|
+
const mergedInputValueRef = (0, vue_1.computed)(() => {
|
|
95
|
+
return props.inputValue !== undefined
|
|
96
|
+
? props.inputValue
|
|
97
|
+
: uncontrolledInputValueRef.value;
|
|
98
|
+
});
|
|
99
|
+
const handleInputValueChange = (value) => {
|
|
100
|
+
uncontrolledInputValueRef.value = value;
|
|
101
|
+
emit('update:inputValue', value);
|
|
102
|
+
};
|
|
270
103
|
const selectedChatRef = (0, vue_1.computed)(() => {
|
|
271
104
|
var _a;
|
|
272
105
|
return (_a = props.chatItems) === null || _a === void 0 ? void 0 : _a.find((item) => item.id === mergedSelectedChatIdRef.value);
|
|
@@ -366,6 +199,8 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
366
199
|
chatItemsRef: (0, vue_1.toRef)(props, 'chatItems'),
|
|
367
200
|
selectedChatIdRef: mergedSelectedChatIdRef,
|
|
368
201
|
selectedChatRef,
|
|
202
|
+
inputValueRef: mergedInputValueRef,
|
|
203
|
+
handleInputValueChange,
|
|
369
204
|
messagesRef: filteredMessagesRef,
|
|
370
205
|
typingChatIdsRef: (0, vue_1.toRef)(props, 'typingChatIds'),
|
|
371
206
|
chatItemsLoadingRef: (0, vue_1.toRef)(props, 'chatItemsLoading'),
|
|
@@ -11609,13 +11609,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
11609
11609
|
readonly loading: boolean;
|
|
11610
11610
|
readonly typingText: string;
|
|
11611
11611
|
readonly emptyProps: Partial<EmptyProps>;
|
|
11612
|
-
readonly loadingCount: number;
|
|
11613
|
-
readonly typingChatIds: (string | number | symbol)[];
|
|
11614
|
-
readonly selectedChatId: string | number | symbol;
|
|
11615
11612
|
readonly chatItems: ChatListItemData[];
|
|
11613
|
+
readonly selectedChatId: string | number | symbol;
|
|
11614
|
+
readonly onChatSelect: (chatId: string | number | symbol) => void;
|
|
11615
|
+
readonly typingChatIds: (string | number | symbol)[];
|
|
11616
|
+
readonly loadingCount: number;
|
|
11616
11617
|
readonly avatarProps: Partial<AvatarProps>;
|
|
11617
11618
|
readonly badgeProps: Partial<BadgeProps>;
|
|
11618
|
-
readonly onChatSelect: (chatId: string | number | symbol) => void;
|
|
11619
11619
|
readonly notificationsShown: Set<string | number | symbol>;
|
|
11620
11620
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
11621
11621
|
export default _default;
|
|
@@ -10,6 +10,10 @@ export declare const chatMainAreaProps: {
|
|
|
10
10
|
readonly type: PropType<ChatListItemData>;
|
|
11
11
|
readonly default: undefined;
|
|
12
12
|
};
|
|
13
|
+
readonly inputValue: {
|
|
14
|
+
readonly type: StringConstructor;
|
|
15
|
+
readonly default: undefined;
|
|
16
|
+
};
|
|
13
17
|
readonly messages: {
|
|
14
18
|
readonly type: PropType<ChatMessageData[]>;
|
|
15
19
|
readonly default: () => never[];
|
|
@@ -126,6 +130,10 @@ export declare const chatMainAreaProps: {
|
|
|
126
130
|
readonly type: PropType<(value: string, chatId: ChatId) => void>;
|
|
127
131
|
readonly default: undefined;
|
|
128
132
|
};
|
|
133
|
+
readonly 'onUpdate:inputValue': {
|
|
134
|
+
readonly type: PropType<(value: string) => void>;
|
|
135
|
+
readonly default: undefined;
|
|
136
|
+
};
|
|
129
137
|
readonly onChatClose: {
|
|
130
138
|
readonly type: PropType<() => void>;
|
|
131
139
|
readonly default: undefined;
|
|
@@ -2726,6 +2734,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
2726
2734
|
readonly type: PropType<ChatListItemData>;
|
|
2727
2735
|
readonly default: undefined;
|
|
2728
2736
|
};
|
|
2737
|
+
readonly inputValue: {
|
|
2738
|
+
readonly type: StringConstructor;
|
|
2739
|
+
readonly default: undefined;
|
|
2740
|
+
};
|
|
2729
2741
|
readonly messages: {
|
|
2730
2742
|
readonly type: PropType<ChatMessageData[]>;
|
|
2731
2743
|
readonly default: () => never[];
|
|
@@ -2842,6 +2854,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
2842
2854
|
readonly type: PropType<(value: string, chatId: ChatId) => void>;
|
|
2843
2855
|
readonly default: undefined;
|
|
2844
2856
|
};
|
|
2857
|
+
readonly 'onUpdate:inputValue': {
|
|
2858
|
+
readonly type: PropType<(value: string) => void>;
|
|
2859
|
+
readonly default: undefined;
|
|
2860
|
+
};
|
|
2845
2861
|
readonly onChatClose: {
|
|
2846
2862
|
readonly type: PropType<() => void>;
|
|
2847
2863
|
readonly default: undefined;
|
|
@@ -9193,7 +9209,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
9193
9209
|
$el: HTMLElement;
|
|
9194
9210
|
} | undefined>;
|
|
9195
9211
|
inputRef: Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
|
|
9196
|
-
inputValue:
|
|
9212
|
+
inputValue: import("vue").WritableComputedRef<string, string>;
|
|
9197
9213
|
handleSendMessage: () => Promise<void>;
|
|
9198
9214
|
handleMessagesScroll: (e: Event) => void;
|
|
9199
9215
|
scrollToBottom: () => void;
|
|
@@ -9203,6 +9219,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
9203
9219
|
readonly type: PropType<ChatListItemData>;
|
|
9204
9220
|
readonly default: undefined;
|
|
9205
9221
|
};
|
|
9222
|
+
readonly inputValue: {
|
|
9223
|
+
readonly type: StringConstructor;
|
|
9224
|
+
readonly default: undefined;
|
|
9225
|
+
};
|
|
9206
9226
|
readonly messages: {
|
|
9207
9227
|
readonly type: PropType<ChatMessageData[]>;
|
|
9208
9228
|
readonly default: () => never[];
|
|
@@ -9319,6 +9339,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
9319
9339
|
readonly type: PropType<(value: string, chatId: ChatId) => void>;
|
|
9320
9340
|
readonly default: undefined;
|
|
9321
9341
|
};
|
|
9342
|
+
readonly 'onUpdate:inputValue': {
|
|
9343
|
+
readonly type: PropType<(value: string) => void>;
|
|
9344
|
+
readonly default: undefined;
|
|
9345
|
+
};
|
|
9322
9346
|
readonly onChatClose: {
|
|
9323
9347
|
readonly type: PropType<() => void>;
|
|
9324
9348
|
readonly default: undefined;
|
|
@@ -11922,12 +11946,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
11922
11946
|
readonly profileButtonTooltip: string;
|
|
11923
11947
|
readonly unreadNotificationText: string;
|
|
11924
11948
|
readonly onAttachmentDownload: OnAttachmentDownload;
|
|
11925
|
-
readonly
|
|
11949
|
+
readonly inputValue: string;
|
|
11926
11950
|
readonly messages: ChatMessageData[];
|
|
11927
|
-
readonly loadingCount: number;
|
|
11928
|
-
readonly typingChatIds: (string | number | symbol)[];
|
|
11929
|
-
readonly onMessageRetry: (message: ChatMessageData) => void;
|
|
11930
|
-
readonly selectedChat: ChatListItemData;
|
|
11931
11951
|
readonly headerButtonProps: Partial<ButtonProps>;
|
|
11932
11952
|
readonly headerIconProps: Partial<IconProps>;
|
|
11933
11953
|
readonly headerShareButtonProps: Partial<ButtonProps>;
|
|
@@ -11941,14 +11961,20 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
11941
11961
|
readonly footerUploadProps: Partial<UploadProps>;
|
|
11942
11962
|
readonly footerIconProps: Partial<IconProps>;
|
|
11943
11963
|
readonly footerSuffixIconProps: Partial<IconProps>;
|
|
11944
|
-
readonly
|
|
11945
|
-
readonly
|
|
11946
|
-
readonly
|
|
11964
|
+
readonly onMessageRetry: (message: ChatMessageData) => void;
|
|
11965
|
+
readonly bubbleActions: ChatBubbleAction[];
|
|
11966
|
+
readonly onAttachmentUpload: OnAttachmentUpload;
|
|
11967
|
+
readonly typingChatIds: (string | number | symbol)[];
|
|
11947
11968
|
readonly onChatClose: () => void;
|
|
11948
11969
|
readonly onChatShare: () => void;
|
|
11949
11970
|
readonly onUserProfile: () => void;
|
|
11950
|
-
readonly
|
|
11971
|
+
readonly onFooterInputChange: (value: string, chatId: ChatId) => void;
|
|
11951
11972
|
readonly onMessagesScrollToTop: () => void;
|
|
11952
11973
|
readonly onMessagesScrollToBottom: () => void;
|
|
11974
|
+
readonly loadingCount: number;
|
|
11975
|
+
readonly selectedChat: ChatListItemData;
|
|
11976
|
+
readonly showAttachButton: boolean;
|
|
11977
|
+
readonly onMessageSend: OnMessageSend;
|
|
11978
|
+
readonly 'onUpdate:inputValue': (value: string) => void;
|
|
11953
11979
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
11954
11980
|
export default _default;
|
|
@@ -8,6 +8,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
12
|
+
var t = {};
|
|
13
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
14
|
+
t[p] = s[p];
|
|
15
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
16
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
17
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
18
|
+
t[p[i]] = s[p[i]];
|
|
19
|
+
}
|
|
20
|
+
return t;
|
|
21
|
+
};
|
|
11
22
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
23
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
24
|
};
|
|
@@ -34,6 +45,9 @@ const SENDING_DELAY = 100;
|
|
|
34
45
|
exports.chatMainAreaProps = Object.assign(Object.assign({}, _mixins_1.useTheme.props), { selectedChat: {
|
|
35
46
|
type: Object,
|
|
36
47
|
default: undefined
|
|
48
|
+
}, inputValue: {
|
|
49
|
+
type: String,
|
|
50
|
+
default: undefined
|
|
37
51
|
}, messages: {
|
|
38
52
|
type: Array,
|
|
39
53
|
default: () => []
|
|
@@ -121,6 +135,9 @@ exports.chatMainAreaProps = Object.assign(Object.assign({}, _mixins_1.useTheme.p
|
|
|
121
135
|
}, onFooterInputChange: {
|
|
122
136
|
type: Function,
|
|
123
137
|
default: undefined
|
|
138
|
+
}, 'onUpdate:inputValue': {
|
|
139
|
+
type: Function,
|
|
140
|
+
default: undefined
|
|
124
141
|
}, onChatClose: {
|
|
125
142
|
type: Function,
|
|
126
143
|
default: undefined
|
|
@@ -147,7 +164,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
147
164
|
name: 'ChatMainArea',
|
|
148
165
|
props: exports.chatMainAreaProps,
|
|
149
166
|
setup(props, { slots }) {
|
|
150
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16;
|
|
167
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18;
|
|
151
168
|
const UChat = (0, vue_1.inject)(interface_1.chatInjectionKey, null);
|
|
152
169
|
const isStandalone = !UChat;
|
|
153
170
|
const { mergedClsPrefixRef } = (0, _mixins_1.useConfig)(props);
|
|
@@ -167,6 +184,11 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
167
184
|
const headerProfileIconPropsRef = (_o = UChat === null || UChat === void 0 ? void 0 : UChat.headerProfileIconPropsRef) !== null && _o !== void 0 ? _o : (0, vue_1.toRef)(props, 'headerProfileIconProps');
|
|
168
185
|
const messageUploadPropsRef = (_p = UChat === null || UChat === void 0 ? void 0 : UChat.messageUploadPropsRef) !== null && _p !== void 0 ? _p : (0, vue_1.toRef)(props, 'messageUploadProps');
|
|
169
186
|
const footerInputPropsRef = (_q = UChat === null || UChat === void 0 ? void 0 : UChat.footerInputPropsRef) !== null && _q !== void 0 ? _q : (0, vue_1.toRef)(props, 'footerInputProps');
|
|
187
|
+
const safeFooterInputPropsRef = (0, vue_1.computed)(() => {
|
|
188
|
+
var _a;
|
|
189
|
+
const _b = (_a = footerInputPropsRef.value) !== null && _a !== void 0 ? _a : {}, { value } = _b, rest = __rest(_b, ["value"]);
|
|
190
|
+
return rest;
|
|
191
|
+
});
|
|
170
192
|
const footerButtonPropsRef = (_r = UChat === null || UChat === void 0 ? void 0 : UChat.footerButtonPropsRef) !== null && _r !== void 0 ? _r : (0, vue_1.toRef)(props, 'footerButtonProps');
|
|
171
193
|
const footerUploadPropsRef = (_s = UChat === null || UChat === void 0 ? void 0 : UChat.footerUploadPropsRef) !== null && _s !== void 0 ? _s : (0, vue_1.toRef)(props, 'footerUploadProps');
|
|
172
194
|
const footerIconPropsRef = (_t = UChat === null || UChat === void 0 ? void 0 : UChat.footerIconPropsRef) !== null && _t !== void 0 ? _t : (0, vue_1.toRef)(props, 'footerIconProps');
|
|
@@ -237,7 +259,26 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
237
259
|
const themeClassHandle = (0, _mixins_1.useThemeClass)('chat-main-area', (0, vue_1.computed)(() => ''), cssVarsRef, props);
|
|
238
260
|
const messagesBodyRef = (0, vue_1.ref)();
|
|
239
261
|
const inputRef = (0, vue_1.ref)();
|
|
240
|
-
const
|
|
262
|
+
const uncontrolledInputValueRef = (0, vue_1.ref)((_17 = props.inputValue) !== null && _17 !== void 0 ? _17 : '');
|
|
263
|
+
const handleInputValueChange = (_18 = UChat === null || UChat === void 0 ? void 0 : UChat.handleInputValueChange) !== null && _18 !== void 0 ? _18 : ((value) => {
|
|
264
|
+
var _a;
|
|
265
|
+
uncontrolledInputValueRef.value = value;
|
|
266
|
+
(_a = props['onUpdate:inputValue']) === null || _a === void 0 ? void 0 : _a.call(props, value);
|
|
267
|
+
});
|
|
268
|
+
const inputValue = (0, vue_1.computed)({
|
|
269
|
+
get: () => {
|
|
270
|
+
var _a;
|
|
271
|
+
if (UChat) {
|
|
272
|
+
return (_a = UChat.inputValueRef.value) !== null && _a !== void 0 ? _a : '';
|
|
273
|
+
}
|
|
274
|
+
return props.inputValue !== undefined
|
|
275
|
+
? props.inputValue
|
|
276
|
+
: uncontrolledInputValueRef.value;
|
|
277
|
+
},
|
|
278
|
+
set: (value) => {
|
|
279
|
+
handleInputValueChange(value);
|
|
280
|
+
}
|
|
281
|
+
});
|
|
241
282
|
const attachmentFileList = (0, vue_1.ref)([]);
|
|
242
283
|
const uploadedAttachmentsMap = (0, vue_1.ref)(new Map());
|
|
243
284
|
const lastScrollTop = (0, vue_1.ref)(0);
|
|
@@ -634,12 +675,14 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
634
675
|
chatInputs.value[selectedChatRef.value.id] = value;
|
|
635
676
|
}
|
|
636
677
|
}, onKeydown: (e) => {
|
|
678
|
+
var _a, _b;
|
|
679
|
+
(_b = (_a = footerInputPropsRef.value) === null || _a === void 0 ? void 0 : _a.onKeydown) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
|
637
680
|
if (e.key === 'Enter' && !e.shiftKey) {
|
|
638
681
|
e.preventDefault();
|
|
639
682
|
e.stopPropagation();
|
|
640
683
|
void handleSendMessage();
|
|
641
684
|
}
|
|
642
|
-
} },
|
|
685
|
+
} }, safeFooterInputPropsRef.value), {
|
|
643
686
|
prefix: () => renderEditingBlock(),
|
|
644
687
|
suffix: () => ((0, vue_1.h)(icon_1.UIcon, Object.assign({ size: 24, class: `${mergedClsPrefixRef.value}-chat-main__input-suffix` }, footerSuffixIconPropsRef.value, { theme: mergedThemeRef.value.peers.FooterSuffixIcon, themeOverrides: mergedThemeRef.value.peerOverrides
|
|
645
688
|
.FooterSuffixIcon, onClick: () => {
|
|
@@ -658,6 +701,8 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
658
701
|
mergedClsPrefixRef,
|
|
659
702
|
mergedThemeRef,
|
|
660
703
|
selectedChatRef,
|
|
704
|
+
inputValueRef: inputValue,
|
|
705
|
+
handleInputValueChange,
|
|
661
706
|
messagesRef,
|
|
662
707
|
typingChatIdsRef,
|
|
663
708
|
messagesLoadingRef,
|
|
@@ -11604,12 +11604,12 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
11604
11604
|
readonly retryText: string;
|
|
11605
11605
|
readonly unreadNotificationText: string;
|
|
11606
11606
|
readonly uploadProps: Partial<UploadProps>;
|
|
11607
|
+
readonly selectedChatId: string | number | symbol;
|
|
11607
11608
|
readonly messages: ChatMessageData[];
|
|
11608
|
-
readonly
|
|
11609
|
+
readonly onMessageRetry: (message: ChatMessageData) => void;
|
|
11609
11610
|
readonly typingChatIds: (string | number | symbol)[];
|
|
11610
|
-
readonly
|
|
11611
|
+
readonly loadingCount: number;
|
|
11611
11612
|
readonly showUnreadNotification: boolean;
|
|
11612
11613
|
readonly unreadNotificationCount: number;
|
|
11613
|
-
readonly onMessageRetry: (message: ChatMessageData) => void;
|
|
11614
11614
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
11615
11615
|
export default _default;
|