@cdevhub/ngx-chat 1.0.6 → 1.0.8
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/fesm2022/cdevhub-ngx-chat.mjs +9034 -8929
- package/fesm2022/cdevhub-ngx-chat.mjs.map +1 -1
- package/package.json +1 -1
- package/types/cdevhub-ngx-chat.d.ts +282 -5
package/package.json
CHANGED
|
@@ -1859,6 +1859,16 @@ declare class ChatComponent {
|
|
|
1859
1859
|
readonly theme?: ChatTheme | undefined;
|
|
1860
1860
|
readonly direction?: ChatDirection | undefined;
|
|
1861
1861
|
} | undefined>;
|
|
1862
|
+
/**
|
|
1863
|
+
* Whether there are more messages to load.
|
|
1864
|
+
* When true, enables "load more" functionality at scroll top.
|
|
1865
|
+
*/
|
|
1866
|
+
readonly hasMore: _angular_core.InputSignal<boolean>;
|
|
1867
|
+
/**
|
|
1868
|
+
* Whether more messages are currently being loaded.
|
|
1869
|
+
* Shows loading indicator and prevents duplicate load requests.
|
|
1870
|
+
*/
|
|
1871
|
+
readonly loadingMore: _angular_core.InputSignal<boolean>;
|
|
1862
1872
|
/**
|
|
1863
1873
|
* Emitted when the user sends a message.
|
|
1864
1874
|
* Parent should add the message to state and send to server.
|
|
@@ -1964,7 +1974,7 @@ declare class ChatComponent {
|
|
|
1964
1974
|
*/
|
|
1965
1975
|
onTyping(event: ChatTypingEvent): void;
|
|
1966
1976
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChatComponent, never>;
|
|
1967
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChatComponent, "ngx-chat", never, { "messages": { "alias": "messages"; "required": false; "isSignal": true; }; "isTyping": { "alias": "isTyping"; "required": false; "isSignal": true; }; "typingLabel": { "alias": "typingLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; }, { "send": "send"; "typing": "typing"; "action": "action"; "retry": "retry"; "loadMore": "loadMore"; "attachmentClick": "attachmentClick"; }, ["headerContent"], never, true, never>;
|
|
1977
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChatComponent, "ngx-chat", never, { "messages": { "alias": "messages"; "required": false; "isSignal": true; }; "isTyping": { "alias": "isTyping"; "required": false; "isSignal": true; }; "typingLabel": { "alias": "typingLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "hasMore": { "alias": "hasMore"; "required": false; "isSignal": true; }; "loadingMore": { "alias": "loadingMore"; "required": false; "isSignal": true; }; }, { "send": "send"; "typing": "typing"; "action": "action"; "retry": "retry"; "loadMore": "loadMore"; "attachmentClick": "attachmentClick"; }, ["headerContent"], never, true, never>;
|
|
1968
1978
|
}
|
|
1969
1979
|
|
|
1970
1980
|
/**
|
|
@@ -2238,7 +2248,131 @@ declare class ChatMessagesComponent implements OnDestroy {
|
|
|
2238
2248
|
* Optional configuration override.
|
|
2239
2249
|
* If not provided, uses global configuration.
|
|
2240
2250
|
*/
|
|
2241
|
-
readonly config: _angular_core.InputSignal<
|
|
2251
|
+
readonly config: _angular_core.InputSignal<{
|
|
2252
|
+
readonly behavior?: {
|
|
2253
|
+
readonly sendOnEnter?: boolean | undefined;
|
|
2254
|
+
readonly showTimestamps?: boolean | undefined;
|
|
2255
|
+
readonly timestampFormat?: {
|
|
2256
|
+
localeMatcher?: "best fit" | "lookup" | undefined | undefined;
|
|
2257
|
+
weekday?: "long" | "short" | "narrow" | undefined | undefined;
|
|
2258
|
+
era?: "long" | "short" | "narrow" | undefined | undefined;
|
|
2259
|
+
year?: "numeric" | "2-digit" | undefined | undefined;
|
|
2260
|
+
month?: "numeric" | "2-digit" | "long" | "short" | "narrow" | undefined | undefined;
|
|
2261
|
+
day?: "numeric" | "2-digit" | undefined | undefined;
|
|
2262
|
+
hour?: "numeric" | "2-digit" | undefined | undefined;
|
|
2263
|
+
minute?: "numeric" | "2-digit" | undefined | undefined;
|
|
2264
|
+
second?: "numeric" | "2-digit" | undefined | undefined;
|
|
2265
|
+
timeZoneName?: "short" | "long" | "shortOffset" | "longOffset" | "shortGeneric" | "longGeneric" | undefined | undefined;
|
|
2266
|
+
formatMatcher?: "best fit" | "basic" | undefined | undefined;
|
|
2267
|
+
hour12?: boolean | undefined | undefined;
|
|
2268
|
+
timeZone?: string | undefined | undefined;
|
|
2269
|
+
calendar?: string | undefined | undefined;
|
|
2270
|
+
dayPeriod?: "narrow" | "short" | "long" | undefined | undefined;
|
|
2271
|
+
numberingSystem?: string | undefined | undefined;
|
|
2272
|
+
dateStyle?: "full" | "long" | "medium" | "short" | undefined | undefined;
|
|
2273
|
+
timeStyle?: "full" | "long" | "medium" | "short" | undefined | undefined;
|
|
2274
|
+
hourCycle?: "h11" | "h12" | "h23" | "h24" | undefined | undefined;
|
|
2275
|
+
fractionalSecondDigits?: 1 | 2 | 3 | undefined | undefined;
|
|
2276
|
+
} | undefined;
|
|
2277
|
+
readonly autoScroll?: boolean | undefined;
|
|
2278
|
+
readonly groupMessages?: boolean | undefined;
|
|
2279
|
+
readonly groupTimeThreshold?: number | undefined;
|
|
2280
|
+
readonly sendCooldown?: number | undefined;
|
|
2281
|
+
readonly typingDebounce?: number | undefined;
|
|
2282
|
+
readonly scrollNearBottomThreshold?: number | undefined;
|
|
2283
|
+
readonly showSenderName?: boolean | undefined;
|
|
2284
|
+
readonly showAvatar?: boolean | undefined;
|
|
2285
|
+
readonly avatarPosition?: "top" | "bottom" | undefined;
|
|
2286
|
+
} | undefined;
|
|
2287
|
+
readonly validation?: {
|
|
2288
|
+
readonly minMessageLength?: number | undefined;
|
|
2289
|
+
readonly maxMessageLength?: number | undefined;
|
|
2290
|
+
readonly forbiddenPatterns?: readonly ({
|
|
2291
|
+
exec?: {} | undefined;
|
|
2292
|
+
test?: {} | undefined;
|
|
2293
|
+
readonly source?: string | undefined;
|
|
2294
|
+
readonly global?: boolean | undefined;
|
|
2295
|
+
readonly ignoreCase?: boolean | undefined;
|
|
2296
|
+
readonly multiline?: boolean | undefined;
|
|
2297
|
+
lastIndex?: number | undefined;
|
|
2298
|
+
compile?: {} | undefined;
|
|
2299
|
+
readonly flags?: string | undefined;
|
|
2300
|
+
readonly sticky?: boolean | undefined;
|
|
2301
|
+
readonly unicode?: boolean | undefined;
|
|
2302
|
+
readonly dotAll?: boolean | undefined;
|
|
2303
|
+
readonly hasIndices?: boolean | undefined;
|
|
2304
|
+
[Symbol.match]?: {} | undefined;
|
|
2305
|
+
[Symbol.replace]?: {} | undefined;
|
|
2306
|
+
[Symbol.search]?: {} | undefined;
|
|
2307
|
+
[Symbol.split]?: {} | undefined;
|
|
2308
|
+
[Symbol.matchAll]?: {} | undefined;
|
|
2309
|
+
} | undefined)[] | undefined;
|
|
2310
|
+
readonly sanitize?: boolean | undefined;
|
|
2311
|
+
readonly trimWhitespace?: boolean | undefined;
|
|
2312
|
+
readonly allowEmptyContent?: boolean | undefined;
|
|
2313
|
+
readonly maxWordLength?: number | undefined;
|
|
2314
|
+
readonly normalizeUnicode?: boolean | undefined;
|
|
2315
|
+
readonly stripInvisibleChars?: boolean | undefined;
|
|
2316
|
+
} | undefined;
|
|
2317
|
+
readonly markdown?: {
|
|
2318
|
+
readonly enabled?: boolean | undefined;
|
|
2319
|
+
readonly syntaxHighlighting?: boolean | undefined;
|
|
2320
|
+
readonly sanitizeLinks?: boolean | undefined;
|
|
2321
|
+
readonly externalLinksNewTab?: boolean | undefined;
|
|
2322
|
+
readonly allowedTags?: readonly (string | undefined)[] | undefined;
|
|
2323
|
+
readonly allowedAttributes?: {
|
|
2324
|
+
readonly [x: string]: readonly (string | undefined)[] | undefined;
|
|
2325
|
+
} | undefined;
|
|
2326
|
+
readonly breaks?: boolean | undefined;
|
|
2327
|
+
readonly linkify?: boolean | undefined;
|
|
2328
|
+
} | undefined;
|
|
2329
|
+
readonly attachments?: {
|
|
2330
|
+
readonly enabled?: boolean | undefined;
|
|
2331
|
+
readonly maxFileSize?: number | undefined;
|
|
2332
|
+
readonly maxFilesPerMessage?: number | undefined;
|
|
2333
|
+
readonly allowedMimeTypes?: readonly (string | undefined)[] | undefined;
|
|
2334
|
+
readonly blockedMimeTypes?: readonly (string | undefined)[] | undefined;
|
|
2335
|
+
readonly imageCompression?: boolean | undefined;
|
|
2336
|
+
readonly imageCompressionQuality?: number | undefined;
|
|
2337
|
+
readonly maxImageDimensions?: {
|
|
2338
|
+
readonly width?: number | undefined;
|
|
2339
|
+
readonly height?: number | undefined;
|
|
2340
|
+
} | undefined;
|
|
2341
|
+
readonly thumbnailSize?: {
|
|
2342
|
+
readonly width?: number | undefined;
|
|
2343
|
+
readonly height?: number | undefined;
|
|
2344
|
+
} | undefined;
|
|
2345
|
+
readonly dragAndDrop?: boolean | undefined;
|
|
2346
|
+
readonly pasteFromClipboard?: boolean | undefined;
|
|
2347
|
+
} | undefined;
|
|
2348
|
+
readonly virtualScroll?: {
|
|
2349
|
+
readonly enabled?: boolean | undefined;
|
|
2350
|
+
readonly threshold?: number | undefined;
|
|
2351
|
+
readonly defaultItemHeight?: number | undefined;
|
|
2352
|
+
readonly bufferSize?: number | undefined;
|
|
2353
|
+
readonly cacheItemHeights?: boolean | undefined;
|
|
2354
|
+
} | undefined;
|
|
2355
|
+
readonly errorRecovery?: {
|
|
2356
|
+
readonly autoRetry?: boolean | undefined;
|
|
2357
|
+
readonly maxRetries?: number | undefined;
|
|
2358
|
+
readonly retryDelay?: number | undefined;
|
|
2359
|
+
readonly exponentialBackoff?: boolean | undefined;
|
|
2360
|
+
readonly maxRetryDelay?: number | undefined;
|
|
2361
|
+
readonly offlineQueue?: boolean | undefined;
|
|
2362
|
+
readonly maxQueueSize?: number | undefined;
|
|
2363
|
+
} | undefined;
|
|
2364
|
+
readonly keyboard?: {
|
|
2365
|
+
readonly sendOnEnter?: boolean | undefined;
|
|
2366
|
+
readonly sendOnCtrlEnter?: boolean | undefined;
|
|
2367
|
+
readonly escToClear?: boolean | undefined;
|
|
2368
|
+
readonly escToCancelAction?: boolean | undefined;
|
|
2369
|
+
readonly arrowKeysForActions?: boolean | undefined;
|
|
2370
|
+
readonly upToEditLast?: boolean | undefined;
|
|
2371
|
+
readonly focusTrap?: boolean | undefined;
|
|
2372
|
+
} | undefined;
|
|
2373
|
+
readonly theme?: _cdevhub_ngx_chat.ChatTheme | undefined;
|
|
2374
|
+
readonly direction?: _cdevhub_ngx_chat.ChatDirection | undefined;
|
|
2375
|
+
} | undefined>;
|
|
2242
2376
|
/**
|
|
2243
2377
|
* Emitted when the user scrolls near the top to load more messages.
|
|
2244
2378
|
* The parent should fetch older messages and prepend to the list.
|
|
@@ -2425,7 +2559,131 @@ declare class ChatMessageBubbleComponent {
|
|
|
2425
2559
|
* Optional configuration override.
|
|
2426
2560
|
* If not provided, uses global configuration.
|
|
2427
2561
|
*/
|
|
2428
|
-
readonly config: _angular_core.InputSignal<
|
|
2562
|
+
readonly config: _angular_core.InputSignal<{
|
|
2563
|
+
readonly behavior?: {
|
|
2564
|
+
readonly sendOnEnter?: boolean | undefined;
|
|
2565
|
+
readonly showTimestamps?: boolean | undefined;
|
|
2566
|
+
readonly timestampFormat?: {
|
|
2567
|
+
localeMatcher?: "best fit" | "lookup" | undefined | undefined;
|
|
2568
|
+
weekday?: "long" | "short" | "narrow" | undefined | undefined;
|
|
2569
|
+
era?: "long" | "short" | "narrow" | undefined | undefined;
|
|
2570
|
+
year?: "numeric" | "2-digit" | undefined | undefined;
|
|
2571
|
+
month?: "numeric" | "2-digit" | "long" | "short" | "narrow" | undefined | undefined;
|
|
2572
|
+
day?: "numeric" | "2-digit" | undefined | undefined;
|
|
2573
|
+
hour?: "numeric" | "2-digit" | undefined | undefined;
|
|
2574
|
+
minute?: "numeric" | "2-digit" | undefined | undefined;
|
|
2575
|
+
second?: "numeric" | "2-digit" | undefined | undefined;
|
|
2576
|
+
timeZoneName?: "short" | "long" | "shortOffset" | "longOffset" | "shortGeneric" | "longGeneric" | undefined | undefined;
|
|
2577
|
+
formatMatcher?: "best fit" | "basic" | undefined | undefined;
|
|
2578
|
+
hour12?: boolean | undefined | undefined;
|
|
2579
|
+
timeZone?: string | undefined | undefined;
|
|
2580
|
+
calendar?: string | undefined | undefined;
|
|
2581
|
+
dayPeriod?: "narrow" | "short" | "long" | undefined | undefined;
|
|
2582
|
+
numberingSystem?: string | undefined | undefined;
|
|
2583
|
+
dateStyle?: "full" | "long" | "medium" | "short" | undefined | undefined;
|
|
2584
|
+
timeStyle?: "full" | "long" | "medium" | "short" | undefined | undefined;
|
|
2585
|
+
hourCycle?: "h11" | "h12" | "h23" | "h24" | undefined | undefined;
|
|
2586
|
+
fractionalSecondDigits?: 1 | 2 | 3 | undefined | undefined;
|
|
2587
|
+
} | undefined;
|
|
2588
|
+
readonly autoScroll?: boolean | undefined;
|
|
2589
|
+
readonly groupMessages?: boolean | undefined;
|
|
2590
|
+
readonly groupTimeThreshold?: number | undefined;
|
|
2591
|
+
readonly sendCooldown?: number | undefined;
|
|
2592
|
+
readonly typingDebounce?: number | undefined;
|
|
2593
|
+
readonly scrollNearBottomThreshold?: number | undefined;
|
|
2594
|
+
readonly showSenderName?: boolean | undefined;
|
|
2595
|
+
readonly showAvatar?: boolean | undefined;
|
|
2596
|
+
readonly avatarPosition?: "top" | "bottom" | undefined;
|
|
2597
|
+
} | undefined;
|
|
2598
|
+
readonly validation?: {
|
|
2599
|
+
readonly minMessageLength?: number | undefined;
|
|
2600
|
+
readonly maxMessageLength?: number | undefined;
|
|
2601
|
+
readonly forbiddenPatterns?: readonly ({
|
|
2602
|
+
exec?: {} | undefined;
|
|
2603
|
+
test?: {} | undefined;
|
|
2604
|
+
readonly source?: string | undefined;
|
|
2605
|
+
readonly global?: boolean | undefined;
|
|
2606
|
+
readonly ignoreCase?: boolean | undefined;
|
|
2607
|
+
readonly multiline?: boolean | undefined;
|
|
2608
|
+
lastIndex?: number | undefined;
|
|
2609
|
+
compile?: {} | undefined;
|
|
2610
|
+
readonly flags?: string | undefined;
|
|
2611
|
+
readonly sticky?: boolean | undefined;
|
|
2612
|
+
readonly unicode?: boolean | undefined;
|
|
2613
|
+
readonly dotAll?: boolean | undefined;
|
|
2614
|
+
readonly hasIndices?: boolean | undefined;
|
|
2615
|
+
[Symbol.match]?: {} | undefined;
|
|
2616
|
+
[Symbol.replace]?: {} | undefined;
|
|
2617
|
+
[Symbol.search]?: {} | undefined;
|
|
2618
|
+
[Symbol.split]?: {} | undefined;
|
|
2619
|
+
[Symbol.matchAll]?: {} | undefined;
|
|
2620
|
+
} | undefined)[] | undefined;
|
|
2621
|
+
readonly sanitize?: boolean | undefined;
|
|
2622
|
+
readonly trimWhitespace?: boolean | undefined;
|
|
2623
|
+
readonly allowEmptyContent?: boolean | undefined;
|
|
2624
|
+
readonly maxWordLength?: number | undefined;
|
|
2625
|
+
readonly normalizeUnicode?: boolean | undefined;
|
|
2626
|
+
readonly stripInvisibleChars?: boolean | undefined;
|
|
2627
|
+
} | undefined;
|
|
2628
|
+
readonly markdown?: {
|
|
2629
|
+
readonly enabled?: boolean | undefined;
|
|
2630
|
+
readonly syntaxHighlighting?: boolean | undefined;
|
|
2631
|
+
readonly sanitizeLinks?: boolean | undefined;
|
|
2632
|
+
readonly externalLinksNewTab?: boolean | undefined;
|
|
2633
|
+
readonly allowedTags?: readonly (string | undefined)[] | undefined;
|
|
2634
|
+
readonly allowedAttributes?: {
|
|
2635
|
+
readonly [x: string]: readonly (string | undefined)[] | undefined;
|
|
2636
|
+
} | undefined;
|
|
2637
|
+
readonly breaks?: boolean | undefined;
|
|
2638
|
+
readonly linkify?: boolean | undefined;
|
|
2639
|
+
} | undefined;
|
|
2640
|
+
readonly attachments?: {
|
|
2641
|
+
readonly enabled?: boolean | undefined;
|
|
2642
|
+
readonly maxFileSize?: number | undefined;
|
|
2643
|
+
readonly maxFilesPerMessage?: number | undefined;
|
|
2644
|
+
readonly allowedMimeTypes?: readonly (string | undefined)[] | undefined;
|
|
2645
|
+
readonly blockedMimeTypes?: readonly (string | undefined)[] | undefined;
|
|
2646
|
+
readonly imageCompression?: boolean | undefined;
|
|
2647
|
+
readonly imageCompressionQuality?: number | undefined;
|
|
2648
|
+
readonly maxImageDimensions?: {
|
|
2649
|
+
readonly width?: number | undefined;
|
|
2650
|
+
readonly height?: number | undefined;
|
|
2651
|
+
} | undefined;
|
|
2652
|
+
readonly thumbnailSize?: {
|
|
2653
|
+
readonly width?: number | undefined;
|
|
2654
|
+
readonly height?: number | undefined;
|
|
2655
|
+
} | undefined;
|
|
2656
|
+
readonly dragAndDrop?: boolean | undefined;
|
|
2657
|
+
readonly pasteFromClipboard?: boolean | undefined;
|
|
2658
|
+
} | undefined;
|
|
2659
|
+
readonly virtualScroll?: {
|
|
2660
|
+
readonly enabled?: boolean | undefined;
|
|
2661
|
+
readonly threshold?: number | undefined;
|
|
2662
|
+
readonly defaultItemHeight?: number | undefined;
|
|
2663
|
+
readonly bufferSize?: number | undefined;
|
|
2664
|
+
readonly cacheItemHeights?: boolean | undefined;
|
|
2665
|
+
} | undefined;
|
|
2666
|
+
readonly errorRecovery?: {
|
|
2667
|
+
readonly autoRetry?: boolean | undefined;
|
|
2668
|
+
readonly maxRetries?: number | undefined;
|
|
2669
|
+
readonly retryDelay?: number | undefined;
|
|
2670
|
+
readonly exponentialBackoff?: boolean | undefined;
|
|
2671
|
+
readonly maxRetryDelay?: number | undefined;
|
|
2672
|
+
readonly offlineQueue?: boolean | undefined;
|
|
2673
|
+
readonly maxQueueSize?: number | undefined;
|
|
2674
|
+
} | undefined;
|
|
2675
|
+
readonly keyboard?: {
|
|
2676
|
+
readonly sendOnEnter?: boolean | undefined;
|
|
2677
|
+
readonly sendOnCtrlEnter?: boolean | undefined;
|
|
2678
|
+
readonly escToClear?: boolean | undefined;
|
|
2679
|
+
readonly escToCancelAction?: boolean | undefined;
|
|
2680
|
+
readonly arrowKeysForActions?: boolean | undefined;
|
|
2681
|
+
readonly upToEditLast?: boolean | undefined;
|
|
2682
|
+
readonly focusTrap?: boolean | undefined;
|
|
2683
|
+
} | undefined;
|
|
2684
|
+
readonly theme?: _cdevhub_ngx_chat.ChatTheme | undefined;
|
|
2685
|
+
readonly direction?: _cdevhub_ngx_chat.ChatDirection | undefined;
|
|
2686
|
+
} | undefined>;
|
|
2429
2687
|
/**
|
|
2430
2688
|
* Merged configuration from input and global config.
|
|
2431
2689
|
*/
|
|
@@ -2471,6 +2729,11 @@ declare class ChatMessageBubbleComponent {
|
|
|
2471
2729
|
* Emits retry event through ChatEventService.
|
|
2472
2730
|
*/
|
|
2473
2731
|
onRetry(): void;
|
|
2732
|
+
/**
|
|
2733
|
+
* Handles attachment click.
|
|
2734
|
+
* Forwards to ChatEventService for bubbling up.
|
|
2735
|
+
*/
|
|
2736
|
+
onAttachmentClick(event: AttachmentClickEvent): void;
|
|
2474
2737
|
/**
|
|
2475
2738
|
* Gets status icon configuration for a message status.
|
|
2476
2739
|
*/
|
|
@@ -2513,6 +2776,7 @@ declare class ChatMessageBubbleComponent {
|
|
|
2513
2776
|
*/
|
|
2514
2777
|
declare class ChatSenderComponent {
|
|
2515
2778
|
private readonly configService;
|
|
2779
|
+
private readonly attachmentService;
|
|
2516
2780
|
private readonly destroyRef;
|
|
2517
2781
|
/**
|
|
2518
2782
|
* Reference to the textarea element for auto-resize and focus management.
|
|
@@ -2674,7 +2938,11 @@ declare class ChatSenderComponent {
|
|
|
2674
2938
|
/**
|
|
2675
2939
|
* Pending attachments to be sent with the message.
|
|
2676
2940
|
*/
|
|
2677
|
-
readonly pendingAttachments: _angular_core.WritableSignal<
|
|
2941
|
+
readonly pendingAttachments: _angular_core.WritableSignal<PendingAttachment[]>;
|
|
2942
|
+
/**
|
|
2943
|
+
* Attachment validation error message.
|
|
2944
|
+
*/
|
|
2945
|
+
readonly attachmentError: _angular_core.WritableSignal<string | null>;
|
|
2678
2946
|
/**
|
|
2679
2947
|
* Whether the user is currently typing.
|
|
2680
2948
|
*/
|
|
@@ -2785,7 +3053,16 @@ declare class ChatSenderComponent {
|
|
|
2785
3053
|
/**
|
|
2786
3054
|
* Adds a pending attachment.
|
|
2787
3055
|
*/
|
|
2788
|
-
addAttachment(attachment:
|
|
3056
|
+
addAttachment(attachment: PendingAttachment): void;
|
|
3057
|
+
/**
|
|
3058
|
+
* Handles files selected from the attachment picker.
|
|
3059
|
+
* Validates each file and creates pending attachments.
|
|
3060
|
+
*/
|
|
3061
|
+
onFilesSelected(files: FileList): void;
|
|
3062
|
+
/**
|
|
3063
|
+
* Handles retry request for a failed attachment.
|
|
3064
|
+
*/
|
|
3065
|
+
onRetryAttachment(attachmentId: string): void;
|
|
2789
3066
|
/**
|
|
2790
3067
|
* Removes a pending attachment by ID.
|
|
2791
3068
|
*/
|