@acorex/components 21.0.1-next.7 → 21.0.1-next.9
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/index.d.ts +1 -0
- package/action-sheet/index.d.ts +41 -19
- package/button-group/index.d.ts +4 -6
- package/chips/index.d.ts +8 -3
- package/collapse/index.d.ts +6 -4
- package/conversation2/README.md +71 -31
- package/conversation2/index.d.ts +36 -35
- package/data-table/index.d.ts +253 -4
- package/dialog/index.d.ts +19 -15
- package/dropdown/index.d.ts +3 -4
- package/fesm2022/acorex-components-accordion.mjs +13 -8
- package/fesm2022/acorex-components-accordion.mjs.map +1 -1
- package/fesm2022/acorex-components-action-sheet.mjs +141 -93
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +6 -6
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +4 -5
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +3 -3
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +3 -3
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +2 -2
- package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +2 -2
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +11 -15
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +5 -5
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +4 -4
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +3 -3
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +8 -6
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +4 -6
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +10 -13
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +2 -2
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +2 -2
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-command.mjs +2 -2
- package/fesm2022/acorex-components-command.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +8 -8
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +2 -2
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation2.mjs +161 -155
- package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-list.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +2 -2
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +452 -16
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +2 -2
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +2 -2
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +12 -10
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +13 -20
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +67 -47
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer-legacy.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +7 -6
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +2 -2
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +12 -13
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-editor.mjs +4 -4
- package/fesm2022/acorex-components-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
- package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +9 -17
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-grid-layout-builder.mjs +5 -4
- package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +18 -18
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +2 -2
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-json-viewer.mjs +2 -2
- package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-kanban.mjs +4 -6
- package/fesm2022/acorex-components-kanban.mjs.map +1 -1
- package/fesm2022/acorex-components-kbd.mjs +7 -25
- package/fesm2022/acorex-components-kbd.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +2 -2
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +2 -2
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +73 -36
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +8 -8
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +2 -2
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-media-viewer.mjs +10 -10
- package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +27 -6
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/{acorex-components-modal-acorex-components-modal-BnUdtPke.mjs → acorex-components-modal-acorex-components-modal-Bmoz9DL5.mjs} +29 -5
- package/fesm2022/acorex-components-modal-acorex-components-modal-Bmoz9DL5.mjs.map +1 -0
- package/fesm2022/{acorex-components-modal-modal-content.component-Cgq-wx_m.mjs → acorex-components-modal-modal-content.component-CSJU1vRi.mjs} +5 -7
- package/fesm2022/acorex-components-modal-modal-content.component-CSJU1vRi.mjs.map +1 -0
- package/fesm2022/acorex-components-modal.mjs +1 -1
- package/fesm2022/acorex-components-navbar.mjs +3 -3
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +374 -250
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box-legacy.mjs +2 -2
- package/fesm2022/acorex-components-number-box-legacy.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +2 -2
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +2 -2
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +19 -14
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +4 -4
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-pdf-reader.mjs +2 -2
- package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +2 -2
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +6 -6
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +136 -175
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +308 -105
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +3 -5
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-qrcode.mjs +2 -2
- package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
- package/fesm2022/acorex-components-query-builder.mjs +2 -2
- package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +2 -2
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-rail-navigation.mjs +25 -27
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +3 -3
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +29 -14
- package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +2 -2
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +2 -2
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-rrule.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler-picker.mjs +2 -2
- package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +18 -18
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-scss.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +3 -9
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +2 -4
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list-2.mjs +4 -4
- package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +2 -2
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +14 -63
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +2 -2
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-slider.mjs +5 -5
- package/fesm2022/acorex-components-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-sliding-item.mjs +2 -2
- package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-components-step-wizard.mjs +2 -2
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +4 -4
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +2 -2
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +2 -2
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +3 -3
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +2 -2
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +2 -2
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
- package/fesm2022/acorex-components-time-line.mjs +4 -4
- package/fesm2022/acorex-components-time-line.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +233 -125
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-toolbar.mjs +2 -2
- package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +12 -12
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view-legacy.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +6 -6
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-video-player.mjs +2 -2
- package/fesm2022/acorex-components-video-player.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +12 -12
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/fesm2022/acorex-components.mjs.map +1 -1
- package/grid-layout-builder/index.d.ts +2 -1
- package/kbd/index.d.ts +7 -13
- package/loading/index.d.ts +1 -1
- package/loading-dialog/index.d.ts +31 -15
- package/menu/index.d.ts +4 -0
- package/modal/index.d.ts +7 -0
- package/notification/index.d.ts +47 -30
- package/package.json +7 -7
- package/paint/index.d.ts +6 -1
- package/popover/index.d.ts +20 -27
- package/popup/index.d.ts +103 -27
- package/rate-picker/index.d.ts +15 -5
- package/side-menu/index.d.ts +2 -9
- package/slider/index.d.ts +2 -2
- package/toast/index.d.ts +24 -18
- package/tooltip/index.d.ts +2 -2
- package/fesm2022/acorex-components-modal-acorex-components-modal-BnUdtPke.mjs.map +0 -1
- package/fesm2022/acorex-components-modal-modal-content.component-Cgq-wx_m.mjs.map +0 -1
|
@@ -4,7 +4,7 @@ import { AXTabsModule, AXTabsComponent, AXTabItemComponent } from '@acorex/compo
|
|
|
4
4
|
import * as i1$5 from '@angular/common';
|
|
5
5
|
import { CommonModule, isPlatformBrowser, NgComponentOutlet } from '@angular/common';
|
|
6
6
|
import * as i0 from '@angular/core';
|
|
7
|
-
import { InjectionToken, inject, Injectable, signal, computed, input, output, Component, viewChild, effect, model, PLATFORM_ID, SecurityContext, DestroyRef, ViewContainerRef,
|
|
7
|
+
import { InjectionToken, inject, Injectable, signal, computed, input, output, Component, viewChild, effect, model, PLATFORM_ID, ChangeDetectionStrategy, SecurityContext, DestroyRef, ViewContainerRef, Directive, ElementRef, afterNextRender, untracked, EventEmitter, NgModule } from '@angular/core';
|
|
8
8
|
import { Subject, BehaviorSubject, Observable, filter, of, takeUntil, catchError, EMPTY } from 'rxjs';
|
|
9
9
|
import { AXDialogService } from '@acorex/components/dialog';
|
|
10
10
|
import { AXPopupService } from '@acorex/components/popup';
|
|
@@ -5232,7 +5232,7 @@ class AXAudioPickerComponent {
|
|
|
5232
5232
|
(change)="onFileInputChange($event)"
|
|
5233
5233
|
/>
|
|
5234
5234
|
</div>
|
|
5235
|
-
`, isInline: true, styles: [":host{display:block;width:100%}.audio-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface
|
|
5235
|
+
`, isInline: true, styles: [":host{display:block;width:100%}.audio-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;max-height:450px;cursor:pointer;border:2px dashed rgb(var(--ax-sys-color-border-surface));border-radius:.5rem;margin:.75rem;transition:all .2s}.picker-empty:hover,.picker-empty.drag-over{border-color:rgb(var(--ax-sys-color-primary-500));background:rgb(var(--ax-sys-color-primary-500) / .05)}.empty-icon{font-size:2.5rem;color:rgb(var(--ax-sys-color-on-surface) / .65);margin-bottom:.75rem}.empty-text{text-align:center}.empty-title{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.25rem}.empty-subtitle{font-size:.8125rem;color:rgb(var(--ax-sys-color-on-surface) / .65)}.picker-audio{padding:.75rem}.audio-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.audio-count{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface-variant))}.audio-list{display:flex;flex-direction:column;gap:.625rem;margin-bottom:.75rem}.audio-item{display:flex;align-items:center;gap:.75rem;padding:.625rem;background:rgb(var(--ax-sys-color-surface));border-radius:.375rem;border:1px solid rgb(var(--ax-sys-color-border-surface));transition:background-color .2s}.audio-item:hover{background:rgb(var(--ax-sys-color-light-surface))}.audio-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:.375rem;background:rgb(var(--ax-sys-color-primary-500) / .1);color:rgb(var(--ax-sys-color-primary-500));font-size:1.125rem;flex-shrink:0}.audio-info{flex:1;min-width:0}.audio-name{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.25rem}.audio-meta{display:flex;gap:1rem;font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface) / .65)}.remove-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all .2s;flex-shrink:0;font-size:1rem}.remove-button:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.caption-input{margin-top:.75rem}.picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.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: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: AXPickerHeaderComponent, selector: "ax-picker-header", inputs: ["title"], outputs: ["onClose"] }, { kind: "component", type: AXPickerFooterComponent, selector: "ax-picker-footer", inputs: ["sendText", "sendDisabled"], outputs: ["onCancel", "onSend"] }] }); }
|
|
5236
5236
|
}
|
|
5237
5237
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXAudioPickerComponent, decorators: [{
|
|
5238
5238
|
type: Component,
|
|
@@ -5327,7 +5327,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
5327
5327
|
(change)="onFileInputChange($event)"
|
|
5328
5328
|
/>
|
|
5329
5329
|
</div>
|
|
5330
|
-
`, styles: [":host{display:block;width:100%}.audio-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface
|
|
5330
|
+
`, styles: [":host{display:block;width:100%}.audio-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;max-height:450px;cursor:pointer;border:2px dashed rgb(var(--ax-sys-color-border-surface));border-radius:.5rem;margin:.75rem;transition:all .2s}.picker-empty:hover,.picker-empty.drag-over{border-color:rgb(var(--ax-sys-color-primary-500));background:rgb(var(--ax-sys-color-primary-500) / .05)}.empty-icon{font-size:2.5rem;color:rgb(var(--ax-sys-color-on-surface) / .65);margin-bottom:.75rem}.empty-text{text-align:center}.empty-title{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.25rem}.empty-subtitle{font-size:.8125rem;color:rgb(var(--ax-sys-color-on-surface) / .65)}.picker-audio{padding:.75rem}.audio-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.audio-count{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface-variant))}.audio-list{display:flex;flex-direction:column;gap:.625rem;margin-bottom:.75rem}.audio-item{display:flex;align-items:center;gap:.75rem;padding:.625rem;background:rgb(var(--ax-sys-color-surface));border-radius:.375rem;border:1px solid rgb(var(--ax-sys-color-border-surface));transition:background-color .2s}.audio-item:hover{background:rgb(var(--ax-sys-color-light-surface))}.audio-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:.375rem;background:rgb(var(--ax-sys-color-primary-500) / .1);color:rgb(var(--ax-sys-color-primary-500));font-size:1.125rem;flex-shrink:0}.audio-info{flex:1;min-width:0}.audio-name{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.25rem}.audio-meta{display:flex;gap:1rem;font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface) / .65)}.remove-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all .2s;flex-shrink:0;font-size:1rem}.remove-button:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.caption-input{margin-top:.75rem}.picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}\n"] }]
|
|
5331
5331
|
}], propDecorators: { conversation: [{ type: i0.Input, args: [{ isSignal: true, alias: "conversation", required: true }] }], fileInput: [{ type: i0.ViewChild, args: ['fileInput', { isSignal: true }] }] } });
|
|
5332
5332
|
|
|
5333
5333
|
/**
|
|
@@ -6654,7 +6654,7 @@ class AXFilePickerComponent {
|
|
|
6654
6654
|
(change)="onFileInputChange($event)"
|
|
6655
6655
|
/>
|
|
6656
6656
|
</div>
|
|
6657
|
-
`, isInline: true, styles: [":host{display:block;width:100%}.file-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden;max-height:450px}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface
|
|
6657
|
+
`, isInline: true, styles: [":host{display:block;width:100%}.file-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden;max-height:450px}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.picker-content{flex:1;overflow-y:auto}.picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;min-height:160px;cursor:pointer;border:2px dashed rgb(var(--ax-sys-color-border-surface));border-radius:.5rem;margin:.75rem;transition:all .2s}.picker-empty:hover,.picker-empty.drag-over{border-color:rgb(var(--ax-sys-color-primary-500));background:rgb(var(--ax-sys-color-primary-500) / .05)}.empty-icon{font-size:2.5rem;color:rgb(var(--ax-sys-color-on-surface) / .65);margin-bottom:.75rem}.empty-text{text-align:center}.empty-title{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.25rem}.empty-subtitle{font-size:.8125rem;color:rgb(var(--ax-sys-color-on-surface) / .65)}.picker-body{padding:.75rem}.body-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.item-count{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface) / .65)}.files-list{display:flex;flex-direction:column;gap:.625rem}.file-item{display:flex;align-items:center;gap:.75rem;padding:.625rem;background:rgb(var(--ax-sys-color-surface));border-radius:.375rem;border:1px solid rgb(var(--ax-sys-color-border-surface));transition:background-color .2s}.file-item:hover{background:rgb(var(--ax-sys-color-light-surface))}.file-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:.375rem;background:rgb(var(--ax-sys-color-primary-500) / .1);color:rgb(var(--ax-sys-color-primary-500));font-size:1.25rem;flex-shrink:0;overflow:hidden}.file-icon img{width:100%;height:100%;object-fit:cover}.file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.file-name{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface) / .65)}.progress-container{width:100%;margin-top:.125rem}.upload-success{color:rgb(var(--ax-sys-color-success-600));font-weight:500}.upload-error{color:rgb(var(--ax-sys-color-danger-600));font-weight:500}.remove-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all .2s;flex-shrink:0;font-size:1rem}.remove-button:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.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: "ngmodule", type: AXProgressBarModule }, { kind: "component", type: i3$1.AXProgressBarComponent, selector: "ax-progress-bar", inputs: ["color", "mode", "progress", "height"], outputs: ["ValueChange", "sizeChange"] }, { kind: "component", type: AXPickerHeaderComponent, selector: "ax-picker-header", inputs: ["title"], outputs: ["onClose"] }, { kind: "component", type: AXPickerFooterComponent, selector: "ax-picker-footer", inputs: ["sendText", "sendDisabled"], outputs: ["onCancel", "onSend"] }] }); }
|
|
6658
6658
|
}
|
|
6659
6659
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXFilePickerComponent, decorators: [{
|
|
6660
6660
|
type: Component,
|
|
@@ -6766,7 +6766,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
6766
6766
|
(change)="onFileInputChange($event)"
|
|
6767
6767
|
/>
|
|
6768
6768
|
</div>
|
|
6769
|
-
`, styles: [":host{display:block;width:100%}.file-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden;max-height:450px}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface
|
|
6769
|
+
`, styles: [":host{display:block;width:100%}.file-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden;max-height:450px}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.picker-content{flex:1;overflow-y:auto}.picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;min-height:160px;cursor:pointer;border:2px dashed rgb(var(--ax-sys-color-border-surface));border-radius:.5rem;margin:.75rem;transition:all .2s}.picker-empty:hover,.picker-empty.drag-over{border-color:rgb(var(--ax-sys-color-primary-500));background:rgb(var(--ax-sys-color-primary-500) / .05)}.empty-icon{font-size:2.5rem;color:rgb(var(--ax-sys-color-on-surface) / .65);margin-bottom:.75rem}.empty-text{text-align:center}.empty-title{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.25rem}.empty-subtitle{font-size:.8125rem;color:rgb(var(--ax-sys-color-on-surface) / .65)}.picker-body{padding:.75rem}.body-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.item-count{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface) / .65)}.files-list{display:flex;flex-direction:column;gap:.625rem}.file-item{display:flex;align-items:center;gap:.75rem;padding:.625rem;background:rgb(var(--ax-sys-color-surface));border-radius:.375rem;border:1px solid rgb(var(--ax-sys-color-border-surface));transition:background-color .2s}.file-item:hover{background:rgb(var(--ax-sys-color-light-surface))}.file-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:.375rem;background:rgb(var(--ax-sys-color-primary-500) / .1);color:rgb(var(--ax-sys-color-primary-500));font-size:1.25rem;flex-shrink:0;overflow:hidden}.file-icon img{width:100%;height:100%;object-fit:cover}.file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.file-name{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface) / .65)}.progress-container{width:100%;margin-top:.125rem}.upload-success{color:rgb(var(--ax-sys-color-success-600));font-weight:500}.upload-error{color:rgb(var(--ax-sys-color-danger-600));font-weight:500}.remove-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all .2s;flex-shrink:0;font-size:1rem}.remove-button:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}\n"] }]
|
|
6770
6770
|
}], propDecorators: { conversation: [{ type: i0.Input, args: [{ isSignal: true, alias: "conversation", required: true }] }], service: [{ type: i0.Input, args: [{ isSignal: true, alias: "service", required: false }] }], fileInput: [{ type: i0.ViewChild, args: ['fileInput', { isSignal: true }] }] } });
|
|
6771
6771
|
|
|
6772
6772
|
/**
|
|
@@ -6945,7 +6945,7 @@ class AXImagePickerComponent {
|
|
|
6945
6945
|
(change)="onFileInputChange($event)"
|
|
6946
6946
|
/>
|
|
6947
6947
|
</div>
|
|
6948
|
-
`, isInline: true, styles: [":host{display:block;width:100%}.image-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface
|
|
6948
|
+
`, isInline: true, styles: [":host{display:block;width:100%}.image-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;max-height:450px;cursor:pointer;border:2px dashed rgb(var(--ax-sys-color-border-surface));border-radius:.5rem;margin:.75rem;transition:all .2s}.picker-empty:hover,.picker-empty.drag-over{border-color:rgb(var(--ax-sys-color-primary-500));background:rgb(var(--ax-sys-color-primary-500) / .05)}.empty-icon{font-size:2.5rem;color:rgb(var(--ax-sys-color-on-surface) / .65);margin-bottom:.75rem}.empty-text{text-align:center}.empty-title{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.25rem}.empty-subtitle{font-size:.8125rem;color:rgb(var(--ax-sys-color-on-surface) / .65)}.picker-images{padding:.75rem}.images-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.images-count{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface) / .65)}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem;margin-bottom:.75rem}.image-item{display:flex;flex-direction:column;gap:.5rem}.image-preview{position:relative;aspect-ratio:1;border-radius:.375rem;overflow:hidden;background:rgb(var(--ax-sys-color-light-surface));border:1px solid rgb(var(--ax-sys-color-border-surface))}.image-preview img{width:100%;height:100%;object-fit:cover}.remove-button{position:absolute;top:.25rem;right:.25rem;display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:none;background:rgb(var(--ax-sys-color-danger-500));color:rgb(var(--ax-sys-color-light));border-radius:50%;cursor:pointer;opacity:0;transition:opacity .2s;font-size:.75rem;box-shadow:0 2px 4px #0003}.image-item:hover .remove-button{opacity:1}.image-info{display:flex;flex-direction:column;gap:.25rem}.image-name{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-size{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.caption-input{margin-top:.75rem}.picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.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: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: AXPickerHeaderComponent, selector: "ax-picker-header", inputs: ["title"], outputs: ["onClose"] }, { kind: "component", type: AXPickerFooterComponent, selector: "ax-picker-footer", inputs: ["sendText", "sendDisabled"], outputs: ["onCancel", "onSend"] }] }); }
|
|
6949
6949
|
}
|
|
6950
6950
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXImagePickerComponent, decorators: [{
|
|
6951
6951
|
type: Component,
|
|
@@ -7035,7 +7035,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
7035
7035
|
(change)="onFileInputChange($event)"
|
|
7036
7036
|
/>
|
|
7037
7037
|
</div>
|
|
7038
|
-
`, styles: [":host{display:block;width:100%}.image-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface
|
|
7038
|
+
`, styles: [":host{display:block;width:100%}.image-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;max-height:450px;cursor:pointer;border:2px dashed rgb(var(--ax-sys-color-border-surface));border-radius:.5rem;margin:.75rem;transition:all .2s}.picker-empty:hover,.picker-empty.drag-over{border-color:rgb(var(--ax-sys-color-primary-500));background:rgb(var(--ax-sys-color-primary-500) / .05)}.empty-icon{font-size:2.5rem;color:rgb(var(--ax-sys-color-on-surface) / .65);margin-bottom:.75rem}.empty-text{text-align:center}.empty-title{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.25rem}.empty-subtitle{font-size:.8125rem;color:rgb(var(--ax-sys-color-on-surface) / .65)}.picker-images{padding:.75rem}.images-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.images-count{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface) / .65)}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem;margin-bottom:.75rem}.image-item{display:flex;flex-direction:column;gap:.5rem}.image-preview{position:relative;aspect-ratio:1;border-radius:.375rem;overflow:hidden;background:rgb(var(--ax-sys-color-light-surface));border:1px solid rgb(var(--ax-sys-color-border-surface))}.image-preview img{width:100%;height:100%;object-fit:cover}.remove-button{position:absolute;top:.25rem;right:.25rem;display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:none;background:rgb(var(--ax-sys-color-danger-500));color:rgb(var(--ax-sys-color-light));border-radius:50%;cursor:pointer;opacity:0;transition:opacity .2s;font-size:.75rem;box-shadow:0 2px 4px #0003}.image-item:hover .remove-button{opacity:1}.image-info{display:flex;flex-direction:column;gap:.25rem}.image-name{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-size{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.caption-input{margin-top:.75rem}.picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}\n"] }]
|
|
7039
7039
|
}], propDecorators: { conversation: [{ type: i0.Input, args: [{ isSignal: true, alias: "conversation", required: true }] }], fileInput: [{ type: i0.ViewChild, args: ['fileInput', { isSignal: true }] }] } });
|
|
7040
7040
|
|
|
7041
7041
|
/**
|
|
@@ -9210,7 +9210,7 @@ const AX_CONVERSATION_INFO_BAR_BLOCK_ACTION = {
|
|
|
9210
9210
|
* Audio Message Renderer Component
|
|
9211
9211
|
* Renders audio messages with playback controls
|
|
9212
9212
|
*/
|
|
9213
|
-
class
|
|
9213
|
+
class AXAudioRendererComponent {
|
|
9214
9214
|
constructor() {
|
|
9215
9215
|
this.platformId = inject(PLATFORM_ID);
|
|
9216
9216
|
/** Message to render */
|
|
@@ -9315,8 +9315,8 @@ class AudioRendererComponent {
|
|
|
9315
9315
|
const secs = Math.floor(seconds % 60);
|
|
9316
9316
|
return `${mins}:${secs.toString().padStart(2, '0')}`;
|
|
9317
9317
|
}
|
|
9318
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
9319
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type:
|
|
9318
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXAudioRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9319
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXAudioRendererComponent, isStandalone: true, selector: "ax-conversation-audio-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "audioElementRef", first: true, predicate: ["audioElement"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
9320
9320
|
<div class="audio-renderer">
|
|
9321
9321
|
<div class="audio-controls">
|
|
9322
9322
|
<!-- Play/Pause Button -->
|
|
@@ -9363,11 +9363,11 @@ class AudioRendererComponent {
|
|
|
9363
9363
|
Your browser does not support the audio element.
|
|
9364
9364
|
</audio>
|
|
9365
9365
|
</div>
|
|
9366
|
-
`, isInline: true, styles: [":host{display:block}.audio-renderer{width:100%}.audio-controls{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-radius:.5rem}.control-button{flex-shrink:0;padding-inline-start:.2rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:none;border-radius:50%;font-size:1rem;cursor:pointer;transition:all .2s}.control-button:hover{background:rgb(var(--ax-sys-color-primary-600))}.volume-button{background:transparent;color:rgb(var(--ax-sys-color-primary-600));font-size:1.25rem}.volume-button:hover{color:rgb(var(--ax-sys-color-primary-700))}.audio-progress-container{flex:1;min-width:0}.audio-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem;font-size:.75rem}.audio-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-time{font-variant-numeric:tabular-nums;opacity:.7;flex-shrink:0;margin-left:.5rem}.audio-progress{height:4px;background:rgb(var(--ax-sys-color-border-light-surface));border-radius:2px;cursor:pointer;overflow:hidden}.progress-bar{height:100%;background:rgb(var(--ax-sys-color-primary-500));transition:width .1s linear}.audio-error{display:flex;align-items:center;gap:.5rem;color:rgb(var(--ax-sys-color-danger-500));border-radius:.5rem;font-size:.875rem}.error-icon{font-size:1.25rem}audio{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
9366
|
+
`, isInline: true, styles: [":host{display:block}.audio-renderer{width:100%}.audio-controls{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-radius:.5rem}.control-button{flex-shrink:0;padding-inline-start:.2rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:none;border-radius:50%;font-size:1rem;cursor:pointer;transition:all .2s}.control-button:hover{background:rgb(var(--ax-sys-color-primary-600))}.volume-button{background:transparent;color:rgb(var(--ax-sys-color-primary-600));font-size:1.25rem}.volume-button:hover{color:rgb(var(--ax-sys-color-primary-700))}.audio-progress-container{flex:1;min-width:0}.audio-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem;font-size:.75rem}.audio-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-time{font-variant-numeric:tabular-nums;opacity:.7;flex-shrink:0;margin-left:.5rem}.audio-progress{height:4px;background:rgb(var(--ax-sys-color-border-light-surface));border-radius:2px;cursor:pointer;overflow:hidden}.progress-bar{height:100%;background:rgb(var(--ax-sys-color-primary-500));transition:width .1s linear}.audio-error{display:flex;align-items:center;gap:.5rem;color:rgb(var(--ax-sys-color-danger-500));border-radius:.5rem;font-size:.875rem}.error-icon{font-size:1.25rem}audio{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9367
9367
|
}
|
|
9368
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
9368
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXAudioRendererComponent, decorators: [{
|
|
9369
9369
|
type: Component,
|
|
9370
|
-
args: [{ selector: 'ax-conversation-audio-renderer', imports: [CommonModule], template: `
|
|
9370
|
+
args: [{ selector: 'ax-conversation-audio-renderer', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
9371
9371
|
<div class="audio-renderer">
|
|
9372
9372
|
<div class="audio-controls">
|
|
9373
9373
|
<!-- Play/Pause Button -->
|
|
@@ -9421,7 +9421,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
9421
9421
|
* Contact Message Renderer
|
|
9422
9422
|
* Renders contact card messages
|
|
9423
9423
|
*/
|
|
9424
|
-
class
|
|
9424
|
+
class AXContactRendererComponent {
|
|
9425
9425
|
constructor() {
|
|
9426
9426
|
this.toastService = inject(AXToastService);
|
|
9427
9427
|
/** Message to render */
|
|
@@ -9466,8 +9466,8 @@ class ContactRendererComponent {
|
|
|
9466
9466
|
}
|
|
9467
9467
|
return parts.join('\n');
|
|
9468
9468
|
}
|
|
9469
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
9470
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type:
|
|
9469
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXContactRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9470
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXContactRendererComponent, isStandalone: true, selector: "ax-conversation-contact-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
9471
9471
|
<div class="contact-renderer">
|
|
9472
9472
|
<div class="contact-card">
|
|
9473
9473
|
<div class="contact-avatar">
|
|
@@ -9512,11 +9512,11 @@ class ContactRendererComponent {
|
|
|
9512
9512
|
</ax-button>
|
|
9513
9513
|
</div>
|
|
9514
9514
|
</div>
|
|
9515
|
-
`, isInline: true, styles: [":host{display:block}.contact-renderer{display:flex;flex-direction:column;gap:.75rem;padding:.5rem;background:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-radius:.5rem;border:1px solid rgb(var(--ax-sys-color-border-light-surface));max-width:320px}.contact-card{display:flex;gap:.75rem;align-items:center}.contact-avatar{flex-shrink:0}.avatar-img{width:48px;height:48px;border-radius:50%;object-fit:cover}.avatar-initials{width:48px;height:48px;border-radius:50%;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem}.contact-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.contact-name{font-weight:600;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-detail{display:flex;align-items:center;gap:.5rem;font-size:.875rem;opacity:.7}.contact-link{text-decoration:none;color:inherit;transition:all .2s;border-radius:.25rem}.contact-link:hover{opacity:1;color:rgb(var(--ax-sys-color-primary-500))}.contact-link:active{// transform: scale(.98)}.contact-detail i{width:14px;font-size:.75rem;opacity:.7}.contact-detail span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-actions{display:flex;gap:.5rem}.contact-button{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.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" }] }); }
|
|
9515
|
+
`, isInline: true, styles: [":host{display:block}.contact-renderer{display:flex;flex-direction:column;gap:.75rem;padding:.5rem;background:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-radius:.5rem;border:1px solid rgb(var(--ax-sys-color-border-light-surface));max-width:320px}.contact-card{display:flex;gap:.75rem;align-items:center}.contact-avatar{flex-shrink:0}.avatar-img{width:48px;height:48px;border-radius:50%;object-fit:cover}.avatar-initials{width:48px;height:48px;border-radius:50%;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem}.contact-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.contact-name{font-weight:600;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-detail{display:flex;align-items:center;gap:.5rem;font-size:.875rem;opacity:.7}.contact-link{text-decoration:none;color:inherit;transition:all .2s;border-radius:.25rem}.contact-link:hover{opacity:1;color:rgb(var(--ax-sys-color-primary-500))}.contact-link:active{// transform: scale(.98)}.contact-detail i{width:14px;font-size:.75rem;opacity:.7}.contact-detail span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-actions{display:flex;gap:.5rem}.contact-button{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.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" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9516
9516
|
}
|
|
9517
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
9517
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXContactRendererComponent, decorators: [{
|
|
9518
9518
|
type: Component,
|
|
9519
|
-
args: [{ selector: 'ax-conversation-contact-renderer', imports: [CommonModule, AXButtonModule, AXDecoratorModule], template: `
|
|
9519
|
+
args: [{ selector: 'ax-conversation-contact-renderer', imports: [CommonModule, AXButtonModule, AXDecoratorModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
9520
9520
|
<div class="contact-renderer">
|
|
9521
9521
|
<div class="contact-card">
|
|
9522
9522
|
<div class="contact-avatar">
|
|
@@ -9568,7 +9568,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
9568
9568
|
* Fallback Message Renderer Component
|
|
9569
9569
|
* Renders unknown message types with basic info
|
|
9570
9570
|
*/
|
|
9571
|
-
class
|
|
9571
|
+
class AXFallbackRendererComponent {
|
|
9572
9572
|
constructor() {
|
|
9573
9573
|
/** Message to render */
|
|
9574
9574
|
this.message = input.required(...(ngDevMode ? [{ debugName: "message" }] : []));
|
|
@@ -9594,8 +9594,8 @@ class FallbackRendererComponent {
|
|
|
9594
9594
|
toggleRaw() {
|
|
9595
9595
|
this.showRaw.update((value) => !value);
|
|
9596
9596
|
}
|
|
9597
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
9598
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type:
|
|
9597
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXFallbackRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9598
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXFallbackRendererComponent, isStandalone: true, selector: "ax-conversation-fallback-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
9599
9599
|
<div class="fallback-renderer">
|
|
9600
9600
|
<div class="fallback-icon">📦</div>
|
|
9601
9601
|
<div class="fallback-content">
|
|
@@ -9619,11 +9619,11 @@ class FallbackRendererComponent {
|
|
|
9619
9619
|
</div>
|
|
9620
9620
|
}
|
|
9621
9621
|
</div>
|
|
9622
|
-
`, isInline: true, styles: [":host{display:block}.fallback-renderer{padding:1rem;background:rgb(var(--ax-sys-color-warning-lightest-surface));border:1px solid rgb(var(--ax-sys-color-warning-500));border-radius:.5rem;max-width:320px}.fallback-icon{font-size:2rem;margin-bottom:.5rem;text-align:center}.fallback-content{text-align:center}.fallback-title{font-size:.875rem;font-weight:600;margin-bottom:.25rem;text-transform:capitalize}.fallback-subtitle{font-size:.75rem;margin-bottom:.75rem;opacity:.7}.view-raw-button{margin-top:.5rem}.fallback-raw{margin-top:.75rem;padding:.75rem;background:rgb(var(--ax-sys-color-darker-surface));border-radius:.375rem;max-height:200px;overflow:auto}.raw-content{margin:0;font-size:.6875rem;font-family:Courier New,Courier,monospace;color:rgb(var(--ax-sys-color-on-darker-surface));white-space:pre-wrap;word-wrap:break-word}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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"] }] }); }
|
|
9622
|
+
`, isInline: true, styles: [":host{display:block}.fallback-renderer{padding:1rem;background:rgb(var(--ax-sys-color-warning-lightest-surface));border:1px solid rgb(var(--ax-sys-color-warning-500));border-radius:.5rem;max-width:320px}.fallback-icon{font-size:2rem;margin-bottom:.5rem;text-align:center}.fallback-content{text-align:center}.fallback-title{font-size:.875rem;font-weight:600;margin-bottom:.25rem;text-transform:capitalize}.fallback-subtitle{font-size:.75rem;margin-bottom:.75rem;opacity:.7}.view-raw-button{margin-top:.5rem}.fallback-raw{margin-top:.75rem;padding:.75rem;background:rgb(var(--ax-sys-color-darker-surface));border-radius:.375rem;max-height:200px;overflow:auto}.raw-content{margin:0;font-size:.6875rem;font-family:Courier New,Courier,monospace;color:rgb(var(--ax-sys-color-on-darker-surface));white-space:pre-wrap;word-wrap:break-word}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9623
9623
|
}
|
|
9624
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
9624
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXFallbackRendererComponent, decorators: [{
|
|
9625
9625
|
type: Component,
|
|
9626
|
-
args: [{ selector: 'ax-conversation-fallback-renderer', imports: [CommonModule, AXButtonModule], template: `
|
|
9626
|
+
args: [{ selector: 'ax-conversation-fallback-renderer', imports: [CommonModule, AXButtonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
9627
9627
|
<div class="fallback-renderer">
|
|
9628
9628
|
<div class="fallback-icon">📦</div>
|
|
9629
9629
|
<div class="fallback-content">
|
|
@@ -9654,7 +9654,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
9654
9654
|
* File Message Renderer Component
|
|
9655
9655
|
* Renders file attachments with download support
|
|
9656
9656
|
*/
|
|
9657
|
-
class
|
|
9657
|
+
class AXFileRendererComponent {
|
|
9658
9658
|
constructor() {
|
|
9659
9659
|
/** Message to render */
|
|
9660
9660
|
this.message = input.required(...(ngDevMode ? [{ debugName: "message" }] : []));
|
|
@@ -9678,25 +9678,25 @@ class FileRendererComponent {
|
|
|
9678
9678
|
this.fileIconColor = computed(() => {
|
|
9679
9679
|
const ext = this.fileExtension().toLowerCase();
|
|
9680
9680
|
const colorMap = {
|
|
9681
|
-
pdf: '
|
|
9682
|
-
doc: '
|
|
9683
|
-
docx: '
|
|
9684
|
-
xls: '
|
|
9685
|
-
xlsx: '
|
|
9686
|
-
ppt: '
|
|
9687
|
-
pptx: '
|
|
9688
|
-
txt: '
|
|
9689
|
-
zip: '
|
|
9690
|
-
rar: '
|
|
9691
|
-
jpg: '
|
|
9692
|
-
jpeg: '
|
|
9693
|
-
png: '
|
|
9694
|
-
gif: '
|
|
9695
|
-
mp3: '
|
|
9696
|
-
mp4: '
|
|
9697
|
-
file: '
|
|
9681
|
+
pdf: 'rgb(var(--ax-sys-color-danger-500))',
|
|
9682
|
+
doc: 'rgb(var(--ax-sys-color-primary-500))',
|
|
9683
|
+
docx: 'rgb(var(--ax-sys-color-primary-500))',
|
|
9684
|
+
xls: 'rgb(var(--ax-sys-color-success-500))',
|
|
9685
|
+
xlsx: 'rgb(var(--ax-sys-color-success-500))',
|
|
9686
|
+
ppt: 'rgb(var(--ax-sys-color-warning-500))',
|
|
9687
|
+
pptx: 'rgb(var(--ax-sys-color-warning-500))',
|
|
9688
|
+
txt: 'rgb(var(--ax-sys-color-on-surface) / 0.7)',
|
|
9689
|
+
zip: 'rgb(var(--ax-sys-color-secondary-600))',
|
|
9690
|
+
rar: 'rgb(var(--ax-sys-color-secondary-600))',
|
|
9691
|
+
jpg: 'rgb(var(--ax-sys-color-accent3-500))',
|
|
9692
|
+
jpeg: 'rgb(var(--ax-sys-color-accent3-500))',
|
|
9693
|
+
png: 'rgb(var(--ax-sys-color-accent3-500))',
|
|
9694
|
+
gif: 'rgb(var(--ax-sys-color-accent3-500))',
|
|
9695
|
+
mp3: 'rgb(var(--ax-sys-color-accent2-500))',
|
|
9696
|
+
mp4: 'rgb(var(--ax-sys-color-accent2-500))',
|
|
9697
|
+
file: 'rgb(var(--ax-sys-color-secondary-500))',
|
|
9698
9698
|
};
|
|
9699
|
-
return colorMap[ext] || '
|
|
9699
|
+
return colorMap[ext] || 'rgb(var(--ax-sys-color-secondary-500))';
|
|
9700
9700
|
}, ...(ngDevMode ? [{ debugName: "fileIconColor" }] : []));
|
|
9701
9701
|
/** Formatted file size */
|
|
9702
9702
|
this.formattedSize = computed(() => {
|
|
@@ -9709,8 +9709,8 @@ class FileRendererComponent {
|
|
|
9709
9709
|
return Math.round((bytes / Math.pow(k, i)) * 100) / 100 + ' ' + sizes[i];
|
|
9710
9710
|
}, ...(ngDevMode ? [{ debugName: "formattedSize" }] : []));
|
|
9711
9711
|
}
|
|
9712
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
9713
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type:
|
|
9712
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXFileRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9713
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXFileRendererComponent, isStandalone: true, selector: "ax-conversation-file-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
9714
9714
|
<div class="file-renderer">
|
|
9715
9715
|
<a [href]="fileUrl()" [download]="fileName()" class="file-container" target="_blank" rel="noopener noreferrer">
|
|
9716
9716
|
<!-- File Icon -->
|
|
@@ -9735,11 +9735,11 @@ class FileRendererComponent {
|
|
|
9735
9735
|
</div>
|
|
9736
9736
|
</a>
|
|
9737
9737
|
</div>
|
|
9738
|
-
`, isInline: true, styles: [":host{display:block}.file-renderer{width:100%;max-width:320px}.file-container{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:.5rem;text-decoration:none;transition:all .2s;cursor:pointer}.file-container:hover{background:rgb(var(--ax-sys-color-light-surface));border-color:rgb(var(--ax-sys-color-primary-500))}.file-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:.5rem;font-weight:600;font-size:.625rem;text-transform:uppercase;color:rgb(var(--ax-sys-color-light))}.icon-text{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 .25rem}.file-info{flex:1;min-width:0}.file-name{font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.125rem}.file-meta{font-size:.75rem;opacity:.7}.file-type{text-transform:uppercase}.file-action{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-surface));border-radius:.375rem;transition:background .2s}.file-container:hover .file-action{background:rgb(var(--ax-sys-color-primary-500))}.download-icon{font-size:1.125rem;transition:transform .2s}.file-container:hover .download-icon{transform:translateY(2px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
9738
|
+
`, isInline: true, styles: [":host{display:block}.file-renderer{width:100%;max-width:320px}.file-container{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:.5rem;text-decoration:none;transition:all .2s;cursor:pointer}.file-container:hover{background:rgb(var(--ax-sys-color-light-surface));border-color:rgb(var(--ax-sys-color-primary-500))}.file-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:.5rem;font-weight:600;font-size:.625rem;text-transform:uppercase;color:rgb(var(--ax-sys-color-light))}.icon-text{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 .25rem}.file-info{flex:1;min-width:0}.file-name{font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.125rem}.file-meta{font-size:.75rem;opacity:.7}.file-type{text-transform:uppercase}.file-action{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-surface));border-radius:.375rem;transition:background .2s}.file-container:hover .file-action{background:rgb(var(--ax-sys-color-primary-500))}.download-icon{font-size:1.125rem;transition:transform .2s}.file-container:hover .download-icon{transform:translateY(2px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9739
9739
|
}
|
|
9740
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
9740
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXFileRendererComponent, decorators: [{
|
|
9741
9741
|
type: Component,
|
|
9742
|
-
args: [{ selector: 'ax-conversation-file-renderer', imports: [CommonModule], template: `
|
|
9742
|
+
args: [{ selector: 'ax-conversation-file-renderer', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
9743
9743
|
<div class="file-renderer">
|
|
9744
9744
|
<a [href]="fileUrl()" [download]="fileName()" class="file-container" target="_blank" rel="noopener noreferrer">
|
|
9745
9745
|
<!-- File Icon -->
|
|
@@ -9771,7 +9771,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
9771
9771
|
* Image Message Renderer Component
|
|
9772
9772
|
* Renders image messages with lazy loading and lightbox support
|
|
9773
9773
|
*/
|
|
9774
|
-
class
|
|
9774
|
+
class AXImageRendererComponent {
|
|
9775
9775
|
constructor() {
|
|
9776
9776
|
this.platformId = inject(PLATFORM_ID);
|
|
9777
9777
|
/** Message to render */
|
|
@@ -9807,8 +9807,8 @@ class ImageRendererComponent {
|
|
|
9807
9807
|
this.imageClick.emit(this.payload().url);
|
|
9808
9808
|
}
|
|
9809
9809
|
}
|
|
9810
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
9811
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type:
|
|
9810
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXImageRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9811
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXImageRendererComponent, isStandalone: true, selector: "ax-conversation-image-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { imageClick: "imageClick" }, ngImport: i0, template: `
|
|
9812
9812
|
<div class="image-renderer">
|
|
9813
9813
|
@if (loading()) {
|
|
9814
9814
|
<div class="image-loading">
|
|
@@ -9838,11 +9838,11 @@ class ImageRendererComponent {
|
|
|
9838
9838
|
<div class="image-caption">{{ caption() }}</div>
|
|
9839
9839
|
}
|
|
9840
9840
|
</div>
|
|
9841
|
-
`, isInline: true, styles: [":host{display:block}.image-renderer{position:relative;max-width:100%;border-radius:.5rem;overflow:hidden}.message-image{display:block;max-width:100%;max-height:400px;width:auto;height:auto;cursor:pointer;transition:opacity .3s;opacity:0}.message-image.loaded{opacity:1}.image-loading{display:flex;align-items:center;justify-content:center;min-height:200px;background:rgb(var(--ax-sys-color-lighter-surface))}.spinner{width:24px;height:24px;border:2px solid rgb(var(--ax-sys-color-border-light-surface));border-top-color:rgb(var(--ax-sys-color-primary-500));border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.image-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));padding:1rem;text-align:center}.error-icon{font-size:2rem;margin-bottom:.5rem}.error-text{font-size:.875rem}.image-caption{padding:.5rem;font-size:.875rem;background
|
|
9841
|
+
`, isInline: true, styles: [":host{display:block}.image-renderer{position:relative;max-width:100%;border-radius:.5rem;overflow:hidden}.message-image{display:block;max-width:100%;max-height:400px;width:auto;height:auto;cursor:pointer;transition:opacity .3s;opacity:0}.message-image.loaded{opacity:1}.image-loading{display:flex;align-items:center;justify-content:center;min-height:200px;background:rgb(var(--ax-sys-color-lighter-surface))}.spinner{width:24px;height:24px;border:2px solid rgb(var(--ax-sys-color-border-light-surface));border-top-color:rgb(var(--ax-sys-color-primary-500));border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.image-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));padding:1rem;text-align:center}.error-icon{font-size:2rem;margin-bottom:.5rem}.error-text{font-size:.875rem}.image-caption{padding:.5rem;font-size:.875rem;background:rgb(var(--ax-sys-color-on-surface),.05);color:rgb(var(--ax-sys-color-on-surface))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9842
9842
|
}
|
|
9843
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
9843
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXImageRendererComponent, decorators: [{
|
|
9844
9844
|
type: Component,
|
|
9845
|
-
args: [{ selector: 'ax-conversation-image-renderer', imports: [CommonModule], template: `
|
|
9845
|
+
args: [{ selector: 'ax-conversation-image-renderer', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
9846
9846
|
<div class="image-renderer">
|
|
9847
9847
|
@if (loading()) {
|
|
9848
9848
|
<div class="image-loading">
|
|
@@ -9872,14 +9872,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
9872
9872
|
<div class="image-caption">{{ caption() }}</div>
|
|
9873
9873
|
}
|
|
9874
9874
|
</div>
|
|
9875
|
-
`, styles: [":host{display:block}.image-renderer{position:relative;max-width:100%;border-radius:.5rem;overflow:hidden}.message-image{display:block;max-width:100%;max-height:400px;width:auto;height:auto;cursor:pointer;transition:opacity .3s;opacity:0}.message-image.loaded{opacity:1}.image-loading{display:flex;align-items:center;justify-content:center;min-height:200px;background:rgb(var(--ax-sys-color-lighter-surface))}.spinner{width:24px;height:24px;border:2px solid rgb(var(--ax-sys-color-border-light-surface));border-top-color:rgb(var(--ax-sys-color-primary-500));border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.image-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));padding:1rem;text-align:center}.error-icon{font-size:2rem;margin-bottom:.5rem}.error-text{font-size:.875rem}.image-caption{padding:.5rem;font-size:.875rem;background
|
|
9875
|
+
`, styles: [":host{display:block}.image-renderer{position:relative;max-width:100%;border-radius:.5rem;overflow:hidden}.message-image{display:block;max-width:100%;max-height:400px;width:auto;height:auto;cursor:pointer;transition:opacity .3s;opacity:0}.message-image.loaded{opacity:1}.image-loading{display:flex;align-items:center;justify-content:center;min-height:200px;background:rgb(var(--ax-sys-color-lighter-surface))}.spinner{width:24px;height:24px;border:2px solid rgb(var(--ax-sys-color-border-light-surface));border-top-color:rgb(var(--ax-sys-color-primary-500));border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.image-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));padding:1rem;text-align:center}.error-icon{font-size:2rem;margin-bottom:.5rem}.error-text{font-size:.875rem}.image-caption{padding:.5rem;font-size:.875rem;background:rgb(var(--ax-sys-color-on-surface),.05);color:rgb(var(--ax-sys-color-on-surface))}\n"] }]
|
|
9876
9876
|
}], propDecorators: { message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: true }] }], imageClick: [{ type: i0.Output, args: ["imageClick"] }] } });
|
|
9877
9877
|
|
|
9878
9878
|
/**
|
|
9879
9879
|
* Location Message Renderer Component
|
|
9880
9880
|
* Renders location messages with interactive Leaflet map
|
|
9881
9881
|
*/
|
|
9882
|
-
class
|
|
9882
|
+
class AXLocationRendererComponent {
|
|
9883
9883
|
constructor() {
|
|
9884
9884
|
/** Message to render */
|
|
9885
9885
|
this.message = input.required(...(ngDevMode ? [{ debugName: "message" }] : []));
|
|
@@ -9916,8 +9916,8 @@ class LocationRendererComponent {
|
|
|
9916
9916
|
},
|
|
9917
9917
|
], ...(ngDevMode ? [{ debugName: "markers" }] : []));
|
|
9918
9918
|
}
|
|
9919
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
9920
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type:
|
|
9919
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLocationRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9920
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXLocationRendererComponent, isStandalone: true, selector: "ax-conversation-location-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
9921
9921
|
<div class="location-renderer">
|
|
9922
9922
|
<div class="location-container">
|
|
9923
9923
|
<!-- Interactive Map Preview -->
|
|
@@ -9954,11 +9954,11 @@ class LocationRendererComponent {
|
|
|
9954
9954
|
</a>
|
|
9955
9955
|
</div>
|
|
9956
9956
|
</div>
|
|
9957
|
-
`, isInline: true, styles: [":host{display:block}.location-renderer{width:100%;max-width:280px}.location-container{display:flex;flex-direction:column;background:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:.75rem;overflow:hidden}.location-map{position:relative;width:100%;height:200px;overflow:hidden}.location-map ::ng-deep ax-map{height:100%;width:100%}.location-info{padding:.75rem}.location-name{display:flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:600}.pin-icon{font-size:1rem}.name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-address{font-size:.75rem;opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-coordinates{font-size:.6875rem;opacity:.6;font-family:monospace}.location-action{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:rgb(var(--ax-sys-color-surface));border-top:1px solid rgb(var(--ax-sys-color-border-light-surface));font-size:.75rem;font-weight:500;color:rgb(var(--ax-sys-color-primary-500));text-decoration:none;transition:background .2s;cursor:pointer}.location-action:hover{background:rgb(var(--ax-sys-color-primary-lightest-surface))}.action-icon{transition:transform .2s}.location-action:hover .action-icon{transform:translate(4px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXMapModule }, { kind: "component", type: i1$3.AXMapComponent, selector: "ax-map", inputs: ["zoomLevel", "latitude", "longitude", "maxMarker", "maxPolygon", "hasDraw", "hasLocator", "fitToDraw", "limitDraw", "addPoiToFitDraw", "addMarkerOnTap", "readonly", "disabled", "markerPlace", "locatePlace", "poiMinZoom", "markers", "polygons", "pois"], outputs: ["zoomLevelChange", "latitudeChange", "longitudeChange", "onMarkerAdded", "onMarkerClick", "onMarkerChanged", "onPolygonAdded", "onPolygonClick", "onPolygonChanged", "onLocationFound", "onPoiChanged", "onPoiAdded", "onMapReady", "onLoadError"] }] }); }
|
|
9957
|
+
`, isInline: true, styles: [":host{display:block}.location-renderer{width:100%;max-width:280px}.location-container{display:flex;flex-direction:column;background:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:.75rem;overflow:hidden}.location-map{position:relative;width:100%;height:200px;overflow:hidden}.location-map ::ng-deep ax-map{height:100%;width:100%}.location-info{padding:.75rem}.location-name{display:flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:600}.pin-icon{font-size:1rem}.name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-address{font-size:.75rem;opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-coordinates{font-size:.6875rem;opacity:.6;font-family:monospace}.location-action{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:rgb(var(--ax-sys-color-surface));border-top:1px solid rgb(var(--ax-sys-color-border-light-surface));font-size:.75rem;font-weight:500;color:rgb(var(--ax-sys-color-primary-500));text-decoration:none;transition:background .2s;cursor:pointer}.location-action:hover{background:rgb(var(--ax-sys-color-primary-lightest-surface))}.action-icon{transition:transform .2s}.location-action:hover .action-icon{transform:translate(4px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXMapModule }, { kind: "component", type: i1$3.AXMapComponent, selector: "ax-map", inputs: ["zoomLevel", "latitude", "longitude", "maxMarker", "maxPolygon", "hasDraw", "hasLocator", "fitToDraw", "limitDraw", "addPoiToFitDraw", "addMarkerOnTap", "readonly", "disabled", "markerPlace", "locatePlace", "poiMinZoom", "markers", "polygons", "pois"], outputs: ["zoomLevelChange", "latitudeChange", "longitudeChange", "onMarkerAdded", "onMarkerClick", "onMarkerChanged", "onPolygonAdded", "onPolygonClick", "onPolygonChanged", "onLocationFound", "onPoiChanged", "onPoiAdded", "onMapReady", "onLoadError"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9958
9958
|
}
|
|
9959
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
9959
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLocationRendererComponent, decorators: [{
|
|
9960
9960
|
type: Component,
|
|
9961
|
-
args: [{ selector: 'ax-conversation-location-renderer', imports: [CommonModule, AXMapModule], template: `
|
|
9961
|
+
args: [{ selector: 'ax-conversation-location-renderer', imports: [CommonModule, AXMapModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
9962
9962
|
<div class="location-renderer">
|
|
9963
9963
|
<div class="location-container">
|
|
9964
9964
|
<!-- Interactive Map Preview -->
|
|
@@ -10002,7 +10002,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
10002
10002
|
* Sticker Message Renderer Component
|
|
10003
10003
|
* Renders sticker messages with optimized loading
|
|
10004
10004
|
*/
|
|
10005
|
-
class
|
|
10005
|
+
class AXStickerRendererComponent {
|
|
10006
10006
|
constructor() {
|
|
10007
10007
|
/** Message to render */
|
|
10008
10008
|
this.message = input.required(...(ngDevMode ? [{ debugName: "message" }] : []));
|
|
@@ -10027,8 +10027,8 @@ class StickerRendererComponent {
|
|
|
10027
10027
|
this.loading.set(false);
|
|
10028
10028
|
this.error.set(true);
|
|
10029
10029
|
}
|
|
10030
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
10031
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type:
|
|
10030
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXStickerRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10031
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXStickerRendererComponent, isStandalone: true, selector: "ax-conversation-sticker-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
10032
10032
|
<div class="sticker-renderer">
|
|
10033
10033
|
@if (loading()) {
|
|
10034
10034
|
<div class="sticker-loading">
|
|
@@ -10053,11 +10053,11 @@ class StickerRendererComponent {
|
|
|
10053
10053
|
</div>
|
|
10054
10054
|
}
|
|
10055
10055
|
</div>
|
|
10056
|
-
`, isInline: true, styles: [":host{display:block}.sticker-renderer{position:relative;display:inline-block;max-width:180px;margin:.25rem 0}.sticker-image{display:block;width:100%;height:auto;max-height:180px;object-fit:contain;transition:opacity .2s,transform .2s;opacity:0;cursor:pointer}.sticker-image.loaded{opacity:1}.sticker-image:hover{// transform: scale(1.05)}.sticker-loading{display:flex;align-items:center;justify-content:center;width:120px;height:120px;background:rgb(var(--ax-sys-color-lighter-surface));border-radius:.5rem}.spinner{width:24px;height:24px;border:2px solid rgb(var(--ax-sys-color-border-light-surface));border-top-color:rgb(var(--ax-sys-color-primary-500));border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sticker-error{display:flex;flex-direction:column;align-items:center;justify-content:center;width:120px;height:120px;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));border-radius:.5rem;padding:1rem;text-align:center}.error-icon{font-size:2rem;margin-bottom:.25rem}.error-text{font-size:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
10056
|
+
`, isInline: true, styles: [":host{display:block}.sticker-renderer{position:relative;display:inline-block;max-width:180px;margin:.25rem 0}.sticker-image{display:block;width:100%;height:auto;max-height:180px;object-fit:contain;transition:opacity .2s,transform .2s;opacity:0;cursor:pointer}.sticker-image.loaded{opacity:1}.sticker-image:hover{// transform: scale(1.05)}.sticker-loading{display:flex;align-items:center;justify-content:center;width:120px;height:120px;background:rgb(var(--ax-sys-color-lighter-surface));border-radius:.5rem}.spinner{width:24px;height:24px;border:2px solid rgb(var(--ax-sys-color-border-light-surface));border-top-color:rgb(var(--ax-sys-color-primary-500));border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sticker-error{display:flex;flex-direction:column;align-items:center;justify-content:center;width:120px;height:120px;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));border-radius:.5rem;padding:1rem;text-align:center}.error-icon{font-size:2rem;margin-bottom:.25rem}.error-text{font-size:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10057
10057
|
}
|
|
10058
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
10058
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXStickerRendererComponent, decorators: [{
|
|
10059
10059
|
type: Component,
|
|
10060
|
-
args: [{ selector: 'ax-conversation-sticker-renderer', imports: [CommonModule], template: `
|
|
10060
|
+
args: [{ selector: 'ax-conversation-sticker-renderer', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
10061
10061
|
<div class="sticker-renderer">
|
|
10062
10062
|
@if (loading()) {
|
|
10063
10063
|
<div class="sticker-loading">
|
|
@@ -10089,7 +10089,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
10089
10089
|
* System Message Renderer Component
|
|
10090
10090
|
* Renders system/notification messages (user joined, title changed, etc.)
|
|
10091
10091
|
*/
|
|
10092
|
-
class
|
|
10092
|
+
class AXSystemRendererComponent {
|
|
10093
10093
|
constructor() {
|
|
10094
10094
|
/** Message to render */
|
|
10095
10095
|
this.message = input.required(...(ngDevMode ? [{ debugName: "message" }] : []));
|
|
@@ -10112,19 +10112,19 @@ class SystemRendererComponent {
|
|
|
10112
10112
|
}
|
|
10113
10113
|
}, ...(ngDevMode ? [{ debugName: "iconClass" }] : []));
|
|
10114
10114
|
}
|
|
10115
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
10116
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type:
|
|
10115
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXSystemRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10116
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: AXSystemRendererComponent, isStandalone: true, selector: "ax-conversation-system-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
10117
10117
|
<div class="system-renderer">
|
|
10118
10118
|
<div class="system-icon">
|
|
10119
10119
|
<i [class]="iconClass()"></i>
|
|
10120
10120
|
</div>
|
|
10121
10121
|
<div class="system-text">{{ payload().text }}</div>
|
|
10122
10122
|
</div>
|
|
10123
|
-
`, isInline: true, styles: [":host{display:block;width:100%}.system-renderer{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:.5rem 0}.system-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.75rem;opacity:.6}.system-text{font-size:.8125rem;text-align:center;font-style:italic;opacity:.6}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
10123
|
+
`, isInline: true, styles: [":host{display:block;width:100%}.system-renderer{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:.5rem 0}.system-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.75rem;opacity:.6}.system-text{font-size:.8125rem;text-align:center;font-style:italic;opacity:.6}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10124
10124
|
}
|
|
10125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
10125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXSystemRendererComponent, decorators: [{
|
|
10126
10126
|
type: Component,
|
|
10127
|
-
args: [{ selector: 'ax-conversation-system-renderer', imports: [CommonModule], template: `
|
|
10127
|
+
args: [{ selector: 'ax-conversation-system-renderer', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
10128
10128
|
<div class="system-renderer">
|
|
10129
10129
|
<div class="system-icon">
|
|
10130
10130
|
<i [class]="iconClass()"></i>
|
|
@@ -10177,7 +10177,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
10177
10177
|
* Text Message Renderer Component
|
|
10178
10178
|
* Renders text messages with link detection and formatting
|
|
10179
10179
|
*/
|
|
10180
|
-
class
|
|
10180
|
+
class AXTextRendererComponent {
|
|
10181
10181
|
constructor() {
|
|
10182
10182
|
this.infoBarService = inject(AXInfoBarService);
|
|
10183
10183
|
this.sanitizer = inject(AXSanitizerService);
|
|
@@ -10227,16 +10227,16 @@ class TextRendererComponent {
|
|
|
10227
10227
|
// Replace matches with <mark> tags
|
|
10228
10228
|
return text.replace(regex, '<mark>$1</mark>');
|
|
10229
10229
|
}
|
|
10230
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
10231
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type:
|
|
10230
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXTextRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10231
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: AXTextRendererComponent, isStandalone: true, selector: "ax-conversation-text-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
10232
10232
|
<div class="text-renderer">
|
|
10233
10233
|
<div class="text-content" [innerHTML]="formattedText()"></div>
|
|
10234
10234
|
</div>
|
|
10235
|
-
`, isInline: true, styles: [":host{display:block}.text-renderer{word-wrap:break-word;overflow-wrap:break-word}.text-content{word-break:break-word;text-wrap:pretty;white-space:pre-wrap;line-height:1.6;font-size:.9375rem;letter-spacing:.01em}.text-content ::ng-deep a{color:rgb(var(--ax-sys-color-primary-600));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:all .2s}.text-content ::ng-deep a:hover{color:rgb(var(--ax-sys-color-primary-700));text-decoration-thickness:2px}.text-content ::ng-deep mark{background:rgb(var(--ax-sys-color-warning-lightest-surface));padding:.125rem .375rem;border-radius:.375rem;font-weight:500;box-shadow:0 0 0 2px rgb(var(--ax-sys-color-warning-500) / .2)}\n"] }); }
|
|
10235
|
+
`, isInline: true, styles: [":host{display:block}.text-renderer{word-wrap:break-word;overflow-wrap:break-word}.text-content{word-break:break-word;text-wrap:pretty;white-space:pre-wrap;line-height:1.6;font-size:.9375rem;letter-spacing:.01em}.text-content ::ng-deep a{color:rgb(var(--ax-sys-color-primary-600));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:all .2s}.text-content ::ng-deep a:hover{color:rgb(var(--ax-sys-color-primary-700));text-decoration-thickness:2px}.text-content ::ng-deep mark{background:rgb(var(--ax-sys-color-warning-lightest-surface));padding:.125rem .375rem;border-radius:.375rem;font-weight:500;box-shadow:0 0 0 2px rgb(var(--ax-sys-color-warning-500) / .2)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10236
10236
|
}
|
|
10237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
10237
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXTextRendererComponent, decorators: [{
|
|
10238
10238
|
type: Component,
|
|
10239
|
-
args: [{ selector: 'ax-conversation-text-renderer', template: `
|
|
10239
|
+
args: [{ selector: 'ax-conversation-text-renderer', changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
10240
10240
|
<div class="text-renderer">
|
|
10241
10241
|
<div class="text-content" [innerHTML]="formattedText()"></div>
|
|
10242
10242
|
</div>
|
|
@@ -10247,7 +10247,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
10247
10247
|
* Video Message Renderer Component
|
|
10248
10248
|
* Renders video messages with player controls
|
|
10249
10249
|
*/
|
|
10250
|
-
class
|
|
10250
|
+
class AXVideoRendererComponent {
|
|
10251
10251
|
constructor() {
|
|
10252
10252
|
this.platformId = inject(PLATFORM_ID);
|
|
10253
10253
|
/** Message to render */
|
|
@@ -10283,8 +10283,8 @@ class VideoRendererComponent {
|
|
|
10283
10283
|
const secs = Math.floor(seconds % 60);
|
|
10284
10284
|
return `${mins}:${secs.toString().padStart(2, '0')}`;
|
|
10285
10285
|
}
|
|
10286
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
10287
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type:
|
|
10286
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXVideoRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10287
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXVideoRendererComponent, isStandalone: true, selector: "ax-conversation-video-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
10288
10288
|
<div class="video-renderer">
|
|
10289
10289
|
@if (!showPlayer()) {
|
|
10290
10290
|
<!-- Video Thumbnail Preview -->
|
|
@@ -10321,11 +10321,11 @@ class VideoRendererComponent {
|
|
|
10321
10321
|
<div class="video-caption">{{ caption() }}</div>
|
|
10322
10322
|
}
|
|
10323
10323
|
</div>
|
|
10324
|
-
`, isInline: true, styles: [":host{display:block}.video-renderer{position:relative;max-width:100%;border-radius:.5rem;overflow:hidden;background:rgb(var(--ax-sys-color-dark))}.video-preview{position:relative;cursor:pointer;min-height:200px;display:flex;align-items:center;justify-content:center}.video-thumbnail{display:block;width:100%;height:auto;max-height:400px;object-fit:cover}.video-placeholder{display:flex;align-items:center;justify-content:center;width:100%;min-height:200px;background:rgb(var(--ax-sys-color-darker-surface))}.video-icon{font-size:3rem;opacity:.5}.video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background
|
|
10324
|
+
`, isInline: true, styles: [":host{display:block}.video-renderer{position:relative;max-width:100%;border-radius:.5rem;overflow:hidden;background:rgb(var(--ax-sys-color-dark))}.video-preview{position:relative;cursor:pointer;min-height:200px;display:flex;align-items:center;justify-content:center}.video-thumbnail{display:block;width:100%;height:auto;max-height:400px;object-fit:cover}.video-placeholder{display:flex;align-items:center;justify-content:center;width:100%;min-height:200px;background:rgb(var(--ax-sys-color-darker-surface))}.video-icon{font-size:3rem;opacity:.5}.video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-dark),.3);transition:background .2s}.video-preview:hover .video-overlay{background:rgb(var(--ax-sys-color-dark),.5)}.play-button{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-400));border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:transform .2s;padding-left:4px}.play-button:hover{// transform: scale(1.1)}.video-duration{position:absolute;bottom:.5rem;right:.5rem;padding:.25rem .5rem;background:rgb(var(--ax-sys-color-dark),.7);color:rgb(var(--ax-sys-color-light));font-size:.75rem;border-radius:.25rem}.video-player{display:block;width:100%;max-height:400px;outline:none}.video-error{display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));padding:.5rem;text-align:center}.error-icon{font-size:2rem;margin-bottom:.5rem}.error-text{font-size:.875rem}.video-caption{padding:.5rem;font-size:.875rem;background:rgb(var(--ax-sys-color-on-surface),.05);color:rgb(var(--ax-sys-color-on-surface))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10325
10325
|
}
|
|
10326
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
10326
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXVideoRendererComponent, decorators: [{
|
|
10327
10327
|
type: Component,
|
|
10328
|
-
args: [{ selector: 'ax-conversation-video-renderer', imports: [CommonModule], template: `
|
|
10328
|
+
args: [{ selector: 'ax-conversation-video-renderer', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
10329
10329
|
<div class="video-renderer">
|
|
10330
10330
|
@if (!showPlayer()) {
|
|
10331
10331
|
<!-- Video Thumbnail Preview -->
|
|
@@ -10362,14 +10362,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
10362
10362
|
<div class="video-caption">{{ caption() }}</div>
|
|
10363
10363
|
}
|
|
10364
10364
|
</div>
|
|
10365
|
-
`, styles: [":host{display:block}.video-renderer{position:relative;max-width:100%;border-radius:.5rem;overflow:hidden;background:rgb(var(--ax-sys-color-dark))}.video-preview{position:relative;cursor:pointer;min-height:200px;display:flex;align-items:center;justify-content:center}.video-thumbnail{display:block;width:100%;height:auto;max-height:400px;object-fit:cover}.video-placeholder{display:flex;align-items:center;justify-content:center;width:100%;min-height:200px;background:rgb(var(--ax-sys-color-darker-surface))}.video-icon{font-size:3rem;opacity:.5}.video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background
|
|
10365
|
+
`, styles: [":host{display:block}.video-renderer{position:relative;max-width:100%;border-radius:.5rem;overflow:hidden;background:rgb(var(--ax-sys-color-dark))}.video-preview{position:relative;cursor:pointer;min-height:200px;display:flex;align-items:center;justify-content:center}.video-thumbnail{display:block;width:100%;height:auto;max-height:400px;object-fit:cover}.video-placeholder{display:flex;align-items:center;justify-content:center;width:100%;min-height:200px;background:rgb(var(--ax-sys-color-darker-surface))}.video-icon{font-size:3rem;opacity:.5}.video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-dark),.3);transition:background .2s}.video-preview:hover .video-overlay{background:rgb(var(--ax-sys-color-dark),.5)}.play-button{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-400));border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:transform .2s;padding-left:4px}.play-button:hover{// transform: scale(1.1)}.video-duration{position:absolute;bottom:.5rem;right:.5rem;padding:.25rem .5rem;background:rgb(var(--ax-sys-color-dark),.7);color:rgb(var(--ax-sys-color-light));font-size:.75rem;border-radius:.25rem}.video-player{display:block;width:100%;max-height:400px;outline:none}.video-error{display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));padding:.5rem;text-align:center}.error-icon{font-size:2rem;margin-bottom:.5rem}.error-text{font-size:.875rem}.video-caption{padding:.5rem;font-size:.875rem;background:rgb(var(--ax-sys-color-on-surface),.05);color:rgb(var(--ax-sys-color-on-surface))}\n"] }]
|
|
10366
10366
|
}], propDecorators: { message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: true }] }] } });
|
|
10367
10367
|
|
|
10368
10368
|
/**
|
|
10369
10369
|
* Voice Message Renderer Component
|
|
10370
10370
|
* Renders voice messages with waveform visualization
|
|
10371
10371
|
*/
|
|
10372
|
-
class
|
|
10372
|
+
class AXVoiceRendererComponent {
|
|
10373
10373
|
constructor() {
|
|
10374
10374
|
this.platformId = inject(PLATFORM_ID);
|
|
10375
10375
|
/** Message to render */
|
|
@@ -10475,8 +10475,8 @@ class VoiceRendererComponent {
|
|
|
10475
10475
|
const secs = Math.floor(seconds % 60);
|
|
10476
10476
|
return `${mins}:${secs.toString().padStart(2, '0')}`;
|
|
10477
10477
|
}
|
|
10478
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
10479
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type:
|
|
10478
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXVoiceRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10479
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXVoiceRendererComponent, isStandalone: true, selector: "ax-conversation-voice-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "audioElementRef", first: true, predicate: ["audioElement"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
10480
10480
|
<div class="voice-renderer">
|
|
10481
10481
|
<div class="voice-controls">
|
|
10482
10482
|
<!-- Play/Pause Button -->
|
|
@@ -10523,11 +10523,11 @@ class VoiceRendererComponent {
|
|
|
10523
10523
|
Your browser does not support the audio element.
|
|
10524
10524
|
</audio>
|
|
10525
10525
|
</div>
|
|
10526
|
-
`, isInline: true, styles: [":host{display:block}.voice-renderer{width:100%;max-width:280px}.voice-controls{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:rgb(var(--ax-sys-color-lighter-surface));border-radius:1.25rem}.play-button{flex-shrink:0;padding-inline-start:.2rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:none;border-radius:50%;font-size:.875rem;cursor:pointer;transition:all .2s}.play-button:hover{// transform: scale(1.05);background:rgb(var(--ax-sys-color-primary-600))}.play-button>i{padding-right:1px;padding-top:1px}.voice-waveform{flex:1;min-width:0}.waveform-bars{display:flex;align-items:center;gap:2px;height:32px;margin-bottom:.25rem}.waveform-bar{flex:1;min-width:2px;background:rgb(var(--ax-sys-color-border-light-surface));border-radius:2px;transition:all .2s}.waveform-bar.active{background:rgb(var(--ax-sys-color-primary-500))}.voice-box{display:flex;flex-direction:column;align-items:center;gap:.25rem}.voice-duration{font-size:.6875rem;opacity:.7;text-align:right;color:rgb(var(--ax-sys-color-primary-500))}.speed-button{flex-shrink:0;min-width:42px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;color:rgb(var(--ax-sys-color-primary-500));border:1px solid rgb(var(--ax-sys-color-primary-500));border-radius:14px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.speed-button:hover{background:rgb(var(--ax-sys-color-primary-lightest-surface))}.speed-button:active{// transform: scale(.95)}.voice-error{margin-top:.5rem;padding:.25rem;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));border-radius:1.25rem;font-size:.75rem;text-align:center}audio{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
10526
|
+
`, isInline: true, styles: [":host{display:block}.voice-renderer{width:100%;max-width:280px}.voice-controls{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:rgb(var(--ax-sys-color-lighter-surface));border-radius:1.25rem}.play-button{flex-shrink:0;padding-inline-start:.2rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:none;border-radius:50%;font-size:.875rem;cursor:pointer;transition:all .2s}.play-button:hover{// transform: scale(1.05);background:rgb(var(--ax-sys-color-primary-600))}.play-button>i{padding-right:1px;padding-top:1px}.voice-waveform{flex:1;min-width:0}.waveform-bars{display:flex;align-items:center;gap:2px;height:32px;margin-bottom:.25rem}.waveform-bar{flex:1;min-width:2px;background:rgb(var(--ax-sys-color-border-light-surface));border-radius:2px;transition:all .2s}.waveform-bar.active{background:rgb(var(--ax-sys-color-primary-500))}.voice-box{display:flex;flex-direction:column;align-items:center;gap:.25rem}.voice-duration{font-size:.6875rem;opacity:.7;text-align:right;color:rgb(var(--ax-sys-color-primary-500))}.speed-button{flex-shrink:0;min-width:42px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;color:rgb(var(--ax-sys-color-primary-500));border:1px solid rgb(var(--ax-sys-color-primary-500));border-radius:14px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.speed-button:hover{background:rgb(var(--ax-sys-color-primary-lightest-surface))}.speed-button:active{// transform: scale(.95)}.voice-error{margin-top:.5rem;padding:.25rem;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));border-radius:1.25rem;font-size:.75rem;text-align:center}audio{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10527
10527
|
}
|
|
10528
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
10528
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXVoiceRendererComponent, decorators: [{
|
|
10529
10529
|
type: Component,
|
|
10530
|
-
args: [{ selector: 'ax-conversation-voice-renderer', imports: [CommonModule], template: `
|
|
10530
|
+
args: [{ selector: 'ax-conversation-voice-renderer', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
10531
10531
|
<div class="voice-renderer">
|
|
10532
10532
|
<div class="voice-controls">
|
|
10533
10533
|
<!-- Play/Pause Button -->
|
|
@@ -10674,7 +10674,7 @@ const AX_CONVERSATION_MESSAGE_FORWARD_ACTION = {
|
|
|
10674
10674
|
// Individual renderer constants (no aggregate arrays)
|
|
10675
10675
|
const AX_CONVERSATION_TEXT_RENDERER = {
|
|
10676
10676
|
type: 'text',
|
|
10677
|
-
component:
|
|
10677
|
+
component: AXTextRendererComponent,
|
|
10678
10678
|
canHandle: (message) => message.type === 'text',
|
|
10679
10679
|
capabilities: {
|
|
10680
10680
|
supportsReactions: true,
|
|
@@ -10688,7 +10688,7 @@ const AX_CONVERSATION_TEXT_RENDERER = {
|
|
|
10688
10688
|
};
|
|
10689
10689
|
const AX_CONVERSATION_IMAGE_RENDERER = {
|
|
10690
10690
|
type: 'image',
|
|
10691
|
-
component:
|
|
10691
|
+
component: AXImageRendererComponent,
|
|
10692
10692
|
canHandle: (message) => message.type === 'image',
|
|
10693
10693
|
capabilities: {
|
|
10694
10694
|
supportsReactions: true,
|
|
@@ -10702,7 +10702,7 @@ const AX_CONVERSATION_IMAGE_RENDERER = {
|
|
|
10702
10702
|
};
|
|
10703
10703
|
const AX_CONVERSATION_VIDEO_RENDERER = {
|
|
10704
10704
|
type: 'video',
|
|
10705
|
-
component:
|
|
10705
|
+
component: AXVideoRendererComponent,
|
|
10706
10706
|
canHandle: (message) => message.type === 'video',
|
|
10707
10707
|
capabilities: {
|
|
10708
10708
|
supportsReactions: true,
|
|
@@ -10716,7 +10716,7 @@ const AX_CONVERSATION_VIDEO_RENDERER = {
|
|
|
10716
10716
|
};
|
|
10717
10717
|
const AX_CONVERSATION_AUDIO_RENDERER = {
|
|
10718
10718
|
type: 'audio',
|
|
10719
|
-
component:
|
|
10719
|
+
component: AXAudioRendererComponent,
|
|
10720
10720
|
canHandle: (message) => message.type === 'audio',
|
|
10721
10721
|
capabilities: {
|
|
10722
10722
|
supportsReactions: true,
|
|
@@ -10730,7 +10730,7 @@ const AX_CONVERSATION_AUDIO_RENDERER = {
|
|
|
10730
10730
|
};
|
|
10731
10731
|
const AX_CONVERSATION_VOICE_RENDERER = {
|
|
10732
10732
|
type: 'voice',
|
|
10733
|
-
component:
|
|
10733
|
+
component: AXVoiceRendererComponent,
|
|
10734
10734
|
canHandle: (message) => message.type === 'voice',
|
|
10735
10735
|
capabilities: {
|
|
10736
10736
|
supportsReactions: true,
|
|
@@ -10744,7 +10744,7 @@ const AX_CONVERSATION_VOICE_RENDERER = {
|
|
|
10744
10744
|
};
|
|
10745
10745
|
const AX_CONVERSATION_FILE_RENDERER = {
|
|
10746
10746
|
type: 'file',
|
|
10747
|
-
component:
|
|
10747
|
+
component: AXFileRendererComponent,
|
|
10748
10748
|
canHandle: (message) => message.type === 'file',
|
|
10749
10749
|
capabilities: {
|
|
10750
10750
|
supportsReactions: true,
|
|
@@ -10758,7 +10758,7 @@ const AX_CONVERSATION_FILE_RENDERER = {
|
|
|
10758
10758
|
};
|
|
10759
10759
|
const AX_CONVERSATION_LOCATION_RENDERER = {
|
|
10760
10760
|
type: 'location',
|
|
10761
|
-
component:
|
|
10761
|
+
component: AXLocationRendererComponent,
|
|
10762
10762
|
canHandle: (message) => message.type === 'location',
|
|
10763
10763
|
capabilities: {
|
|
10764
10764
|
supportsReactions: true,
|
|
@@ -10772,7 +10772,7 @@ const AX_CONVERSATION_LOCATION_RENDERER = {
|
|
|
10772
10772
|
};
|
|
10773
10773
|
const AX_CONVERSATION_STICKER_RENDERER = {
|
|
10774
10774
|
type: 'sticker',
|
|
10775
|
-
component:
|
|
10775
|
+
component: AXStickerRendererComponent,
|
|
10776
10776
|
canHandle: (message) => message.type === 'sticker',
|
|
10777
10777
|
capabilities: {
|
|
10778
10778
|
supportsReactions: true,
|
|
@@ -10786,7 +10786,7 @@ const AX_CONVERSATION_STICKER_RENDERER = {
|
|
|
10786
10786
|
};
|
|
10787
10787
|
const AX_CONVERSATION_CONTACT_RENDERER = {
|
|
10788
10788
|
type: 'contact',
|
|
10789
|
-
component:
|
|
10789
|
+
component: AXContactRendererComponent,
|
|
10790
10790
|
canHandle: (message) => message.type === 'contact',
|
|
10791
10791
|
capabilities: {
|
|
10792
10792
|
supportsReactions: true,
|
|
@@ -10800,7 +10800,7 @@ const AX_CONVERSATION_CONTACT_RENDERER = {
|
|
|
10800
10800
|
};
|
|
10801
10801
|
const AX_CONVERSATION_SYSTEM_RENDERER = {
|
|
10802
10802
|
type: 'system',
|
|
10803
|
-
component:
|
|
10803
|
+
component: AXSystemRendererComponent,
|
|
10804
10804
|
canHandle: (message) => message.type === 'system',
|
|
10805
10805
|
capabilities: {
|
|
10806
10806
|
supportsReactions: false,
|
|
@@ -10815,7 +10815,7 @@ const AX_CONVERSATION_SYSTEM_RENDERER = {
|
|
|
10815
10815
|
// Fallback renderer (catch-all) - keep last when assembling
|
|
10816
10816
|
const AX_CONVERSATION_FALLBACK_RENDERER = {
|
|
10817
10817
|
type: 'fallback',
|
|
10818
|
-
component:
|
|
10818
|
+
component: AXFallbackRendererComponent,
|
|
10819
10819
|
canHandle: () => true,
|
|
10820
10820
|
capabilities: {
|
|
10821
10821
|
supportsReactions: false,
|
|
@@ -12738,6 +12738,7 @@ class AXMessageListService {
|
|
|
12738
12738
|
constructor() {
|
|
12739
12739
|
this.conversationService = inject(AXConversationService);
|
|
12740
12740
|
this.composerService = inject(AXComposerService);
|
|
12741
|
+
this.config = inject(CONVERSATION_CONFIG);
|
|
12741
12742
|
this.activeConversation = this.conversationService.activeConversation;
|
|
12742
12743
|
this.activeMessages = this.conversationService.activeMessages;
|
|
12743
12744
|
this.currentUser = this.conversationService.currentUser;
|
|
@@ -12788,11 +12789,16 @@ class AXMessageListService {
|
|
|
12788
12789
|
}
|
|
12789
12790
|
this.loadingMore.set(true);
|
|
12790
12791
|
try {
|
|
12792
|
+
const conversation = this.activeConversation();
|
|
12793
|
+
if (!conversation) {
|
|
12794
|
+
return;
|
|
12795
|
+
}
|
|
12791
12796
|
const nextPage = this.currentPage() + 1;
|
|
12792
|
-
|
|
12793
|
-
// For now, just mark as no more messages
|
|
12797
|
+
const items = await this.conversationService.loadMessages(conversation.id, nextPage);
|
|
12794
12798
|
this.currentPage.set(nextPage);
|
|
12795
|
-
|
|
12799
|
+
// Determine if there may be more pages using pageSize heuristic
|
|
12800
|
+
const pageSize = this.config.messagePageSize;
|
|
12801
|
+
this.hasMoreMessages.set(items.length >= pageSize);
|
|
12796
12802
|
}
|
|
12797
12803
|
finally {
|
|
12798
12804
|
this.loadingMore.set(false);
|
|
@@ -14188,7 +14194,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
14188
14194
|
* Members Popover Component
|
|
14189
14195
|
* Shows list of conversation members with avatars
|
|
14190
14196
|
*/
|
|
14191
|
-
class
|
|
14197
|
+
class AXMembersPopoverComponent {
|
|
14192
14198
|
constructor() {
|
|
14193
14199
|
/** Conversation */
|
|
14194
14200
|
this.conversation = input.required(...(ngDevMode ? [{ debugName: "conversation" }] : []));
|
|
@@ -14202,8 +14208,8 @@ class MembersPopoverComponent {
|
|
|
14202
14208
|
.toUpperCase()
|
|
14203
14209
|
.slice(0, 2);
|
|
14204
14210
|
}
|
|
14205
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
14206
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type:
|
|
14211
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMembersPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14212
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXMembersPopoverComponent, isStandalone: true, selector: "ax-conversation-members-popover", inputs: { conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
14207
14213
|
<div class="members-popover">
|
|
14208
14214
|
<div class="members-header">
|
|
14209
14215
|
<span class="members-title">Members ({{ conversation().participants.length }})</span>
|
|
@@ -14236,11 +14242,11 @@ class MembersPopoverComponent {
|
|
|
14236
14242
|
}
|
|
14237
14243
|
</div>
|
|
14238
14244
|
</div>
|
|
14239
|
-
`, isInline: true, styles: [":host{display:block}.members-popover{width:280px;max-height:400px;border-radius:.5rem;display:flex;flex-direction:column;background:rgb(var(--ax-sys-color-surface))}.members-header{padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-light-surface))}.members-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.members-list{overflow-y:auto;padding:.5rem}.member-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:.5rem;transition:background .2s;cursor:pointer}.member-item:hover{background:rgb(var(--ax-sys-color-lighter-surface))}.member-info{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.member-name{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-role{font-size:.75rem;color:rgb(var(--ax-sys-color-primary-500));text-transform:capitalize}.member-status{width:10px;height:10px;border-radius:50%;// border: 2px solid rgb(var(--ax-sys-color-surface));flex-shrink:0}.member-status.status-online{background:rgb(var(--ax-sys-color-success-500))}.member-status.status-offline{background:rgb(var(--ax-sys-color-neutral-400))}.member-status.status-away{background:rgb(var(--ax-sys-color-warning-500))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "component", type: AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }] }); }
|
|
14245
|
+
`, isInline: true, styles: [":host{display:block}.members-popover{width:280px;max-height:400px;border-radius:.5rem;display:flex;flex-direction:column;background:rgb(var(--ax-sys-color-surface))}.members-header{padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-light-surface))}.members-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.members-list{overflow-y:auto;padding:.5rem}.member-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:.5rem;transition:background .2s;cursor:pointer}.member-item:hover{background:rgb(var(--ax-sys-color-lighter-surface))}.member-info{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.member-name{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-role{font-size:.75rem;color:rgb(var(--ax-sys-color-primary-500));text-transform:capitalize}.member-status{width:10px;height:10px;border-radius:50%;// border: 2px solid rgb(var(--ax-sys-color-surface));flex-shrink:0}.member-status.status-online{background:rgb(var(--ax-sys-color-success-500))}.member-status.status-offline{background:rgb(var(--ax-sys-color-neutral-400))}.member-status.status-away{background:rgb(var(--ax-sys-color-warning-500))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "component", type: AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14240
14246
|
}
|
|
14241
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type:
|
|
14247
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMembersPopoverComponent, decorators: [{
|
|
14242
14248
|
type: Component,
|
|
14243
|
-
args: [{ selector: 'ax-conversation-members-popover', imports: [CommonModule, AXAvatarComponent, AXImageComponent, AXLabelComponent], template: `
|
|
14249
|
+
args: [{ selector: 'ax-conversation-members-popover', imports: [CommonModule, AXAvatarComponent, AXImageComponent, AXLabelComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
14244
14250
|
<div class="members-popover">
|
|
14245
14251
|
<div class="members-header">
|
|
14246
14252
|
<span class="members-title">Members ({{ conversation().participants.length }})</span>
|
|
@@ -14557,7 +14563,7 @@ class AXInfoBarComponent {
|
|
|
14557
14563
|
}
|
|
14558
14564
|
</div>
|
|
14559
14565
|
}
|
|
14560
|
-
`, isInline: true, styles: [":host{display:block}.info-bar{position:relative;display:flex;align-items:center;justify-content:space-between;overflow:hidden;padding:.5rem;line-height:1.1rem;min-height:65px;gap:.75rem}.info-bar-empty{justify-content:center;opacity:.6}.info-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.info-details{flex:1;min-width:0}.info-title{margin:0;font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-subtitle-with-status{display:flex;align-items:center;gap:.375rem;margin:.125rem 0 0}.online-badge{color:#22c55e;font-size:.625rem;line-height:1;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.info-subtitle{margin:0;font-size:.85rem;letter-spacing:.02rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.7}.info-subtitle.clickable{cursor:pointer;transition:opacity .2s}.info-subtitle.clickable:hover{opacity:1;text-decoration:underline}.info-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.info-component-fullwidth{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;gap:.5rem;padding:1rem;background:rgb(var(--ax-sys-color-lightest-surface));z-index:10}.slide-in{animation:slideInFromRight var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}@keyframes slideInFromRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.slide-out{opacity:0;transform:translate(100%);transition:opacity .25s cubic-bezier(.4,0,1,1),transform .25s cubic-bezier(.4,0,1,1)}.info-component-fullwidth>*:first-child{flex:1;min-width:0}.action-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:.5rem;font-size:1.25rem;cursor:pointer;transition:background .2s}.action-button:hover{background:rgb(var(--ax-sys-color-light-surface))}.search-container{display:flex;align-items:center;gap:.5rem;width:100%;min-width:200px}.search-input{flex:1;min-width:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "component", type: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: i1.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i1.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items", "closeParentOnClick", "lockOnLoading"], outputs: ["onItemClick"] }, { kind: "component", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.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: AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "directive", type: i4.AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type:
|
|
14566
|
+
`, isInline: true, styles: [":host{display:block}.info-bar{position:relative;display:flex;align-items:center;justify-content:space-between;overflow:hidden;padding:.5rem;line-height:1.1rem;min-height:65px;gap:.75rem}.info-bar-empty{justify-content:center;opacity:.6}.info-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.info-details{flex:1;min-width:0}.info-title{margin:0;font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-subtitle-with-status{display:flex;align-items:center;gap:.375rem;margin:.125rem 0 0}.online-badge{color:#22c55e;font-size:.625rem;line-height:1;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.info-subtitle{margin:0;font-size:.85rem;letter-spacing:.02rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.7}.info-subtitle.clickable{cursor:pointer;transition:opacity .2s}.info-subtitle.clickable:hover{opacity:1;text-decoration:underline}.info-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.info-component-fullwidth{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;gap:.5rem;padding:1rem;background:rgb(var(--ax-sys-color-lightest-surface));z-index:10}.slide-in{animation:slideInFromRight var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}@keyframes slideInFromRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.slide-out{opacity:0;transform:translate(100%);transition:opacity .25s cubic-bezier(.4,0,1,1),transform .25s cubic-bezier(.4,0,1,1)}.info-component-fullwidth>*:first-child{flex:1;min-width:0}.action-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:.5rem;font-size:1.25rem;cursor:pointer;transition:background .2s}.action-button:hover{background:rgb(var(--ax-sys-color-light-surface))}.search-container{display:flex;align-items:center;gap:.5rem;width:100%;min-width:200px}.search-input{flex:1;min-width:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "component", type: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: i1.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i1.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items", "closeParentOnClick", "lockOnLoading"], outputs: ["onItemClick"] }, { kind: "component", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.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: AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "directive", type: i4.AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: AXMembersPopoverComponent, selector: "ax-conversation-members-popover", inputs: ["conversation"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14561
14567
|
}
|
|
14562
14568
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXInfoBarComponent, decorators: [{
|
|
14563
14569
|
type: Component,
|
|
@@ -14572,8 +14578,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
14572
14578
|
AXLabelComponent,
|
|
14573
14579
|
AXTooltipModule,
|
|
14574
14580
|
AXPopoverComponent,
|
|
14575
|
-
|
|
14576
|
-
], template: `
|
|
14581
|
+
AXMembersPopoverComponent,
|
|
14582
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
14577
14583
|
@if (activeConversation(); as conversation) {
|
|
14578
14584
|
<div class="info-bar">
|
|
14579
14585
|
<!-- Left: Avatar and Info -->
|
|
@@ -15029,7 +15035,7 @@ class AXMessageListComponent {
|
|
|
15029
15035
|
if (!renderer) {
|
|
15030
15036
|
console.warn('⚠️ No renderer found for message type:', message.type, 'Using fallback');
|
|
15031
15037
|
}
|
|
15032
|
-
return renderer?.component ??
|
|
15038
|
+
return renderer?.component ?? AXFallbackRendererComponent;
|
|
15033
15039
|
}
|
|
15034
15040
|
/** Provide inputs for the dynamic renderer */
|
|
15035
15041
|
getRendererInputs(message) {
|
|
@@ -15676,7 +15682,7 @@ class AXMessageListComponent {
|
|
|
15676
15682
|
</ax-popover>
|
|
15677
15683
|
}
|
|
15678
15684
|
}
|
|
15679
|
-
`, isInline: true, styles: [":host{display:block;height:100%;position:relative}.message-list{height:100%}.list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center}.list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:3rem 2rem;gap:1.25rem;animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.empty-icon{font-size:5.5rem;line-height:1;opacity:.35;margin-bottom:.5rem;filter:grayscale(.2)}.empty-title{font-size:1.625rem;font-weight:600;margin:0;color:rgb(var(--ax-sys-color-on-surface));letter-spacing:-.02em}.empty-description{font-size:1.0625rem;margin:0;color:rgb(var(--ax-sys-color-on-surface));opacity:.65;max-width:420px;line-height:1.7}.spinner{width:32px;height:32px;border:3px solid rgb(var(--ax-sys-color-border-light-surface));border-top-color:rgb(var(--ax-sys-color-primary-500));border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.list-loading-more{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;text-align:center;color:rgb(var(--ax-sys-color-on-surface));opacity:.7}.messages-container{width:100%;height:100%;overflow-y:auto;overflow-x:hidden}.date-separator{position:sticky;z-index:150;top:0;display:flex;align-items:center;justify-content:center;margin:.5rem 0}.date-text{padding:.25rem .75rem;background:rgb(var(--ax-sys-color-lighter-surface));font-size:.75rem;font-weight:500;border-radius:1rem;width:7rem;display:flex;justify-content:center;align-items:center}.unread-separator{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0;padding:0 1rem}.unread-separator-line{flex:1;height:1px;background:rgb(var(--ax-sys-color-primary-500));opacity:.3}.unread-separator-text{font-size:.75rem;font-weight:600;color:rgb(var(--ax-sys-color-primary-500));text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.message-item:has(.message-reactions-bubbles){padding-bottom:2.5rem}.message-item{position:relative;display:flex;padding:1rem;border-radius:0;gap:.5rem;margin-bottom:2rem;line-height:1rem;align-items:end;transition:background-color .3s ease}.message-highlight{background-color:rgba(var(--ax-sys-color-primary-500),.1);border-radius:.5rem}.fade-slide-in{animation:fadeSlideIn var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}@keyframes fadeSlideIn{0%{opacity:0;// transform: translateX(20%)}to{opacity:1;// transform: translateX(0)}}.message-own{flex-direction:row-reverse}.message-avatar{flex-shrink:0;margin-bottom:.25rem}.message-bubble-container{display:flex;flex-direction:column;max-width:70%;position:relative}.message-own .message-bubble-container{align-items:flex-end}.message-sender{font-size:.75rem;font-weight:600;margin-bottom:.25rem}.message-bubble{position:relative;padding:.5rem .75rem;border-radius:1rem;background:rgb(var(--ax-sys-color-surface));box-shadow:0 1px 2px #0000000d;word-wrap:break-word;transition:background-color .3s ease}.reply-preview{display:flex;gap:.5rem;padding:.5rem;margin-bottom:.5rem;background:#0000000d;border-radius:.5rem;cursor:pointer;transition:background-color .2s}.reply-preview:hover{background:#00000014}.message-own .reply-preview{background:#ffffff26}.message-own .reply-preview:hover{background:#ffffff40}.reply-preview-line{width:3px;background:currentColor;opacity:.5;border-radius:1.5px;flex-shrink:0}.reply-preview-content{flex:1;min-width:0}.reply-preview-sender{font-size:.75rem;font-weight:600;margin-bottom:.125rem;opacity:.9}.reply-preview-text{font-size:.8125rem;opacity:.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forwarded-indicator{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem;font-size:.75rem;font-weight:500;font-style:italic;opacity:.7;border-left:3px solid currentColor;border-radius:.5rem;padding:.375rem .5rem}.forwarded-indicator i{font-size:.875rem}.forwarded-text{font-size:.75rem}.message-bubble-received{border-bottom-left-radius:.125rem}.message-bubble-sent{border-bottom-right-radius:.125rem}.message-own .message-bubble{background:rgb(var(--ax-sys-color-primary-surface));color:rgb(var(--ax-sys-color-on-primary-surface))}.message-content{font-size:.9375rem;line-height:1.5;white-space:pre-wrap}.message-footer{display:flex;align-items:end;gap:.25rem;margin-top:.25rem;font-size:.6875rem;opacity:.7;letter-spacing:.05rem}.message-time{font-variant-numeric:tabular-nums;font-size:.675rem}.edited-indicator{display:inline-flex;align-items:center;gap:.25rem;font-size:.675rem;opacity:.75;padding-inline-start:.35rem;border-inline-start:1px solid lightgray}.status-icon{cursor:help;display:inline-flex;font-size:.75rem}.status-read{color:rgb(var(--ax-sys-color-primary-400))}.status-failed{color:rgb(var(--ax-sys-color-danger-500))}.message-reactions-bubbles{display:flex;flex-wrap:wrap;gap:.25rem;z-index:1}.reaction-bubble{display:flex;align-items:center;gap:.125rem;padding:.25rem;background:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border:1px solid rgb(var(--ax-sys-color-border));border-radius:.625rem;font-size:.625rem;cursor:pointer;transition:all .15s;box-shadow:0 1px 2px #00000014;min-height:16px;font-family:\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\",\"Apple Color Emoji\",Twemoji Mozilla,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reaction-bubble:hover{// transform: scale(1.3);box-shadow:0 2px 4px #0000001f;border-color:rgb(var(--ax-sys-color-primary))}.reaction-bubble-active{background:rgb(var(--ax-sys-color-primary-lightest-surface));color:rgb(var(--ax-sys-color-on-primary-lightest-surface));border-color:rgb(var(--ax-sys-color-primary));border-width:1.5px}.reaction-emoji{font-size:1.2rem;line-height:1}.reaction-count{font-size:1rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface));line-height:1}.reaction-bubble-active .reaction-count{color:rgb(var(--ax-sys-color-primary))}.reaction-bubble-active:hover{background:rgb(var(--ax-sys-color-primary-light-surface));border-color:rgb(var(--ax-sys-color-primary-600))}.message-reactions-container{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;min-height:20px;position:absolute;left:0;top:calc(100% + 18px)}.add-reaction-button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;padding:.25rem;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border));border-radius:50%;cursor:pointer;transition:all .15s;box-shadow:0 1px 2px #00000014;visibility:hidden}.message-bubble-container:hover .add-reaction-button{visibility:visible}.add-reaction-visible{visibility:visible!important;background:rgb(var(--ax-sys-color-primary) / .1);border-color:rgb(var(--ax-sys-color-primary))}.add-reaction-button:hover{// transform: scale(1.15);box-shadow:0 2px 4px #0000001f;border-color:rgb(var(--ax-sys-color-primary));background:rgb(var(--ax-sys-color-primary) / .12)}.add-reaction-button i{font-size:1rem;color:rgb(var(--ax-sys-color-on-surface))}.reaction-picker-popup{position:fixed;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border));border-radius:.75rem;box-shadow:0 8px 24px #0003;z-index:1000;min-width:260px;max-width:300px;transform:translateY(-100%);margin-top:-.5rem}.reaction-picker-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid rgb(var(--ax-sys-color-border))}.picker-title{font-size:.8125rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.picker-close{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;border:none;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface-variant));transition:all .2s}.picker-close:hover{background:rgb(var(--ax-sys-color-error) / .1);color:rgb(var(--ax-sys-color-error))}.reaction-picker-emojis{display:grid;grid-template-columns:repeat(6,1fr);gap:.375rem;padding:.75rem;padding-top:0}.reaction-picker-emoji{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1.5px solid transparent;border-radius:.5rem;font-size:1.375rem;cursor:pointer;transition:all .15s;font-family:\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\",\"Apple Color Emoji\",Twemoji Mozilla,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reaction-picker-emoji:hover{// transform: scale(1.15);rotate:20deg;background:rgb(var(--ax-sys-color-surface-variant))}.reaction-picker-emoji-active{background:rgb(var(--ax-sys-color-primary) / .15);border-color:rgb(var(--ax-sys-color-primary))}.reaction-picker-emoji-active:hover{background:rgb(var(--ax-sys-color-primary) / .25)}.message-actions{padding-bottom:1.5rem;opacity:0;transition:opacity .2s;z-index:10}.message-item:hover .message-actions{opacity:1}.action-trigger{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:.375rem;font-size:.875rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a}.action-trigger:hover{background:rgb(var(--ax-sys-color-light-surface));// transform: scale(1.05)}.shortcut{font-size:.6875rem;opacity:.7}.scroll-to-bottom{position:absolute;bottom:1rem;right:1rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 6px #0000001a;transition:transform .2s;z-index:999}.scroll-to-bottom:hover{// transform: scale(1.1)}.thread-badge,.forward-badge{position:absolute;top:-6px;min-width:20px;height:24px;padding:0 6px;display:flex;align-items:center;justify-content:center;gap:3px;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:2px solid rgb(var(--ax-sys-color-lightest-surface));border-radius:10px;font-size:.6875rem;font-weight:600;cursor:pointer;transition:all .2s;z-index:10}.thread-badge i,.forward-badge i{font-size:.625rem}.message-bubble-received .thread-badge{left:calc(100% - 5px)}.message-own .message-bubble-sent .thread-badge{right:calc(100% - 5px)}.forward-badge{background:rgb(var(--ax-sys-color-success-500));pointer-events:none}.message-bubble-received .forward-badge{left:calc(100% - 5px);top:18px}.message-own .message-bubble-sent .forward-badge{right:calc(100% - 5px);top:18px}.message-bubble-received .forward-badge:first-of-type{top:-6px}.message-own .message-bubble-sent .forward-badge:first-of-type{top:-6px}.thread-badge:hover{// transform: scale(1.1);background:rgb(var(--ax-sys-color-primary-600))}.thread-badge:active{// transform: scale(.95)}.forward-badge:hover{background:rgb(var(--ax-sys-color-success-600))}.slide-in{animation:slideInFromBottom var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.slide-out{opacity:0;transform:translateY(100%);transition:opacity var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function),transform var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: i1$5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "component", type: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: AXContextMenuComponent, selector: "ax-context-menu", inputs: ["orientation", "openOn", "closeOn", "items", "target"], outputs: ["onItemClick", "onOpening"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXFormatModule }, { kind: "ngmodule", type: AXDateTimeModule }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "directive", type: i4.AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i7.AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: AXInfiniteScrollDirective, selector: "[axInfiniteScroll]", inputs: ["threshold", "edge"], outputs: ["scrollThreshold"] }, { kind: "pipe", type: i1$5.AsyncPipe, name: "async" }, { kind: "pipe", type: i5$1.AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15685
|
+
`, isInline: true, styles: [":host{display:block;height:100%;position:relative}.message-list{height:100%}.list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center}.list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:3rem 2rem;gap:1.25rem;animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.empty-icon{font-size:5.5rem;line-height:1;opacity:.35;margin-bottom:.5rem;filter:grayscale(.2)}.empty-title{font-size:1.625rem;font-weight:600;margin:0;color:rgb(var(--ax-sys-color-on-surface));letter-spacing:-.02em}.empty-description{font-size:1.0625rem;margin:0;color:rgb(var(--ax-sys-color-on-surface));opacity:.65;max-width:420px;line-height:1.7}.spinner{width:32px;height:32px;border:3px solid rgb(var(--ax-sys-color-border-light-surface));border-top-color:rgb(var(--ax-sys-color-primary-500));border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.list-loading-more{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;text-align:center;color:rgb(var(--ax-sys-color-on-surface));opacity:.7}.messages-container{width:100%;height:100%;overflow-y:auto;overflow-x:hidden}.date-separator{position:sticky;z-index:150;top:0;display:flex;align-items:center;justify-content:center;margin:.5rem 0}.date-text{padding:.25rem .75rem;background:rgb(var(--ax-sys-color-lighter-surface));font-size:.75rem;font-weight:500;border-radius:1rem;width:7rem;display:flex;justify-content:center;align-items:center}.unread-separator{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0;padding:0 1rem}.unread-separator-line{flex:1;height:1px;background:rgb(var(--ax-sys-color-primary-500));opacity:.3}.unread-separator-text{font-size:.75rem;font-weight:600;color:rgb(var(--ax-sys-color-primary-500));text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.message-item:has(.message-reactions-bubbles){padding-bottom:2.5rem}.message-item{position:relative;display:flex;padding:1rem;border-radius:0;gap:.5rem;margin-bottom:2rem;line-height:1rem;align-items:end;transition:background-color .3s ease}.message-highlight{background-color:rgba(var(--ax-sys-color-primary-500),.1);border-radius:.5rem}.fade-slide-in{animation:fadeSlideIn var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}@keyframes fadeSlideIn{0%{opacity:0;// transform: translateX(20%)}to{opacity:1;// transform: translateX(0)}}.message-own{flex-direction:row-reverse}.message-avatar{flex-shrink:0;margin-bottom:.25rem}.message-bubble-container{display:flex;flex-direction:column;max-width:70%;position:relative}.message-own .message-bubble-container{align-items:flex-end}.message-sender{font-size:.75rem;font-weight:600;margin-bottom:.25rem}.message-bubble{position:relative;padding:.5rem .75rem;border-radius:1rem;background:rgb(var(--ax-sys-color-surface));--ax-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);word-wrap:break-word;transition:background-color .3s ease}.reply-preview{display:flex;gap:.5rem;padding:.5rem;margin-bottom:.5rem;background:rgb(var(--ax-sys-color-on-surface) / .05);border-radius:var(--ax-sys-border-radius);cursor:pointer;transition:background-color var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}.reply-preview:hover{background:rgb(var(--ax-sys-color-on-surface) / .08)}.message-own .reply-preview{background:rgb(var(--ax-sys-color-light-surface) / .15)}.message-own .reply-preview:hover{background:rgb(var(--ax-sys-color-light-surface) / .25)}.reply-preview-line{width:3px;background:currentColor;opacity:.5;border-radius:1.5px;flex-shrink:0}.reply-preview-content{flex:1;min-width:0}.reply-preview-sender{font-size:.75rem;font-weight:600;margin-bottom:.125rem;opacity:.9}.reply-preview-text{font-size:.8125rem;opacity:.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forwarded-indicator{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem;font-size:.75rem;font-weight:500;font-style:italic;opacity:.7;border-left:3px solid currentColor;border-radius:var(--ax-sys-border-radius);padding:.375rem .5rem}.forwarded-indicator i{font-size:.875rem}.forwarded-text{font-size:.75rem}.message-bubble-received{border-bottom-left-radius:.125rem}.message-bubble-sent{border-bottom-right-radius:.125rem}.message-own .message-bubble{background:rgb(var(--ax-sys-color-primary-surface));color:rgb(var(--ax-sys-color-on-primary-surface))}.message-content{font-size:.9375rem;line-height:1.5;white-space:pre-wrap}.message-footer{display:flex;align-items:end;gap:.25rem;margin-top:.25rem;font-size:.6875rem;opacity:.7;letter-spacing:.05rem}.message-time{font-variant-numeric:tabular-nums;font-size:.675rem}.edited-indicator{display:inline-flex;align-items:center;gap:.25rem;font-size:.675rem;opacity:.75;padding-inline-start:.35rem;border-inline-start:1px solid rgb(var(--ax-sys-color-border-light-surface))}.status-icon{cursor:help;display:inline-flex;font-size:.75rem}.status-read{color:rgb(var(--ax-sys-color-primary-400))}.status-failed{color:rgb(var(--ax-sys-color-danger-500))}.message-reactions-bubbles{display:flex;flex-wrap:wrap;gap:.25rem;z-index:1}.reaction-bubble{display:flex;align-items:center;gap:.125rem;padding:.25rem;background:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border:1px solid rgb(var(--ax-sys-color-border-surface));border-radius:var(--ax-sys-border-radius);font-size:.625rem;cursor:pointer;transition:all var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);--ax-shadow: 0 1px 2px 0 rgb(0 0 0 / .08);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);min-height:16px;font-family:\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\",\"Apple Color Emoji\",Twemoji Mozilla,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reaction-bubble:hover{// transform: scale(1.3);--ax-shadow: 0 2px 4px 0 rgb(0 0 0 / .12);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);border-color:rgb(var(--ax-sys-color-primary-500))}.reaction-bubble-active{background:rgb(var(--ax-sys-color-primary-lightest-surface));color:rgb(var(--ax-sys-color-on-primary-lightest-surface));border-color:rgb(var(--ax-sys-color-primary-500));border-width:1.5px}.reaction-emoji{font-size:1.2rem;line-height:1}.reaction-count{font-size:1rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface));line-height:1}.reaction-bubble-active .reaction-count{color:rgb(var(--ax-sys-color-primary-500))}.reaction-bubble-active:hover{background:rgb(var(--ax-sys-color-primary-light-surface));border-color:rgb(var(--ax-sys-color-primary-600))}.message-reactions-container{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;min-height:20px;position:absolute;left:0;top:calc(100% + 18px)}.add-reaction-button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;padding:.25rem;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border-surface));border-radius:50%;cursor:pointer;transition:all var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);--ax-shadow: 0 1px 2px 0 rgb(0 0 0 / .08);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);visibility:hidden}.message-bubble-container:hover .add-reaction-button{visibility:visible}.add-reaction-visible{visibility:visible!important;background:rgb(var(--ax-sys-color-primary-500) / .1);border-color:rgb(var(--ax-sys-color-primary-500))}.add-reaction-button:hover{// transform: scale(1.15);--ax-shadow: 0 2px 4px 0 rgb(0 0 0 / .12);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);border-color:rgb(var(--ax-sys-color-primary-500));background:rgb(var(--ax-sys-color-primary-500) / .12)}.add-reaction-button i{font-size:1rem;color:rgb(var(--ax-sys-color-on-surface))}.reaction-picker-popup{position:fixed;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border-surface));border-radius:var(--ax-sys-border-radius);--ax-shadow: 0 8px 24px rgb(0 0 0 / .2);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);z-index:100;min-width:260px;max-width:300px;transform:translateY(-100%);margin-top:-.5rem}.reaction-picker-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-surface))}.picker-title{font-size:.8125rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.picker-close{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;border:none;border-radius:var(--ax-sys-border-radius);cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}.picker-close:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.reaction-bubble:focus-visible,.add-reaction-button:focus-visible,.picker-close:focus-visible,.reaction-picker-emoji:focus-visible,.action-trigger:focus-visible,.scroll-to-bottom:focus-visible{outline:2px solid rgb(var(--ax-sys-color-primary-500));outline-offset:2px}.reaction-picker-emojis{display:grid;grid-template-columns:repeat(6,1fr);gap:.375rem;padding:.75rem;padding-top:0}.reaction-picker-emoji{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1.5px solid transparent;border-radius:var(--ax-sys-border-radius);font-size:1.375rem;cursor:pointer;transition:all var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);font-family:\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\",\"Apple Color Emoji\",Twemoji Mozilla,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reaction-picker-emoji:hover{// transform: scale(1.15);rotate:20deg;background:rgb(var(--ax-sys-color-light-surface))}.reaction-picker-emoji-active{background:rgb(var(--ax-sys-color-primary-500) / .15);border-color:rgb(var(--ax-sys-color-primary-500))}.reaction-picker-emoji-active:hover{background:rgb(var(--ax-sys-color-primary-500) / .25)}.message-actions{padding-bottom:1.5rem;opacity:0;transition:opacity var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);z-index:10}.message-item:hover .message-actions{opacity:1}.action-trigger{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:var(--ax-sys-border-radius);font-size:.875rem;cursor:pointer;transition:all var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);--ax-shadow: 0 2px 4px 0 rgb(0 0 0 / .1);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow)}.action-trigger:hover{background:rgb(var(--ax-sys-color-light-surface));// transform: scale(1.05)}.shortcut{font-size:.6875rem;opacity:.7}.scroll-to-bottom{position:absolute;bottom:1rem;right:1rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;--ax-shadow: 0 4px 6px 0 rgb(0 0 0 / .1);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);transition:transform var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);z-index:999}.scroll-to-bottom:hover{// transform: scale(1.1)}.thread-badge,.forward-badge{position:absolute;top:-6px;min-width:20px;height:24px;padding:0 6px;display:flex;align-items:center;justify-content:center;gap:3px;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:2px solid rgb(var(--ax-sys-color-lightest-surface));border-radius:10px;font-size:.6875rem;font-weight:600;cursor:pointer;transition:all .2s;z-index:10}.thread-badge i,.forward-badge i{font-size:.625rem}.message-bubble-received .thread-badge{left:calc(100% - 5px)}.message-own .message-bubble-sent .thread-badge{right:calc(100% - 5px)}.forward-badge{background:rgb(var(--ax-sys-color-success-500));pointer-events:none}.message-bubble-received .forward-badge{left:calc(100% - 5px);top:18px}.message-own .message-bubble-sent .forward-badge{right:calc(100% - 5px);top:18px}.message-bubble-received .forward-badge:first-of-type{top:-6px}.message-own .message-bubble-sent .forward-badge:first-of-type{top:-6px}.thread-badge:hover{// transform: scale(1.1);background:rgb(var(--ax-sys-color-primary-600))}.thread-badge:active{// transform: scale(.95)}.forward-badge:hover{background:rgb(var(--ax-sys-color-success-600))}.slide-in{animation:slideInFromBottom var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.slide-out{opacity:0;transform:translateY(100%);transition:opacity var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function),transform var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: i1$5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "component", type: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: AXContextMenuComponent, selector: "ax-context-menu", inputs: ["orientation", "openOn", "closeOn", "items", "target"], outputs: ["onItemClick", "onOpening"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXFormatModule }, { kind: "ngmodule", type: AXDateTimeModule }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "directive", type: i4.AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i7.AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: AXInfiniteScrollDirective, selector: "[axInfiniteScroll]", inputs: ["threshold", "edge"], outputs: ["scrollThreshold"] }, { kind: "pipe", type: i1$5.AsyncPipe, name: "async" }, { kind: "pipe", type: i5$1.AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15680
15686
|
}
|
|
15681
15687
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMessageListComponent, decorators: [{
|
|
15682
15688
|
type: Component,
|
|
@@ -15987,7 +15993,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
15987
15993
|
</ax-popover>
|
|
15988
15994
|
}
|
|
15989
15995
|
}
|
|
15990
|
-
`, styles: [":host{display:block;height:100%;position:relative}.message-list{height:100%}.list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center}.list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:3rem 2rem;gap:1.25rem;animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.empty-icon{font-size:5.5rem;line-height:1;opacity:.35;margin-bottom:.5rem;filter:grayscale(.2)}.empty-title{font-size:1.625rem;font-weight:600;margin:0;color:rgb(var(--ax-sys-color-on-surface));letter-spacing:-.02em}.empty-description{font-size:1.0625rem;margin:0;color:rgb(var(--ax-sys-color-on-surface));opacity:.65;max-width:420px;line-height:1.7}.spinner{width:32px;height:32px;border:3px solid rgb(var(--ax-sys-color-border-light-surface));border-top-color:rgb(var(--ax-sys-color-primary-500));border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.list-loading-more{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;text-align:center;color:rgb(var(--ax-sys-color-on-surface));opacity:.7}.messages-container{width:100%;height:100%;overflow-y:auto;overflow-x:hidden}.date-separator{position:sticky;z-index:150;top:0;display:flex;align-items:center;justify-content:center;margin:.5rem 0}.date-text{padding:.25rem .75rem;background:rgb(var(--ax-sys-color-lighter-surface));font-size:.75rem;font-weight:500;border-radius:1rem;width:7rem;display:flex;justify-content:center;align-items:center}.unread-separator{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0;padding:0 1rem}.unread-separator-line{flex:1;height:1px;background:rgb(var(--ax-sys-color-primary-500));opacity:.3}.unread-separator-text{font-size:.75rem;font-weight:600;color:rgb(var(--ax-sys-color-primary-500));text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.message-item:has(.message-reactions-bubbles){padding-bottom:2.5rem}.message-item{position:relative;display:flex;padding:1rem;border-radius:0;gap:.5rem;margin-bottom:2rem;line-height:1rem;align-items:end;transition:background-color .3s ease}.message-highlight{background-color:rgba(var(--ax-sys-color-primary-500),.1);border-radius:.5rem}.fade-slide-in{animation:fadeSlideIn var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}@keyframes fadeSlideIn{0%{opacity:0;// transform: translateX(20%)}to{opacity:1;// transform: translateX(0)}}.message-own{flex-direction:row-reverse}.message-avatar{flex-shrink:0;margin-bottom:.25rem}.message-bubble-container{display:flex;flex-direction:column;max-width:70%;position:relative}.message-own .message-bubble-container{align-items:flex-end}.message-sender{font-size:.75rem;font-weight:600;margin-bottom:.25rem}.message-bubble{position:relative;padding:.5rem .75rem;border-radius:1rem;background:rgb(var(--ax-sys-color-surface));box-shadow:0 1px 2px #0000000d;word-wrap:break-word;transition:background-color .3s ease}.reply-preview{display:flex;gap:.5rem;padding:.5rem;margin-bottom:.5rem;background:#0000000d;border-radius:.5rem;cursor:pointer;transition:background-color .2s}.reply-preview:hover{background:#00000014}.message-own .reply-preview{background:#ffffff26}.message-own .reply-preview:hover{background:#ffffff40}.reply-preview-line{width:3px;background:currentColor;opacity:.5;border-radius:1.5px;flex-shrink:0}.reply-preview-content{flex:1;min-width:0}.reply-preview-sender{font-size:.75rem;font-weight:600;margin-bottom:.125rem;opacity:.9}.reply-preview-text{font-size:.8125rem;opacity:.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forwarded-indicator{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem;font-size:.75rem;font-weight:500;font-style:italic;opacity:.7;border-left:3px solid currentColor;border-radius:.5rem;padding:.375rem .5rem}.forwarded-indicator i{font-size:.875rem}.forwarded-text{font-size:.75rem}.message-bubble-received{border-bottom-left-radius:.125rem}.message-bubble-sent{border-bottom-right-radius:.125rem}.message-own .message-bubble{background:rgb(var(--ax-sys-color-primary-surface));color:rgb(var(--ax-sys-color-on-primary-surface))}.message-content{font-size:.9375rem;line-height:1.5;white-space:pre-wrap}.message-footer{display:flex;align-items:end;gap:.25rem;margin-top:.25rem;font-size:.6875rem;opacity:.7;letter-spacing:.05rem}.message-time{font-variant-numeric:tabular-nums;font-size:.675rem}.edited-indicator{display:inline-flex;align-items:center;gap:.25rem;font-size:.675rem;opacity:.75;padding-inline-start:.35rem;border-inline-start:1px solid lightgray}.status-icon{cursor:help;display:inline-flex;font-size:.75rem}.status-read{color:rgb(var(--ax-sys-color-primary-400))}.status-failed{color:rgb(var(--ax-sys-color-danger-500))}.message-reactions-bubbles{display:flex;flex-wrap:wrap;gap:.25rem;z-index:1}.reaction-bubble{display:flex;align-items:center;gap:.125rem;padding:.25rem;background:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border:1px solid rgb(var(--ax-sys-color-border));border-radius:.625rem;font-size:.625rem;cursor:pointer;transition:all .15s;box-shadow:0 1px 2px #00000014;min-height:16px;font-family:\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\",\"Apple Color Emoji\",Twemoji Mozilla,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reaction-bubble:hover{// transform: scale(1.3);box-shadow:0 2px 4px #0000001f;border-color:rgb(var(--ax-sys-color-primary))}.reaction-bubble-active{background:rgb(var(--ax-sys-color-primary-lightest-surface));color:rgb(var(--ax-sys-color-on-primary-lightest-surface));border-color:rgb(var(--ax-sys-color-primary));border-width:1.5px}.reaction-emoji{font-size:1.2rem;line-height:1}.reaction-count{font-size:1rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface));line-height:1}.reaction-bubble-active .reaction-count{color:rgb(var(--ax-sys-color-primary))}.reaction-bubble-active:hover{background:rgb(var(--ax-sys-color-primary-light-surface));border-color:rgb(var(--ax-sys-color-primary-600))}.message-reactions-container{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;min-height:20px;position:absolute;left:0;top:calc(100% + 18px)}.add-reaction-button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;padding:.25rem;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border));border-radius:50%;cursor:pointer;transition:all .15s;box-shadow:0 1px 2px #00000014;visibility:hidden}.message-bubble-container:hover .add-reaction-button{visibility:visible}.add-reaction-visible{visibility:visible!important;background:rgb(var(--ax-sys-color-primary) / .1);border-color:rgb(var(--ax-sys-color-primary))}.add-reaction-button:hover{// transform: scale(1.15);box-shadow:0 2px 4px #0000001f;border-color:rgb(var(--ax-sys-color-primary));background:rgb(var(--ax-sys-color-primary) / .12)}.add-reaction-button i{font-size:1rem;color:rgb(var(--ax-sys-color-on-surface))}.reaction-picker-popup{position:fixed;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border));border-radius:.75rem;box-shadow:0 8px 24px #0003;z-index:1000;min-width:260px;max-width:300px;transform:translateY(-100%);margin-top:-.5rem}.reaction-picker-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid rgb(var(--ax-sys-color-border))}.picker-title{font-size:.8125rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.picker-close{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;border:none;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface-variant));transition:all .2s}.picker-close:hover{background:rgb(var(--ax-sys-color-error) / .1);color:rgb(var(--ax-sys-color-error))}.reaction-picker-emojis{display:grid;grid-template-columns:repeat(6,1fr);gap:.375rem;padding:.75rem;padding-top:0}.reaction-picker-emoji{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1.5px solid transparent;border-radius:.5rem;font-size:1.375rem;cursor:pointer;transition:all .15s;font-family:\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\",\"Apple Color Emoji\",Twemoji Mozilla,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reaction-picker-emoji:hover{// transform: scale(1.15);rotate:20deg;background:rgb(var(--ax-sys-color-surface-variant))}.reaction-picker-emoji-active{background:rgb(var(--ax-sys-color-primary) / .15);border-color:rgb(var(--ax-sys-color-primary))}.reaction-picker-emoji-active:hover{background:rgb(var(--ax-sys-color-primary) / .25)}.message-actions{padding-bottom:1.5rem;opacity:0;transition:opacity .2s;z-index:10}.message-item:hover .message-actions{opacity:1}.action-trigger{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:.375rem;font-size:.875rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a}.action-trigger:hover{background:rgb(var(--ax-sys-color-light-surface));// transform: scale(1.05)}.shortcut{font-size:.6875rem;opacity:.7}.scroll-to-bottom{position:absolute;bottom:1rem;right:1rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 6px #0000001a;transition:transform .2s;z-index:999}.scroll-to-bottom:hover{// transform: scale(1.1)}.thread-badge,.forward-badge{position:absolute;top:-6px;min-width:20px;height:24px;padding:0 6px;display:flex;align-items:center;justify-content:center;gap:3px;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:2px solid rgb(var(--ax-sys-color-lightest-surface));border-radius:10px;font-size:.6875rem;font-weight:600;cursor:pointer;transition:all .2s;z-index:10}.thread-badge i,.forward-badge i{font-size:.625rem}.message-bubble-received .thread-badge{left:calc(100% - 5px)}.message-own .message-bubble-sent .thread-badge{right:calc(100% - 5px)}.forward-badge{background:rgb(var(--ax-sys-color-success-500));pointer-events:none}.message-bubble-received .forward-badge{left:calc(100% - 5px);top:18px}.message-own .message-bubble-sent .forward-badge{right:calc(100% - 5px);top:18px}.message-bubble-received .forward-badge:first-of-type{top:-6px}.message-own .message-bubble-sent .forward-badge:first-of-type{top:-6px}.thread-badge:hover{// transform: scale(1.1);background:rgb(var(--ax-sys-color-primary-600))}.thread-badge:active{// transform: scale(.95)}.forward-badge:hover{background:rgb(var(--ax-sys-color-success-600))}.slide-in{animation:slideInFromBottom var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.slide-out{opacity:0;transform:translateY(100%);transition:opacity var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function),transform var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}\n"] }]
|
|
15996
|
+
`, styles: [":host{display:block;height:100%;position:relative}.message-list{height:100%}.list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center}.list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:3rem 2rem;gap:1.25rem;animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.empty-icon{font-size:5.5rem;line-height:1;opacity:.35;margin-bottom:.5rem;filter:grayscale(.2)}.empty-title{font-size:1.625rem;font-weight:600;margin:0;color:rgb(var(--ax-sys-color-on-surface));letter-spacing:-.02em}.empty-description{font-size:1.0625rem;margin:0;color:rgb(var(--ax-sys-color-on-surface));opacity:.65;max-width:420px;line-height:1.7}.spinner{width:32px;height:32px;border:3px solid rgb(var(--ax-sys-color-border-light-surface));border-top-color:rgb(var(--ax-sys-color-primary-500));border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.list-loading-more{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;text-align:center;color:rgb(var(--ax-sys-color-on-surface));opacity:.7}.messages-container{width:100%;height:100%;overflow-y:auto;overflow-x:hidden}.date-separator{position:sticky;z-index:150;top:0;display:flex;align-items:center;justify-content:center;margin:.5rem 0}.date-text{padding:.25rem .75rem;background:rgb(var(--ax-sys-color-lighter-surface));font-size:.75rem;font-weight:500;border-radius:1rem;width:7rem;display:flex;justify-content:center;align-items:center}.unread-separator{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0;padding:0 1rem}.unread-separator-line{flex:1;height:1px;background:rgb(var(--ax-sys-color-primary-500));opacity:.3}.unread-separator-text{font-size:.75rem;font-weight:600;color:rgb(var(--ax-sys-color-primary-500));text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.message-item:has(.message-reactions-bubbles){padding-bottom:2.5rem}.message-item{position:relative;display:flex;padding:1rem;border-radius:0;gap:.5rem;margin-bottom:2rem;line-height:1rem;align-items:end;transition:background-color .3s ease}.message-highlight{background-color:rgba(var(--ax-sys-color-primary-500),.1);border-radius:.5rem}.fade-slide-in{animation:fadeSlideIn var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}@keyframes fadeSlideIn{0%{opacity:0;// transform: translateX(20%)}to{opacity:1;// transform: translateX(0)}}.message-own{flex-direction:row-reverse}.message-avatar{flex-shrink:0;margin-bottom:.25rem}.message-bubble-container{display:flex;flex-direction:column;max-width:70%;position:relative}.message-own .message-bubble-container{align-items:flex-end}.message-sender{font-size:.75rem;font-weight:600;margin-bottom:.25rem}.message-bubble{position:relative;padding:.5rem .75rem;border-radius:1rem;background:rgb(var(--ax-sys-color-surface));--ax-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);word-wrap:break-word;transition:background-color .3s ease}.reply-preview{display:flex;gap:.5rem;padding:.5rem;margin-bottom:.5rem;background:rgb(var(--ax-sys-color-on-surface) / .05);border-radius:var(--ax-sys-border-radius);cursor:pointer;transition:background-color var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}.reply-preview:hover{background:rgb(var(--ax-sys-color-on-surface) / .08)}.message-own .reply-preview{background:rgb(var(--ax-sys-color-light-surface) / .15)}.message-own .reply-preview:hover{background:rgb(var(--ax-sys-color-light-surface) / .25)}.reply-preview-line{width:3px;background:currentColor;opacity:.5;border-radius:1.5px;flex-shrink:0}.reply-preview-content{flex:1;min-width:0}.reply-preview-sender{font-size:.75rem;font-weight:600;margin-bottom:.125rem;opacity:.9}.reply-preview-text{font-size:.8125rem;opacity:.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forwarded-indicator{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem;font-size:.75rem;font-weight:500;font-style:italic;opacity:.7;border-left:3px solid currentColor;border-radius:var(--ax-sys-border-radius);padding:.375rem .5rem}.forwarded-indicator i{font-size:.875rem}.forwarded-text{font-size:.75rem}.message-bubble-received{border-bottom-left-radius:.125rem}.message-bubble-sent{border-bottom-right-radius:.125rem}.message-own .message-bubble{background:rgb(var(--ax-sys-color-primary-surface));color:rgb(var(--ax-sys-color-on-primary-surface))}.message-content{font-size:.9375rem;line-height:1.5;white-space:pre-wrap}.message-footer{display:flex;align-items:end;gap:.25rem;margin-top:.25rem;font-size:.6875rem;opacity:.7;letter-spacing:.05rem}.message-time{font-variant-numeric:tabular-nums;font-size:.675rem}.edited-indicator{display:inline-flex;align-items:center;gap:.25rem;font-size:.675rem;opacity:.75;padding-inline-start:.35rem;border-inline-start:1px solid rgb(var(--ax-sys-color-border-light-surface))}.status-icon{cursor:help;display:inline-flex;font-size:.75rem}.status-read{color:rgb(var(--ax-sys-color-primary-400))}.status-failed{color:rgb(var(--ax-sys-color-danger-500))}.message-reactions-bubbles{display:flex;flex-wrap:wrap;gap:.25rem;z-index:1}.reaction-bubble{display:flex;align-items:center;gap:.125rem;padding:.25rem;background:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border:1px solid rgb(var(--ax-sys-color-border-surface));border-radius:var(--ax-sys-border-radius);font-size:.625rem;cursor:pointer;transition:all var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);--ax-shadow: 0 1px 2px 0 rgb(0 0 0 / .08);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);min-height:16px;font-family:\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\",\"Apple Color Emoji\",Twemoji Mozilla,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reaction-bubble:hover{// transform: scale(1.3);--ax-shadow: 0 2px 4px 0 rgb(0 0 0 / .12);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);border-color:rgb(var(--ax-sys-color-primary-500))}.reaction-bubble-active{background:rgb(var(--ax-sys-color-primary-lightest-surface));color:rgb(var(--ax-sys-color-on-primary-lightest-surface));border-color:rgb(var(--ax-sys-color-primary-500));border-width:1.5px}.reaction-emoji{font-size:1.2rem;line-height:1}.reaction-count{font-size:1rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface));line-height:1}.reaction-bubble-active .reaction-count{color:rgb(var(--ax-sys-color-primary-500))}.reaction-bubble-active:hover{background:rgb(var(--ax-sys-color-primary-light-surface));border-color:rgb(var(--ax-sys-color-primary-600))}.message-reactions-container{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;min-height:20px;position:absolute;left:0;top:calc(100% + 18px)}.add-reaction-button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;padding:.25rem;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border-surface));border-radius:50%;cursor:pointer;transition:all var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);--ax-shadow: 0 1px 2px 0 rgb(0 0 0 / .08);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);visibility:hidden}.message-bubble-container:hover .add-reaction-button{visibility:visible}.add-reaction-visible{visibility:visible!important;background:rgb(var(--ax-sys-color-primary-500) / .1);border-color:rgb(var(--ax-sys-color-primary-500))}.add-reaction-button:hover{// transform: scale(1.15);--ax-shadow: 0 2px 4px 0 rgb(0 0 0 / .12);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);border-color:rgb(var(--ax-sys-color-primary-500));background:rgb(var(--ax-sys-color-primary-500) / .12)}.add-reaction-button i{font-size:1rem;color:rgb(var(--ax-sys-color-on-surface))}.reaction-picker-popup{position:fixed;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border-surface));border-radius:var(--ax-sys-border-radius);--ax-shadow: 0 8px 24px rgb(0 0 0 / .2);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);z-index:100;min-width:260px;max-width:300px;transform:translateY(-100%);margin-top:-.5rem}.reaction-picker-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-surface))}.picker-title{font-size:.8125rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.picker-close{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;border:none;border-radius:var(--ax-sys-border-radius);cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}.picker-close:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.reaction-bubble:focus-visible,.add-reaction-button:focus-visible,.picker-close:focus-visible,.reaction-picker-emoji:focus-visible,.action-trigger:focus-visible,.scroll-to-bottom:focus-visible{outline:2px solid rgb(var(--ax-sys-color-primary-500));outline-offset:2px}.reaction-picker-emojis{display:grid;grid-template-columns:repeat(6,1fr);gap:.375rem;padding:.75rem;padding-top:0}.reaction-picker-emoji{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1.5px solid transparent;border-radius:var(--ax-sys-border-radius);font-size:1.375rem;cursor:pointer;transition:all var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);font-family:\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\",\"Apple Color Emoji\",Twemoji Mozilla,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reaction-picker-emoji:hover{// transform: scale(1.15);rotate:20deg;background:rgb(var(--ax-sys-color-light-surface))}.reaction-picker-emoji-active{background:rgb(var(--ax-sys-color-primary-500) / .15);border-color:rgb(var(--ax-sys-color-primary-500))}.reaction-picker-emoji-active:hover{background:rgb(var(--ax-sys-color-primary-500) / .25)}.message-actions{padding-bottom:1.5rem;opacity:0;transition:opacity var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);z-index:10}.message-item:hover .message-actions{opacity:1}.action-trigger{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:var(--ax-sys-border-radius);font-size:.875rem;cursor:pointer;transition:all var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);--ax-shadow: 0 2px 4px 0 rgb(0 0 0 / .1);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow)}.action-trigger:hover{background:rgb(var(--ax-sys-color-light-surface));// transform: scale(1.05)}.shortcut{font-size:.6875rem;opacity:.7}.scroll-to-bottom{position:absolute;bottom:1rem;right:1rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;--ax-shadow: 0 4px 6px 0 rgb(0 0 0 / .1);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);transition:transform var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);z-index:999}.scroll-to-bottom:hover{// transform: scale(1.1)}.thread-badge,.forward-badge{position:absolute;top:-6px;min-width:20px;height:24px;padding:0 6px;display:flex;align-items:center;justify-content:center;gap:3px;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:2px solid rgb(var(--ax-sys-color-lightest-surface));border-radius:10px;font-size:.6875rem;font-weight:600;cursor:pointer;transition:all .2s;z-index:10}.thread-badge i,.forward-badge i{font-size:.625rem}.message-bubble-received .thread-badge{left:calc(100% - 5px)}.message-own .message-bubble-sent .thread-badge{right:calc(100% - 5px)}.forward-badge{background:rgb(var(--ax-sys-color-success-500));pointer-events:none}.message-bubble-received .forward-badge{left:calc(100% - 5px);top:18px}.message-own .message-bubble-sent .forward-badge{right:calc(100% - 5px);top:18px}.message-bubble-received .forward-badge:first-of-type{top:-6px}.message-own .message-bubble-sent .forward-badge:first-of-type{top:-6px}.thread-badge:hover{// transform: scale(1.1);background:rgb(var(--ax-sys-color-primary-600))}.thread-badge:active{// transform: scale(.95)}.forward-badge:hover{background:rgb(var(--ax-sys-color-success-600))}.slide-in{animation:slideInFromBottom var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.slide-out{opacity:0;transform:translateY(100%);transition:opacity var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function),transform var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}\n"] }]
|
|
15991
15997
|
}], ctorParameters: () => [], propDecorators: { avatarTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatarTemplate", required: false }] }], reactionPopover: [{ type: i0.ViewChild, args: ['reactionPopover', { isSignal: true }] }], messageListRef: [{ type: i0.ViewChild, args: ['messageList', { isSignal: true }] }], messagesContainerRef: [{ type: i0.ViewChild, args: ['messagesContainer', { isSignal: true }] }], messageAction: [{ type: i0.Output, args: ["messageAction"] }] } });
|
|
15992
15998
|
|
|
15993
15999
|
/**
|
|
@@ -17185,15 +17191,15 @@ const DECLARATIONS = [
|
|
|
17185
17191
|
AXInfoBarComponent,
|
|
17186
17192
|
AXMessageListComponent,
|
|
17187
17193
|
AXComposerComponent,
|
|
17188
|
-
|
|
17189
|
-
|
|
17190
|
-
|
|
17191
|
-
|
|
17192
|
-
|
|
17193
|
-
|
|
17194
|
-
|
|
17195
|
-
|
|
17196
|
-
|
|
17194
|
+
AXTextRendererComponent,
|
|
17195
|
+
AXImageRendererComponent,
|
|
17196
|
+
AXVideoRendererComponent,
|
|
17197
|
+
AXAudioRendererComponent,
|
|
17198
|
+
AXVoiceRendererComponent,
|
|
17199
|
+
AXFileRendererComponent,
|
|
17200
|
+
AXLocationRendererComponent,
|
|
17201
|
+
AXStickerRendererComponent,
|
|
17202
|
+
AXFallbackRendererComponent,
|
|
17197
17203
|
AXInfiniteScrollDirective,
|
|
17198
17204
|
];
|
|
17199
17205
|
/**
|
|
@@ -17256,43 +17262,43 @@ class AXConversation2Module {
|
|
|
17256
17262
|
AXInfoBarComponent,
|
|
17257
17263
|
AXMessageListComponent,
|
|
17258
17264
|
AXComposerComponent,
|
|
17259
|
-
|
|
17260
|
-
|
|
17261
|
-
|
|
17262
|
-
|
|
17263
|
-
|
|
17264
|
-
|
|
17265
|
-
|
|
17266
|
-
|
|
17267
|
-
|
|
17265
|
+
AXTextRendererComponent,
|
|
17266
|
+
AXImageRendererComponent,
|
|
17267
|
+
AXVideoRendererComponent,
|
|
17268
|
+
AXAudioRendererComponent,
|
|
17269
|
+
AXVoiceRendererComponent,
|
|
17270
|
+
AXFileRendererComponent,
|
|
17271
|
+
AXLocationRendererComponent,
|
|
17272
|
+
AXStickerRendererComponent,
|
|
17273
|
+
AXFallbackRendererComponent,
|
|
17268
17274
|
AXInfiniteScrollDirective], exports: [AXConversationContainerComponent,
|
|
17269
17275
|
AXSidebarComponent,
|
|
17270
17276
|
AXInfoBarComponent,
|
|
17271
17277
|
AXMessageListComponent,
|
|
17272
17278
|
AXComposerComponent,
|
|
17273
|
-
|
|
17274
|
-
|
|
17275
|
-
|
|
17276
|
-
|
|
17277
|
-
|
|
17278
|
-
|
|
17279
|
-
|
|
17280
|
-
|
|
17281
|
-
|
|
17279
|
+
AXTextRendererComponent,
|
|
17280
|
+
AXImageRendererComponent,
|
|
17281
|
+
AXVideoRendererComponent,
|
|
17282
|
+
AXAudioRendererComponent,
|
|
17283
|
+
AXVoiceRendererComponent,
|
|
17284
|
+
AXFileRendererComponent,
|
|
17285
|
+
AXLocationRendererComponent,
|
|
17286
|
+
AXStickerRendererComponent,
|
|
17287
|
+
AXFallbackRendererComponent,
|
|
17282
17288
|
AXInfiniteScrollDirective] }); }
|
|
17283
17289
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversation2Module, imports: [CommonModule, FormsModule, AXConversationContainerComponent,
|
|
17284
17290
|
AXSidebarComponent,
|
|
17285
17291
|
AXInfoBarComponent,
|
|
17286
17292
|
AXMessageListComponent,
|
|
17287
17293
|
AXComposerComponent,
|
|
17288
|
-
|
|
17289
|
-
|
|
17290
|
-
|
|
17291
|
-
|
|
17292
|
-
|
|
17293
|
-
|
|
17294
|
-
|
|
17295
|
-
|
|
17294
|
+
AXImageRendererComponent,
|
|
17295
|
+
AXVideoRendererComponent,
|
|
17296
|
+
AXAudioRendererComponent,
|
|
17297
|
+
AXVoiceRendererComponent,
|
|
17298
|
+
AXFileRendererComponent,
|
|
17299
|
+
AXLocationRendererComponent,
|
|
17300
|
+
AXStickerRendererComponent,
|
|
17301
|
+
AXFallbackRendererComponent] }); }
|
|
17296
17302
|
}
|
|
17297
17303
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversation2Module, decorators: [{
|
|
17298
17304
|
type: NgModule,
|
|
@@ -17637,5 +17643,5 @@ function getErrorMessage(code, params) {
|
|
|
17637
17643
|
* Generated bundle index. Do not edit.
|
|
17638
17644
|
*/
|
|
17639
17645
|
|
|
17640
|
-
export { AI_API_KEY, AXAIResponderService, AXAudioPickerComponent, AXBaseRegistry, AXComposerActionRegistry, AXComposerComponent, AXComposerPopupComponent, AXComposerService, AXComposerTabRegistry, AXContactPickerComponent, AXConversation2Module, AXConversationApi, AXConversationContainerComponent, AXConversationContainerDirective, AXConversationDateUtilsService, AXConversationInfoPanelComponent, AXConversationItemActionRegistry, AXConversationMessageUtilsService, AXConversationService, AXConversationStoreService, AXConversationTabRegistry, AXEmojiTabComponent, AXErrorHandlerService, AXFilePickerComponent, AXFileUploadService, AXForwardMessageDialogComponent, AXImagePickerComponent, AXIndexedDBConversationApi, AXIndexedDBMessageAIApi, AXIndexedDBMessageApi, AXIndexedDBRealtimeApi, AXIndexedDBUserApi, AXInfiniteScrollDirective, AXInfoBarActionRegistry, AXInfoBarComponent, AXInfoBarSearchComponent, AXInfoBarService, AXLocationPickerComponent, AXMessageActionRegistry, AXMessageApi, AXMessageListComponent, AXMessageListService, AXMessageRendererRegistry, AXNewConversationDialogComponent, AXPickerFooterComponent, AXPickerHeaderComponent, AXRealtimeApi, AXRegistryService, AXSidebarComponent, AXSidebarService, AXStickerTabComponent, AXUserApi, AXVideoPickerComponent, AXVoiceRecorderComponent, AX_CONVERSATION_AUDIO_RENDERER, AX_CONVERSATION_COMPOSER_AUDIO_ACTION, AX_CONVERSATION_COMPOSER_CONTACT_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_TAB, AX_CONVERSATION_COMPOSER_FILE_ACTION, AX_CONVERSATION_COMPOSER_IMAGE_ACTION, AX_CONVERSATION_COMPOSER_LOCATION_ACTION, AX_CONVERSATION_COMPOSER_STICKER_TAB, AX_CONVERSATION_COMPOSER_VIDEO_ACTION, AX_CONVERSATION_COMPOSER_VOICE_RECORDING_ACTION, AX_CONVERSATION_CONTACT_RENDERER, AX_CONVERSATION_FALLBACK_RENDERER, AX_CONVERSATION_FILE_RENDERER, AX_CONVERSATION_IMAGE_RENDERER, AX_CONVERSATION_INFO_BAR_ARCHIVE_ACTION, AX_CONVERSATION_INFO_BAR_BLOCK_ACTION, AX_CONVERSATION_INFO_BAR_DELETE_ACTION, AX_CONVERSATION_INFO_BAR_DIVIDER, AX_CONVERSATION_INFO_BAR_INFO_ACTION, AX_CONVERSATION_INFO_BAR_MUTE_ACTION, AX_CONVERSATION_INFO_BAR_SEARCH_ACTION, AX_CONVERSATION_ITEM_BLOCK_ACTION, AX_CONVERSATION_ITEM_DELETE_ACTION, AX_CONVERSATION_ITEM_DIVIDER, AX_CONVERSATION_ITEM_MARK_READ_ACTION, AX_CONVERSATION_ITEM_MUTE_ACTION, AX_CONVERSATION_ITEM_PIN_ACTION, AX_CONVERSATION_LOCATION_RENDERER, AX_CONVERSATION_MESSAGE_COPY_ACTION, AX_CONVERSATION_MESSAGE_DELETE_ACTION, AX_CONVERSATION_MESSAGE_EDIT_ACTION, AX_CONVERSATION_MESSAGE_FORWARD_ACTION, AX_CONVERSATION_MESSAGE_REPLY_ACTION, AX_CONVERSATION_STICKER_RENDERER, AX_CONVERSATION_SYSTEM_RENDERER, AX_CONVERSATION_TAB_ALL, AX_CONVERSATION_TAB_ARCHIVED, AX_CONVERSATION_TAB_CHANNELS, AX_CONVERSATION_TAB_GROUPS, AX_CONVERSATION_TAB_PRIVATE, AX_CONVERSATION_TAB_UNREAD, AX_CONVERSATION_TEXT_RENDERER, AX_CONVERSATION_VIDEO_RENDERER, AX_CONVERSATION_VOICE_RENDERER, AX_DEFAULT_CONVERSATION_CONFIG,
|
|
17646
|
+
export { AI_API_KEY, AXAIResponderService, AXAudioPickerComponent, AXAudioRendererComponent, AXBaseRegistry, AXComposerActionRegistry, AXComposerComponent, AXComposerPopupComponent, AXComposerService, AXComposerTabRegistry, AXContactPickerComponent, AXContactRendererComponent, AXConversation2Module, AXConversationApi, AXConversationContainerComponent, AXConversationContainerDirective, AXConversationDateUtilsService, AXConversationInfoPanelComponent, AXConversationItemActionRegistry, AXConversationMessageUtilsService, AXConversationService, AXConversationStoreService, AXConversationTabRegistry, AXEmojiTabComponent, AXErrorHandlerService, AXFallbackRendererComponent, AXFilePickerComponent, AXFileRendererComponent, AXFileUploadService, AXForwardMessageDialogComponent, AXImagePickerComponent, AXImageRendererComponent, AXIndexedDBConversationApi, AXIndexedDBMessageAIApi, AXIndexedDBMessageApi, AXIndexedDBRealtimeApi, AXIndexedDBUserApi, AXInfiniteScrollDirective, AXInfoBarActionRegistry, AXInfoBarComponent, AXInfoBarSearchComponent, AXInfoBarService, AXLocationPickerComponent, AXLocationRendererComponent, AXMessageActionRegistry, AXMessageApi, AXMessageListComponent, AXMessageListService, AXMessageRendererRegistry, AXNewConversationDialogComponent, AXPickerFooterComponent, AXPickerHeaderComponent, AXRealtimeApi, AXRegistryService, AXSidebarComponent, AXSidebarService, AXStickerRendererComponent, AXStickerTabComponent, AXSystemRendererComponent, AXTextRendererComponent, AXUserApi, AXVideoPickerComponent, AXVideoRendererComponent, AXVoiceRecorderComponent, AXVoiceRendererComponent, AX_CONVERSATION_AUDIO_RENDERER, AX_CONVERSATION_COMPOSER_AUDIO_ACTION, AX_CONVERSATION_COMPOSER_CONTACT_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_TAB, AX_CONVERSATION_COMPOSER_FILE_ACTION, AX_CONVERSATION_COMPOSER_IMAGE_ACTION, AX_CONVERSATION_COMPOSER_LOCATION_ACTION, AX_CONVERSATION_COMPOSER_STICKER_TAB, AX_CONVERSATION_COMPOSER_VIDEO_ACTION, AX_CONVERSATION_COMPOSER_VOICE_RECORDING_ACTION, AX_CONVERSATION_CONTACT_RENDERER, AX_CONVERSATION_FALLBACK_RENDERER, AX_CONVERSATION_FILE_RENDERER, AX_CONVERSATION_IMAGE_RENDERER, AX_CONVERSATION_INFO_BAR_ARCHIVE_ACTION, AX_CONVERSATION_INFO_BAR_BLOCK_ACTION, AX_CONVERSATION_INFO_BAR_DELETE_ACTION, AX_CONVERSATION_INFO_BAR_DIVIDER, AX_CONVERSATION_INFO_BAR_INFO_ACTION, AX_CONVERSATION_INFO_BAR_MUTE_ACTION, AX_CONVERSATION_INFO_BAR_SEARCH_ACTION, AX_CONVERSATION_ITEM_BLOCK_ACTION, AX_CONVERSATION_ITEM_DELETE_ACTION, AX_CONVERSATION_ITEM_DIVIDER, AX_CONVERSATION_ITEM_MARK_READ_ACTION, AX_CONVERSATION_ITEM_MUTE_ACTION, AX_CONVERSATION_ITEM_PIN_ACTION, AX_CONVERSATION_LOCATION_RENDERER, AX_CONVERSATION_MESSAGE_COPY_ACTION, AX_CONVERSATION_MESSAGE_DELETE_ACTION, AX_CONVERSATION_MESSAGE_EDIT_ACTION, AX_CONVERSATION_MESSAGE_FORWARD_ACTION, AX_CONVERSATION_MESSAGE_REPLY_ACTION, AX_CONVERSATION_STICKER_RENDERER, AX_CONVERSATION_SYSTEM_RENDERER, AX_CONVERSATION_TAB_ALL, AX_CONVERSATION_TAB_ARCHIVED, AX_CONVERSATION_TAB_CHANNELS, AX_CONVERSATION_TAB_GROUPS, AX_CONVERSATION_TAB_PRIVATE, AX_CONVERSATION_TAB_UNREAD, AX_CONVERSATION_TEXT_RENDERER, AX_CONVERSATION_VIDEO_RENDERER, AX_CONVERSATION_VOICE_RENDERER, AX_DEFAULT_CONVERSATION_CONFIG, CONNECTION_ERRORS, CONVERSATION_CONFIG, CONVERSATION_ERRORS, DEFAULT_COMPOSER_ACTIONS, DEFAULT_COMPOSER_TABS, DEFAULT_CONVERSATION_ITEM_ACTIONS, DEFAULT_CONVERSATION_TABS, DEFAULT_INFO_BAR_ACTIONS, DEFAULT_MESSAGE_ACTIONS, DEFAULT_MESSAGE_RENDERERS, ERROR_HANDLER_CONFIG, ERROR_MESSAGES, FILE_ERRORS, LOCATION_ERRORS, MESSAGE_ERRORS, PERMISSION_ERRORS, REGISTRY_CONFIG, URL_ERRORS, USER_ERRORS, formatErrorMessage, getDefaultConversationItemActions, getErrorMessage, mergeWithDefaults, provideConversation, sanitizeInput, validateConversationId, validateEmail, validateFile, validateLatitude, validateLongitude, validateMessagePayload, validateMessageText, validateMessageType, validateUrl, validateUserId, validateUserIds };
|
|
17641
17647
|
//# sourceMappingURL=acorex-components-conversation2.mjs.map
|