@acorex/components 21.0.3-next.3 → 21.0.3-next.30
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/acorex-components-accordion.mjs +4 -4
- package/fesm2022/acorex-components-accordion.mjs.map +1 -1
- package/fesm2022/acorex-components-action-sheet.mjs +2 -2
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +2 -2
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +2 -2
- package/fesm2022/acorex-components-avatar.mjs +2 -2
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +2 -2
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +2 -2
- package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +2 -2
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +2 -2
- package/fesm2022/acorex-components-button.mjs +6 -6
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +6 -6
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +2 -2
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +2 -2
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +2 -2
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +2 -2
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +2 -2
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-command.mjs +2 -2
- package/fesm2022/acorex-components-command.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +6 -6
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation2.mjs +3021 -2868
- package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +2 -2
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +2 -2
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +2 -2
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +2 -2
- package/fesm2022/acorex-components-datetime-picker.mjs +2 -2
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +11 -18
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +2 -2
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +4 -4
- package/fesm2022/acorex-components-dropdown-button.mjs +2 -2
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +2 -2
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-editor.mjs +2 -2
- package/fesm2022/acorex-components-form.mjs +2 -2
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +387 -188
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +2 -2
- package/fesm2022/acorex-components-json-viewer.mjs +2 -2
- package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-kanban.mjs +2 -2
- package/fesm2022/acorex-components-kanban.mjs.map +1 -1
- package/fesm2022/acorex-components-kbd.mjs +4 -6
- package/fesm2022/acorex-components-kbd.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +2 -2
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +2 -2
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +2 -2
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +4 -4
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +2 -2
- package/fesm2022/acorex-components-media-viewer.mjs +10 -10
- package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
- package/fesm2022/{acorex-components-modal-acorex-components-modal-lJw2DGSj.mjs → acorex-components-modal-acorex-components-modal-B6-H9xfe.mjs} +4 -4
- package/fesm2022/{acorex-components-modal-acorex-components-modal-lJw2DGSj.mjs.map → acorex-components-modal-acorex-components-modal-B6-H9xfe.mjs.map} +1 -1
- package/fesm2022/{acorex-components-modal-modal-content.component-t9kRuhc_.mjs → acorex-components-modal-modal-content.component-OKCXGuv_.mjs} +4 -4
- package/fesm2022/{acorex-components-modal-modal-content.component-t9kRuhc_.mjs.map → acorex-components-modal-modal-content.component-OKCXGuv_.mjs.map} +1 -1
- package/fesm2022/acorex-components-modal.mjs +1 -1
- package/fesm2022/acorex-components-navbar.mjs +2 -2
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +2 -2
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +2 -2
- package/fesm2022/acorex-components-paint.mjs +4 -4
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +2 -2
- package/fesm2022/acorex-components-pdf-reader.mjs +2 -2
- package/fesm2022/acorex-components-phone-box.mjs +2 -2
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +6 -6
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +1 -0
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +2 -2
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-qrcode.mjs +2 -2
- package/fesm2022/acorex-components-query-builder.mjs +2 -2
- package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +2 -2
- package/fesm2022/acorex-components-rail-navigation.mjs +2 -2
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +2 -2
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +2 -2
- package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +2 -2
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +2 -2
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +18 -18
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +23 -13
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list-2.mjs +2 -2
- package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +2 -2
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +2 -2
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-sliding-item.mjs +2 -2
- package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +2 -2
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +2 -2
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +2 -2
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +2 -2
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +2 -2
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +2 -2
- package/fesm2022/acorex-components-time-line.mjs +4 -4
- package/fesm2022/acorex-components-time-line.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +2 -2
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-toolbar.mjs +2 -2
- package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +2 -2
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +6 -6
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +6 -6
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/package.json +4 -3
- package/types/acorex-components-conversation2.d.ts +75 -30
- package/types/acorex-components-image-editor.d.ts +74 -47
|
@@ -13,7 +13,8 @@ import { AXContextMenuOpeningEvent, AXContextMenuItemsClickEvent } from '@acorex
|
|
|
13
13
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
14
14
|
import { AXTranslationService } from '@acorex/core/translation';
|
|
15
15
|
import { AXMapMarker } from '@acorex/components/map';
|
|
16
|
-
import
|
|
16
|
+
import * as _acorex_core_file from '@acorex/core/file';
|
|
17
|
+
import { AXFileTypeInfoProvider, AXFileType, AXFileService, AXFileTypeRegistryService, AXFileTypeExtensionHint, AXFileTypeOpenContext } from '@acorex/core/file';
|
|
17
18
|
import { SafeHtml } from '@angular/platform-browser';
|
|
18
19
|
import * as i1 from '@angular/common';
|
|
19
20
|
import * as i2 from '@angular/forms';
|
|
@@ -460,6 +461,8 @@ interface AXConversation {
|
|
|
460
461
|
id: string;
|
|
461
462
|
/** Conversation type */
|
|
462
463
|
type: AXConversationType;
|
|
464
|
+
/** User who created this conversation */
|
|
465
|
+
creatorId?: string;
|
|
463
466
|
/** Conversation title/name */
|
|
464
467
|
title: string;
|
|
465
468
|
/** Conversation avatar/image URL */
|
|
@@ -1346,8 +1349,6 @@ declare class AXComposerComponent implements OnDestroy {
|
|
|
1346
1349
|
readonly composerPopupComponent: typeof AXComposerPopupComponent;
|
|
1347
1350
|
/** Input placeholder - use service */
|
|
1348
1351
|
readonly placeholder: _angular_core.Signal<string>;
|
|
1349
|
-
/** Sending message state */
|
|
1350
|
-
readonly sendingMessage: _angular_core.WritableSignal<boolean>;
|
|
1351
1352
|
/** Typing indicator subject for rate limiting */
|
|
1352
1353
|
private readonly typingSubject;
|
|
1353
1354
|
constructor();
|
|
@@ -1504,6 +1505,10 @@ declare class AXComposerService {
|
|
|
1504
1505
|
onConversationChanged(previousConversationId: string | null, currentConversationId: string | null): void;
|
|
1505
1506
|
sendTypingIndicator(conversationId: string): Promise<void>;
|
|
1506
1507
|
sendMessage(command: AXSendMessageCommand, options?: AXSendMessageOptions): Promise<void>;
|
|
1508
|
+
/**
|
|
1509
|
+
* Resets composer input immediately when a send starts so upload/API work continues in the background.
|
|
1510
|
+
*/
|
|
1511
|
+
clearComposerInput(conversationId?: string): void;
|
|
1507
1512
|
/**
|
|
1508
1513
|
* Show a component in the composer (full-width mode)
|
|
1509
1514
|
*/
|
|
@@ -1857,6 +1862,8 @@ interface AXConversationCreateData {
|
|
|
1857
1862
|
type: AXConversationType;
|
|
1858
1863
|
/** Participant user IDs */
|
|
1859
1864
|
participantIds: string[];
|
|
1865
|
+
/** User who creates the conversation */
|
|
1866
|
+
creatorId?: string;
|
|
1860
1867
|
/** Conversation title (for groups/channels) */
|
|
1861
1868
|
title?: string;
|
|
1862
1869
|
/** Conversation description */
|
|
@@ -3126,7 +3133,7 @@ declare class AXConversationService {
|
|
|
3126
3133
|
private readonly _messageDeleted$;
|
|
3127
3134
|
private readonly _typingIndicator$;
|
|
3128
3135
|
private readonly _presenceUpdate$;
|
|
3129
|
-
/** All conversations */
|
|
3136
|
+
/** All conversations (viewer-scoped display titles for private 1v1 chats) */
|
|
3130
3137
|
readonly conversations: _angular_core.Signal<AXConversation[]>;
|
|
3131
3138
|
/** Active conversation ID */
|
|
3132
3139
|
readonly activeConversationId: _angular_core.Signal<string>;
|
|
@@ -3715,6 +3722,8 @@ declare class AXCnvMediaPlaybackInfoBarBannerComponent implements AXMessageInfoB
|
|
|
3715
3722
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXCnvMediaPlaybackInfoBarBannerComponent, "ax-cnv-media-playback-info-bar-banner", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "currentTime": { "alias": "currentTime"; "required": false; "isSignal": true; }; "duration": { "alias": "duration"; "required": false; "isSignal": true; }; "isPlaying": { "alias": "isPlaying"; "required": false; "isSignal": true; }; "onTogglePlay": { "alias": "onTogglePlay"; "required": false; "isSignal": true; }; "playbackSpeed": { "alias": "playbackSpeed"; "required": false; "isSignal": true; }; "onCycleSpeed": { "alias": "onCycleSpeed"; "required": false; "isSignal": true; }; "showSpeedControl": { "alias": "showSpeedControl"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
3716
3723
|
}
|
|
3717
3724
|
|
|
3725
|
+
/** Caption first, else a label with optional extra lines (URLs, names). */
|
|
3726
|
+
declare function mediaCopyText(caption: string | undefined, singleLabel: string, pluralLabel: string, count: number, lines: (string | undefined)[]): string;
|
|
3718
3727
|
/**
|
|
3719
3728
|
* Registers the live renderer on {@link AXMessageListService} for message actions.
|
|
3720
3729
|
*/
|
|
@@ -4155,8 +4164,8 @@ declare class AXMessageListComponent implements OnDestroy {
|
|
|
4155
4164
|
/** Handle context menu item click for messages */
|
|
4156
4165
|
handleMessageContextMenuItemClick(event: AXContextMenuItemsClickEvent, message: AXMessage): void;
|
|
4157
4166
|
/**
|
|
4158
|
-
* TrackBy function for message groups
|
|
4159
|
-
*
|
|
4167
|
+
* TrackBy function for message groups.
|
|
4168
|
+
* Include the latest message id so new messages in the same date group re-render.
|
|
4160
4169
|
*/
|
|
4161
4170
|
trackMessageGroup(index: number, group: {
|
|
4162
4171
|
date: string;
|
|
@@ -5361,46 +5370,41 @@ declare class AXVoiceRecorderComponent {
|
|
|
5361
5370
|
}
|
|
5362
5371
|
|
|
5363
5372
|
declare class AXConversationAudioFileTypeProvider extends AXFileTypeInfoProvider {
|
|
5364
|
-
items(): Promise<AXFileType<
|
|
5365
|
-
|
|
5366
|
-
|
|
5367
|
-
}, ...args: unknown[]) => Promise<unknown> | unknown>>[]>;
|
|
5373
|
+
items(): Promise<AXFileType<{
|
|
5374
|
+
[x: string]: (ctx: _acorex_core_file.AXFileTypeContext, ...args: unknown[]) => Promise<unknown> | unknown;
|
|
5375
|
+
}>[]>;
|
|
5368
5376
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationAudioFileTypeProvider, never>;
|
|
5369
5377
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationAudioFileTypeProvider>;
|
|
5370
5378
|
}
|
|
5371
5379
|
|
|
5372
5380
|
declare class AXConversationFileFileTypeProvider extends AXFileTypeInfoProvider {
|
|
5373
|
-
items(): Promise<AXFileType<
|
|
5374
|
-
|
|
5375
|
-
|
|
5376
|
-
}, ...args: unknown[]) => Promise<unknown> | unknown>>[]>;
|
|
5381
|
+
items(): Promise<AXFileType<{
|
|
5382
|
+
[x: string]: (ctx: _acorex_core_file.AXFileTypeContext, ...args: unknown[]) => Promise<unknown> | unknown;
|
|
5383
|
+
}>[]>;
|
|
5377
5384
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationFileFileTypeProvider, never>;
|
|
5378
5385
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationFileFileTypeProvider>;
|
|
5379
5386
|
}
|
|
5380
5387
|
|
|
5381
5388
|
declare class AXConversationImageFileTypeProvider extends AXFileTypeInfoProvider {
|
|
5382
|
-
items(): Promise<AXFileType<
|
|
5383
|
-
|
|
5384
|
-
|
|
5385
|
-
}, ...args: unknown[]) => Promise<unknown> | unknown>>[]>;
|
|
5389
|
+
items(): Promise<AXFileType<{
|
|
5390
|
+
[x: string]: (ctx: _acorex_core_file.AXFileTypeContext, ...args: unknown[]) => Promise<unknown> | unknown;
|
|
5391
|
+
}>[]>;
|
|
5386
5392
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationImageFileTypeProvider, never>;
|
|
5387
5393
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationImageFileTypeProvider>;
|
|
5388
5394
|
}
|
|
5389
5395
|
|
|
5390
5396
|
declare class AXConversationVideoFileTypeProvider extends AXFileTypeInfoProvider {
|
|
5391
|
-
items(): Promise<AXFileType<
|
|
5392
|
-
|
|
5393
|
-
|
|
5394
|
-
}, ...args: unknown[]) => Promise<unknown> | unknown>>[]>;
|
|
5397
|
+
items(): Promise<AXFileType<{
|
|
5398
|
+
[x: string]: (ctx: _acorex_core_file.AXFileTypeContext, ...args: unknown[]) => Promise<unknown> | unknown;
|
|
5399
|
+
}>[]>;
|
|
5395
5400
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationVideoFileTypeProvider, never>;
|
|
5396
5401
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationVideoFileTypeProvider>;
|
|
5397
5402
|
}
|
|
5398
5403
|
|
|
5399
5404
|
declare class AXConversationVoiceFileTypeProvider extends AXFileTypeInfoProvider {
|
|
5400
|
-
items(): Promise<AXFileType<
|
|
5401
|
-
|
|
5402
|
-
|
|
5403
|
-
}, ...args: unknown[]) => Promise<unknown> | unknown>>[]>;
|
|
5405
|
+
items(): Promise<AXFileType<{
|
|
5406
|
+
[x: string]: (ctx: _acorex_core_file.AXFileTypeContext, ...args: unknown[]) => Promise<unknown> | unknown;
|
|
5407
|
+
}>[]>;
|
|
5404
5408
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationVoiceFileTypeProvider, never>;
|
|
5405
5409
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationVoiceFileTypeProvider>;
|
|
5406
5410
|
}
|
|
@@ -5424,7 +5428,7 @@ declare const AX_CONVERSATION_COMPOSER_LOCATION_ACTION: AXComposerAction;
|
|
|
5424
5428
|
|
|
5425
5429
|
declare function mergeUploadResult(type: AXMessageType, payload: AXMessagePayload, result: AXUploadResult): AXMessagePayload;
|
|
5426
5430
|
declare function applyLocalPreview(type: AXMessageType, payload: AXMessagePayload, localUrl: string, mimeType?: string): AXMessagePayload;
|
|
5427
|
-
declare function toUploaderReference(payload: AXMessagePayload): AXUploaderReference;
|
|
5431
|
+
declare function toUploaderReference$1(payload: AXMessagePayload): AXUploaderReference;
|
|
5428
5432
|
declare function createObjectUrl(platformId: object, blob: Blob): string;
|
|
5429
5433
|
declare function revokeObjectUrl(platformId: object, url: string): void;
|
|
5430
5434
|
declare function createLocalPreviewUrl(fileService: AXFileService, platformId: object, source: File | Blob, messageType: AXMessageType): Promise<string | undefined>;
|
|
@@ -5470,7 +5474,7 @@ declare class AXConversationInfoPanelComponent extends AXClosableComponent imple
|
|
|
5470
5474
|
conversationService: AXConversationService;
|
|
5471
5475
|
readonly activeTab: _angular_core.WritableSignal<"profile" | "manage">;
|
|
5472
5476
|
readonly showMemberSearch: _angular_core.WritableSignal<boolean>;
|
|
5473
|
-
readonly panelView: _angular_core.WritableSignal<"
|
|
5477
|
+
readonly panelView: _angular_core.WritableSignal<"main" | "media">;
|
|
5474
5478
|
readonly selectedMediaCategory: _angular_core.WritableSignal<AXConversationMediaCategory>;
|
|
5475
5479
|
readonly conversationMessages: _angular_core.WritableSignal<AXMessage[]>;
|
|
5476
5480
|
readonly loadingMessages: _angular_core.WritableSignal<boolean>;
|
|
@@ -5772,7 +5776,22 @@ declare function resolvePrivatePeerUserId(conversation: AXConversation, currentU
|
|
|
5772
5776
|
/** Whether `auto` kind should render a user avatar for this conversation. */
|
|
5773
5777
|
declare function shouldUseUserAvatarForConversation(conversation: AXConversation, currentUserId?: string): boolean;
|
|
5774
5778
|
declare function resolveUserAvatarDisplay(userId: string, conversation: AXConversation | undefined, message?: AXMessage): AXConversationAvatarDisplay;
|
|
5775
|
-
declare function resolveConversationAvatarDisplay(conversation: AXConversation): AXConversationAvatarDisplay;
|
|
5779
|
+
declare function resolveConversationAvatarDisplay(conversation: AXConversation, currentUserId?: string): AXConversationAvatarDisplay;
|
|
5780
|
+
|
|
5781
|
+
/** True when the stored title is a placeholder, not a user-defined name. */
|
|
5782
|
+
declare function isGenericPrivateConversationTitle(title: string | undefined): boolean;
|
|
5783
|
+
/** Other participant in a private 1v1 chat (excludes the current viewer). */
|
|
5784
|
+
declare function resolvePrivatePeerParticipant(conversation: AXConversation, currentUserId?: string): AXParticipant | undefined;
|
|
5785
|
+
/**
|
|
5786
|
+
* Resolves the display title for the current viewer.
|
|
5787
|
+
* Private 1v1 chats show the other participant's name when no custom title is set.
|
|
5788
|
+
*/
|
|
5789
|
+
declare function resolveConversationTitleForViewer(conversation: AXConversation, currentUserId?: string): string;
|
|
5790
|
+
/**
|
|
5791
|
+
* Returns a viewer-scoped copy of a conversation with dynamic private title/avatar/icon.
|
|
5792
|
+
* Does not mutate the source object.
|
|
5793
|
+
*/
|
|
5794
|
+
declare function resolveConversationForViewer(conversation: AXConversation, currentUserId?: string): AXConversation;
|
|
5776
5795
|
|
|
5777
5796
|
/** Resolves typed `profile`, falling back to legacy `metadata.profile`. */
|
|
5778
5797
|
declare function resolveParticipantProfile(participant?: AXParticipant): AXUserProfile;
|
|
@@ -5969,6 +5988,32 @@ declare function validateLatitude(latitude: number | undefined | null): AXValida
|
|
|
5969
5988
|
*/
|
|
5970
5989
|
declare function validateLongitude(longitude: number | undefined | null): AXValidationResult;
|
|
5971
5990
|
|
|
5991
|
+
/** First non-empty URL for img/video/audio at runtime (includes resolved blob: URLs). */
|
|
5992
|
+
declare function pickDisplayMediaUrl(...candidates: (string | null | undefined)[]): string;
|
|
5993
|
+
|
|
5994
|
+
/** Format image message payload for rendering (array shape, safe thumbnails). */
|
|
5995
|
+
declare function normalizeImagePayload(payload: AXImagePayload): AXImagePayload;
|
|
5996
|
+
/** Preferred URL for grid / lightbox (never inline base64 thumbnails). */
|
|
5997
|
+
declare function resolveImageDisplayUrl(image: AXImageMediaItem): string | undefined;
|
|
5998
|
+
|
|
5999
|
+
declare function toUploaderReference(item: AXMediaItemFields): AXUploaderReference;
|
|
6000
|
+
|
|
6001
|
+
/**
|
|
6002
|
+
* Resolves multimedia payload URLs for renderers (direct url or mediaId via uploader).
|
|
6003
|
+
*/
|
|
6004
|
+
|
|
6005
|
+
/**
|
|
6006
|
+
* Creates a signal of the resolved playback URL for a media reference.
|
|
6007
|
+
*/
|
|
6008
|
+
declare function createResolvedMediaUrlSignal(reference: Signal<AXUploaderReference | undefined>): Signal<string | null>;
|
|
6009
|
+
|
|
6010
|
+
/** Infer extension/MIME hints from a persisted message payload. */
|
|
6011
|
+
declare function inferFileExtensionHintFromMessage(message: AXMessage): AXFileTypeExtensionHint;
|
|
6012
|
+
/** Use file-type `copy` on the message when `message.fileType` is set; otherwise fallback. */
|
|
6013
|
+
declare function copyWithFileTypeFallback(message: AXMessage, registry: AXFileTypeRegistryService, fallback: () => string): Promise<string>;
|
|
6014
|
+
/** Use file-type `open` on the message when `message.fileType` is set. */
|
|
6015
|
+
declare function openWithFileType(message: AXMessage, registry: AXFileTypeRegistryService, ctx: AXFileTypeOpenContext): Promise<boolean>;
|
|
6016
|
+
|
|
5972
6017
|
/**
|
|
5973
6018
|
* Error Message Constants
|
|
5974
6019
|
* Centralized error messages with i18n support structure
|
|
@@ -6361,5 +6406,5 @@ declare function getErrorMessage(code: string, params?: Record<string, string |
|
|
|
6361
6406
|
*/
|
|
6362
6407
|
type AXErrorCode = typeof MESSAGE_ERRORS[keyof typeof MESSAGE_ERRORS]['code'] | typeof FILE_ERRORS[keyof typeof FILE_ERRORS]['code'] | typeof USER_ERRORS[keyof typeof USER_ERRORS]['code'] | typeof CONVERSATION_ERRORS[keyof typeof CONVERSATION_ERRORS]['code'] | typeof CONNECTION_ERRORS[keyof typeof CONNECTION_ERRORS]['code'] | typeof LOCATION_ERRORS[keyof typeof LOCATION_ERRORS]['code'] | typeof URL_ERRORS[keyof typeof URL_ERRORS]['code'];
|
|
6363
6408
|
|
|
6364
|
-
export { AXAudioPickerComponent, AXAudioRendererComponent, AXBaseRegistry, AXCnvMediaPlaybackInfoBarBannerComponent, AXComposerActionRegistry, AXComposerComponent, AXComposerPopupComponent, AXComposerService, AXComposerTabRegistry, AXConversation2Module, AXConversationAiApiKey, AXConversationAiResponderService, AXConversationApi, AXConversationContainerComponent, AXConversationContainerDirective, AXConversationDateUtilsService, AXConversationIndexedDbConversationApi, AXConversationIndexedDbMessageAiApi, AXConversationIndexedDbMessageApi, AXConversationIndexedDbRealtimeApi, AXConversationIndexedDbStorage, AXConversationIndexedDbStores, AXConversationIndexedDbUserApi, AXConversationInfoMediaViewComponent, AXConversationInfoPanelComponent, AXConversationItemActionRegistry, AXConversationMessageRendererStateComponent, AXConversationMessageUtilsService, AXConversationService, AXConversationSharedStorage, AXConversationTabRegistry, AXEmojiTabComponent, AXErrorHandlerService, AXFallbackRendererComponent, AXFilePickerComponent, AXFileRendererComponent, AXForwardMessageDialogComponent, AXImagePickerComponent, AXImageRendererComponent, AXInfiniteScrollDirective, AXInfoBarActionRegistry, AXInfoBarComponent, AXInfoBarSearchComponent, AXInfoBarService, AXLocationPickerComponent, AXLocationRendererComponent, AXMessageActionRegistry, AXMessageApi, AXMessageListComponent, AXMessageListNoActiveDefaultComponent, AXMessageListService, AXMessageRendererRegistry, AXNewConversationDialogComponent, AXPickerFooterComponent, AXPickerHeaderComponent, AXRealtimeApi, AXRegistryService, AXSidebarComponent, AXSidebarService, AXStickerRendererComponent, AXStickerTabComponent, AXSystemRendererComponent, AXTextRendererComponent, AXUserApi, AXVideoPickerComponent, AXVideoRendererComponent, AXVoiceRecorderComponent, AXVoiceRendererComponent, AX_CONVERSATION_AUDIO_RENDERER, AX_CONVERSATION_COMPOSER_AUDIO_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_TAB, AX_CONVERSATION_COMPOSER_FILE_ACTION, AX_CONVERSATION_COMPOSER_FILE_TYPE_PROVIDERS, AX_CONVERSATION_COMPOSER_IMAGE_ACTION, AX_CONVERSATION_COMPOSER_LOCATION_ACTION, AX_CONVERSATION_COMPOSER_STICKER_TAB, AX_CONVERSATION_COMPOSER_VIDEO_ACTION, AX_CONVERSATION_COMPOSER_VOICE_RECORDING_ACTION, AX_CONVERSATION_CONVERSATION_AVATAR_COMPONENT, AX_CONVERSATION_CURSOR_PREFIX, AX_CONVERSATION_FALLBACK_RENDERER, AX_CONVERSATION_FILE_RENDERER, AX_CONVERSATION_IMAGE_RENDERER, AX_CONVERSATION_INFO_BAR_ARCHIVE_ACTION, AX_CONVERSATION_INFO_BAR_BLOCK_ACTION, AX_CONVERSATION_INFO_BAR_DELETE_ACTION, AX_CONVERSATION_INFO_BAR_DIVIDER, AX_CONVERSATION_INFO_BAR_MUTE_ACTION, AX_CONVERSATION_INFO_BAR_SEARCH_ACTION, AX_CONVERSATION_ITEM_BLOCK_ACTION, AX_CONVERSATION_ITEM_DELETE_ACTION, AX_CONVERSATION_ITEM_DIVIDER, AX_CONVERSATION_ITEM_MARK_READ_ACTION, AX_CONVERSATION_ITEM_MUTE_ACTION, AX_CONVERSATION_ITEM_PIN_ACTION, AX_CONVERSATION_LOCATION_RENDERER, AX_CONVERSATION_MESSAGE_DELETE_ACTION, AX_CONVERSATION_MESSAGE_EDIT_ACTION, AX_CONVERSATION_MESSAGE_FORWARD_ACTION, AX_CONVERSATION_MESSAGE_REPLY_ACTION, AX_CONVERSATION_STICKER_RENDERER, AX_CONVERSATION_SYSTEM_RENDERER, AX_CONVERSATION_TAB_ALL, AX_CONVERSATION_TAB_ARCHIVED, AX_CONVERSATION_TAB_BOT, AX_CONVERSATION_TAB_CHANNELS, AX_CONVERSATION_TAB_GROUPS, AX_CONVERSATION_TAB_PRIVATE, AX_CONVERSATION_TAB_UNREAD, AX_CONVERSATION_TEXT_RENDERER, AX_CONVERSATION_USER_AVATAR_COMPONENT, AX_CONVERSATION_VIDEO_RENDERER, AX_CONVERSATION_VOICE_RENDERER, AX_DEFAULT_CONVERSATION_CONFIG, AX_MESSAGE_CURSOR_PREFIX, AX_STICKER_API_KEY, CONNECTION_ERRORS, CONVERSATION_CONFIG, CONVERSATION_ERRORS, CONVERSATION_FILE_TYPES_READY, DEFAULT_COMPOSER_ACTIONS, DEFAULT_COMPOSER_TABS, DEFAULT_CONVERSATION_ITEM_ACTIONS, DEFAULT_CONVERSATION_TABS, DEFAULT_INFO_BAR_ACTIONS, DEFAULT_MESSAGE_ACTIONS, DEFAULT_MESSAGE_RENDERERS, ERROR_HANDLER_CONFIG, ERROR_MESSAGES, FILE_ERRORS, LOCATION_ERRORS, MESSAGE_ERRORS, REGISTRY_CONFIG, URL_ERRORS, USER_ERRORS, applyConversationFilters, applyLocalPreview, axConversationIndexedDbStorage, conversationSharedStorage, createLocalPreviewUrl, createObjectUrl, encodeConversationCursor, encodeMessageCursor, formatErrorMessage, getConversationLastActivity, getConversationMessagesNewestFirst, getErrorMessage, getSortedConversationsForInbox, mergeUploadResult, mergeWithDefaults, normalizeAllConversationMessageIndexes, paginateChatNewestFirst, paginateChatOldestFirst, parseChatCursor, provideConversation, provideConversationComposerFileTypes, provideConversationFileCatalog, registerChatMessage, resolveConversationAvatarDisplay, resolveParticipantProfile, resolvePrivatePeerUserId, resolveUserAvatarDisplay, revokeObjectUrl, sanitizeInput, shouldUseUserAvatarForConversation, sortConversationMessageIds, toUploaderReference, unregisterChatMessage, validateConversationId, validateEmail, validateLatitude, validateLongitude, validateMessagePayload, validateMessageText, validateMessageType, validateUrl, validateUserId, validateUserIds };
|
|
6409
|
+
export { AXAudioPickerComponent, AXAudioRendererComponent, AXBaseRegistry, AXCnvMediaPlaybackInfoBarBannerComponent, AXComposerActionRegistry, AXComposerComponent, AXComposerPopupComponent, AXComposerService, AXComposerTabRegistry, AXConversation2Module, AXConversationAiApiKey, AXConversationAiResponderService, AXConversationApi, AXConversationContainerComponent, AXConversationContainerDirective, AXConversationDateUtilsService, AXConversationIndexedDbConversationApi, AXConversationIndexedDbMessageAiApi, AXConversationIndexedDbMessageApi, AXConversationIndexedDbRealtimeApi, AXConversationIndexedDbStorage, AXConversationIndexedDbStores, AXConversationIndexedDbUserApi, AXConversationInfoMediaViewComponent, AXConversationInfoPanelComponent, AXConversationItemActionRegistry, AXConversationMessageRendererStateComponent, AXConversationMessageUtilsService, AXConversationService, AXConversationSharedStorage, AXConversationTabRegistry, AXEmojiTabComponent, AXErrorHandlerService, AXFallbackRendererComponent, AXFilePickerComponent, AXFileRendererComponent, AXForwardMessageDialogComponent, AXImagePickerComponent, AXImageRendererComponent, AXInfiniteScrollDirective, AXInfoBarActionRegistry, AXInfoBarComponent, AXInfoBarSearchComponent, AXInfoBarService, AXLocationPickerComponent, AXLocationRendererComponent, AXMessageActionRegistry, AXMessageApi, AXMessageListComponent, AXMessageListNoActiveDefaultComponent, AXMessageListService, AXMessageRendererCopyHostComponent, AXMessageRendererRegistry, AXNewConversationDialogComponent, AXPickerFooterComponent, AXPickerHeaderComponent, AXRealtimeApi, AXRegistryService, AXSidebarComponent, AXSidebarService, AXStickerRendererComponent, AXStickerTabComponent, AXSystemRendererComponent, AXTextRendererComponent, AXUserApi, AXVideoPickerComponent, AXVideoRendererComponent, AXVoiceRecorderComponent, AXVoiceRendererComponent, AX_CONVERSATION_AUDIO_RENDERER, AX_CONVERSATION_COMPOSER_AUDIO_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_TAB, AX_CONVERSATION_COMPOSER_FILE_ACTION, AX_CONVERSATION_COMPOSER_FILE_TYPE_PROVIDERS, AX_CONVERSATION_COMPOSER_IMAGE_ACTION, AX_CONVERSATION_COMPOSER_LOCATION_ACTION, AX_CONVERSATION_COMPOSER_STICKER_TAB, AX_CONVERSATION_COMPOSER_VIDEO_ACTION, AX_CONVERSATION_COMPOSER_VOICE_RECORDING_ACTION, AX_CONVERSATION_CONVERSATION_AVATAR_COMPONENT, AX_CONVERSATION_CURSOR_PREFIX, AX_CONVERSATION_FALLBACK_RENDERER, AX_CONVERSATION_FILE_RENDERER, AX_CONVERSATION_IMAGE_RENDERER, AX_CONVERSATION_INFO_BAR_ARCHIVE_ACTION, AX_CONVERSATION_INFO_BAR_BLOCK_ACTION, AX_CONVERSATION_INFO_BAR_DELETE_ACTION, AX_CONVERSATION_INFO_BAR_DIVIDER, AX_CONVERSATION_INFO_BAR_MUTE_ACTION, AX_CONVERSATION_INFO_BAR_SEARCH_ACTION, AX_CONVERSATION_ITEM_BLOCK_ACTION, AX_CONVERSATION_ITEM_DELETE_ACTION, AX_CONVERSATION_ITEM_DIVIDER, AX_CONVERSATION_ITEM_MARK_READ_ACTION, AX_CONVERSATION_ITEM_MUTE_ACTION, AX_CONVERSATION_ITEM_PIN_ACTION, AX_CONVERSATION_LOCATION_RENDERER, AX_CONVERSATION_MESSAGE_DELETE_ACTION, AX_CONVERSATION_MESSAGE_EDIT_ACTION, AX_CONVERSATION_MESSAGE_FORWARD_ACTION, AX_CONVERSATION_MESSAGE_REPLY_ACTION, AX_CONVERSATION_STICKER_RENDERER, AX_CONVERSATION_SYSTEM_RENDERER, AX_CONVERSATION_TAB_ALL, AX_CONVERSATION_TAB_ARCHIVED, AX_CONVERSATION_TAB_BOT, AX_CONVERSATION_TAB_CHANNELS, AX_CONVERSATION_TAB_GROUPS, AX_CONVERSATION_TAB_PRIVATE, AX_CONVERSATION_TAB_UNREAD, AX_CONVERSATION_TEXT_RENDERER, AX_CONVERSATION_USER_AVATAR_COMPONENT, AX_CONVERSATION_VIDEO_RENDERER, AX_CONVERSATION_VOICE_RENDERER, AX_DEFAULT_CONVERSATION_CONFIG, AX_MESSAGE_CURSOR_PREFIX, AX_STICKER_API_KEY, CONNECTION_ERRORS, CONVERSATION_CONFIG, CONVERSATION_ERRORS, CONVERSATION_FILE_TYPES_READY, DEFAULT_COMPOSER_ACTIONS, DEFAULT_COMPOSER_TABS, DEFAULT_CONVERSATION_ITEM_ACTIONS, DEFAULT_CONVERSATION_TABS, DEFAULT_INFO_BAR_ACTIONS, DEFAULT_MESSAGE_ACTIONS, DEFAULT_MESSAGE_RENDERERS, ERROR_HANDLER_CONFIG, ERROR_MESSAGES, FILE_ERRORS, LOCATION_ERRORS, MESSAGE_ERRORS, REGISTRY_CONFIG, URL_ERRORS, USER_ERRORS, applyConversationFilters, applyLocalPreview, axConversationIndexedDbStorage, conversationSharedStorage, copyWithFileTypeFallback, createLocalPreviewUrl, createObjectUrl, createResolvedMediaUrlSignal, encodeConversationCursor, encodeMessageCursor, formatErrorMessage, getConversationLastActivity, getConversationMessagesNewestFirst, getErrorMessage, getSortedConversationsForInbox, inferFileExtensionHintFromMessage, isGenericPrivateConversationTitle, mediaCopyText, mergeUploadResult, mergeWithDefaults, normalizeAllConversationMessageIndexes, normalizeImagePayload, openWithFileType, paginateChatNewestFirst, paginateChatOldestFirst, parseChatCursor, pickDisplayMediaUrl, provideConversation, provideConversationComposerFileTypes, provideConversationFileCatalog, registerChatMessage, resolveConversationAvatarDisplay, resolveConversationForViewer, resolveConversationTitleForViewer, resolveImageDisplayUrl, resolveParticipantProfile, resolvePrivatePeerParticipant, resolvePrivatePeerUserId, resolveUserAvatarDisplay, revokeObjectUrl, sanitizeInput, shouldUseUserAvatarForConversation, sortConversationMessageIds, toUploaderReference as toMediaItemUploaderReference, toUploaderReference$1 as toUploaderReference, unregisterChatMessage, validateConversationId, validateEmail, validateLatitude, validateLongitude, validateMessagePayload, validateMessageText, validateMessageType, validateUrl, validateUserId, validateUserIds };
|
|
6365
6410
|
export type { AXApiError, AXAudioMediaItem, AXAudioPayload, AXBlockReportReason, AXCallEvent, AXChatCursorKind, AXComposerAction, AXComposerActionComponent, AXComposerActionContext, AXComposerActiveComponent, AXComposerTab, AXConnectionEvent, AXConnectionOptions, AXConnectionStatus, AXConversation, AXConversationAiResponderConfig, AXConversationAvatarComponents, AXConversationAvatarDisplay, AXConversationAvatarKind, AXConversationConfig, AXConversationConversationAvatarComponent, AXConversationCreateData, AXConversationError, AXConversationFilter, AXConversationFilters, AXConversationIndexedDbMediaRecord, AXConversationItemAction, AXConversationItemActionContext, AXConversationMetadata, AXConversationOptions, AXConversationSettings, AXConversationSettingsUpdate, AXConversationSort, AXConversationStatus, AXConversationTab, AXConversationType, AXConversationUpdateData, AXConversationUploadOptions, AXConversationUserAvatarComponent, AXDeleteMessageCommand, AXEditMessageCommand, AXErrorCode, AXErrorHandlerConfig, AXErrorMessage, AXErrorSeverity, AXFileMediaItem, AXFilePayload, AXGroupedReaction, AXImageMediaItem, AXImagePayload, AXInfoBarAction, AXInfoBarActionComponent, AXInfoBarActionContext, AXInfoBarActiveBanner, AXInfoBarActiveComponent, AXLink, AXLinkPreview, AXLoadMessagesResult, AXLocationPayload, AXMediaItemFields, AXMention, AXMessage, AXMessageAction, AXMessageActionContext, AXMessageForwardData, AXMessageInfoBarBannerComponent, AXMessageListEmptyComponent, AXMessagePayload, AXMessageRenderer, AXMessageRendererCapabilities, AXMessageRendererComponent, AXMessageRendererContentState, AXMessageRendererState, AXMessageSearchFilters, AXMessageStatus, AXMessageType, AXNotificationEvent, AXPaginatedResult, AXPagination, AXPaginationState, AXParsedChatCursor, AXParticipant, AXParticipantRole, AXParticipantStatus, AXParticipantUpdate, AXPinnedMessage, AXPlaybackBannerInputs, AXPollOption, AXPollPayload, AXPresenceStatus, AXPresenceUpdate, AXReaction, AXReadReceipt, AXRegistryConfiguration, AXRegistryItem, AXSendMessageCommand, AXSendMessageOptions, AXSendMessageUploadSource, AXStickerPayload, AXSystemPayload, AXTextFormat, AXTextPayload, AXTypingIndicator, AXUploaderReference, AXUploaderResult, AXUserProfile, AXUserProfileUpdate, AXUserRole, AXUserSearchFilters, AXValidationResult, AXVideoMediaItem, AXVideoPayload, AXVoicePayload, DropdownMenuItem, UploaderFilePreview };
|
|
@@ -12,8 +12,9 @@ import * as i7 from '@acorex/components/decorators';
|
|
|
12
12
|
import * as i8 from '@acorex/components/loading';
|
|
13
13
|
import * as i9 from '@acorex/components/dialog';
|
|
14
14
|
|
|
15
|
+
type AXImageEditorTool = 'pen' | 'highlight' | 'crop' | 'rotate';
|
|
15
16
|
declare class AXImageEditorService {
|
|
16
|
-
activeToolState: _angular_core.WritableSignal<
|
|
17
|
+
activeToolState: _angular_core.WritableSignal<AXImageEditorTool>;
|
|
17
18
|
penColor: _angular_core.WritableSignal<string | CanvasGradient | CanvasPattern>;
|
|
18
19
|
highlightColor: _angular_core.WritableSignal<string | CanvasGradient | CanvasPattern>;
|
|
19
20
|
penWidth: _angular_core.WritableSignal<number>;
|
|
@@ -30,6 +31,9 @@ declare class AXImageEditorService {
|
|
|
30
31
|
undoPressed: _angular_core.WritableSignal<boolean>;
|
|
31
32
|
redoPressed: _angular_core.WritableSignal<boolean>;
|
|
32
33
|
cropperRatio: _angular_core.WritableSignal<string>;
|
|
34
|
+
cropperSize: _angular_core.WritableSignal<number>;
|
|
35
|
+
toggleTool(tool: AXImageEditorTool): void;
|
|
36
|
+
activateTool(tool: AXImageEditorTool): void;
|
|
33
37
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorService, never>;
|
|
34
38
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXImageEditorService>;
|
|
35
39
|
}
|
|
@@ -41,6 +45,8 @@ declare class AXImageEditorService {
|
|
|
41
45
|
declare class AXImageEditorCropperWindowComponent implements OnDestroy {
|
|
42
46
|
#private;
|
|
43
47
|
readonly showGrid: _angular_core.InputSignal<boolean>;
|
|
48
|
+
/** Base size in pixels used to calculate the initial cropper window dimensions. */
|
|
49
|
+
readonly size: _angular_core.InputSignal<number>;
|
|
44
50
|
protected service: AXImageEditorService;
|
|
45
51
|
private ngZone;
|
|
46
52
|
private selectedHandle;
|
|
@@ -78,7 +84,7 @@ declare class AXImageEditorCropperWindowComponent implements OnDestroy {
|
|
|
78
84
|
protected changeSizeHandler(e: MouseEvent): void;
|
|
79
85
|
protected clearSelector(): void;
|
|
80
86
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorCropperWindowComponent, never>;
|
|
81
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorCropperWindowComponent, "ax-image-editor-cropper-window", never, { "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
87
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorCropperWindowComponent, "ax-image-editor-cropper-window", never, { "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
82
88
|
}
|
|
83
89
|
|
|
84
90
|
declare class AXImageEditorViewComponent extends MXBaseComponent implements OnDestroy {
|
|
@@ -86,6 +92,10 @@ declare class AXImageEditorViewComponent extends MXBaseComponent implements OnDe
|
|
|
86
92
|
* its change grid display state.
|
|
87
93
|
*/
|
|
88
94
|
readonly showGrid: _angular_core.InputSignal<boolean>;
|
|
95
|
+
/**
|
|
96
|
+
* Base size in pixels for the initial cropper window dimensions.
|
|
97
|
+
*/
|
|
98
|
+
readonly cropperSize: _angular_core.InputSignal<number>;
|
|
89
99
|
/**
|
|
90
100
|
* its change grid display state.
|
|
91
101
|
*/
|
|
@@ -141,13 +151,13 @@ declare class AXImageEditorViewComponent extends MXBaseComponent implements OnDe
|
|
|
141
151
|
/** @ignore */
|
|
142
152
|
protected mouseUpHandler(): void;
|
|
143
153
|
/** @ignore */
|
|
144
|
-
|
|
154
|
+
crop(): Promise<void>;
|
|
145
155
|
/** @ignore */
|
|
146
156
|
protected rotateImage(): void;
|
|
147
157
|
/** @ignore */
|
|
148
158
|
protected saveImageChange(): Promise<void>;
|
|
149
159
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorViewComponent, never>;
|
|
150
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorViewComponent, "ax-image-editor-view", never, { "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "src": { "alias": "src"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
160
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorViewComponent, "ax-image-editor-view", never, { "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "cropperSize": { "alias": "cropperSize"; "required": false; "isSignal": true; }; "src": { "alias": "src"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
151
161
|
}
|
|
152
162
|
|
|
153
163
|
declare const AXImageEditorContainerComponent_base: polytype.Polytype.ClusteredConstructor<[{
|
|
@@ -165,41 +175,48 @@ declare class AXImageEditorContainerComponent extends AXImageEditorContainerComp
|
|
|
165
175
|
protected service: AXImageEditorService;
|
|
166
176
|
imageEditorContainer: _angular_core.Signal<ElementRef<any>>;
|
|
167
177
|
view: _angular_core.Signal<AXImageEditorViewComponent>;
|
|
168
|
-
|
|
169
|
-
|
|
178
|
+
/** Applies the current cropper selection. */
|
|
179
|
+
crop(): Promise<void>;
|
|
170
180
|
get __hostClass(): string;
|
|
171
181
|
private get __hostName();
|
|
172
182
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorContainerComponent, never>;
|
|
173
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorContainerComponent, "ax-image-editor-container", never, { "look": { "alias": "look"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; };
|
|
183
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorContainerComponent, "ax-image-editor-container", never, { "look": { "alias": "look"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "onValueChanged": "onValueChanged"; }, ["view"], ["ax-header", "ax-image-editor-view", "ax-footer", "ax-validation-rule"], true, never>;
|
|
174
184
|
}
|
|
175
185
|
|
|
176
186
|
/**
|
|
177
|
-
*
|
|
187
|
+
* Base class for image editor tool trigger components.
|
|
178
188
|
* @category Components
|
|
179
189
|
*/
|
|
180
|
-
declare class
|
|
190
|
+
declare abstract class AXImageEditorToolComponent {
|
|
181
191
|
protected service: AXImageEditorService;
|
|
182
|
-
|
|
192
|
+
abstract readonly tool: AXImageEditorTool;
|
|
193
|
+
setActive(): void;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Crop tool trigger for the image editor toolbar.
|
|
198
|
+
* @category Components
|
|
199
|
+
*/
|
|
200
|
+
declare class AXImageEditorCropComponent extends AXImageEditorToolComponent {
|
|
201
|
+
#private;
|
|
202
|
+
readonly tool = "crop";
|
|
203
|
+
private container;
|
|
204
|
+
/** Aspect ratio presets. Append `:active` to mark the default ratio, e.g. `'2:1:active'`. */
|
|
183
205
|
aspectRatio: _angular_core.InputSignal<string[]>;
|
|
184
|
-
|
|
185
|
-
|
|
206
|
+
/** Base size in pixels for the initial cropper window dimensions. */
|
|
207
|
+
size: _angular_core.InputSignal<number>;
|
|
208
|
+
/** Applies the current cropper selection. */
|
|
209
|
+
crop(): void;
|
|
186
210
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorCropComponent, never>;
|
|
187
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorCropComponent, "ax-image-editor-crop", never, { "aspectRatio": { "alias": "aspectRatio"; "required": false; "isSignal": true; };
|
|
211
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorCropComponent, "ax-image-editor-crop", never, { "aspectRatio": { "alias": "aspectRatio"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
188
212
|
}
|
|
189
213
|
|
|
190
214
|
/**
|
|
191
|
-
*
|
|
215
|
+
* Highlight tool trigger for the image editor toolbar.
|
|
192
216
|
* @category Components
|
|
193
217
|
*/
|
|
194
|
-
declare class AXImageEditorHighlightComponent {
|
|
195
|
-
|
|
196
|
-
/** @ignore */
|
|
197
|
-
protected selectedColor: _angular_core.WritableSignal<string | CanvasGradient | CanvasPattern>;
|
|
198
|
-
/** @ignore */
|
|
199
|
-
protected value: number;
|
|
200
|
-
protected changeColorHandler(e: string): void;
|
|
201
|
-
/** @ignore */
|
|
202
|
-
protected valueHandler(e: number): void;
|
|
218
|
+
declare class AXImageEditorHighlightComponent extends AXImageEditorToolComponent {
|
|
219
|
+
readonly tool = "highlight";
|
|
203
220
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorHighlightComponent, never>;
|
|
204
221
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorHighlightComponent, "ax-image-editor-highlight", never, {}, {}, never, never, true, never>;
|
|
205
222
|
}
|
|
@@ -217,52 +234,62 @@ declare class AXImageEditorHistoryComponent {
|
|
|
217
234
|
}
|
|
218
235
|
|
|
219
236
|
/**
|
|
220
|
-
*
|
|
237
|
+
* Pen tool trigger for the image editor toolbar.
|
|
221
238
|
* @category Components
|
|
222
239
|
*/
|
|
223
|
-
declare class AXImageEditorPenComponent {
|
|
224
|
-
|
|
225
|
-
/** @ignore */
|
|
226
|
-
protected value: number;
|
|
227
|
-
/** @ignore */
|
|
228
|
-
protected selectedColor: _angular_core.WritableSignal<string | CanvasGradient | CanvasPattern>;
|
|
229
|
-
protected changeColorHandler(e: string): void;
|
|
230
|
-
/** @ignore */
|
|
231
|
-
protected valueHandler(e: number): void;
|
|
240
|
+
declare class AXImageEditorPenComponent extends AXImageEditorToolComponent {
|
|
241
|
+
readonly tool = "pen";
|
|
232
242
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorPenComponent, never>;
|
|
233
243
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorPenComponent, "ax-image-editor-pen", never, {}, {}, never, never, true, never>;
|
|
234
244
|
}
|
|
235
245
|
|
|
236
246
|
/**
|
|
237
|
-
*
|
|
247
|
+
* Rotate tool trigger for the image editor toolbar.
|
|
238
248
|
* @category Components
|
|
239
249
|
*/
|
|
240
|
-
declare class AXImageEditorRotateComponent {
|
|
241
|
-
|
|
242
|
-
protected service: AXImageEditorService;
|
|
243
|
-
/** @ignore */
|
|
244
|
-
protected rotateRightHandler(): void;
|
|
245
|
-
/** @ignore */
|
|
246
|
-
protected rotateLeftHandler(): void;
|
|
250
|
+
declare class AXImageEditorRotateComponent extends AXImageEditorToolComponent {
|
|
251
|
+
readonly tool = "rotate";
|
|
247
252
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorRotateComponent, never>;
|
|
248
253
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorRotateComponent, "ax-image-editor-rotate", never, {}, {}, never, never, true, never>;
|
|
249
254
|
}
|
|
250
255
|
|
|
251
256
|
/**
|
|
252
|
-
*
|
|
257
|
+
* Toolbar layout for configurable image editor tools.
|
|
253
258
|
* @category Components
|
|
254
259
|
*/
|
|
255
|
-
declare class
|
|
260
|
+
declare class AXImageEditorToolsBarComponent {
|
|
261
|
+
#private;
|
|
256
262
|
protected service: AXImageEditorService;
|
|
257
|
-
|
|
263
|
+
/**
|
|
264
|
+
* Tool component reference to activate on load.
|
|
265
|
+
*/
|
|
266
|
+
active: _angular_core.InputSignal<AXImageEditorToolComponent>;
|
|
267
|
+
/** Hides the tools bar UI while keeping projected tools configurable. */
|
|
268
|
+
hidden: _angular_core.InputSignal<boolean>;
|
|
269
|
+
protected penTool: _angular_core.Signal<AXImageEditorPenComponent>;
|
|
270
|
+
protected highlightTool: _angular_core.Signal<AXImageEditorHighlightComponent>;
|
|
271
|
+
protected cropTool: _angular_core.Signal<AXImageEditorCropComponent>;
|
|
272
|
+
protected rotateTool: _angular_core.Signal<AXImageEditorRotateComponent>;
|
|
273
|
+
protected cropAspectRatio: _angular_core.Signal<string[]>;
|
|
274
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorToolsBarComponent, never>;
|
|
275
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorToolsBarComponent, "ax-image-editor-tools-bar", never, { "active": { "alias": "active"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; }, {}, ["penTool", "highlightTool", "cropTool", "rotateTool"], ["ax-image-editor-pen, ax-image-editor-highlight, ax-image-editor-crop, ax-image-editor-rotate"], true, never>;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
* Convenience wrapper that includes all image editor tools.
|
|
280
|
+
* @category Components
|
|
281
|
+
*/
|
|
282
|
+
declare class AXImageEditorToolSelectorComponent {
|
|
283
|
+
aspectRatio: _angular_core.InputSignal<string[]>;
|
|
258
284
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorToolSelectorComponent, never>;
|
|
259
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorToolSelectorComponent, "ax-image-editor-tool-selector", never, {}, {}, never, never, true, never>;
|
|
285
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorToolSelectorComponent, "ax-image-editor-tool-selector", never, { "aspectRatio": { "alias": "aspectRatio"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
260
286
|
}
|
|
261
287
|
|
|
262
288
|
declare class AXImageEditorModule {
|
|
263
289
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorModule, never>;
|
|
264
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXImageEditorModule, never, [typeof i1.AXButtonModule, typeof i2.FormsModule, typeof i3.AXRangeSliderModule, typeof i4.AXSelectBoxModule, typeof i5.AXColorBoxModule, typeof i6.AXPopoverModule, typeof i7.AXDecoratorModule, typeof i8.AXLoadingModule, typeof i9.AXDialogModule, typeof AXImageEditorViewComponent, typeof AXImageEditorContainerComponent, typeof AXImageEditorCropComponent, typeof AXImageEditorHistoryComponent, typeof AXImageEditorToolSelectorComponent, typeof AXImageEditorPenComponent, typeof AXImageEditorHighlightComponent, typeof AXImageEditorRotateComponent, typeof AXImageEditorCropperWindowComponent], [typeof AXImageEditorViewComponent, typeof AXImageEditorContainerComponent, typeof AXImageEditorCropComponent, typeof AXImageEditorHistoryComponent, typeof AXImageEditorToolSelectorComponent, typeof AXImageEditorPenComponent, typeof AXImageEditorHighlightComponent, typeof AXImageEditorRotateComponent, typeof AXImageEditorCropperWindowComponent]>;
|
|
290
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXImageEditorModule, never, [typeof i1.AXButtonModule, typeof i2.FormsModule, typeof i3.AXRangeSliderModule, typeof i4.AXSelectBoxModule, typeof i5.AXColorBoxModule, typeof i6.AXPopoverModule, typeof i7.AXDecoratorModule, typeof i8.AXLoadingModule, typeof i9.AXDialogModule, typeof AXImageEditorViewComponent, typeof AXImageEditorContainerComponent, typeof AXImageEditorCropComponent, typeof AXImageEditorHistoryComponent, typeof AXImageEditorToolSelectorComponent, typeof AXImageEditorToolsBarComponent, typeof AXImageEditorPenComponent, typeof AXImageEditorHighlightComponent, typeof AXImageEditorRotateComponent, typeof AXImageEditorCropperWindowComponent], [typeof AXImageEditorViewComponent, typeof AXImageEditorContainerComponent, typeof AXImageEditorCropComponent, typeof AXImageEditorHistoryComponent, typeof AXImageEditorToolSelectorComponent, typeof AXImageEditorToolsBarComponent, typeof AXImageEditorPenComponent, typeof AXImageEditorHighlightComponent, typeof AXImageEditorRotateComponent, typeof AXImageEditorCropperWindowComponent]>;
|
|
265
291
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXImageEditorModule>;
|
|
266
292
|
}
|
|
267
293
|
|
|
268
|
-
export { AXImageEditorContainerComponent, AXImageEditorCropComponent, AXImageEditorCropperWindowComponent, AXImageEditorHighlightComponent, AXImageEditorHistoryComponent, AXImageEditorModule, AXImageEditorPenComponent, AXImageEditorRotateComponent, AXImageEditorService, AXImageEditorToolSelectorComponent, AXImageEditorViewComponent };
|
|
294
|
+
export { AXImageEditorContainerComponent, AXImageEditorCropComponent, AXImageEditorCropperWindowComponent, AXImageEditorHighlightComponent, AXImageEditorHistoryComponent, AXImageEditorModule, AXImageEditorPenComponent, AXImageEditorRotateComponent, AXImageEditorService, AXImageEditorToolComponent, AXImageEditorToolSelectorComponent, AXImageEditorToolsBarComponent, AXImageEditorViewComponent };
|
|
295
|
+
export type { AXImageEditorTool };
|