@acorex/components 19.15.0-next.24 → 19.15.0-next.26
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/accordion/README.md +3 -0
- package/accordion/index.d.ts +3 -0
- package/{collapse2/lib/collapse2-group/collapse2-group.component.d.ts → accordion/lib/accordion-group/accordion-group.component.d.ts} +5 -5
- package/{collapse2/lib/collapse2-item/collapse2-item.component.d.ts → accordion/lib/accordion-item/accordion-item.component.d.ts} +5 -5
- package/accordion/lib/accordion.module.d.ts +8 -0
- package/action-sheet/index.d.ts +1 -0
- package/action-sheet/lib/action-sheet.component.stories.d.ts +7 -0
- package/badge/lib/badge.component.d.ts +2 -1
- package/conversation/index.d.ts +0 -2
- package/conversation/lib/conversation-container/conversation-container.component.d.ts +5 -1
- package/conversation/lib/conversation-input/conversation-input.component.d.ts +2 -2
- package/conversation/lib/conversation-message/conversation-message.component.d.ts +3 -36
- package/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.d.ts +1 -1
- package/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.d.ts +1 -1
- package/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.d.ts +1 -1
- package/conversation/lib/conversation-messages/conversation-message-image-popup/conversation-message-image-popup.component.d.ts +0 -4
- package/conversation/lib/conversation-messages/conversation-message-text/conversation-message-text.component.d.ts +9 -7
- package/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.d.ts +1 -1
- package/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.d.ts +1 -1
- package/conversation/lib/conversation-view/conversation-view.component.d.ts +3 -3
- package/conversation/lib/conversation.types.d.ts +8 -6
- package/conversation/lib/services/conversation.service.d.ts +2 -1
- package/fesm2022/acorex-components-accordion.mjs +119 -0
- package/fesm2022/acorex-components-accordion.mjs.map +1 -0
- package/fesm2022/acorex-components-action-sheet.mjs +30 -13
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +9 -9
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +7 -7
- package/fesm2022/acorex-components-autocomplete.mjs +7 -7
- package/fesm2022/acorex-components-avatar.mjs +11 -11
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +9 -8
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +10 -10
- package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
- package/fesm2022/acorex-components-button-group.mjs +10 -10
- package/fesm2022/acorex-components-button.mjs +17 -17
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +13 -13
- package/fesm2022/acorex-components-check-box.mjs +9 -9
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +8 -8
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +8 -8
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +10 -10
- package/fesm2022/acorex-components-color-box.mjs +9 -11
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +25 -25
- package/fesm2022/acorex-components-comment.mjs +28 -28
- package/fesm2022/acorex-components-conversation.mjs +115 -143
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +46 -46
- package/fesm2022/acorex-components-data-pager.mjs +31 -31
- package/fesm2022/acorex-components-data-table.mjs +37 -37
- package/fesm2022/acorex-components-datetime-box.mjs +7 -7
- package/fesm2022/acorex-components-datetime-input.mjs +12 -9
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +7 -7
- package/fesm2022/acorex-components-decorators.mjs +25 -25
- package/fesm2022/acorex-components-dialog.mjs +12 -12
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer-2.mjs +10 -22
- package/fesm2022/acorex-components-drawer-2.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +13 -13
- package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +13 -13
- package/fesm2022/acorex-components-file-explorer.mjs +25 -25
- package/fesm2022/acorex-components-flow-chart.mjs +16 -16
- package/fesm2022/acorex-components-form.mjs +16 -16
- package/fesm2022/acorex-components-grid-layout-builder.mjs +10 -10
- package/fesm2022/acorex-components-image-editor.mjs +34 -34
- package/fesm2022/acorex-components-image.mjs +7 -7
- package/fesm2022/acorex-components-json-viewer.mjs +7 -7
- package/fesm2022/acorex-components-kbd.mjs +10 -10
- package/fesm2022/acorex-components-label.mjs +7 -7
- package/fesm2022/acorex-components-list.mjs +7 -7
- package/fesm2022/acorex-components-loading-dialog.mjs +10 -10
- package/fesm2022/acorex-components-loading.mjs +18 -18
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +13 -13
- package/fesm2022/acorex-components-media-viewer.mjs +34 -34
- package/fesm2022/acorex-components-menu.mjs +20 -20
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/{acorex-components-modal-acorex-components-modal-CU0UQIFV.mjs → acorex-components-modal-acorex-components-modal-CXJxfYsM.mjs} +21 -21
- package/fesm2022/{acorex-components-modal-acorex-components-modal-CU0UQIFV.mjs.map → acorex-components-modal-acorex-components-modal-CXJxfYsM.mjs.map} +1 -1
- package/fesm2022/{acorex-components-modal-modal-content.component-0cXgTG2F.mjs → acorex-components-modal-modal-content.component-CH3IVkjq.mjs} +5 -5
- package/fesm2022/{acorex-components-modal-modal-content.component-0cXgTG2F.mjs.map → acorex-components-modal-modal-content.component-CH3IVkjq.mjs.map} +1 -1
- package/fesm2022/acorex-components-modal.mjs +1 -1
- package/fesm2022/acorex-components-navbar.mjs +7 -7
- package/fesm2022/acorex-components-notification.mjs +12 -12
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +7 -7
- package/fesm2022/acorex-components-otp.mjs +7 -7
- package/fesm2022/acorex-components-page.mjs +10 -10
- package/fesm2022/acorex-components-paint.mjs +25 -25
- package/fesm2022/acorex-components-password-box.mjs +10 -10
- package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
- package/fesm2022/acorex-components-phone-box.mjs +7 -7
- package/fesm2022/acorex-components-picker.mjs +13 -13
- package/fesm2022/acorex-components-popover.mjs +7 -7
- package/fesm2022/acorex-components-popup.mjs +10 -10
- package/fesm2022/acorex-components-progress-bar.mjs +8 -8
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-qrcode.mjs +7 -7
- package/fesm2022/acorex-components-query-builder.mjs +7 -7
- package/fesm2022/acorex-components-radio.mjs +7 -7
- package/fesm2022/acorex-components-rail-navigation.mjs +13 -13
- package/fesm2022/acorex-components-range-slider.mjs +9 -9
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +7 -7
- package/fesm2022/acorex-components-rest-api-generator.mjs +22 -22
- package/fesm2022/acorex-components-result.mjs +7 -7
- package/fesm2022/acorex-components-routing-progress.mjs +7 -7
- package/fesm2022/acorex-components-scheduler.mjs +45 -40
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-scss.mjs +4 -4
- package/fesm2022/acorex-components-search-box.mjs +7 -7
- package/fesm2022/acorex-components-select-box.mjs +7 -7
- package/fesm2022/acorex-components-selection-list-2.mjs +163 -0
- package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -0
- package/fesm2022/acorex-components-selection-list.mjs +7 -7
- package/fesm2022/acorex-components-side-menu.mjs +22 -14
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +7 -7
- package/fesm2022/acorex-components-slider.mjs +9 -9
- package/fesm2022/acorex-components-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-sliding-item.mjs +14 -14
- package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-components-step-wizard.mjs +13 -13
- package/fesm2022/acorex-components-switch.mjs +12 -12
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +13 -13
- package/fesm2022/acorex-components-tag-box.mjs +7 -7
- package/fesm2022/acorex-components-tag.mjs +8 -8
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +7 -7
- package/fesm2022/acorex-components-text-box.mjs +10 -10
- package/fesm2022/acorex-components-time-duration.mjs +7 -7
- package/fesm2022/acorex-components-time-line.mjs +10 -10
- package/fesm2022/acorex-components-toast.mjs +12 -12
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-toolbar.mjs +7 -7
- package/fesm2022/acorex-components-tooltip.mjs +10 -10
- package/fesm2022/acorex-components-tree-view.mjs +10 -10
- package/fesm2022/acorex-components-uploader.mjs +22 -22
- package/fesm2022/acorex-components-video-player.mjs +7 -7
- package/fesm2022/acorex-components-wysiwyg.mjs +31 -31
- package/package.json +9 -5
- package/scheduler/lib/scheduler.class.d.ts +2 -2
- package/selection-list-2/README.md +3 -0
- package/selection-list-2/index.d.ts +3 -0
- package/selection-list-2/lib/selection-list2.component.d.ts +29 -0
- package/selection-list-2/lib/selection-list2.module.d.ts +13 -0
- package/selection-list-2/lib/selection-list2.type.d.ts +7 -0
- package/side-menu/lib/side-menu.directive.d.ts +1 -0
- package/collapse2/README.md +0 -3
- package/collapse2/index.d.ts +0 -3
- package/collapse2/lib/collapse2.module.d.ts +0 -8
- package/fesm2022/acorex-components-collapse2.mjs +0 -120
- package/fesm2022/acorex-components-collapse2.mjs.map +0 -1
@@ -1,6 +1,6 @@
|
|
1
1
|
import { AXEvent, AXComponent, AXFocusableComponent, AXValuableComponent, MXInputBaseValueComponent, MXLookComponent, MXBaseComponent, AXRippleDirective } from '@acorex/cdk/common';
|
2
2
|
import * as i0 from '@angular/core';
|
3
|
-
import {
|
3
|
+
import { signal, Injectable, input, inject, effect, forwardRef, ViewEncapsulation, Component, contentChild, computed, output, ViewChild, ChangeDetectionStrategy, viewChild, HostBinding, Renderer2, afterNextRender, PLATFORM_ID, Optional, Inject, NgModule } from '@angular/core';
|
4
4
|
import * as i1 from '@angular/forms';
|
5
5
|
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
6
6
|
import { AXButtonComponent, AXButtonItemListComponent, AXButtonItemComponent, AXButtonModule } from '@acorex/components/button';
|
@@ -27,46 +27,15 @@ import { AXDateTimeModule } from '@acorex/core/date-time';
|
|
27
27
|
class AXConversationActionEvent extends AXEvent {
|
28
28
|
}
|
29
29
|
|
30
|
-
/**
|
31
|
-
* A container for displaying and managing conversations.
|
32
|
-
* @category Components
|
33
|
-
*/
|
34
|
-
class AXConversationContainerComponent {
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
36
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: AXConversationContainerComponent, isStandalone: true, selector: "ax-conversation-container", providers: [
|
37
|
-
{ provide: AXComponent, useExisting: AXConversationContainerComponent },
|
38
|
-
{ provide: AXFocusableComponent, useExisting: AXConversationContainerComponent },
|
39
|
-
{ provide: AXValuableComponent, useExisting: AXConversationContainerComponent },
|
40
|
-
{
|
41
|
-
provide: NG_VALUE_ACCESSOR,
|
42
|
-
useExisting: forwardRef(() => AXConversationContainerComponent),
|
43
|
-
multi: true,
|
44
|
-
},
|
45
|
-
], ngImport: i0, template: "<div class=\"ax-conversation-container\">\n <ng-content> </ng-content>\n</div>\n", styles: ["ax-conversation-container{--ax-comp-conversation-other-color: var(--ax-sys-color-surface);--ax-comp-conversation-other-color-fore: var(--ax-sys-color-on-surface);--ax-comp-conversation-status-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-conversation-other-bar-color: var(--ax-sys-color-primary-light-surface);--ax-comp-conversation-other-progress-color: var(--ax-sys-color-on-primary-light-surface);--ax-comp-conversation-own-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-conversation-own-color-fore: var(--ax-sys-color-primary-darkest-surface);--ax-comp-conversation-own-reply-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-conversation-own-reply-color-fore: var(--ax-sys-color-on-primary-dark-surface);--ax-comp-conversation-other-reply-color: var(--ax-sys-color-primary-lighter-surface);--ax-comp-conversation-other-reply-color-fore: var(--ax-sys-color-on-primary-lighter-surface);--ax-comp-conversation-border-color: var(--ax-sys-color-primary-darkest-surface);--ax-comp-conversation-own-bar-color: var(--ax-sys-color-primary-light-surface);--ax-comp-conversation-own-progress-color: var(--ax-sys-color-on-primary-light-surface)}ax-conversation-container{width:100%;display:block}ax-conversation-container>.ax-editor-container{display:block;height:100%!important}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
46
|
-
}
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationContainerComponent, decorators: [{
|
48
|
-
type: Component,
|
49
|
-
args: [{ selector: 'ax-conversation-container', encapsulation: ViewEncapsulation.None, providers: [
|
50
|
-
{ provide: AXComponent, useExisting: AXConversationContainerComponent },
|
51
|
-
{ provide: AXFocusableComponent, useExisting: AXConversationContainerComponent },
|
52
|
-
{ provide: AXValuableComponent, useExisting: AXConversationContainerComponent },
|
53
|
-
{
|
54
|
-
provide: NG_VALUE_ACCESSOR,
|
55
|
-
useExisting: forwardRef(() => AXConversationContainerComponent),
|
56
|
-
multi: true,
|
57
|
-
},
|
58
|
-
], template: "<div class=\"ax-conversation-container\">\n <ng-content> </ng-content>\n</div>\n", styles: ["ax-conversation-container{--ax-comp-conversation-other-color: var(--ax-sys-color-surface);--ax-comp-conversation-other-color-fore: var(--ax-sys-color-on-surface);--ax-comp-conversation-status-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-conversation-other-bar-color: var(--ax-sys-color-primary-light-surface);--ax-comp-conversation-other-progress-color: var(--ax-sys-color-on-primary-light-surface);--ax-comp-conversation-own-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-conversation-own-color-fore: var(--ax-sys-color-primary-darkest-surface);--ax-comp-conversation-own-reply-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-conversation-own-reply-color-fore: var(--ax-sys-color-on-primary-dark-surface);--ax-comp-conversation-other-reply-color: var(--ax-sys-color-primary-lighter-surface);--ax-comp-conversation-other-reply-color-fore: var(--ax-sys-color-on-primary-lighter-surface);--ax-comp-conversation-border-color: var(--ax-sys-color-primary-darkest-surface);--ax-comp-conversation-own-bar-color: var(--ax-sys-color-primary-light-surface);--ax-comp-conversation-own-progress-color: var(--ax-sys-color-on-primary-light-surface)}ax-conversation-container{width:100%;display:block}ax-conversation-container>.ax-editor-container{display:block;height:100%!important}\n"] }]
|
59
|
-
}] });
|
60
|
-
|
61
30
|
class AXConversationService {
|
62
31
|
constructor() {
|
63
32
|
this.replyId = signal('');
|
64
33
|
this.chats = signal([]);
|
65
34
|
}
|
66
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
67
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
36
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationService }); }
|
68
37
|
}
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationService, decorators: [{
|
70
39
|
type: Injectable
|
71
40
|
}] });
|
72
41
|
|
@@ -137,13 +106,56 @@ class AXRecordingService {
|
|
137
106
|
this.time.hours = 0;
|
138
107
|
this.timer.set('00:0');
|
139
108
|
}
|
140
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
141
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
109
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXRecordingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
110
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXRecordingService }); }
|
142
111
|
}
|
143
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXRecordingService, decorators: [{
|
144
113
|
type: Injectable
|
145
114
|
}] });
|
146
115
|
|
116
|
+
/**
|
117
|
+
* A container for displaying and managing conversations.
|
118
|
+
* @category Components
|
119
|
+
*/
|
120
|
+
class AXConversationContainerComponent {
|
121
|
+
constructor() {
|
122
|
+
this.chatData = input([]);
|
123
|
+
this.conversationService = inject(AXConversationService);
|
124
|
+
this.#init = effect(() => {
|
125
|
+
this.conversationService.chats.set(this.chatData());
|
126
|
+
});
|
127
|
+
}
|
128
|
+
#init;
|
129
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
130
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.14", type: AXConversationContainerComponent, isStandalone: true, selector: "ax-conversation-container", inputs: { chatData: { classPropertyName: "chatData", publicName: "chatData", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
131
|
+
{ provide: AXComponent, useExisting: AXConversationContainerComponent },
|
132
|
+
{ provide: AXFocusableComponent, useExisting: AXConversationContainerComponent },
|
133
|
+
{ provide: AXValuableComponent, useExisting: AXConversationContainerComponent },
|
134
|
+
{
|
135
|
+
provide: NG_VALUE_ACCESSOR,
|
136
|
+
useExisting: forwardRef(() => AXConversationContainerComponent),
|
137
|
+
multi: true,
|
138
|
+
},
|
139
|
+
AXConversationService,
|
140
|
+
AXRecordingService,
|
141
|
+
], ngImport: i0, template: "<div class=\"ax-conversation-container\">\n <ng-content> </ng-content>\n</div>\n", styles: ["ax-conversation-container{--ax-comp-conversation-other-color: var(--ax-sys-color-surface);--ax-comp-conversation-other-color-fore: var(--ax-sys-color-on-surface);--ax-comp-conversation-status-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-conversation-other-bar-color: var(--ax-sys-color-primary-light-surface);--ax-comp-conversation-other-progress-color: var(--ax-sys-color-on-primary-light-surface);--ax-comp-conversation-own-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-conversation-own-color-fore: var(--ax-sys-color-primary-darkest-surface);--ax-comp-conversation-own-reply-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-conversation-own-reply-color-fore: var(--ax-sys-color-on-primary-dark-surface);--ax-comp-conversation-other-reply-color: var(--ax-sys-color-primary-lighter-surface);--ax-comp-conversation-other-reply-color-fore: var(--ax-sys-color-on-primary-lighter-surface);--ax-comp-conversation-border-color: var(--ax-sys-color-primary-darkest-surface);--ax-comp-conversation-own-bar-color: var(--ax-sys-color-primary-light-surface);--ax-comp-conversation-own-progress-color: var(--ax-sys-color-on-primary-light-surface)}ax-conversation-container{width:100%;display:block}ax-conversation-container>.ax-editor-container{display:block;height:100%!important}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
142
|
+
}
|
143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationContainerComponent, decorators: [{
|
144
|
+
type: Component,
|
145
|
+
args: [{ selector: 'ax-conversation-container', encapsulation: ViewEncapsulation.None, providers: [
|
146
|
+
{ provide: AXComponent, useExisting: AXConversationContainerComponent },
|
147
|
+
{ provide: AXFocusableComponent, useExisting: AXConversationContainerComponent },
|
148
|
+
{ provide: AXValuableComponent, useExisting: AXConversationContainerComponent },
|
149
|
+
{
|
150
|
+
provide: NG_VALUE_ACCESSOR,
|
151
|
+
useExisting: forwardRef(() => AXConversationContainerComponent),
|
152
|
+
multi: true,
|
153
|
+
},
|
154
|
+
AXConversationService,
|
155
|
+
AXRecordingService,
|
156
|
+
], template: "<div class=\"ax-conversation-container\">\n <ng-content> </ng-content>\n</div>\n", styles: ["ax-conversation-container{--ax-comp-conversation-other-color: var(--ax-sys-color-surface);--ax-comp-conversation-other-color-fore: var(--ax-sys-color-on-surface);--ax-comp-conversation-status-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-conversation-other-bar-color: var(--ax-sys-color-primary-light-surface);--ax-comp-conversation-other-progress-color: var(--ax-sys-color-on-primary-light-surface);--ax-comp-conversation-own-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-conversation-own-color-fore: var(--ax-sys-color-primary-darkest-surface);--ax-comp-conversation-own-reply-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-conversation-own-reply-color-fore: var(--ax-sys-color-on-primary-dark-surface);--ax-comp-conversation-other-reply-color: var(--ax-sys-color-primary-lighter-surface);--ax-comp-conversation-other-reply-color-fore: var(--ax-sys-color-on-primary-lighter-surface);--ax-comp-conversation-border-color: var(--ax-sys-color-primary-darkest-surface);--ax-comp-conversation-own-bar-color: var(--ax-sys-color-primary-light-surface);--ax-comp-conversation-own-progress-color: var(--ax-sys-color-on-primary-light-surface)}ax-conversation-container{width:100%;display:block}ax-conversation-container>.ax-editor-container{display:block;height:100%!important}\n"] }]
|
157
|
+
}] });
|
158
|
+
|
147
159
|
/**
|
148
160
|
* An input component for entering conversation messages.
|
149
161
|
*
|
@@ -331,8 +343,8 @@ class AXConversationInputComponent extends classes((MXInputBaseValueComponent),
|
|
331
343
|
closeReplyHandler() {
|
332
344
|
this.conversationService.replyId.set('');
|
333
345
|
}
|
334
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
335
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
346
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
347
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: AXConversationInputComponent, isStandalone: true, selector: "ax-conversation-input", inputs: { look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, hasAttachment: { classPropertyName: "hasAttachment", publicName: "hasAttachment", isSignal: true, isRequired: false, transformFunction: null }, hasVoice: { classPropertyName: "hasVoice", publicName: "hasVoice", isSignal: true, isRequired: false, transformFunction: null }, hasEmoji: { classPropertyName: "hasEmoji", publicName: "hasEmoji", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, acceptFileType: { classPropertyName: "acceptFileType", publicName: "acceptFileType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSendClick: "onSendClick", onStartRecording: "onStartRecording", onCancelRecording: "onCancelRecording", onEnterPressed: "onEnterPressed" }, providers: [
|
336
348
|
{ provide: AXComponent, useExisting: AXConversationInputComponent },
|
337
349
|
{ provide: AXFocusableComponent, useExisting: AXConversationInputComponent },
|
338
350
|
{ provide: AXValuableComponent, useExisting: AXConversationInputComponent },
|
@@ -343,7 +355,7 @@ class AXConversationInputComponent extends classes((MXInputBaseValueComponent),
|
|
343
355
|
},
|
344
356
|
], queries: [{ propertyName: "sendIcon", first: true, predicate: ["ax-icon"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "inputFile", first: true, predicate: ["inputFile"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (replyChat()) {\n <div class=\"ax-editor-reply-container ax-editor-container ax-{{ look }}\">\n <div class=\"ax-reply-start\">\n <i class=\"fa-solid fa-reply\"></i>\n @switch (replyChat().type) {\n @case ('text') {\n <p>\n {{ replyChat().content }}\n </p>\n }\n @case ('image') {\n <div class=\"ax-reply-types\">\n <img src=\"{{ replyChat().content }}\" alt=\"\" />\n {{ replyChat().type }}\n </div>\n }\n @case ('video') {\n <div class=\"ax-reply-types\">\n <video src=\"{{ replyChat().content }}\" alt=\"\"></video>\n {{ replyChat().type }}\n </div>\n }\n @case ('file') {\n <div class=\"ax-reply-types\">\n <i class=\"fa-regular fa-folder-open\"></i>\n {{ replyChat().name }}\n </div>\n }\n @default {\n <p>\n {{ replyChat().type }}\n </p>\n }\n }\n </div>\n <i (click)=\"closeReplyHandler()\" class=\"fa-solid fa-xmark ax-cursor-pointer\"></i>\n </div>\n}\n\n<div class=\"ax-conversation-input ax-editor-container ax-{{ look }}\" [class.ax-state-recording]=\"recording()\">\n @if (recording()) {\n <div class=\"ax-conversation-input-start-side\">\n <span class=\"ax-record-dot\"></span>\n <span>{{ recordingService.timer() }}</span>\n </div>\n <div class=\"ax-conversation-input-main-side\">\n <ax-button\n class=\"ax-sm\"\n look=\"blank\"\n color=\"primary\"\n [text]=\"'cancel' | translate | async\"\n (onClick)=\"handleCancelRecordingClick()\"\n ></ax-button>\n </div>\n <div class=\"ax-conversation-input-end-side\">\n <ax-button look=\"solid\" color=\"danger\" class=\"ax-blob ax-sm\" (onClick)=\"handleSendVoiceClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n </div>\n } @else {\n @if (hasEmoji()) {\n <div class=\"ax-conversation-input-start-side\">\n <ax-button look=\"blank\" class=\"ax-sm\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-emoji\"></i>\n </ax-icon>\n <ax-dropdown-panel>\n <ng-container>\n <div class=\"ax-emoji-container\">\n <div>\u26A0\uFE0F</div>\n <div>\u27A1\uFE0F</div>\n <div>\uD83D\uDD03</div>\n <div>\uD83D\uDD37</div>\n <div>\uD83E\uDD1A</div>\n <div>\uD83D\uDE02</div>\n <div>\uD83D\uDE0A</div>\n </div>\n </ng-container>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n }\n\n <textarea\n class=\"ax-conversation-input-main-side\"\n oninput='this.style.height = \"\";this.style.height = this.scrollHeight + \"px\"'\n type=\"text\"\n rows=\"1\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"keyDownHandler($event)\"\n (keyup)=\"keyUpHandler($event)\"\n (keypress)=\"keyPressHandler($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n >\n </textarea>\n\n <div class=\"ax-conversation-input-end-side\">\n @if (!value) {\n @if (hasAttachment()) {\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleAttachClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-attach\"></i>\n </ax-icon>\n </ax-button>\n <input\n multiple\n #inputFile\n [accept]=\"acceptFileType()\"\n type=\"file\"\n class=\"ax-attach-input\"\n (change)=\"handleChangeFile($event)\"\n />\n }\n @if (hasVoice()) {\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleRecordClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-mic\"></i>\n </ax-icon>\n </ax-button>\n }\n } @else {\n <ax-button [disabled]=\"isLoading()\" look=\"solid\" color=\"primary\" class=\"ax-sm\" (onClick)=\"handleSendClick()\">\n @if (isLoading()) {\n <ax-loading-spinner color=\"primary\"></ax-loading-spinner>\n } @else {\n @if (sendIcon()) {\n <ng-content select=\"ax-icon\"></ng-content>\n } @else {\n <ax-icon>\n <i class=\"ax-icon ax-icon-arrow-long-up\"></i>\n </ax-icon>\n }\n }\n </ax-button>\n }\n </div>\n }\n</div>\n", styles: [".ax-action-list{display:flex;gap:.25rem}.ax-action-list.ax-action-list-horizontal{flex-direction:row}.ax-action-list.ax-action-list-horizontal ax-divider{width:0px;height:auto;border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}.ax-action-list.ax-action-list-vertical{flex-direction:column}.ax-action-list.ax-action-list-vertical .ax-action-item>div.ax-action-item-prefix ax-prefix{min-width:1rem}.ax-action-list.ax-action-list-vertical ax-divider{height:1px;width:100%}.ax-action-list ax-title{opacity:.5;display:block;font-size:.75rem;line-height:1rem;font-weight:bolder;text-transform:uppercase;padding-block:var(--ax-comp-action-item-padding-block, .25rem);padding-inline:var(--ax-comp-action-item-padding-inline, calc(var(--ax-comp-action-item-padding-inline, .875rem) / 3 * 2))}.ax-action-list ax-divider{display:block;background-color:rgba(var(--ax-sys-color-border-lightest-surface))}.ax-action-list ax-text{white-space:nowrap}.ax-action-list .ax-action-item{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;line-height:1.25rem;height:2.25rem;width:100%;cursor:pointer;padding-inline:var(--ax-comp-action-item-padding-inline, .875rem)}.ax-action-list .ax-action-item.ax-state-disabled{cursor:not-allowed;opacity:.5}.ax-action-list .ax-action-item:hover:not(.ax-action-list .ax-action-item:hover.ax-state-disabled,.ax-action-list .ax-action-item:hover.ax-state-selected){background-color:rgba(var(--ax-sys-color-surface))}.ax-action-list .ax-action-item:hover:not(.ax-action-list .ax-action-item:hover.ax-state-disabled,.ax-action-list .ax-action-item:hover.ax-state-selected) ax-prefix,.ax-action-list .ax-action-item:hover:not(.ax-action-list .ax-action-item:hover.ax-state-disabled,.ax-action-list .ax-action-item:hover.ax-state-selected) ax-suffix{opacity:1}.ax-action-list .ax-action-item>div{display:flex;align-items:center;justify-content:center}.ax-action-list .ax-action-item>div.ax-action-item-prefix,.ax-action-list .ax-action-item>div.ax-action-item-suffix{gap:.5rem}.ax-action-list .ax-action-item ax-prefix{display:flex;gap:.5rem}.ax-action-list .ax-action-item ax-suffix ax-text{color:rgba(var(--ax-sys-body-text-color));opacity:.5;font-weight:lighter}.ax-action-sheet-panel{--ax-comp-action-sheet-border-radius-size: var(--ax-sys-border-radius);overflow:hidden;border-top-left-radius:var(--ax-comp-action-sheet-border-radius-size);border-top-right-radius:var(--ax-comp-action-sheet-border-radius-size);background-color:rgba(var(--ax-sys-color-surface-lowest));--ax-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--ax-shadow-colored: 0 10px 15px -3px var(--ax-shadow-color), 0 4px 6px -4px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow);animation:1s both ax-fadeInUp;animation-duration:var(--ax-sys-transition-duration)}@keyframes ax-fadeInUp{0%{transform:translate3d(0,100%,0);opacity:0}}@-moz-document url-prefix(){*{scrollbar-color:var(--ax-sys-scroller-thumb-color) var(--ax-sys-scroller-track-color)}}.ax-checkbox{margin:0;height:1rem;min-width:1rem;cursor:pointer;-webkit-appearance:none;appearance:none;border-radius:.25rem;border-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));background-color:rgba(var(--ax-sys-color-input-surface));vertical-align:middle;outline:2px solid transparent;outline-offset:2px}.ax-checkbox:checked,.ax-checkbox:indeterminate{border-color:rgba(var(--ax-sys-color-primary-500))!important;background-color:rgba(var(--ax-sys-color-primary-500))!important;background-size:contain;background-repeat:no-repeat}.ax-checkbox:checked{background-image:url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e\")}.ax-checkbox:indeterminate{background-image:url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9PC9zdHlsZT48L2RlZnM+PHJlY3QgY2xhc3M9ImNscy0xIiB4PSIzIiB5PSI3IiB3aWR0aD0iMTAiIGhlaWdodD0iMiIvPjwvc3ZnPg==)}.ax-checkbox:focus-visible,.ax-checkbox:focus{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-surface)),0 0 0 4px rgba(var(--ax-sys-color-primary-500))}.ax-checkbox:disabled{cursor:not-allowed;opacity:.5}.ax-drop-down{display:contents}.ax-drop-down .ax-dropdown-content{display:flex;flex:1 1 0%;align-items:center;overflow-x:auto;overflow-y:hidden;font-size:.875rem;line-height:1.25rem;text-transform:capitalize}.ax-drop-down .ax-dropdown-content.ax-state-disabled{cursor:not-allowed;opacity:.5}.ax-overlay-pane{margin:.25rem 0;min-width:10rem;height:fit-content;overflow:hidden;border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));--ax-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--ax-shadow-colored: 0 4px 6px -1px var(--ax-shadow-color), 0 2px 4px -2px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow);border-top-left-radius:var(--ax-comp-drop-down-border-top-left-radius, var(--ax-sys-border-radius));border-top-right-radius:var(--ax-comp-drop-down-border-top-right-radius, var(--ax-sys-border-radius));border-bottom-left-radius:var(--ax-comp-drop-down-border-bottom-left-radius, var(--ax-sys-border-radius));border-bottom-right-radius:var(--ax-comp-drop-down-border-bottom-right-radius, var(--ax-sys-border-radius))}@media (min-width: 320px) and (max-width: 640px){.ax-overlay-pane{margin:0}}.ax-overlay-pane ax-header,.ax-overlay-pane ax-footer{background-color:rgba(var(--ax-sys-color-lightest-surface));padding:.75rem}.ax-overlay-pane.ax-overlay-center{height:fit-content;width:80vw;max-width:90vh}.ax-overlay-pane.ax-overlay-actionsheet{height:auto;max-height:85vh;width:100%;background-color:rgba(var(--ax-sys-color-lightest-surface))}.ax-overlay-pane.ax-overlay-actionsheet.ax-full{height:95vh;max-height:95vh}.ax-overlay-pane.ax-overlay-full{width:100vw;height:100vh}.ax-dark .ax-overlay-pane{background-color:rgba(var(--ax-sys-color-darker-surface));border-color:rgba(var(--ax-sys-color-border-darker-surface))}:root,.ax-editor-container{--ax-comp-editor-font-size: .875rem;--ax-comp-editor-gap: .5rem;--ax-comp-editor-space-start-size: .5rem;--ax-comp-editor-space-end-size: .5rem;--ax-comp-editor-space-block-size: .5rem;--ax-comp-editor-height: var(--ax-sys-size-base);--ax-comp-editor-placeholder-space-x: .75rem;--ax-comp-editor-error-bg-color: var(--ax-sys-color-danger-light-surface);--ax-comp-editor-error-text-color: var(--ax-sys-color-danger-surface);--ax-comp-editor-error-border-color: var(--ax-sys-color-border-danger-surface);--ax-comp-editor-error-box-shadow-color: var(--ax-sys-color-danger-surface);--ax-comp-editor-text-color: var(--ax-sys-color-on-surface);--ax-comp-editor-border-color: var(--ax-sys-color-border-surface);--ax-comp-editor-border-radius: var(--ax-sys-border-radius);--ax-comp-editor-box-outline-width: 1px;--ax-comp-editor-box-outline-color: var(--ax-sys-color-primary-surface);--ax-comp-editor-placeholder-opacity: .5;--ax-comp-editor-focused-border-color: var(--ax-sys-color-border-primary-surface);--ax-comp-editor-focused-box-shadow-color: var(--ax-sys-color-primary-surface);--ax-comp-editor-border-width: 0px}.ax-editor-container{display:flex;align-items:center;overflow:hidden;width:100%;height:var(--ax-comp-editor-height);font-size:var(--ax-comp-editor-font-size);border-radius:var(--ax-comp-editor-border-radius);border-width:var(--ax-comp-editor-border-width);border-color:rgba(var(--ax-comp-editor-border-color));background-color:rgba(var(--ax-comp-editor-bg-color));color:rgba(var(--ax-comp-editor-text-color));position:relative;gap:var(--ax-comp-editor-gap);padding-inline-end:var(--ax-comp-editor-space-end-size);padding-inline-start:var(--ax-comp-editor-space-start-size)}.ax-editor-container .ax-icon{font-size:var(--ax-comp-editor-icon-font-size)}.ax-editor-container:has(>ax-prefix){padding-inline-start:0}.ax-editor-container:has(>ax-prefix)>ax-prefix{padding-inline-start:var(--ax-comp-editor-space-start-size)}.ax-editor-container:has(>ax-prefix)>ax-prefix:has(ax-button,.ax-editor-container){--ax-comp-editor-space-start-size: 0px}.ax-editor-container:has(>ax-suffix){padding-inline-end:0}.ax-editor-container:has(>ax-suffix)>ax-suffix{padding-inline-end:var(--ax-comp-editor-space-end-size)}.ax-editor-container:has(>ax-suffix)>ax-suffix:has(ax-button,.ax-editor-container){--ax-comp-editor-space-end-size: 0px}.ax-editor-container:focus-within{border-color:rgba(var(--ax-comp-editor-focused-border-color));outline-width:var(--ax-comp-editor-box-outline-width);outline-style:solid;outline-color:rgba(var(--ax-comp-editor-focused-border-color))}.ax-editor-container.ax-state-error{border-color:rgba(var(--ax-comp-editor-error-border-color));outline-width:var(--ax-comp-editor-box-outline-width);outline-color:rgba(var(--ax-comp-editor-error-border-color));outline-style:solid}.ax-editor-container.ax-state-error:focus-within{border-color:rgba(var(--ax-comp-editor-error-border-color))}.ax-editor-container.ax-state-error .ax-input .ax-placeholder,.ax-editor-container.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-comp-editor-error-text-color),var(--ax-comp-editor-placeholder-opacity))}.ax-editor-container.ax-solid{--ax-comp-editor-bg-color: var(--ax-sys-color-lightest-surface);--ax-comp-editor-border-width: 1px}.ax-editor-container.ax-outline{--ax-comp-editor-bg-color: 0, 0, 0, 0;--ax-comp-editor-border-width: 1px}.ax-editor-container.ax-flat{--ax-comp-editor-border-width: 2px;--ax-comp-editor-border-radius: 0px;--ax-comp-editor-box-outline-width: 0px;border-width:0px!important;border-bottom-width:var(--ax-comp-editor-border-width)!important}.ax-editor-container.ax-fill{--ax-comp-editor-box-outline-width: 2px;--ax-comp-editor-border-width: 0px;--ax-comp-editor-bg-color: var(--ax-sys-color-surface);--ax-comp-editor-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-editor-border-color: var(--ax-sys-color-border-lighter-surface)}.ax-editor-container.ax-none{--ax-comp-editor-border-radius: 0px;--ax-comp-editor-box-outline-width: 0px;--ax-comp-editor-border-width: 0px;--ax-comp-editor-bg-color: 0, 0, 0, 0;--ax-comp-editor-border-color: 0, 0, 0, 0;--ax-comp-editor-text-color: var(--ax-sys-color-on-lighter-surface)}.ax-editor-container .ax-editor-input{height:100%;flex:1 1 0%}.ax-editor-container .ax-editor-input .ax-input{height:100%}.ax-editor-container .ax-input{font-size:var(--ax-comp-editor-font-size);line-height:var(--ax-comp-editor-font-size);color:rgba(var(--ax-comp-editor-text-color));cursor:inherit}.ax-editor-container .ax-input .ax-placeholder,.ax-editor-container .ax-input::placeholder{font-size:inherit;font-weight:400;color:rgb(var(--ax-comp-editor-text-color),var(--ax-comp-editor-placeholder-opacity))}.ax-editor-container .ax-input:focus,.ax-editor-container .ax-input:focus-visible,.ax-editor-container .ax-input:focus-within{outline:none}.ax-editor-container.ax-state-disabled{opacity:.5;cursor:not-allowed}.ax-editor-container .ax-editor-control{display:flex;height:100%;align-items:center;justify-content:center;padding-inline-start:.5rem;font-size:1.125rem;line-height:1.75rem;color:rgba(var(--ax-comp-editor-text-color))}.ax-editor-container.ax-button-icon{padding:0 .5rem}.ax-editor-container .ax-input,.ax-editor-container .ax-text-area{text-align:inherit;font-family:inherit;font-size:inherit;line-height:inherit;height:100%;width:100%;flex:1 1 0%;background-color:transparent;font-weight:inherit}.ax-editor-container .ax-input:focus,.ax-editor-container .ax-text-area:focus{box-shadow:none}.ax-editor-container .ax-editor-button{font-size:var(--ax-comp-editor-button-font-size, var(--ax-comp-editor-font-size));height:var(--ax-comp-editor-button-height, 100%)}.ax-editor-container>ax-prefix,.ax-editor-container>ax-suffix{height:100%;max-width:fit-content}.ax-editor-container>ax-prefix ax-button,.ax-editor-container>ax-prefix ax-text,.ax-editor-container>ax-prefix ax-icon,.ax-editor-container>ax-prefix .ax-editor-container,.ax-editor-container>ax-suffix ax-button,.ax-editor-container>ax-suffix ax-text,.ax-editor-container>ax-suffix ax-icon,.ax-editor-container>ax-suffix .ax-editor-container{display:flex;height:100%;align-items:center;justify-content:center;border-radius:0}.ax-editor-container>ax-prefix ax-title,.ax-editor-container>ax-suffix ax-title{padding-left:1rem;padding-right:1rem}.ax-editor-container>ax-prefix>ax-text,.ax-editor-container>ax-suffix>ax-text{display:flex;align-items:center;justify-content:center}.ax-editor-container .ax-button{height:100%!important;border-radius:0!important}.ax-editor-container .ax-button.ax-button-icon{height:100%;width:var(--ax-comp-editor-height)}.ax-editor-container ax-popover{position:absolute}.ax-xs .ax-editor-container,.ax-editor-container.ax-xs{--ax-comp-editor-font-size: .75rem;--ax-comp-editor-space-start-size: .25rem;--ax-comp-editor-space-end-size: .25rem;--ax-comp-editor-button-font-size: .625rem;--ax-comp-editor-gap: .25rem;--ax-comp-editor-icon-font-size: .75rem}.ax-sm .ax-editor-container,.ax-editor-container.ax-sm{--ax-comp-editor-font-size: .875rem;--ax-comp-editor-space-start-size: .5rem;--ax-comp-editor-space-end-size: .5rem;--ax-comp-editor-button-font-size: .75rem;--ax-comp-editor-gap: .375rem;--ax-comp-editor-icon-font-size: .875rem}.ax-md .ax-editor-container,.ax-editor-container,.ax-editor-container.ax-md{--ax-comp-editor-space-start-size: .75rem;--ax-comp-editor-space-end-size: .75rem;--ax-comp-editor-button-font-size: .875rem;--ax-comp-editor-gap: .5rem;--ax-comp-editor-icon-font-size: 1rem}.ax-lg .ax-editor-container,.ax-editor-container.ax-lg{--ax-comp-editor-font-size: 1.125rem;--ax-comp-editor-space-start-size: 1.125rem;--ax-comp-editor-space-end-size: 1.125rem;--ax-comp-editor-button-font-size: .875rem;--ax-comp-editor-gap: .625rem;--ax-comp-editor-icon-font-size: 1.25rem}.ax-xl .ax-editor-container,.ax-editor-container.ax-xl{--ax-comp-editor-font-size: 1.5rem;--ax-comp-editor-space-start-size: 1.5rem;--ax-comp-editor-space-end-size: 1.5rem;--ax-comp-editor-button-font-size: 1rem;--ax-comp-editor-gap: .75rem;--ax-comp-editor-icon-font-size: 1.5rem}ax-validation-rule{position:absolute}.ax-general-button{display:inline-flex;height:var(--ax-sys-size-base);cursor:pointer;align-items:center;justify-content:center;border-radius:var(--ax-sys-border-radius);padding-left:var(--ax-comp-general-button-padding-left, 1rem);padding-right:var(--ax-comp-general-button-padding-right, 1rem);font-size:.875rem;line-height:1.25rem;color:rgb(var(--ax-sys-color-on-surface),.75)}.ax-general-button:hover:not(.ax-general-button:hover:disabled,.ax-state-disabled){color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity))}.ax-general-button:focus:not(.ax-general-button:focus:disabled,.ax-state-disabled,.ax-general-button:focus-visible:disabled),.ax-general-button:focus-visible:not(.ax-general-button:focus:disabled,.ax-state-disabled,.ax-general-button:focus-visible:disabled){color:rgba(var(--ax-sys-color-primary-700),var(--tw-text-opacity))}.ax-general-button:active:not(.ax-general-button:active:disabled,.ax-state-disabled){color:rgba(var(--ax-sys-color-primary-300),var(--tw-text-opacity))}.ax-general-button.ax-button-icon{padding-left:var(--ax-comp-general-button-padding-left, .5rem);padding-right:var(--ax-comp-general-button-padding-right, .5rem);font-size:100%}.ax-general-button.ax-button-icon>button{display:flex}.ax-general-button.ax-button-rounded{border-radius:var(--ax-sys-border-radius)}.ax-general-button:disabled,.ax-general-button.ax-state-disabled{cursor:not-allowed;opacity:.5}.ax-clear-button{display:inline-flex;height:var(--ax-sys-size-base);align-items:center;justify-content:center;margin-left:.25rem;margin-right:.25rem;font-size:1rem;line-height:1.5rem;color:rgb(var(--ax-sys-color-on-surface),.75)}.ax-clear-button>button{display:flex}.ax-clear-button:hover:not(.ax-clear-button:hover:disabled,.ax-state-disabled){color:rgb(var(--ax-sys-color-on-surface),.5)}.ax-clear-button:focus:not(.ax-clear-button:focus:disabled,.ax-state-disabled,.ax-clear-button:focus-visible:disabled),.ax-clear-button:focus-visible:not(.ax-clear-button:focus:disabled,.ax-state-disabled,.ax-clear-button:focus-visible:disabled){color:rgb(var(--ax-sys-color-on-surface))}.ax-dark .ax-list-item.ax-state-selected{background-color:rgba(var(--ax-sys-color-primary-800))!important;color:rgba(var(--ax-sys-color-on-primary))!important}.ax-list{display:flex;height:100%;flex-direction:column;overflow:hidden;background-color:rgba(var(--ax-sys-color-surface));font-size:.875rem;line-height:1.25rem}@media (min-width: 768px){.ax-list{max-height:20rem}}.ax-list ax-header,.ax-list ax-footer{display:flex;align-items:center;justify-content:space-between;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity));background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity))}.ax-list ax-header{border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity));padding:1rem;font-size:1rem;line-height:1.5rem;font-weight:500}@media (min-width: 768px){.ax-list ax-header{font-size:1.125rem;line-height:1.75rem}}.ax-list ax-header ax-prefix,.ax-list ax-header ax-suffix{display:flex;flex-direction:column;justify-items:start}.ax-list ax-header ax-prefix{align-items:flex-start}.ax-list ax-header ax-suffix{align-items:flex-end}.ax-list ax-footer{border-top-width:1px}.ax-list .ax-content{flex:1 1 0%;overflow-y:auto;overflow-x:hidden}.ax-list .ax-content.ax-list-items-container{height:100%;overflow-y:auto;padding-top:.5rem;padding-bottom:.5rem}.ax-list .ax-content.ax-list-items-container.ax-vertical{display:grid;grid-template-columns:repeat(1,minmax(0,1fr))}.ax-list .ax-content.ax-list-items-container.ax-vertical.ax-divide{border-top-width:1px;border-bottom-width:1px}.ax-list .ax-content.ax-list-items-container.ax-default{cursor:pointer}.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item-group>span{display:flex;align-items:center;padding:.75rem;font-weight:500}.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item-group>ul{padding-left:.75rem;padding-right:.75rem}.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item-group .ax-list-item{margin-bottom:.25rem;border-radius:var(--ax-sys-border-radius)}.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item{position:relative;display:flex;height:var(--ax-sys-size-base);-webkit-user-select:none;user-select:none;align-items:center;justify-content:space-between;padding-inline-end:1rem;padding-inline-start:.75rem;font-size:1rem;line-height:1.5rem}.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item:focus,.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item:focus-visible{outline-width:2px;outline-offset:2px}.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item.ax-state-checkbox .ax-checkbox-label{margin-inline-start:.5rem}.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item.ax-state-selected{background-color:rgba(var(--ax-sys-color-primary-500),var(--tw-bg-opacity))!important;color:rgba(var(--ax-sys-color-on-primary),var(--tw-text-opacity))!important}.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item.ax-state-disabled{cursor:not-allowed;opacity:.5}.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item:focus-visible,.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item:hover{background-color:rgba(var(--ax-sys-color-surface))}.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item.ax-state-focus{background-color:rgba(var(--ax-sys-color-surface))}.ax-list .ax-content.ax-list-items-container .ax-list-loading-container{display:flex;justify-content:center;padding:.5rem}.ax-list .ax-search-box-container{padding:.5rem}.ax-list .ax-search-box-container.ax-state-hidden{display:none}.ax-radio{margin:0;height:1rem;min-height:1rem;min-width:1rem;width:1rem;cursor:pointer;-webkit-appearance:none;appearance:none;border-radius:9999px;border-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));background-color:rgba(var(--ax-sys-color-input-surface));vertical-align:middle;outline:2px solid transparent;outline-offset:2px}.ax-radio:checked{border-color:rgba(var(--ax-sys-color-primary-500))!important;background-color:rgba(var(--ax-sys-color-primary-500))!important;background-size:contain;background-repeat:no-repeat}.ax-radio:checked{background-image:url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e\")}.ax-radio:focus-visible,.ax-radio:focus{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-surface)),0 0 0 4px rgba(var(--ax-sys-color-primary-500))}.ax-radio:disabled{cursor:not-allowed;opacity:.5}.ax-ripple{transform:scale(0);animation:ripple .5s linear;position:absolute;border-radius:9999rem!important}@keyframes ripple{to{transform:scale(4);opacity:0}}.ax-dark .ax-table thead{background-color:rgba(var(--ax-sys-color-surface))}.ax-table{width:100%;border-collapse:collapse;border-spacing:0;overflow:hidden;border-radius:var(--ax-sys-border-radius);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));font-size:.875rem;line-height:1.25rem}.ax-table td{border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:.75rem 1rem}.ax-table thead{border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-surface))}.ax-table thead th{padding:.875rem 1rem;text-align:start;font-weight:500;text-transform:uppercase}.ax-table.ax-table-alternate tbody tr:nth-child(2n){background-color:rgba(var(--ax-sys-color-lighter-surface))}.ax-table.ax-table-bordered thead th{border-top-width:0px!important}.ax-table.ax-table-bordered tbody tr:last-child td{border-bottom-width:0px!important}.ax-table.ax-table-bordered tbody tr td:last-child{border-bottom-width:0px!important}.ax-table.ax-table-bordered td,.ax-table.ax-table-bordered th{border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}.ax-table.ax-table-bordered td:first-child,.ax-table.ax-table-bordered th:first-child{border-inline-start-width:0px}.ax-table.ax-table-bordered td:last-child,.ax-table.ax-table-bordered th:last-child{border-inline-end-width:0px}@media screen and (max-width: 640px){.ax-table.ax-table-responsive{display:block;overflow-wrap:break-word;border-width:0px}.ax-table.ax-table-responsive thead{position:absolute;inset-inline-start:-100%;top:-100%}.ax-table.ax-table-responsive td{float:inline-start;clear:both;box-sizing:border-box;display:block;width:100%;padding:.375rem .625rem}.ax-table.ax-table-responsive td:last-child{border-width:0px}.ax-table.ax-table-responsive td:before{content:attr(data-label);display:block;font-weight:700}.ax-table.ax-table-responsive tr{border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}.ax-table.ax-table-responsive tr,.ax-table.ax-table-responsive tbody{float:inline-start;margin-bottom:.625rem;width:100%}}.ax-uploader-overlay-state{border-radius:inherit;pointer-events:none;position:absolute;inset-inline-start:0px;top:0;z-index:10;display:flex;height:100%;width:100%;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background-color:rgba(var(--ax-sys-color-primary-200),.75);font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-sys-color-on-primary-tint));outline-style:dashed;outline-offset:-4px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ax-drop-zone>input{position:absolute;height:100%;width:100%;cursor:pointer;opacity:0}.ax-dark .ax-uploader-overlay-state{background-color:rgba(var(--ax-sys-color-primary-800),.75);color:rgba(var(--ax-sys-color-on-primary));outline-color:rgba(var(--ax-sys-color-on-primary))}ax-conversation-input{width:100%;display:block}ax-conversation-input .ax-conversation-input{display:flex;align-items:center;position:relative;resize:vertical;height:auto;padding:.5rem;font-size:.875rem}ax-conversation-input .ax-conversation-input.ax-state-recording{align-items:center;display:grid;grid-template-columns:repeat(3,1fr)}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-start-side{justify-content:flex-start}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-end-side{justify-content:flex-end}ax-conversation-input .ax-conversation-input>textarea{font-size:.875rem;background-color:transparent;max-height:10rem;min-height:1.5rem;line-height:2rem;flex:1 1 auto;height:auto;resize:none}ax-conversation-input .ax-conversation-input>textarea:focus,ax-conversation-input .ax-conversation-input>textarea:focus-visible{outline:unset}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side,ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{display:flex;align-items:center;justify-content:center}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side{padding-inline-end:.75rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-main-side{flex:1 1 auto;display:flex;align-items:center;justify-content:center;line-height:2.5rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-main-side::placeholder{font-size:1rem;line-height:2.5rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{padding-inline-start:.75rem;gap:.5rem}ax-conversation-input .ax-conversation-input .ax-record-dot{display:inline-flex;width:.5rem;height:.5rem;background-color:rgba(var(--ax-sys-color-danger-surface));border-radius:999rem;margin-inline-end:.5rem}ax-conversation-input .ax-conversation-input .ax-blob{animation:pulse .75s infinite}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 rgba(var(--ax-sys-color-danger-surface),.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(var(--ax-sys-color-danger-surface),0)}to{transform:scale(1);box-shadow:0 0 rgba(var(--ax-sys-color-danger-surface),0)}}ax-conversation-input .ax-conversation-input .ax-attach-input{opacity:0;width:0;height:0;position:absolute}ax-conversation-input .ax-emoji-container{padding:.75rem;gap:.5rem;display:grid;grid-template-columns:repeat(7,1fr)}ax-conversation-input .ax-emoji-container>div{padding:.25rem;cursor:pointer;border-radius:var(--ax-sys-border-radius)}ax-conversation-input .ax-emoji-container>div:hover{background-color:rgba(var(--ax-sys-color-surface))}ax-conversation-input .ax-editor-reply-container{display:flex;padding:.75rem;justify-content:space-between}ax-conversation-input .ax-reply-start{display:flex;align-items:center}ax-conversation-input .ax-cursor-pointer{cursor:pointer}ax-conversation-input .ax-reply-types{display:flex;align-items:center}ax-conversation-input .ax-reply-start i{margin-inline-end:1rem}ax-conversation-input .ax-reply-start img,ax-conversation-input .ax-reply-start video{margin-inline-end:.5rem;height:1.75rem;width:1.75rem}\n"], dependencies: [{ kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
345
357
|
}
|
346
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
358
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationInputComponent, decorators: [{
|
347
359
|
type: Component,
|
348
360
|
args: [{ selector: 'ax-conversation-input', inputs: ['look', 'placeholder'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
349
361
|
{ provide: AXComponent, useExisting: AXConversationInputComponent },
|
@@ -378,10 +390,10 @@ class AXConversationMessageTypeRegistryService {
|
|
378
390
|
resolve(name) {
|
379
391
|
return this.plugins.get(name);
|
380
392
|
}
|
381
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
382
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
393
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageTypeRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
394
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageTypeRegistryService, providedIn: 'root' }); }
|
383
395
|
}
|
384
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
396
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageTypeRegistryService, decorators: [{
|
385
397
|
type: Injectable,
|
386
398
|
args: [{ providedIn: 'root' }]
|
387
399
|
}] });
|
@@ -394,26 +406,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
394
406
|
class AXConversationMessageComponent extends MXBaseComponent {
|
395
407
|
constructor() {
|
396
408
|
super(...arguments);
|
397
|
-
/**
|
398
|
-
* @ignore
|
399
|
-
*/
|
400
409
|
this.popover = viewChild('popover');
|
401
|
-
this.
|
402
|
-
/**
|
403
|
-
* @ignore
|
404
|
-
*/
|
410
|
+
this.isReplyArrowShown = input(true);
|
405
411
|
this.conversationService = inject(AXConversationService);
|
406
|
-
/**
|
407
|
-
* The message data to display in the conversation.
|
408
|
-
*/
|
409
412
|
this.chatMessage = input();
|
410
|
-
/**
|
411
|
-
* @ignore
|
412
|
-
*/
|
413
413
|
this.registryService = inject(AXConversationMessageTypeRegistryService);
|
414
|
-
/**
|
415
|
-
* @ignore
|
416
|
-
*/
|
417
414
|
this.portal = computed(() => {
|
418
415
|
return new ComponentPortal(this.registryService.resolve(this.chatMessage().type).component);
|
419
416
|
});
|
@@ -421,21 +418,12 @@ class AXConversationMessageComponent extends MXBaseComponent {
|
|
421
418
|
return this.chatMessage().type;
|
422
419
|
});
|
423
420
|
}
|
424
|
-
/**
|
425
|
-
* @ignore
|
426
|
-
*/
|
427
421
|
get isOwn() {
|
428
422
|
return !this.chatMessage().fromId;
|
429
423
|
}
|
430
|
-
/**
|
431
|
-
* @ignore
|
432
|
-
*/
|
433
424
|
get __hostClass() {
|
434
425
|
return `${this.isOwn ? 'ax-state-own' : ''} ${!this.isOwn ? 'ax-state-other' : ''}`;
|
435
426
|
}
|
436
|
-
/**
|
437
|
-
* @ignore
|
438
|
-
*/
|
439
427
|
_handleAttached(ref) {
|
440
428
|
ref = ref;
|
441
429
|
if (ref.instance && isBrowser()) {
|
@@ -456,30 +444,21 @@ class AXConversationMessageComponent extends MXBaseComponent {
|
|
456
444
|
}
|
457
445
|
}
|
458
446
|
}
|
459
|
-
/**
|
460
|
-
* @ignore
|
461
|
-
*/
|
462
447
|
handleResendClick() {
|
463
448
|
this.popover()?.close();
|
464
449
|
this.chatMessage().onResendClick();
|
465
450
|
}
|
466
|
-
/**
|
467
|
-
* @ignore
|
468
|
-
*/
|
469
451
|
handleDeleteClick() {
|
470
452
|
this.popover()?.close();
|
471
453
|
this.chatMessage().onDeleteClick();
|
472
454
|
}
|
473
|
-
/**
|
474
|
-
* @ignore
|
475
|
-
*/
|
476
455
|
replyHandler(e) {
|
477
456
|
this.conversationService.replyId.set(e);
|
478
457
|
}
|
479
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
480
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
458
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
459
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: AXConversationMessageComponent, isStandalone: true, selector: "ax-conversation-message", inputs: { isReplyArrowShown: { classPropertyName: "isReplyArrowShown", publicName: "isReplyArrowShown", isSignal: true, isRequired: false, transformFunction: null }, chatMessage: { classPropertyName: "chatMessage", publicName: "chatMessage", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXComponent, useExisting: AXConversationMessageComponent }], viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (chatMessage().fromId) {\n <ax-avatar color=\"primary\" [size]=\"36\"> </ax-avatar>\n}\n\n@if (isOwn && isReplyArrowShown()) {\n <i (click)=\"replyHandler(chatMessage().id)\" class=\"fa-solid fa-reply ax-cursor-pointer\"></i>\n}\n\n<div\n class=\"ax-message-content\"\n [class]=\"'ax-type-' + messageType()\"\n [class.ax-state-own]=\"!chatMessage().fromId\"\n [class.ax-state-other]=\"chatMessage().fromId\"\n>\n <ng-template [cdkPortalOutlet]=\"portal()\" (attached)=\"_handleAttached($event)\"></ng-template>\n\n <div class=\"ax-chat-message-status\">\n <div class=\"ax-message-prefix\"></div>\n <div>\n <div class=\"ax-message-suffix\"></div>\n <span>\n {{ chatMessage().sendTime | format: 'datetime' : 'HH:mm' | async }}\n </span>\n <span>\n @if (isOwn) {\n @if (chatMessage().deliverTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-check ax-message-status\"></i>\n }\n @if (chatMessage().readTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-dobble-check ax-message-status\"></i>\n }\n }\n </span>\n </div>\n </div>\n</div>\n\n@if (!chatMessage().sendTime) {\n <ax-button class=\"ax-resend-button ax-xs\" color=\"danger\" #b>\n <ax-icon class=\"ax-icon ax-icon-error\"></ax-icon>\n\n <ax-popover [target]=\"b\" placement=\"bottom-end\" #popover>\n <div class=\"ax-overlay-pane\">\n <ax-content> </ax-content>\n <ax-button-item-list>\n @if (chatMessage().onResendClick) {\n <ax-button-item text=\"Resend\" (onClick)=\"handleResendClick()\">\n <ax-icon class=\"ax-icon ax-icon-reload ax-bold\"></ax-icon>\n </ax-button-item>\n }\n @if (chatMessage().onDeleteClick) {\n <ax-button-item text=\"Delete\" color=\"danger\" (onClick)=\"handleDeleteClick()\">\n <ax-icon class=\"ax-icon ax-icon-clear ax-bold\"></ax-icon>\n </ax-button-item>\n }\n </ax-button-item-list>\n </div>\n </ax-popover>\n </ax-button>\n}\n", styles: ["ax-conversation-message{display:flex;align-items:flex-end;margin-bottom:.5rem}ax-conversation-message .ax-message-reply-container{padding:.75rem}ax-conversation-message .ax-message-reply-container,ax-conversation-message .ax-image-reply-container,ax-conversation-message .ax-video-reply-container{border-left:.3rem solid rgb(var(--ax-comp-conversation-border-color));border-radius:.75rem;margin-bottom:.25rem;overflow:hidden}ax-conversation-message .ax-message-reply-container .file,ax-conversation-message .ax-image-reply-container .file,ax-conversation-message .ax-video-reply-container .file{display:flex;align-items:center}ax-conversation-message .ax-message-reply-container .file i,ax-conversation-message .ax-image-reply-container .file i,ax-conversation-message .ax-video-reply-container .file i{margin-inline-end:.5rem}ax-conversation-message .ax-message-reply-container img,ax-conversation-message .ax-message-reply-container video,ax-conversation-message .ax-image-reply-container img,ax-conversation-message .ax-image-reply-container video,ax-conversation-message .ax-video-reply-container img,ax-conversation-message .ax-video-reply-container video{max-width:6rem}ax-conversation-message.ax-state-own{justify-content:flex-end}ax-conversation-message.ax-state-own .ax-conversation-controller button{background-color:rgb(var(--ax-comp-conversation-own-color-fore));color:rgb(var(--ax-comp-conversation-own-color))}ax-conversation-message.ax-state-own .ax-message-reply-container{background-color:rgb(var(--ax-comp-conversation-own-reply-color));color:rgb(var(--ax-comp-conversation-own-reply-color-fore))}ax-conversation-message.ax-state-other .ax-conversation-controller button{background-color:rgb(var(--ax-comp-conversation-other-color-fore));color:rgb(var(--ax-comp-conversation-other-color))}ax-conversation-message.ax-state-other .ax-message-reply-container{background-color:rgb(var(--ax-comp-conversation-other-reply-color));color:rgb(var(--ax-comp-conversation-other-reply-color-fore))}ax-conversation-message .ax-conversation-controller button{width:2.5rem;height:2.5rem;border-radius:999rem;display:flex;align-items:center;justify-content:center}ax-conversation-message .ax-conversation-controller button ax-loading-spinner{display:flex}ax-conversation-message .ax-conversation-controller button.ax-state-error{background-color:rgb(var(--ax-sys-color-danger-surface));color:rgb(var(--ax-sys-color-danger-fore))}ax-conversation-message .ax-conversation-controller button>i{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}ax-conversation-message .ax-message-content{display:block;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:var(--ax-sys-border-radius);overflow:hidden;width:fit-content;max-width:50%;margin-inline-start:.5rem}ax-conversation-message .ax-message-content.ax-type-video{padding:0}ax-conversation-message .ax-message-content.ax-type-image{padding:0}ax-conversation-message .ax-message-content .ax-chat-message-status{padding:.25rem .5rem}ax-conversation-message .ax-message-content.ax-state-own{border-end-end-radius:0!important;background-color:rgb(var(--ax-comp-conversation-own-color));color:rgb(var(--ax-comp-conversation-own-color-fore));justify-content:flex-end}ax-conversation-message .ax-message-content.ax-state-own .ax-chat-message-status{color:rgb(var(--ax-comp-conversation-own-color-fore))}ax-conversation-message .ax-message-content.ax-state-other{border-end-start-radius:0!important;background-color:rgb(var(--ax-comp-conversation-other-color));color:rgb(var(--ax-comp-conversation-other-color-fore))}ax-conversation-message .ax-message-content.ax-state-other .ax-chat-message-status{color:rgb(var(--ax-comp-conversation-other-color-fore))}ax-conversation-message .ax-message-content .ax-chat-message-status{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}ax-conversation-message .ax-message-content .ax-chat-message-status>div{display:flex;gap:.125rem;align-items:center}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-message-status{color:rgb(var(--ax-comp-conversation-status-color))}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon{font-weight:700;font-size:.875rem}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon-error{color:rgb(var(--ax-sys-color-danger-surface))}ax-conversation-message .ax-message-content ax-prefix,ax-conversation-message .ax-message-content ax-suffix{display:none}ax-conversation-message .ax-resend-button{border-radius:999rem}ax-conversation-message .ax-cursor-pointer{cursor:pointer}ax-conversation-message .ax-rounded{border-radius:.75rem}ax-conversation-message .ax-message-content p{padding:.75rem;color:rgba(var(--ax-sys-color-on-primary))}@media (min-width: 320px) and (max-width: 640px){ax-conversation-message ax-avatar{display:none!important}ax-conversation-message .ax-message-content{max-width:100%}}\n"], dependencies: [{ kind: "component", type: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "component", type: AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
|
481
460
|
}
|
482
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
461
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageComponent, decorators: [{
|
483
462
|
type: Component,
|
484
463
|
args: [{ selector: 'ax-conversation-message', encapsulation: ViewEncapsulation.None, imports: [
|
485
464
|
AXAvatarComponent,
|
@@ -492,17 +471,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
492
471
|
AXButtonItemComponent,
|
493
472
|
AsyncPipe,
|
494
473
|
AXFormatPipe,
|
495
|
-
], providers: [{ provide: AXComponent, useExisting: AXConversationMessageComponent }], template: "@if (chatMessage().fromId) {\n <ax-avatar color=\"primary\" [size]=\"36\"> </ax-avatar>\n}\n\n@if (isOwn &&
|
474
|
+
], providers: [{ provide: AXComponent, useExisting: AXConversationMessageComponent }], template: "@if (chatMessage().fromId) {\n <ax-avatar color=\"primary\" [size]=\"36\"> </ax-avatar>\n}\n\n@if (isOwn && isReplyArrowShown()) {\n <i (click)=\"replyHandler(chatMessage().id)\" class=\"fa-solid fa-reply ax-cursor-pointer\"></i>\n}\n\n<div\n class=\"ax-message-content\"\n [class]=\"'ax-type-' + messageType()\"\n [class.ax-state-own]=\"!chatMessage().fromId\"\n [class.ax-state-other]=\"chatMessage().fromId\"\n>\n <ng-template [cdkPortalOutlet]=\"portal()\" (attached)=\"_handleAttached($event)\"></ng-template>\n\n <div class=\"ax-chat-message-status\">\n <div class=\"ax-message-prefix\"></div>\n <div>\n <div class=\"ax-message-suffix\"></div>\n <span>\n {{ chatMessage().sendTime | format: 'datetime' : 'HH:mm' | async }}\n </span>\n <span>\n @if (isOwn) {\n @if (chatMessage().deliverTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-check ax-message-status\"></i>\n }\n @if (chatMessage().readTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-dobble-check ax-message-status\"></i>\n }\n }\n </span>\n </div>\n </div>\n</div>\n\n@if (!chatMessage().sendTime) {\n <ax-button class=\"ax-resend-button ax-xs\" color=\"danger\" #b>\n <ax-icon class=\"ax-icon ax-icon-error\"></ax-icon>\n\n <ax-popover [target]=\"b\" placement=\"bottom-end\" #popover>\n <div class=\"ax-overlay-pane\">\n <ax-content> </ax-content>\n <ax-button-item-list>\n @if (chatMessage().onResendClick) {\n <ax-button-item text=\"Resend\" (onClick)=\"handleResendClick()\">\n <ax-icon class=\"ax-icon ax-icon-reload ax-bold\"></ax-icon>\n </ax-button-item>\n }\n @if (chatMessage().onDeleteClick) {\n <ax-button-item text=\"Delete\" color=\"danger\" (onClick)=\"handleDeleteClick()\">\n <ax-icon class=\"ax-icon ax-icon-clear ax-bold\"></ax-icon>\n </ax-button-item>\n }\n </ax-button-item-list>\n </div>\n </ax-popover>\n </ax-button>\n}\n", styles: ["ax-conversation-message{display:flex;align-items:flex-end;margin-bottom:.5rem}ax-conversation-message .ax-message-reply-container{padding:.75rem}ax-conversation-message .ax-message-reply-container,ax-conversation-message .ax-image-reply-container,ax-conversation-message .ax-video-reply-container{border-left:.3rem solid rgb(var(--ax-comp-conversation-border-color));border-radius:.75rem;margin-bottom:.25rem;overflow:hidden}ax-conversation-message .ax-message-reply-container .file,ax-conversation-message .ax-image-reply-container .file,ax-conversation-message .ax-video-reply-container .file{display:flex;align-items:center}ax-conversation-message .ax-message-reply-container .file i,ax-conversation-message .ax-image-reply-container .file i,ax-conversation-message .ax-video-reply-container .file i{margin-inline-end:.5rem}ax-conversation-message .ax-message-reply-container img,ax-conversation-message .ax-message-reply-container video,ax-conversation-message .ax-image-reply-container img,ax-conversation-message .ax-image-reply-container video,ax-conversation-message .ax-video-reply-container img,ax-conversation-message .ax-video-reply-container video{max-width:6rem}ax-conversation-message.ax-state-own{justify-content:flex-end}ax-conversation-message.ax-state-own .ax-conversation-controller button{background-color:rgb(var(--ax-comp-conversation-own-color-fore));color:rgb(var(--ax-comp-conversation-own-color))}ax-conversation-message.ax-state-own .ax-message-reply-container{background-color:rgb(var(--ax-comp-conversation-own-reply-color));color:rgb(var(--ax-comp-conversation-own-reply-color-fore))}ax-conversation-message.ax-state-other .ax-conversation-controller button{background-color:rgb(var(--ax-comp-conversation-other-color-fore));color:rgb(var(--ax-comp-conversation-other-color))}ax-conversation-message.ax-state-other .ax-message-reply-container{background-color:rgb(var(--ax-comp-conversation-other-reply-color));color:rgb(var(--ax-comp-conversation-other-reply-color-fore))}ax-conversation-message .ax-conversation-controller button{width:2.5rem;height:2.5rem;border-radius:999rem;display:flex;align-items:center;justify-content:center}ax-conversation-message .ax-conversation-controller button ax-loading-spinner{display:flex}ax-conversation-message .ax-conversation-controller button.ax-state-error{background-color:rgb(var(--ax-sys-color-danger-surface));color:rgb(var(--ax-sys-color-danger-fore))}ax-conversation-message .ax-conversation-controller button>i{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}ax-conversation-message .ax-message-content{display:block;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:var(--ax-sys-border-radius);overflow:hidden;width:fit-content;max-width:50%;margin-inline-start:.5rem}ax-conversation-message .ax-message-content.ax-type-video{padding:0}ax-conversation-message .ax-message-content.ax-type-image{padding:0}ax-conversation-message .ax-message-content .ax-chat-message-status{padding:.25rem .5rem}ax-conversation-message .ax-message-content.ax-state-own{border-end-end-radius:0!important;background-color:rgb(var(--ax-comp-conversation-own-color));color:rgb(var(--ax-comp-conversation-own-color-fore));justify-content:flex-end}ax-conversation-message .ax-message-content.ax-state-own .ax-chat-message-status{color:rgb(var(--ax-comp-conversation-own-color-fore))}ax-conversation-message .ax-message-content.ax-state-other{border-end-start-radius:0!important;background-color:rgb(var(--ax-comp-conversation-other-color));color:rgb(var(--ax-comp-conversation-other-color-fore))}ax-conversation-message .ax-message-content.ax-state-other .ax-chat-message-status{color:rgb(var(--ax-comp-conversation-other-color-fore))}ax-conversation-message .ax-message-content .ax-chat-message-status{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}ax-conversation-message .ax-message-content .ax-chat-message-status>div{display:flex;gap:.125rem;align-items:center}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-message-status{color:rgb(var(--ax-comp-conversation-status-color))}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon{font-weight:700;font-size:.875rem}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon-error{color:rgb(var(--ax-sys-color-danger-surface))}ax-conversation-message .ax-message-content ax-prefix,ax-conversation-message .ax-message-content ax-suffix{display:none}ax-conversation-message .ax-resend-button{border-radius:999rem}ax-conversation-message .ax-cursor-pointer{cursor:pointer}ax-conversation-message .ax-rounded{border-radius:.75rem}ax-conversation-message .ax-message-content p{padding:.75rem;color:rgba(var(--ax-sys-color-on-primary))}@media (min-width: 320px) and (max-width: 640px){ax-conversation-message ax-avatar{display:none!important}ax-conversation-message .ax-message-content{max-width:100%}}\n"] }]
|
496
475
|
}], propDecorators: { __hostClass: [{
|
497
476
|
type: HostBinding,
|
498
477
|
args: ['class']
|
499
478
|
}] } });
|
500
479
|
|
501
480
|
class AXConversationMessageBaseComponent {
|
502
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
503
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
481
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
482
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageBaseComponent }); }
|
504
483
|
}
|
505
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
484
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageBaseComponent, decorators: [{
|
506
485
|
type: Injectable
|
507
486
|
}] });
|
508
487
|
|
@@ -637,10 +616,10 @@ class AXConversationMessageAudioComponent extends AXConversationMessageBaseCompo
|
|
637
616
|
this.audioTag().playbackRate = 1;
|
638
617
|
}
|
639
618
|
}
|
640
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
641
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
619
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageAudioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
620
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: AXConversationMessageAudioComponent, isStandalone: true, selector: "ax-conversation-message-audio", providers: [{ provide: AXComponent, useExisting: AXConversationMessageAudioComponent }], usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n <div class=\"ax-time-rate\">\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @default {\n {{ durationFormat() | format: 'time-duration' | async }}\n }\n }\n <ax-button color=\"primary\" look=\"solid\" text=\"{{ audioRate() }}X\" class=\"ax-audio-speed\" (click)=\"handleRateClick()\"></ax-button>\n </div>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n }\n</div>\n<ax-range-slider\n class=\"ax-modify-bgSlider\"\n (ngModelChange)=\"clickHandler($event)\"\n [max]=\"duration()\"\n [min]=\"0\"\n mode=\"single\"\n [ngModel]=\"currentTime()\"\n color=\"primary\"\n>\n</ax-range-slider>\n", styles: ["ax-conversation-message-audio .ax-time-rate .ax-audio-speed{margin-inline-start:.3rem;border-radius:.2rem;min-width:2rem}ax-conversation-message-audio .ax-modify-bgSlider{width:14rem;margin:0 1rem;padding:0}.ax-time-rate{display:flex;align-items:center}.ax-audio-speed{--ax-comp-button-font-size: .6rem;--ax-comp-button-padding-x: .1rem;--ax-comp-button-padding-y: .1rem;--ax-comp-button-height: auto;--ax-comp-button-text-padding-x: .5rem;margin-inline-start:.5rem}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["disabled", "readonly", "orientation", "color", "values", "mode", "min", "max", "step", "snap", "tooltipMode", "snapMode", "hasStep", "hasSnap", "hasLable", "hasTooltip"], outputs: ["valuesChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
|
642
621
|
}
|
643
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
622
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageAudioComponent, decorators: [{
|
644
623
|
type: Component,
|
645
624
|
args: [{ selector: 'ax-conversation-message-audio', encapsulation: ViewEncapsulation.None, imports: [
|
646
625
|
AXDecoratorGenericComponent,
|
@@ -663,8 +642,8 @@ class AXConversationViewComponent extends MXBaseComponent {
|
|
663
642
|
/** @ignore */
|
664
643
|
this.conversationService = inject(AXConversationService);
|
665
644
|
this.onScrollEnd = output();
|
666
|
-
this.
|
667
|
-
this.
|
645
|
+
this.chatBoxHeight = input('30vh');
|
646
|
+
this.isReplyArrowShown = input(true);
|
668
647
|
/**
|
669
648
|
* Emits an event when an action is performed within the conversation view.
|
670
649
|
*
|
@@ -681,12 +660,12 @@ class AXConversationViewComponent extends MXBaseComponent {
|
|
681
660
|
addNewItem(item) {
|
682
661
|
this.conversationService.chats.update((prev) => [...prev, item]);
|
683
662
|
}
|
684
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
685
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
663
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
664
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: AXConversationViewComponent, isStandalone: true, selector: "ax-conversation-view", inputs: { chatBoxHeight: { classPropertyName: "chatBoxHeight", publicName: "chatBoxHeight", isSignal: true, isRequired: false, transformFunction: null }, isReplyArrowShown: { classPropertyName: "isReplyArrowShown", publicName: "isReplyArrowShown", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onScrollEnd: "onScrollEnd", onAction: "onAction" }, providers: [{ provide: AXComponent, useExisting: AXConversationViewComponent }], usesInheritance: true, ngImport: i0, template: "<div axVirtualScrollingContainer (ScrollEnd)=\"callForUpdate()\" [height]=\"chatBoxHeight()\">\n @for (item of conversationService.chats(); track item.id) {\n <ax-conversation-message\n [isReplyArrowShown]=\"isReplyArrowShown()\"\n axVirtualScrollingItem\n [chatMessage]=\"item\"\n ></ax-conversation-message>\n }\n</div>\n", styles: ["ax-conversation-view{display:block}ax-conversation-view .ax-conversation-container{overflow-y:auto;height:100%}\n"], dependencies: [{ kind: "directive", type: AXVirtualScrollingContainerDirective, selector: "[axVirtualScrollingContainer]", inputs: ["height"], outputs: ["ScrollEnd"] }, { kind: "component", type: AXConversationMessageComponent, selector: "ax-conversation-message", inputs: ["isReplyArrowShown", "chatMessage"] }, { kind: "directive", type: AXVirtualScrollingItemDirective, selector: "[axVirtualScrollingItem]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
686
665
|
}
|
687
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
666
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationViewComponent, decorators: [{
|
688
667
|
type: Component,
|
689
|
-
args: [{ selector: 'ax-conversation-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXVirtualScrollingContainerDirective, AXConversationMessageComponent, AXVirtualScrollingItemDirective], providers: [{ provide: AXComponent, useExisting: AXConversationViewComponent }], template: "<div axVirtualScrollingContainer (ScrollEnd)=\"callForUpdate()\" [height]=\"
|
668
|
+
args: [{ selector: 'ax-conversation-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXVirtualScrollingContainerDirective, AXConversationMessageComponent, AXVirtualScrollingItemDirective], providers: [{ provide: AXComponent, useExisting: AXConversationViewComponent }], template: "<div axVirtualScrollingContainer (ScrollEnd)=\"callForUpdate()\" [height]=\"chatBoxHeight()\">\n @for (item of conversationService.chats(); track item.id) {\n <ax-conversation-message\n [isReplyArrowShown]=\"isReplyArrowShown()\"\n axVirtualScrollingItem\n [chatMessage]=\"item\"\n ></ax-conversation-message>\n }\n</div>\n", styles: ["ax-conversation-view{display:block}ax-conversation-view .ax-conversation-container{overflow-y:auto;height:100%}\n"] }]
|
690
669
|
}] });
|
691
670
|
|
692
671
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
@@ -750,10 +729,10 @@ class AXConversationFileMessageComponent extends AXConversationMessageBaseCompon
|
|
750
729
|
handleCancelLoading() {
|
751
730
|
this.parent.onAction.emit({ component: this, data: this.message, isUserInteraction: true });
|
752
731
|
}
|
753
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
754
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
732
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationFileMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
733
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: AXConversationFileMessageComponent, isStandalone: true, selector: "ax-conversation-message-file", providers: [{ provide: AXComponent, useExisting: AXConversationFileMessageComponent }], usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n {{ fileSize() | format: 'filesize' | async }}\n</ax-prefix>\n<div class=\"ax-file-container\">\n <div class=\"ax-conversation-controller\">\n @switch (fileState()) {\n @case ('ready') {\n <button (click)=\"handleDownloadFile()\">\n <i class=\"ax-icon ax-icon-download\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'white' : 'warning'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n </div>\n\n <div class=\"ax-file-name\">{{ fileName() }}</div>\n</div>\n", styles: ["ax-conversation-message-file .ax-file-container{display:flex;align-items:center;justify-content:center;gap:.5rem}ax-conversation-message-file .ax-file-container .ax-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
|
755
734
|
}
|
756
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
735
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationFileMessageComponent, decorators: [{
|
757
736
|
type: Component,
|
758
737
|
args: [{ selector: 'ax-conversation-message-file', encapsulation: ViewEncapsulation.None, imports: [AXDecoratorGenericComponent, AXLoadingSpinnerComponent, AsyncPipe, AXFormatPipe], providers: [{ provide: AXComponent, useExisting: AXConversationFileMessageComponent }], template: "<ax-prefix>\n {{ fileSize() | format: 'filesize' | async }}\n</ax-prefix>\n<div class=\"ax-file-container\">\n <div class=\"ax-conversation-controller\">\n @switch (fileState()) {\n @case ('ready') {\n <button (click)=\"handleDownloadFile()\">\n <i class=\"ax-icon ax-icon-download\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'white' : 'warning'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n </div>\n\n <div class=\"ax-file-name\">{{ fileName() }}</div>\n</div>\n", styles: ["ax-conversation-message-file .ax-file-container{display:flex;align-items:center;justify-content:center;gap:.5rem}ax-conversation-message-file .ax-file-container .ax-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
|
759
738
|
}], ctorParameters: () => [] });
|
@@ -764,21 +743,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
764
743
|
* @category Components
|
765
744
|
*/
|
766
745
|
class ConversationMessageImagePopupComponent {
|
767
|
-
|
768
|
-
|
769
|
-
*/
|
770
|
-
constructor() {
|
771
|
-
afterNextRender(() => {
|
772
|
-
console.log(this.url);
|
773
|
-
});
|
774
|
-
}
|
775
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ConversationMessageImagePopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
776
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: ConversationMessageImagePopupComponent, isStandalone: true, selector: "ax-conversation-message-image-popup", providers: [{ provide: AXComponent, useExisting: ConversationMessageImagePopupComponent }], ngImport: i0, template: `<img class="ax-image-popup" [src]="url" alt="" />`, isInline: true, styles: ["ax-conversation-message-image-popup .ax-image-popup{width:100%;height:100%;object-fit:cover}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
746
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ConversationMessageImagePopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
747
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ConversationMessageImagePopupComponent, isStandalone: true, selector: "ax-conversation-message-image-popup", providers: [{ provide: AXComponent, useExisting: ConversationMessageImagePopupComponent }], ngImport: i0, template: ` <img class="ax-image-popup" [src]="url" alt="" />`, isInline: true, styles: ["ax-conversation-message-image-popup{display:flex;justify-content:center;align-items:center}ax-conversation-message-image-popup .ax-image-popup{object-fit:fill;width:30vw}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
777
748
|
}
|
778
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
749
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ConversationMessageImagePopupComponent, decorators: [{
|
779
750
|
type: Component,
|
780
|
-
args: [{ selector: 'ax-conversation-message-image-popup', template:
|
781
|
-
}]
|
751
|
+
args: [{ selector: 'ax-conversation-message-image-popup', template: ` <img class="ax-image-popup" [src]="url" alt="" />`, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: ConversationMessageImagePopupComponent }], styles: ["ax-conversation-message-image-popup{display:flex;justify-content:center;align-items:center}ax-conversation-message-image-popup .ax-image-popup{object-fit:fill;width:30vw}\n"] }]
|
752
|
+
}] });
|
782
753
|
|
783
754
|
/**
|
784
755
|
* A component for displaying an image within a conversation message.
|
@@ -836,10 +807,10 @@ class AXConversationMessageImageComponent extends AXConversationMessageBaseCompo
|
|
836
807
|
console.log(c);
|
837
808
|
});
|
838
809
|
}
|
839
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
840
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
810
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
811
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: AXConversationMessageImageComponent, isStandalone: true, selector: "ax-conversation-message-image", inputs: { message: "message" }, providers: [{ provide: AXComponent, useExisting: AXConversationMessageImageComponent }], usesInheritance: true, ngImport: i0, template: `<img (click)="openPopup()" [src]="_imageUrl()" alt="" /> `, isInline: true, styles: ["img{cursor:pointer;width:100%;height:100%}\n"] }); }
|
841
812
|
}
|
842
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
813
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageImageComponent, decorators: [{
|
843
814
|
type: Component,
|
844
815
|
args: [{ selector: 'ax-conversation-message-image', template: `<img (click)="openPopup()" [src]="_imageUrl()" alt="" /> `, inputs: ['message'], providers: [{ provide: AXComponent, useExisting: AXConversationMessageImageComponent }], styles: ["img{cursor:pointer;width:100%;height:100%}\n"] }]
|
845
816
|
}], ctorParameters: () => [] });
|
@@ -880,47 +851,49 @@ class AXConversationTextMessageComponent extends AXConversationMessageBaseCompon
|
|
880
851
|
* @ignore
|
881
852
|
*/
|
882
853
|
this.replyFile = signal(null);
|
854
|
+
/**
|
855
|
+
* @ignore
|
856
|
+
*/
|
857
|
+
this.conversationService = inject(AXConversationService);
|
883
858
|
}
|
884
|
-
/**
|
885
|
-
* @ignore
|
886
|
-
*/
|
887
859
|
ngOnInit() {
|
888
860
|
this._text.set(this.message?.content);
|
889
861
|
if (!this.message?.replyTo)
|
890
862
|
return;
|
891
|
-
|
863
|
+
const replyMessage = this.conversationService.chats().find((chat) => chat.id === this.message?.replyTo?.id);
|
864
|
+
switch (replyMessage.type) {
|
892
865
|
case 'text':
|
893
|
-
this.replyText.set(
|
866
|
+
this.replyText.set(replyMessage);
|
894
867
|
break;
|
895
868
|
case 'image':
|
896
|
-
this.replyImage.set(
|
869
|
+
this.replyImage.set(replyMessage);
|
897
870
|
break;
|
898
871
|
case 'video':
|
899
|
-
this.replyVideo.set(
|
872
|
+
this.replyVideo.set(replyMessage);
|
900
873
|
break;
|
901
874
|
case 'audio':
|
902
|
-
this.replyAudio.set(
|
875
|
+
this.replyAudio.set(replyMessage);
|
903
876
|
break;
|
904
877
|
case 'voice':
|
905
|
-
this.replyVoice.set(
|
878
|
+
this.replyVoice.set(replyMessage);
|
906
879
|
break;
|
907
880
|
case 'file':
|
908
|
-
this.replyFile.set(
|
881
|
+
this.replyFile.set(replyMessage);
|
909
882
|
break;
|
910
883
|
}
|
911
884
|
}
|
912
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
913
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
885
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationTextMessageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
886
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: AXConversationTextMessageComponent, isStandalone: true, selector: "ng-component", inputs: { message: "message" }, providers: [{ provide: AXComponent, useExisting: AXConversationTextMessageComponent }], usesInheritance: true, ngImport: i0, template: `
|
914
887
|
@if (replyText()) {
|
915
888
|
<div class="ax-message-reply-container">{{ replyText().content }}</div>
|
916
889
|
}
|
917
890
|
|
918
891
|
@if (replyImage()) {
|
919
|
-
<div class="ax-
|
892
|
+
<div class="ax-image-reply-container"><img [src]="replyImage().content" alt="" /></div>
|
920
893
|
}
|
921
894
|
|
922
895
|
@if (replyVideo()) {
|
923
|
-
<div class="ax-
|
896
|
+
<div class="ax-video-reply-container"><video [src]="replyVideo().content"></video></div>
|
924
897
|
}
|
925
898
|
|
926
899
|
@if (replyFile()) {
|
@@ -939,7 +912,7 @@ class AXConversationTextMessageComponent extends AXConversationMessageBaseCompon
|
|
939
912
|
<div class="ax-text-message" [innerHtml]="_text()"></div>
|
940
913
|
`, isInline: true, styles: [".ax-text-message{word-break:normal;white-space:break-spaces}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
941
914
|
}
|
942
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
915
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationTextMessageComponent, decorators: [{
|
943
916
|
type: Component,
|
944
917
|
args: [{ template: `
|
945
918
|
@if (replyText()) {
|
@@ -947,11 +920,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
947
920
|
}
|
948
921
|
|
949
922
|
@if (replyImage()) {
|
950
|
-
<div class="ax-
|
923
|
+
<div class="ax-image-reply-container"><img [src]="replyImage().content" alt="" /></div>
|
951
924
|
}
|
952
925
|
|
953
926
|
@if (replyVideo()) {
|
954
|
-
<div class="ax-
|
927
|
+
<div class="ax-video-reply-container"><video [src]="replyVideo().content"></video></div>
|
955
928
|
}
|
956
929
|
|
957
930
|
@if (replyFile()) {
|
@@ -989,12 +962,11 @@ class AXConversationMessageVideoComponent extends AXConversationMessageBaseCompo
|
|
989
962
|
*/
|
990
963
|
ngOnInit() {
|
991
964
|
this._videoUrl.set(this.message?.content);
|
992
|
-
console.log(this._videoUrl());
|
993
965
|
}
|
994
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
995
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
966
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageVideoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
967
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: AXConversationMessageVideoComponent, isStandalone: true, selector: "ax-conversation-message-video", providers: [{ provide: AXComponent, useExisting: AXConversationMessageVideoComponent }], usesInheritance: true, ngImport: i0, template: `<video controls [src]="_videoUrl()"></video>`, isInline: true, styles: ["video{width:100%;height:100%}\n"] }); }
|
996
968
|
}
|
997
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
969
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageVideoComponent, decorators: [{
|
998
970
|
type: Component,
|
999
971
|
args: [{ selector: 'ax-conversation-message-video', template: `<video controls [src]="_videoUrl()"></video>`, providers: [{ provide: AXComponent, useExisting: AXConversationMessageVideoComponent }], styles: ["video{width:100%;height:100%}\n"] }]
|
1000
972
|
}] });
|
@@ -1164,10 +1136,10 @@ class AXConversationVoiceMessageComponent extends AXConversationMessageBaseCompo
|
|
1164
1136
|
get __hostClass() {
|
1165
1137
|
return `${this.message.fromId ? 'ax-state-other' : 'ax-state-own'}`;
|
1166
1138
|
}
|
1167
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
1168
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
1139
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationVoiceMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
1140
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: AXConversationVoiceMessageComponent, isStandalone: true, selector: "ax-conversation-message-audio", inputs: { message: "message" }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXComponent, useExisting: AXConversationVoiceMessageComponent }], viewQueries: [{ propertyName: "audio", first: true, predicate: ["a"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @default {\n {{ duration() | format: 'time-duration' | async }}\n }\n }\n <button class=\"ax-audio-speed\" (click)=\"handleRateClick()\"></button>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n\n @case ('ready') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('error') {\n <button class=\"ax-state-error\" (click)=\"handleReloadClick()\">\n <i class=\"ax-icon ax-icon-reload\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'white' : 'warning'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n</div>\n<ax-audio-wave #a [config]=\"config\" (onStatusChanged)=\"handleOnStatusChanged($event)\"></ax-audio-wave>\n<ax-suffix>\n <div class=\"ax-audio-rate-button\" [class.ax-state-own]=\"!message?.fromId\" (click)=\"handleRateClick()\">\n {{ selectedRate() }}X\n </div>\n</ax-suffix>\n", styles: ["ax-conversation-message-audio{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:18rem;max-width:100%}ax-conversation-message-audio .ax-audio-wave{flex:1}ax-conversation-message-audio .ax-audio-rate-button{background-color:var(--ax-comp-conversation-other-color-fore);color:var(--ax-comp-conversation-other-color);border-radius:.5rem;padding:0 .5rem;font-weight:700;margin-inline-end:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}ax-conversation-message-audio .ax-audio-rate-button.ax-state-own{background-color:var(--ax-comp-conversation-own-color-fore);color:var(--ax-comp-conversation-own-color)}ax-conversation-message-audio html[dir=rtl] ax-conversation-message-audio{flex-direction:row-reverse}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }, { kind: "component", type: AXAudioWaveComponent, selector: "ax-audio-wave", inputs: ["config"], outputs: ["onStatusChanged"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
|
1169
1141
|
}
|
1170
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
1142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationVoiceMessageComponent, decorators: [{
|
1171
1143
|
type: Component,
|
1172
1144
|
args: [{ selector: 'ax-conversation-message-audio', encapsulation: ViewEncapsulation.None, inputs: ['message'], imports: [AXDecoratorGenericComponent, AXLoadingSpinnerComponent, AXAudioWaveComponent, AsyncPipe, AXFormatPipe], providers: [{ provide: AXComponent, useExisting: AXConversationVoiceMessageComponent }], template: "<ax-prefix>\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @default {\n {{ duration() | format: 'time-duration' | async }}\n }\n }\n <button class=\"ax-audio-speed\" (click)=\"handleRateClick()\"></button>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n\n @case ('ready') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('error') {\n <button class=\"ax-state-error\" (click)=\"handleReloadClick()\">\n <i class=\"ax-icon ax-icon-reload\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'white' : 'warning'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n</div>\n<ax-audio-wave #a [config]=\"config\" (onStatusChanged)=\"handleOnStatusChanged($event)\"></ax-audio-wave>\n<ax-suffix>\n <div class=\"ax-audio-rate-button\" [class.ax-state-own]=\"!message?.fromId\" (click)=\"handleRateClick()\">\n {{ selectedRate() }}X\n </div>\n</ax-suffix>\n", styles: ["ax-conversation-message-audio{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:18rem;max-width:100%}ax-conversation-message-audio .ax-audio-wave{flex:1}ax-conversation-message-audio .ax-audio-rate-button{background-color:var(--ax-comp-conversation-other-color-fore);color:var(--ax-comp-conversation-other-color);border-radius:.5rem;padding:0 .5rem;font-weight:700;margin-inline-end:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}ax-conversation-message-audio .ax-audio-rate-button.ax-state-own{background-color:var(--ax-comp-conversation-own-color-fore);color:var(--ax-comp-conversation-own-color)}ax-conversation-message-audio html[dir=rtl] ax-conversation-message-audio{flex-direction:row-reverse}\n"] }]
|
1173
1145
|
}], ctorParameters: () => [], propDecorators: { audio: [{
|
@@ -1278,8 +1250,8 @@ class AXConversationModule {
|
|
1278
1250
|
f();
|
1279
1251
|
});
|
1280
1252
|
}
|
1281
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
1282
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
1253
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationModule, deps: [{ token: 'AXChatModuleFactory', optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
1254
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: AXConversationModule, imports: [CommonModule,
|
1283
1255
|
FormsModule,
|
1284
1256
|
AsyncPipe,
|
1285
1257
|
AXRippleDirective,
|
@@ -1316,7 +1288,7 @@ class AXConversationModule {
|
|
1316
1288
|
AXConversationMessageAudioComponent,
|
1317
1289
|
AXConversationMessageImageComponent,
|
1318
1290
|
AXConversationMessageVideoComponent] }); }
|
1319
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
1291
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationModule, providers: [AXPopupService], imports: [CommonModule,
|
1320
1292
|
FormsModule,
|
1321
1293
|
AXButtonModule,
|
1322
1294
|
AXDecoratorModule,
|
@@ -1338,12 +1310,12 @@ class AXConversationModule {
|
|
1338
1310
|
AXConversationFileMessageComponent,
|
1339
1311
|
AXConversationMessageAudioComponent] }); }
|
1340
1312
|
}
|
1341
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
1313
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationModule, decorators: [{
|
1342
1314
|
type: NgModule,
|
1343
1315
|
args: [{
|
1344
1316
|
imports: [...MODULES, ...COMPONENT],
|
1345
1317
|
exports: [...COMPONENT],
|
1346
|
-
providers: [
|
1318
|
+
providers: [AXPopupService],
|
1347
1319
|
}]
|
1348
1320
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
1349
1321
|
type: Optional
|
@@ -1356,5 +1328,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
1356
1328
|
* Generated bundle index. Do not edit.
|
1357
1329
|
*/
|
1358
1330
|
|
1359
|
-
export { AXConversationActionEvent, AXConversationContainerComponent, AXConversationFileMessageComponent, AXConversationInputComponent, AXConversationMessageAudioComponent, AXConversationMessageBaseComponent, AXConversationMessageComponent, AXConversationMessageImageComponent,
|
1331
|
+
export { AXConversationActionEvent, AXConversationContainerComponent, AXConversationFileMessageComponent, AXConversationInputComponent, AXConversationMessageAudioComponent, AXConversationMessageBaseComponent, AXConversationMessageComponent, AXConversationMessageImageComponent, AXConversationMessageVideoComponent, AXConversationModule, AXConversationTextMessageComponent, AXConversationViewComponent, AXConversationVoiceMessageComponent, AXRecordingService, ConversationMessageImagePopupComponent };
|
1360
1332
|
//# sourceMappingURL=acorex-components-conversation.mjs.map
|