@acorex/components 22.2.15 → 22.2.17

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.
Files changed (42) hide show
  1. package/fesm2022/acorex-components-calendar.mjs +4 -5
  2. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  3. package/fesm2022/acorex-components-code-editor.mjs +34 -9
  4. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  5. package/fesm2022/acorex-components-combo-box.mjs +1 -1
  6. package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
  7. package/fesm2022/{acorex-components-conversation-acorex-components-conversation-lk7dyqep.mjs → acorex-components-conversation-acorex-components-conversation-ck1BG3Hi.mjs} +6 -6
  8. package/fesm2022/{acorex-components-conversation-acorex-components-conversation-lk7dyqep.mjs.map → acorex-components-conversation-acorex-components-conversation-ck1BG3Hi.mjs.map} +1 -1
  9. package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-BZiT5TPq.mjs → acorex-components-conversation-picker-rename-file-dialog.component-CucWbe-K.mjs} +2 -2
  10. package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-BZiT5TPq.mjs.map → acorex-components-conversation-picker-rename-file-dialog.component-CucWbe-K.mjs.map} +1 -1
  11. package/fesm2022/acorex-components-conversation.mjs +1 -1
  12. package/fesm2022/acorex-components-data-table.mjs +3 -3
  13. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  14. package/fesm2022/acorex-components-dropdown.mjs +2 -2
  15. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  16. package/fesm2022/acorex-components-editor.mjs +8 -7
  17. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  18. package/fesm2022/acorex-components-fab.mjs +1 -1
  19. package/fesm2022/acorex-components-fab.mjs.map +1 -1
  20. package/fesm2022/acorex-components-lookup.mjs +1 -1
  21. package/fesm2022/acorex-components-lookup.mjs.map +1 -1
  22. package/fesm2022/acorex-components-media-viewer.mjs +197 -200
  23. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  24. package/fesm2022/acorex-components-password-box.mjs +1 -1
  25. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  26. package/fesm2022/acorex-components-popover.mjs +8 -1
  27. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  28. package/fesm2022/acorex-components-popup.mjs +2 -24
  29. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  30. package/fesm2022/acorex-components-reaction.mjs +1 -1
  31. package/fesm2022/acorex-components-reaction.mjs.map +1 -1
  32. package/fesm2022/acorex-components-scheduler.mjs +6 -6
  33. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  34. package/fesm2022/acorex-components-side-menu.mjs +43 -30
  35. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  36. package/package.json +3 -3
  37. package/types/acorex-components-calendar.d.ts +0 -1
  38. package/types/acorex-components-code-editor.d.ts +3 -0
  39. package/types/acorex-components-media-viewer.d.ts +1 -0
  40. package/types/acorex-components-popover.d.ts +5 -1
  41. package/types/acorex-components-popup.d.ts +0 -9
  42. package/types/acorex-components-side-menu.d.ts +6 -8
@@ -1,39 +1,29 @@
1
1
  import { AXCarouselDirective } from '@acorex/cdk/carousel';
2
2
  import { AXComponent } from '@acorex/cdk/common';
3
3
  import { AXDecoratorGenericComponent, AXDecoratorFullScreenButtonComponent, AXDecoratorModule } from '@acorex/components/decorators';
4
- import * as i1 from '@acorex/components/tooltip';
4
+ import * as i1$1 from '@acorex/components/tooltip';
5
5
  import { AXTooltipModule } from '@acorex/components/tooltip';
6
6
  import { isBrowser, AXPlatform } from '@acorex/core/platform';
7
7
  import { AXTranslatorPipe } from '@acorex/core/translation';
8
8
  import { AsyncPipe, CommonModule } from '@angular/common';
9
9
  import * as i0 from '@angular/core';
10
- import { Injectable, signal, inject, input, effect, ViewEncapsulation, Component, ElementRef, afterNextRender, viewChild, contentChild, computed, NgModule } from '@angular/core';
10
+ import { Injectable, signal, inject, effect, ViewEncapsulation, Component, input, ElementRef, afterNextRender, viewChild, contentChild, computed, NgModule } from '@angular/core';
11
11
  import { DomSanitizer } from '@angular/platform-browser';
12
12
  import { ComponentPortal, CdkPortalOutlet } from '@angular/cdk/portal';
13
13
  import { AXImageComponent, AXImageModule } from '@acorex/components/image';
14
- import * as i1$1 from '@acorex/components/loading';
15
- import { AXLoadingComponent, AXLoadingModule } from '@acorex/components/loading';
14
+ import * as i1 from '@acorex/components/loading';
15
+ import { AXLoadingModule, AXLoadingComponent } from '@acorex/components/loading';
16
16
  import { AXPdfReaderComponent, AXPdfReaderModule } from '@acorex/components/pdf-reader';
17
17
  import { AXVideoPlayerComponent, AXVideoPlayerModule } from '@acorex/components/video-player';
18
18
  import { AXButtonModule } from '@acorex/components/button';
19
19
  import { FormsModule } from '@angular/forms';
20
20
 
21
- class AXMediaViewerTypeRegistryService {
22
- constructor() {
23
- this.plugins = new Map();
24
- }
25
- register(...plugins) {
26
- plugins.forEach((p) => this.plugins.set(p.name, p));
27
- }
28
- resolve(name) {
29
- return this.plugins.get(name);
30
- }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXMediaViewerTypeRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
32
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXMediaViewerTypeRegistryService, providedIn: 'root' }); }
21
+ class AXMediaViewerBaseComponent {
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXMediaViewerBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
23
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXMediaViewerBaseComponent }); }
33
24
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXMediaViewerTypeRegistryService, decorators: [{
35
- type: Injectable,
36
- args: [{ providedIn: 'root' }]
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXMediaViewerBaseComponent, decorators: [{
26
+ type: Injectable
37
27
  }] });
38
28
 
39
29
  class AXMediaViewerService {
@@ -51,6 +41,186 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
51
41
  type: Injectable
52
42
  }] });
53
43
 
44
+ class AXAudioPlayerComponent extends AXMediaViewerBaseComponent {
45
+ constructor() {
46
+ super(...arguments);
47
+ this.src = signal(null, /* @ts-ignore */
48
+ ...(ngDevMode ? [{ debugName: "src" }] : /* istanbul ignore next */ []));
49
+ this.service = inject(AXMediaViewerService);
50
+ this.#init = effect(async () => {
51
+ if (this.message.index === this.service.selectedIndex()) {
52
+ if (this.service.dirtyItems.has(`item-${this.message.index}`)) {
53
+ this.src.set(this.service.dirtyItems.get(`item-${this.message.index}`));
54
+ return;
55
+ }
56
+ if (typeof this.message.data?.url === 'function') {
57
+ const result = await this.message.data?.url();
58
+ this.service.dirtyItems.set(`item-${this.message.index}`, result);
59
+ this.src.set(result);
60
+ }
61
+ else {
62
+ this.service.dirtyItems.set(`item-${this.message.index}`, this.message.data?.url);
63
+ this.src.set(this.message.data?.url);
64
+ }
65
+ }
66
+ }, /* @ts-ignore */
67
+ ...(ngDevMode ? [{ debugName: "#init" }] : /* istanbul ignore next */ []));
68
+ }
69
+ #init;
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXAudioPlayerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
71
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.6", type: AXAudioPlayerComponent, isStandalone: true, selector: "ax-audio-player", providers: [{ provide: AXComponent, useExisting: AXAudioPlayerComponent }], usesInheritance: true, ngImport: i0, template: "<audio class=\"ax-audio-player-tag\" controls [src]=\"src()\"></audio>\n", styles: ["@layer components{ax-audio-player{display:flex;height:100%;width:100%;align-items:center;justify-content:center}ax-audio-player .ax-audio-player-tag{max-width:100%;min-width:calc(var(--spacing, .25rem) * 28)}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], encapsulation: i0.ViewEncapsulation.None }); }
72
+ }
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXAudioPlayerComponent, decorators: [{
74
+ type: Component,
75
+ args: [{ selector: 'ax-audio-player', encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: AXAudioPlayerComponent }], template: "<audio class=\"ax-audio-player-tag\" controls [src]=\"src()\"></audio>\n", styles: ["@layer components{ax-audio-player{display:flex;height:100%;width:100%;align-items:center;justify-content:center}ax-audio-player .ax-audio-player-tag{max-width:100%;min-width:calc(var(--spacing, .25rem) * 28)}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
76
+ }] });
77
+
78
+ class AXImageViewerComponent extends AXMediaViewerBaseComponent {
79
+ constructor() {
80
+ super(...arguments);
81
+ this.hasError = signal(false, /* @ts-ignore */
82
+ ...(ngDevMode ? [{ debugName: "hasError" }] : /* istanbul ignore next */ []));
83
+ this.src = signal(null, /* @ts-ignore */
84
+ ...(ngDevMode ? [{ debugName: "src" }] : /* istanbul ignore next */ []));
85
+ this.service = inject(AXMediaViewerService);
86
+ this.loading = signal(false, /* @ts-ignore */
87
+ ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
88
+ this.#init = effect(async () => {
89
+ if (this.message.index === this.service.selectedIndex()) {
90
+ if (this.service.dirtyItems.has(`item-${this.message.index}`)) {
91
+ this.src.set(this.service.dirtyItems.get(`item-${this.message.index}`));
92
+ return;
93
+ }
94
+ this.loading.set(true);
95
+ if (typeof this.message.data?.url === 'function') {
96
+ const result = await this.message.data?.url();
97
+ this.service.dirtyItems.set(`item-${this.message.index}`, result);
98
+ this.src.set(result);
99
+ }
100
+ else {
101
+ this.service.dirtyItems.set(`item-${this.message.index}`, this.message.data?.url);
102
+ this.src.set(this.message.data?.url);
103
+ }
104
+ this.loading.set(false);
105
+ }
106
+ }, /* @ts-ignore */
107
+ ...(ngDevMode ? [{ debugName: "#init" }] : /* istanbul ignore next */ []));
108
+ }
109
+ #init;
110
+ handleImageError() {
111
+ this.hasError.set(true);
112
+ }
113
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXImageViewerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
114
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXImageViewerComponent, isStandalone: true, selector: "ax-image-viewer", providers: [{ provide: AXComponent, useExisting: AXImageViewerComponent }], usesInheritance: true, ngImport: i0, template: "@if (loading()) {\n <ax-loading></ax-loading>\n} @else {\n <ax-image alt=\"image\" [src]=\"src()\" (onError)=\"handleImageError()\">\n @if (hasError()) {\n <ax-placeholder>\n <div class=\"placeholder-image-container\">\n <span class=\"placeholder-image\">\uD83D\uDDBC\uFE0F</span>\n </div>\n </ax-placeholder>\n }\n </ax-image>\n}\n", styles: ["@layer components{ax-image-viewer{height:100%;width:100%}ax-image-viewer ax-image{height:100%!important;width:100%!important}ax-image-viewer ax-image img{height:100%;width:100%;object-fit:contain}ax-image-viewer ax-image ax-loading{display:flex;height:100%;width:100%;align-items:center;justify-content:center}ax-image-viewer .placeholder-image-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 8);text-align:center}ax-image-viewer .placeholder-image-container .placeholder-image{margin-bottom:calc(var(--spacing, .25rem) * 2);font-size:var(--text-5xl, 3rem);line-height:var(--tw-leading, var(--text-5xl--line-height, 1))}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i1.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }], encapsulation: i0.ViewEncapsulation.None }); }
115
+ }
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXImageViewerComponent, decorators: [{
117
+ type: Component,
118
+ args: [{ selector: 'ax-image-viewer', encapsulation: ViewEncapsulation.None, imports: [AXImageComponent, AXLoadingModule, AXDecoratorGenericComponent], providers: [{ provide: AXComponent, useExisting: AXImageViewerComponent }], template: "@if (loading()) {\n <ax-loading></ax-loading>\n} @else {\n <ax-image alt=\"image\" [src]=\"src()\" (onError)=\"handleImageError()\">\n @if (hasError()) {\n <ax-placeholder>\n <div class=\"placeholder-image-container\">\n <span class=\"placeholder-image\">\uD83D\uDDBC\uFE0F</span>\n </div>\n </ax-placeholder>\n }\n </ax-image>\n}\n", styles: ["@layer components{ax-image-viewer{height:100%;width:100%}ax-image-viewer ax-image{height:100%!important;width:100%!important}ax-image-viewer ax-image img{height:100%;width:100%;object-fit:contain}ax-image-viewer ax-image ax-loading{display:flex;height:100%;width:100%;align-items:center;justify-content:center}ax-image-viewer .placeholder-image-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 8);text-align:center}ax-image-viewer .placeholder-image-container .placeholder-image{margin-bottom:calc(var(--spacing, .25rem) * 2);font-size:var(--text-5xl, 3rem);line-height:var(--tw-leading, var(--text-5xl--line-height, 1))}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
119
+ }] });
120
+
121
+ class PdfComponent extends AXMediaViewerBaseComponent {
122
+ constructor() {
123
+ super(...arguments);
124
+ this.sanitizer = inject(DomSanitizer);
125
+ this.src = signal(null, /* @ts-ignore */
126
+ ...(ngDevMode ? [{ debugName: "src" }] : /* istanbul ignore next */ []));
127
+ this.service = inject(AXMediaViewerService);
128
+ this.loading = signal(false, /* @ts-ignore */
129
+ ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
130
+ this.#init = effect(async () => {
131
+ if (this.message.index === this.service.selectedIndex()) {
132
+ if (this.service.dirtyItems.has(`item-${this.message.index}`)) {
133
+ this.src.set(this.service.dirtyItems.get(`item-${this.message.index}`));
134
+ return;
135
+ }
136
+ this.loading.set(true);
137
+ if (typeof this.message.data?.url === 'function') {
138
+ const result = await this.message.data?.url();
139
+ this.service.dirtyItems.set(`item-${this.message.index}`, result);
140
+ this.src.set(result);
141
+ }
142
+ else {
143
+ this.service.dirtyItems.set(`item-${this.message.index}`, this.message.data?.url);
144
+ this.src.set(this.message.data?.url);
145
+ }
146
+ this.loading.set(false);
147
+ }
148
+ }, /* @ts-ignore */
149
+ ...(ngDevMode ? [{ debugName: "#init" }] : /* istanbul ignore next */ []));
150
+ }
151
+ #init;
152
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: PdfComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
153
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: PdfComponent, isStandalone: true, selector: "ax-pdf", providers: [{ provide: AXComponent, useExisting: PdfComponent }], usesInheritance: true, ngImport: i0, template: "@if (loading()) {\n <ax-loading></ax-loading>\n} @else {\n <ax-pdf-reader [src]=\"sanitizer.bypassSecurityTrustResourceUrl(src())\"> </ax-pdf-reader>\n}\n", styles: ["ax-pdf ax-loading{width:100%;height:100%;display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "component", type: AXPdfReaderComponent, selector: "ax-pdf-reader", inputs: ["src"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i1.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
154
+ }
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: PdfComponent, decorators: [{
156
+ type: Component,
157
+ args: [{ selector: 'ax-pdf', encapsulation: ViewEncapsulation.None, imports: [AXPdfReaderComponent, AXLoadingModule], providers: [{ provide: AXComponent, useExisting: PdfComponent }], template: "@if (loading()) {\n <ax-loading></ax-loading>\n} @else {\n <ax-pdf-reader [src]=\"sanitizer.bypassSecurityTrustResourceUrl(src())\"> </ax-pdf-reader>\n}\n", styles: ["ax-pdf ax-loading{width:100%;height:100%;display:flex;justify-content:center;align-items:center}\n"] }]
158
+ }] });
159
+
160
+ class VideoPlayerComponent extends AXMediaViewerBaseComponent {
161
+ constructor() {
162
+ super(...arguments);
163
+ this.src = signal(null, /* @ts-ignore */
164
+ ...(ngDevMode ? [{ debugName: "src" }] : /* istanbul ignore next */ []));
165
+ this.service = inject(AXMediaViewerService);
166
+ this.loading = signal(false, /* @ts-ignore */
167
+ ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
168
+ this.#init = effect(async () => {
169
+ if (this.message.index === this.service.selectedIndex()) {
170
+ if (this.service.dirtyItems.has(`item-${this.message.index}`)) {
171
+ this.src.set(this.service.dirtyItems.get(`item-${this.message.index}`));
172
+ return;
173
+ }
174
+ this.loading.set(true);
175
+ if (typeof this.message.data?.url === 'function') {
176
+ const result = await this.message.data?.url();
177
+ this.service.dirtyItems.set(`item-${this.message.index}`, result);
178
+ this.src.set(result);
179
+ }
180
+ else {
181
+ this.service.dirtyItems.set(`item-${this.message.index}`, this.message.data?.url);
182
+ this.src.set(this.message.data?.url);
183
+ }
184
+ this.loading.set(false);
185
+ }
186
+ }, /* @ts-ignore */
187
+ ...(ngDevMode ? [{ debugName: "#init" }] : /* istanbul ignore next */ []));
188
+ }
189
+ #init;
190
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: VideoPlayerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
191
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: VideoPlayerComponent, isStandalone: true, selector: "ax-video", providers: [{ provide: AXComponent, useExisting: VideoPlayerComponent }], usesInheritance: true, ngImport: i0, template: "@if (loading()) {\n <ax-loading></ax-loading>\n} @else {\n <ax-video-player [src]=\"src()\"></ax-video-player>\n}\n", styles: ["ax-pdf ax-loading{width:100%;height:100%;display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "component", type: AXVideoPlayerComponent, selector: "ax-video-player", inputs: ["src"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i1.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
192
+ }
193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: VideoPlayerComponent, decorators: [{
194
+ type: Component,
195
+ args: [{ selector: 'ax-video', encapsulation: ViewEncapsulation.None, imports: [AXVideoPlayerComponent, AXLoadingModule], providers: [{ provide: AXComponent, useExisting: VideoPlayerComponent }], template: "@if (loading()) {\n <ax-loading></ax-loading>\n} @else {\n <ax-video-player [src]=\"src()\"></ax-video-player>\n}\n", styles: ["ax-pdf ax-loading{width:100%;height:100%;display:flex;justify-content:center;align-items:center}\n"] }]
196
+ }] });
197
+
198
+ const DEFAULT_MEDIA_VIEWER_TYPES = [
199
+ { name: 'audio', component: AXAudioPlayerComponent },
200
+ { name: 'image', component: AXImageViewerComponent },
201
+ { name: 'pdf', component: PdfComponent },
202
+ { name: 'video', component: VideoPlayerComponent },
203
+ ];
204
+
205
+ class AXMediaViewerTypeRegistryService {
206
+ constructor() {
207
+ this.plugins = new Map();
208
+ this.register(...DEFAULT_MEDIA_VIEWER_TYPES);
209
+ }
210
+ register(...plugins) {
211
+ plugins.forEach((p) => this.plugins.set(p.name, p));
212
+ }
213
+ resolve(name) {
214
+ return this.plugins.get(name);
215
+ }
216
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXMediaViewerTypeRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
217
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXMediaViewerTypeRegistryService, providedIn: 'root' }); }
218
+ }
219
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXMediaViewerTypeRegistryService, decorators: [{
220
+ type: Injectable,
221
+ args: [{ providedIn: 'root' }]
222
+ }], ctorParameters: () => [] });
223
+
54
224
  class AXMediaViewerSliderComponent {
55
225
  constructor() {
56
226
  this.service = inject(AXMediaViewerService);
@@ -64,8 +234,13 @@ class AXMediaViewerSliderComponent {
64
234
  /** @ignore */
65
235
  this.registryService = inject(AXMediaViewerTypeRegistryService);
66
236
  this.#eff = effect(() => {
67
- if (this.dataObject()) {
68
- this.portal.set(new ComponentPortal(this.registryService.resolve(this.dataObject().type).component));
237
+ const data = this.dataObject();
238
+ if (!data) {
239
+ return;
240
+ }
241
+ const type = this.registryService.resolve(data.type);
242
+ if (type?.component) {
243
+ this.portal.set(new ComponentPortal(type.component));
69
244
  }
70
245
  }, /* @ts-ignore */
71
246
  ...(ngDevMode ? [{ debugName: "#eff" }] : /* istanbul ignore next */ []));
@@ -86,14 +261,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
86
261
  args: [{ selector: 'ax-media-viewer-slider', encapsulation: ViewEncapsulation.None, imports: [CdkPortalOutlet], providers: [{ provide: AXComponent, useExisting: AXMediaViewerSliderComponent }], template: "<ng-template [cdkPortalOutlet]=\"portal()\" (attached)=\"_handleAttached($event)\"></ng-template>\n", styles: ["@layer components{ax-media-viewer-slider{display:flex;height:100%;width:100%;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
87
262
  }], propDecorators: { dataObject: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataObject", required: false }] }], index: [{ type: i0.Input, args: [{ isSignal: true, alias: "index", required: false }] }] } });
88
263
 
89
- class AXMediaViewerBaseComponent {
90
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXMediaViewerBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
91
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXMediaViewerBaseComponent }); }
92
- }
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXMediaViewerBaseComponent, decorators: [{
94
- type: Injectable
95
- }] });
96
-
97
264
  class AXThumbnailViewerComponent extends AXMediaViewerBaseComponent {
98
265
  constructor() {
99
266
  super(...arguments);
@@ -484,7 +651,7 @@ class AXMediaViewerContainerComponent {
484
651
  }
485
652
  }
486
653
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXMediaViewerContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
487
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXMediaViewerContainerComponent, isStandalone: true, selector: "ax-media-viewer-container", inputs: { dataArray: { classPropertyName: "dataArray", publicName: "dataArray", isSignal: true, isRequired: false, transformFunction: null }, thumbnail: { classPropertyName: "thumbnail", publicName: "thumbnail", isSignal: true, isRequired: false, transformFunction: null }, pagination: { classPropertyName: "pagination", publicName: "pagination", isSignal: true, isRequired: false, transformFunction: null } }, providers: [AXMediaViewerService, { provide: AXComponent, useExisting: AXMediaViewerContainerComponent }], queries: [{ propertyName: "fullScreenButton", first: true, predicate: AXDecoratorFullScreenButtonComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "swiperRef", first: true, predicate: ["f"], descendants: true, isSignal: true }, { propertyName: "swiperRef2", first: true, predicate: ["c"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-content select=\"ax-header\"> </ng-content>\n\n<div class=\"ax-media-viewer-slider-container\">\n @if (dataArray().length > 0) {\n <ng-content select=\"ax-suffix\"></ng-content>\n }\n\n <div class=\"ax-carousel-container\">\n <div #f=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (item of dataArray(); track item.id) {\n <div class=\"ax-carousel-slide\">\n <ax-media-viewer-slider [index]=\"$index\" [dataObject]=\"item\"></ax-media-viewer-slider>\n </div>\n } @empty {\n <div class=\"emptyStateContainer\">\n {{ '@acorex:media-viewer.empty' | translate | async }}\n </div>\n }\n </div>\n @if (pagination() && dataArray().length > 0) {\n <div class=\"ax-carousel-pagination\"></div>\n }\n </div>\n </div>\n\n @if (dataArray().length > 0) {\n <ng-content select=\"ax-prefix\"></ng-content>\n }\n</div>\n\n@if (thumbnail() && !isMobile) {\n <div class=\"ax-carousel-thumbnail-container\">\n <div #c=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (item of thumbnailArray(); track item.id) {\n <div class=\"ax-carousel-slide\" [axTooltip]=\"item.tooltip\">\n @if (item.thumbnailImage) {\n <div class=\"ax-thumbnail-image-container\">\n <ax-thumbnail-viewer [index]=\"item.index\" [item]=\"item.thumbnailImage\"></ax-thumbnail-viewer>\n </div>\n } @else {\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(item.svg)\"></div>\n <div class=\"thumbnail-backdrop {{ item.type }}\"></div>\n }\n </div>\n } @empty {\n <div class=\"emptyStateContainer\">...</div>\n }\n </div>\n </div>\n </div>\n}\n", styles: ["@layer properties;:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:\"\";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:\"\";position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size: 44px}.swiper-button-prev,.swiper-button-next{position:absolute;width:var(--swiper-navigation-size);height:var(--swiper-navigation-size);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}:is(.swiper-button-prev,.swiper-button-next).swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}:is(.swiper-button-prev,.swiper-button-next).swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled :is(.swiper-button-prev,.swiper-button-next){display:none!important}:is(.swiper-button-prev,.swiper-button-next) svg{width:100%;height:100%;object-fit:contain;transform-origin:center;fill:currentColor;pointer-events:none}.swiper-button-lock{display:none}.swiper-button-prev,.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2))}.swiper-button-prev{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-button-prev .swiper-navigation-icon{transform:rotate(180deg)}.swiper-button-next{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-horizontal .swiper-button-prev,.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal~.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2));margin-left:0}.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-next,.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev{right:var(--swiper-navigation-sides-offset, 4px);left:auto}:is(.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next) .swiper-navigation-icon{transform:rotate(180deg)}:is(.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(0)}.swiper-vertical .swiper-button-prev,.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-prev,.swiper-vertical~.swiper-button-next{left:var(--swiper-navigation-top-offset, 50%);right:auto;margin-left:calc(0px - (var(--swiper-navigation-size) / 2));margin-top:0}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{top:var(--swiper-navigation-sides-offset, 4px);bottom:auto}:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset, 4px);top:auto}:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) .swiper-navigation-icon{transform:rotate(90deg)}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets) .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius, 10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, .1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset, 1%);bottom:var(--swiper-scrollbar-bottom, 4px);top:var(--swiper-scrollbar-top, auto);z-index:50;height:var(--swiper-scrollbar-size, 4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))}.swiper-vertical>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-vertical{position:absolute;left:var(--swiper-scrollbar-left, auto);right:var(--swiper-scrollbar-right, 4px);top:var(--swiper-scrollbar-sides-offset, 1%);z-index:50;width:var(--swiper-scrollbar-size, 4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, .5));border-radius:var(--swiper-scrollbar-border-radius, 10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>img,.swiper-zoom-container>svg,.swiper-zoom-container>canvas{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:\"\";background:#000;position:absolute;inset:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right{z-index:0;backface-visibility:hidden}.swiper.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right{z-index:0;backface-visibility:hidden}.swiper-creative .swiper-slide{backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;backface-visibility:hidden;overflow:hidden}@layer components{ax-media-viewer-container{display:flex;height:100%;width:100%;flex-direction:column;justify-content:space-between;overflow:hidden;border-radius:var(--ax-sys-border-radius);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-media-viewer-container.ax-full-screen-container{background-color:rgba(var(--ax-sys-color-surface))}ax-media-viewer-container.ax-full-screen-container .ax-carousel-container{display:flex;align-items:center;justify-content:center}ax-media-viewer-container .ax-media-viewer-slider-container{position:relative;display:flex;height:100%;width:100%;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 2);overflow:auto;padding:calc(var(--spacing, .25rem) * 4)}ax-media-viewer-container .ax-media-viewer-slider-container .ax-carousel-container{height:100%;width:100%;overflow:hidden;padding-block:calc(var(--spacing, .25rem) * 4)}ax-media-viewer-container .ax-media-viewer-slider-container .ax-carousel-container .ax-carousel{display:flex;height:100%;flex-direction:column}ax-media-viewer-container .ax-media-viewer-slider-container .ax-carousel-container .ax-carousel .ax-carousel-wrapper{align-items:center}ax-media-viewer-container .ax-media-viewer-slider-container .ax-carousel-slide{display:flex;align-items:center;justify-content:center}ax-media-viewer-container .ax-carousel-thumbnail-container{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:calc(var(--spacing, .25rem) * 4)}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide{aspect-ratio:1.3;max-width:calc(var(--spacing, .25rem) * 36);cursor:pointer;overflow:hidden;border-radius:var(--radius-lg, .5rem);opacity:40%}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide.swiper-slide-thumb-active{opacity:100%}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide svg{position:absolute;top:50%;left:50%;z-index:100;transform:translate(-50%,-50%)}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide .thumbnail-backdrop{position:absolute;top:calc(var(--spacing, .25rem) * 0);z-index:20;height:100%;width:100%;background-color:var(--color-blue-500, oklch(62.3% .214 259.815));opacity:30%}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide .thumbnail-backdrop.video{background-color:var(--color-purple-500, oklch(62.7% .265 303.9))}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide .thumbnail-backdrop.image{background-color:var(--color-green-600, oklch(62.7% .194 149.214))}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide .thumbnail-backdrop.audio{background-color:var(--color-red-600, oklch(57.7% .245 27.325))}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide .ax-thumbnail-image-container{height:100%;width:100%}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide .ax-thumbnail-image-container img{height:100%;width:100%;object-fit:cover;object-position:center}ax-media-viewer-container .emptyStateContainer{display:flex;height:100%;width:100%;align-items:center;justify-content:center;text-align:center}ax-media-viewer-container ax-header{display:flex;width:100%;align-items:center;justify-content:space-between;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lighter-surface));padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 2)}ax-media-viewer-container .ax-carousel-pagination{bottom:calc(var(--spacing, .25rem) * 1)!important;left:50%!important;display:flex!important;width:fit-content!important;border-radius:calc(infinity * 1px)!important;background-color:rgba(var(--ax-sys-color-surface))!important;padding:calc(var(--spacing, .25rem) * 2)!important;transform:translate(-50%)!important}@supports (color: color-mix(in lab,red,red)){ax-media-viewer-container .ax-carousel-pagination{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-surface)) 60%,transparent)!important}}ax-media-viewer-container .ax-carousel-pagination .swiper-pagination-bullet{background-color:rgba(var(--ax-sys-color-on-surface))!important}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: AXCarouselDirective, selector: "[axCarousel]", exportAs: ["axCarousel"] }, { kind: "component", type: AXMediaViewerSliderComponent, selector: "ax-media-viewer-slider", inputs: ["dataObject", "index"] }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "directive", type: i1.AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "component", type: AXThumbnailViewerComponent, selector: "ax-thumbnail-viewer", inputs: ["item", "index"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
654
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXMediaViewerContainerComponent, isStandalone: true, selector: "ax-media-viewer-container", inputs: { dataArray: { classPropertyName: "dataArray", publicName: "dataArray", isSignal: true, isRequired: false, transformFunction: null }, thumbnail: { classPropertyName: "thumbnail", publicName: "thumbnail", isSignal: true, isRequired: false, transformFunction: null }, pagination: { classPropertyName: "pagination", publicName: "pagination", isSignal: true, isRequired: false, transformFunction: null } }, providers: [AXMediaViewerService, { provide: AXComponent, useExisting: AXMediaViewerContainerComponent }], queries: [{ propertyName: "fullScreenButton", first: true, predicate: AXDecoratorFullScreenButtonComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "swiperRef", first: true, predicate: ["f"], descendants: true, isSignal: true }, { propertyName: "swiperRef2", first: true, predicate: ["c"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-content select=\"ax-header\"> </ng-content>\n\n<div class=\"ax-media-viewer-slider-container\">\n @if (dataArray().length > 0) {\n <ng-content select=\"ax-suffix\"></ng-content>\n }\n\n <div class=\"ax-carousel-container\">\n <div #f=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (item of dataArray(); track item.id) {\n <div class=\"ax-carousel-slide\">\n <ax-media-viewer-slider [index]=\"$index\" [dataObject]=\"item\"></ax-media-viewer-slider>\n </div>\n } @empty {\n <div class=\"emptyStateContainer\">\n {{ '@acorex:media-viewer.empty' | translate | async }}\n </div>\n }\n </div>\n @if (pagination() && dataArray().length > 0) {\n <div class=\"ax-carousel-pagination\"></div>\n }\n </div>\n </div>\n\n @if (dataArray().length > 0) {\n <ng-content select=\"ax-prefix\"></ng-content>\n }\n</div>\n\n@if (thumbnail() && !isMobile) {\n <div class=\"ax-carousel-thumbnail-container\">\n <div #c=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (item of thumbnailArray(); track item.id) {\n <div class=\"ax-carousel-slide\" [axTooltip]=\"item.tooltip\">\n @if (item.thumbnailImage) {\n <div class=\"ax-thumbnail-image-container\">\n <ax-thumbnail-viewer [index]=\"item.index\" [item]=\"item.thumbnailImage\"></ax-thumbnail-viewer>\n </div>\n } @else {\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(item.svg)\"></div>\n <div class=\"thumbnail-backdrop {{ item.type }}\"></div>\n }\n </div>\n } @empty {\n <div class=\"emptyStateContainer\">...</div>\n }\n </div>\n </div>\n </div>\n}\n", styles: ["@layer properties;:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:\"\";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:\"\";position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size: 44px}.swiper-button-prev,.swiper-button-next{position:absolute;width:var(--swiper-navigation-size);height:var(--swiper-navigation-size);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}:is(.swiper-button-prev,.swiper-button-next).swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}:is(.swiper-button-prev,.swiper-button-next).swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled :is(.swiper-button-prev,.swiper-button-next){display:none!important}:is(.swiper-button-prev,.swiper-button-next) svg{width:100%;height:100%;object-fit:contain;transform-origin:center;fill:currentColor;pointer-events:none}.swiper-button-lock{display:none}.swiper-button-prev,.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2))}.swiper-button-prev{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-button-prev .swiper-navigation-icon{transform:rotate(180deg)}.swiper-button-next{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-horizontal .swiper-button-prev,.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal~.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2));margin-left:0}.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-next,.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev{right:var(--swiper-navigation-sides-offset, 4px);left:auto}:is(.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next) .swiper-navigation-icon{transform:rotate(180deg)}:is(.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(0)}.swiper-vertical .swiper-button-prev,.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-prev,.swiper-vertical~.swiper-button-next{left:var(--swiper-navigation-top-offset, 50%);right:auto;margin-left:calc(0px - (var(--swiper-navigation-size) / 2));margin-top:0}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{top:var(--swiper-navigation-sides-offset, 4px);bottom:auto}:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset, 4px);top:auto}:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) .swiper-navigation-icon{transform:rotate(90deg)}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets) .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius, 10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, .1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset, 1%);bottom:var(--swiper-scrollbar-bottom, 4px);top:var(--swiper-scrollbar-top, auto);z-index:50;height:var(--swiper-scrollbar-size, 4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))}.swiper-vertical>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-vertical{position:absolute;left:var(--swiper-scrollbar-left, auto);right:var(--swiper-scrollbar-right, 4px);top:var(--swiper-scrollbar-sides-offset, 1%);z-index:50;width:var(--swiper-scrollbar-size, 4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, .5));border-radius:var(--swiper-scrollbar-border-radius, 10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>img,.swiper-zoom-container>svg,.swiper-zoom-container>canvas{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:\"\";background:#000;position:absolute;inset:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right{z-index:0;backface-visibility:hidden}.swiper.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right{z-index:0;backface-visibility:hidden}.swiper-creative .swiper-slide{backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;backface-visibility:hidden;overflow:hidden}@layer components{ax-media-viewer-container{display:flex;height:100%;width:100%;flex-direction:column;justify-content:space-between;overflow:hidden;border-radius:var(--ax-sys-border-radius);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-media-viewer-container.ax-full-screen-container{background-color:rgba(var(--ax-sys-color-surface))}ax-media-viewer-container.ax-full-screen-container .ax-carousel-container{display:flex;align-items:center;justify-content:center}ax-media-viewer-container .ax-media-viewer-slider-container{position:relative;display:flex;height:100%;width:100%;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 2);overflow:auto;padding:calc(var(--spacing, .25rem) * 4)}ax-media-viewer-container .ax-media-viewer-slider-container .ax-carousel-container{height:100%;width:100%;overflow:hidden;padding-block:calc(var(--spacing, .25rem) * 4)}ax-media-viewer-container .ax-media-viewer-slider-container .ax-carousel-container .ax-carousel{display:flex;height:100%;flex-direction:column}ax-media-viewer-container .ax-media-viewer-slider-container .ax-carousel-container .ax-carousel .ax-carousel-wrapper{align-items:center}ax-media-viewer-container .ax-media-viewer-slider-container .ax-carousel-slide{display:flex;align-items:center;justify-content:center}ax-media-viewer-container .ax-carousel-thumbnail-container{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:calc(var(--spacing, .25rem) * 4)}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide{aspect-ratio:1.3;max-width:calc(var(--spacing, .25rem) * 36);cursor:pointer;overflow:hidden;border-radius:var(--radius-lg, .5rem);opacity:40%}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide.swiper-slide-thumb-active{opacity:100%}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide svg{position:absolute;top:50%;left:50%;z-index:100;transform:translate(-50%,-50%)}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide .thumbnail-backdrop{position:absolute;top:calc(var(--spacing, .25rem) * 0);z-index:20;height:100%;width:100%;background-color:var(--color-blue-500, oklch(62.3% .214 259.815));opacity:30%}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide .thumbnail-backdrop.video{background-color:var(--color-purple-500, oklch(62.7% .265 303.9))}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide .thumbnail-backdrop.image{background-color:var(--color-green-600, oklch(62.7% .194 149.214))}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide .thumbnail-backdrop.audio{background-color:var(--color-red-600, oklch(57.7% .245 27.325))}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide .ax-thumbnail-image-container{height:100%;width:100%}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide .ax-thumbnail-image-container img{height:100%;width:100%;object-fit:cover;object-position:center}ax-media-viewer-container .emptyStateContainer{display:flex;height:100%;width:100%;align-items:center;justify-content:center;text-align:center}ax-media-viewer-container ax-header{display:flex;width:100%;align-items:center;justify-content:space-between;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lighter-surface));padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 2)}ax-media-viewer-container .ax-carousel-pagination{bottom:calc(var(--spacing, .25rem) * 1)!important;left:50%!important;display:flex!important;width:fit-content!important;border-radius:calc(infinity * 1px)!important;background-color:rgba(var(--ax-sys-color-surface))!important;padding:calc(var(--spacing, .25rem) * 2)!important;transform:translate(-50%)!important}@supports (color: color-mix(in lab,red,red)){ax-media-viewer-container .ax-carousel-pagination{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-surface)) 60%,transparent)!important}}ax-media-viewer-container .ax-carousel-pagination .swiper-pagination-bullet{background-color:rgba(var(--ax-sys-color-on-surface))!important}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: AXCarouselDirective, selector: "[axCarousel]", exportAs: ["axCarousel"] }, { kind: "component", type: AXMediaViewerSliderComponent, selector: "ax-media-viewer-slider", inputs: ["dataObject", "index"] }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "directive", type: i1$1.AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "component", type: AXThumbnailViewerComponent, selector: "ax-thumbnail-viewer", inputs: ["item", "index"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
488
655
  }
489
656
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXMediaViewerContainerComponent, decorators: [{
490
657
  type: Component,
@@ -498,40 +665,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
498
665
  ], template: "<ng-content select=\"ax-header\"> </ng-content>\n\n<div class=\"ax-media-viewer-slider-container\">\n @if (dataArray().length > 0) {\n <ng-content select=\"ax-suffix\"></ng-content>\n }\n\n <div class=\"ax-carousel-container\">\n <div #f=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (item of dataArray(); track item.id) {\n <div class=\"ax-carousel-slide\">\n <ax-media-viewer-slider [index]=\"$index\" [dataObject]=\"item\"></ax-media-viewer-slider>\n </div>\n } @empty {\n <div class=\"emptyStateContainer\">\n {{ '@acorex:media-viewer.empty' | translate | async }}\n </div>\n }\n </div>\n @if (pagination() && dataArray().length > 0) {\n <div class=\"ax-carousel-pagination\"></div>\n }\n </div>\n </div>\n\n @if (dataArray().length > 0) {\n <ng-content select=\"ax-prefix\"></ng-content>\n }\n</div>\n\n@if (thumbnail() && !isMobile) {\n <div class=\"ax-carousel-thumbnail-container\">\n <div #c=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (item of thumbnailArray(); track item.id) {\n <div class=\"ax-carousel-slide\" [axTooltip]=\"item.tooltip\">\n @if (item.thumbnailImage) {\n <div class=\"ax-thumbnail-image-container\">\n <ax-thumbnail-viewer [index]=\"item.index\" [item]=\"item.thumbnailImage\"></ax-thumbnail-viewer>\n </div>\n } @else {\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(item.svg)\"></div>\n <div class=\"thumbnail-backdrop {{ item.type }}\"></div>\n }\n </div>\n } @empty {\n <div class=\"emptyStateContainer\">...</div>\n }\n </div>\n </div>\n </div>\n}\n", styles: ["@layer properties;:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:\"\";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:\"\";position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size: 44px}.swiper-button-prev,.swiper-button-next{position:absolute;width:var(--swiper-navigation-size);height:var(--swiper-navigation-size);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}:is(.swiper-button-prev,.swiper-button-next).swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}:is(.swiper-button-prev,.swiper-button-next).swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled :is(.swiper-button-prev,.swiper-button-next){display:none!important}:is(.swiper-button-prev,.swiper-button-next) svg{width:100%;height:100%;object-fit:contain;transform-origin:center;fill:currentColor;pointer-events:none}.swiper-button-lock{display:none}.swiper-button-prev,.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2))}.swiper-button-prev{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-button-prev .swiper-navigation-icon{transform:rotate(180deg)}.swiper-button-next{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-horizontal .swiper-button-prev,.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal~.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2));margin-left:0}.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-next,.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev{right:var(--swiper-navigation-sides-offset, 4px);left:auto}:is(.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next) .swiper-navigation-icon{transform:rotate(180deg)}:is(.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(0)}.swiper-vertical .swiper-button-prev,.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-prev,.swiper-vertical~.swiper-button-next{left:var(--swiper-navigation-top-offset, 50%);right:auto;margin-left:calc(0px - (var(--swiper-navigation-size) / 2));margin-top:0}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{top:var(--swiper-navigation-sides-offset, 4px);bottom:auto}:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset, 4px);top:auto}:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) .swiper-navigation-icon{transform:rotate(90deg)}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets) .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius, 10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, .1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset, 1%);bottom:var(--swiper-scrollbar-bottom, 4px);top:var(--swiper-scrollbar-top, auto);z-index:50;height:var(--swiper-scrollbar-size, 4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))}.swiper-vertical>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-vertical{position:absolute;left:var(--swiper-scrollbar-left, auto);right:var(--swiper-scrollbar-right, 4px);top:var(--swiper-scrollbar-sides-offset, 1%);z-index:50;width:var(--swiper-scrollbar-size, 4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, .5));border-radius:var(--swiper-scrollbar-border-radius, 10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>img,.swiper-zoom-container>svg,.swiper-zoom-container>canvas{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:\"\";background:#000;position:absolute;inset:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right{z-index:0;backface-visibility:hidden}.swiper.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right{z-index:0;backface-visibility:hidden}.swiper-creative .swiper-slide{backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;backface-visibility:hidden;overflow:hidden}@layer components{ax-media-viewer-container{display:flex;height:100%;width:100%;flex-direction:column;justify-content:space-between;overflow:hidden;border-radius:var(--ax-sys-border-radius);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-media-viewer-container.ax-full-screen-container{background-color:rgba(var(--ax-sys-color-surface))}ax-media-viewer-container.ax-full-screen-container .ax-carousel-container{display:flex;align-items:center;justify-content:center}ax-media-viewer-container .ax-media-viewer-slider-container{position:relative;display:flex;height:100%;width:100%;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 2);overflow:auto;padding:calc(var(--spacing, .25rem) * 4)}ax-media-viewer-container .ax-media-viewer-slider-container .ax-carousel-container{height:100%;width:100%;overflow:hidden;padding-block:calc(var(--spacing, .25rem) * 4)}ax-media-viewer-container .ax-media-viewer-slider-container .ax-carousel-container .ax-carousel{display:flex;height:100%;flex-direction:column}ax-media-viewer-container .ax-media-viewer-slider-container .ax-carousel-container .ax-carousel .ax-carousel-wrapper{align-items:center}ax-media-viewer-container .ax-media-viewer-slider-container .ax-carousel-slide{display:flex;align-items:center;justify-content:center}ax-media-viewer-container .ax-carousel-thumbnail-container{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:calc(var(--spacing, .25rem) * 4)}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide{aspect-ratio:1.3;max-width:calc(var(--spacing, .25rem) * 36);cursor:pointer;overflow:hidden;border-radius:var(--radius-lg, .5rem);opacity:40%}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide.swiper-slide-thumb-active{opacity:100%}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide svg{position:absolute;top:50%;left:50%;z-index:100;transform:translate(-50%,-50%)}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide .thumbnail-backdrop{position:absolute;top:calc(var(--spacing, .25rem) * 0);z-index:20;height:100%;width:100%;background-color:var(--color-blue-500, oklch(62.3% .214 259.815));opacity:30%}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide .thumbnail-backdrop.video{background-color:var(--color-purple-500, oklch(62.7% .265 303.9))}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide .thumbnail-backdrop.image{background-color:var(--color-green-600, oklch(62.7% .194 149.214))}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide .thumbnail-backdrop.audio{background-color:var(--color-red-600, oklch(57.7% .245 27.325))}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide .ax-thumbnail-image-container{height:100%;width:100%}ax-media-viewer-container .ax-carousel-thumbnail-container .ax-carousel-slide .ax-thumbnail-image-container img{height:100%;width:100%;object-fit:cover;object-position:center}ax-media-viewer-container .emptyStateContainer{display:flex;height:100%;width:100%;align-items:center;justify-content:center;text-align:center}ax-media-viewer-container ax-header{display:flex;width:100%;align-items:center;justify-content:space-between;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lighter-surface));padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 2)}ax-media-viewer-container .ax-carousel-pagination{bottom:calc(var(--spacing, .25rem) * 1)!important;left:50%!important;display:flex!important;width:fit-content!important;border-radius:calc(infinity * 1px)!important;background-color:rgba(var(--ax-sys-color-surface))!important;padding:calc(var(--spacing, .25rem) * 2)!important;transform:translate(-50%)!important}@supports (color: color-mix(in lab,red,red)){ax-media-viewer-container .ax-carousel-pagination{background-color:color-mix(in oklab,rgba(var(--ax-sys-color-surface)) 60%,transparent)!important}}ax-media-viewer-container .ax-carousel-pagination .swiper-pagination-bullet{background-color:rgba(var(--ax-sys-color-on-surface))!important}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
499
666
  }], propDecorators: { dataArray: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataArray", required: false }] }], thumbnail: [{ type: i0.Input, args: [{ isSignal: true, alias: "thumbnail", required: false }] }], pagination: [{ type: i0.Input, args: [{ isSignal: true, alias: "pagination", required: false }] }], swiperRef: [{ type: i0.ViewChild, args: ['f', { isSignal: true }] }], swiperRef2: [{ type: i0.ViewChild, args: ['c', { isSignal: true }] }], fullScreenButton: [{ type: i0.ContentChild, args: [i0.forwardRef(() => AXDecoratorFullScreenButtonComponent), { isSignal: true }] }] } });
500
667
 
501
- class AXAudioPlayerComponent extends AXMediaViewerBaseComponent {
502
- constructor() {
503
- super(...arguments);
504
- this.src = signal(null, /* @ts-ignore */
505
- ...(ngDevMode ? [{ debugName: "src" }] : /* istanbul ignore next */ []));
506
- this.service = inject(AXMediaViewerService);
507
- this.#init = effect(async () => {
508
- if (this.message.index === this.service.selectedIndex()) {
509
- if (this.service.dirtyItems.has(`item-${this.message.index}`)) {
510
- this.src.set(this.service.dirtyItems.get(`item-${this.message.index}`));
511
- return;
512
- }
513
- if (typeof this.message.data?.url === 'function') {
514
- const result = await this.message.data?.url();
515
- this.service.dirtyItems.set(`item-${this.message.index}`, result);
516
- this.src.set(result);
517
- }
518
- else {
519
- this.service.dirtyItems.set(`item-${this.message.index}`, this.message.data?.url);
520
- this.src.set(this.message.data?.url);
521
- }
522
- }
523
- }, /* @ts-ignore */
524
- ...(ngDevMode ? [{ debugName: "#init" }] : /* istanbul ignore next */ []));
525
- }
526
- #init;
527
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXAudioPlayerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
528
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.6", type: AXAudioPlayerComponent, isStandalone: true, selector: "ax-audio-player", providers: [{ provide: AXComponent, useExisting: AXAudioPlayerComponent }], usesInheritance: true, ngImport: i0, template: "<audio class=\"ax-audio-player-tag\" controls [src]=\"src()\"></audio>\n", styles: ["@layer components{ax-audio-player{display:flex;height:100%;width:100%;align-items:center;justify-content:center}ax-audio-player .ax-audio-player-tag{max-width:100%;min-width:calc(var(--spacing, .25rem) * 28)}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], encapsulation: i0.ViewEncapsulation.None }); }
529
- }
530
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXAudioPlayerComponent, decorators: [{
531
- type: Component,
532
- args: [{ selector: 'ax-audio-player', encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: AXAudioPlayerComponent }], template: "<audio class=\"ax-audio-player-tag\" controls [src]=\"src()\"></audio>\n", styles: ["@layer components{ax-audio-player{display:flex;height:100%;width:100%;align-items:center;justify-content:center}ax-audio-player .ax-audio-player-tag{max-width:100%;min-width:calc(var(--spacing, .25rem) * 28)}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
533
- }] });
534
-
535
668
  class AXFileInfoComponent {
536
669
  constructor() {
537
670
  this.service = inject(AXMediaViewerService);
@@ -548,126 +681,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
548
681
  args: [{ selector: 'ax-file-info', encapsulation: ViewEncapsulation.None, imports: [AXDecoratorGenericComponent], providers: [{ provide: AXComponent, useExisting: AXFileInfoComponent }], template: "<div class=\"ax-info-container\">\n @if (infoData()?.name) {\n <div class=\"ax-name-info\">\n @switch (infoData()?.type) {\n @case ('video') {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 65 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M32.6667 58.6673C47.3941 58.6673 59.3333 46.7281 59.3333 32.0006C59.3333 17.2731 47.3941 5.33398 32.6667 5.33398C17.9391 5.33398 6 17.2731 6 32.0006C6 46.7281 17.9391 58.6673 32.6667 58.6673ZM35.7437 38.2678C39.5619 35.9057 41.4709 34.7246 41.8749 33.0534C42.0416 32.3636 42.0416 31.6377 41.8749 30.9478C41.4709 29.2766 39.5619 28.0956 35.7437 25.7335C32.0525 23.4502 30.2072 22.3085 28.7197 22.7674C28.1048 22.9571 27.5448 23.3175 27.0929 23.8138C26 25.0145 26 27.3433 26 32.0006C26 36.658 26 38.9868 27.0929 40.1873C27.5448 40.6838 28.1048 41.0441 28.7197 41.234C30.2072 41.6929 32.0525 40.551 35.7437 38.2678Z\"\n />\n <path\n d=\"M32.6667 58.6673C47.3943 58.6673 59.3333 46.7282 59.3333 32.0006C59.3333 17.2731 47.3943 5.33398 32.6667 5.33398C17.9391 5.33398 6 17.2731 6 32.0006C6 46.7282 17.9391 58.6673 32.6667 58.6673Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M41.8749 33.0521C41.4709 34.7233 39.5619 35.9044 35.7437 38.2665C32.0525 40.5497 30.2072 41.6916 28.7197 41.2327C28.1048 41.0428 27.5448 40.6825 27.0929 40.186C26 38.9855 26 36.6567 26 31.9993C26 27.342 26 25.0132 27.0929 23.8125C27.5448 23.3162 28.1048 22.9558 28.7197 22.7661C30.2072 22.3072 32.0525 23.4489 35.7437 25.7322C39.5619 28.0943 41.4709 29.2753 41.8749 30.9465C42.0416 31.6364 42.0416 32.3623 41.8749 33.0521Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>\n }\n @case ('image') {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 65 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M7.1123 31.9993C7.1123 20.0571 7.1123 14.086 10.8223 10.376C14.5323 6.66602 20.5034 6.66602 32.4456 6.66602C44.3878 6.66602 50.359 6.66602 54.0691 10.376C57.779 14.086 57.779 20.0571 57.779 31.9993C57.779 43.9415 57.779 49.9127 54.0691 53.6228C50.359 57.3327 44.3878 57.3327 32.4456 57.3327C20.5034 57.3327 14.5323 57.3327 10.8223 53.6228C7.1123 49.9127 7.1123 43.9415 7.1123 31.9993Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M44.4453 24C46.6545 24 48.4453 22.2091 48.4453 20C48.4453 17.7909 46.6545 16 44.4453 16C42.2362 16 40.4453 17.7909 40.4453 20C40.4453 22.2091 42.2362 24 44.4453 24Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n />\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.1123 31.9993C7.1123 20.0571 7.1123 14.086 10.8223 10.376C14.5323 6.66602 20.5034 6.66602 32.4456 6.66602C44.3878 6.66602 50.359 6.66602 54.0691 10.376C57.779 14.086 57.779 20.0571 57.779 31.9993C57.779 37.3372 57.779 41.4823 57.4478 44.7655C54.6288 43.2943 51.72 42.5484 48.7958 42.5516C44.5971 42.5337 40.4374 44.0428 36.5288 46.9937L32.1155 43.5572C26.1984 39.3937 18.7691 37.1903 11.1532 37.3399C10.2489 37.3377 9.34542 37.3665 8.44473 37.4263H7.12884C7.1123 35.7679 7.1123 33.9644 7.1123 31.9993ZM44.4456 23.9993C46.6547 23.9993 48.4456 22.2085 48.4456 19.9993C48.4456 17.7902 46.6547 15.9993 44.4456 15.9993C42.2366 15.9993 40.4456 17.7902 40.4456 19.9993C40.4456 22.2085 42.2366 23.9993 44.4456 23.9993Z\"\n />\n <path\n d=\"M43.112 58.6673C41.46 52.7337 37.604 47.4195 32.116 43.5585C26.1989 39.395 18.7697 37.1915 11.1538 37.3411C10.2495 37.339 9.34601 37.3678 8.44531 37.4275\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M35.1123 47.9992C39.6496 44.4614 44.5376 42.6467 49.4755 42.6662C52.2755 42.6632 55.0622 43.2568 57.779 44.4304\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>\n }\n @case ('audio') {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 65 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.7109 10.376C7.00098 14.086 7.00098 20.0571 7.00098 31.9993C7.00098 43.9415 7.00098 49.9127 10.7109 53.6228C14.4209 57.3327 20.3921 57.3327 32.3343 57.3327C44.2764 57.3327 50.2476 57.3327 53.9578 53.6228C57.6676 49.9127 57.6676 43.9415 57.6676 31.9993C57.6676 20.0571 57.6676 14.086 53.9578 10.376C50.2476 6.66602 44.2764 6.66602 32.3343 6.66602C20.3921 6.66602 14.4209 6.66602 10.7109 10.376ZM28.3343 45.3327C32.0162 45.3327 35.001 42.3479 35.001 38.666C35.001 34.9841 32.0162 31.9993 28.3343 31.9993C24.6524 31.9993 21.6676 34.9841 21.6676 38.666C21.6676 42.3479 24.6524 45.3327 28.3343 45.3327Z\"\n />\n <path\n d=\"M7.00098 31.9993C7.00098 20.0571 7.00098 14.086 10.7109 10.376C14.4209 6.66602 20.3921 6.66602 32.3343 6.66602C44.2764 6.66602 50.2476 6.66602 53.9578 10.376C57.6676 14.086 57.6676 20.0571 57.6676 31.9993C57.6676 43.9415 57.6676 49.9127 53.9578 53.6228C50.2476 57.3327 44.2764 57.3327 32.3343 57.3327C20.3921 57.3327 14.4209 57.3327 10.7109 53.6228C7.00098 49.9127 7.00098 43.9415 7.00098 31.9993Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M35.0003 38.666C35.0003 42.3479 32.0155 45.3327 28.3337 45.3327C24.6518 45.3327 21.667 42.3479 21.667 38.666C21.667 34.9841 24.6518 31.9993 28.3337 31.9993C32.0155 31.9993 35.0003 34.9841 35.0003 38.666ZM35.0003 38.666V18.666C35.8891 19.9993 36.6003 25.5993 43.0003 26.666\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n }\n @default {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 64 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n d=\"M53.3337 26.6673V35.5824C53.3337 37.7624 53.3337 38.8523 52.9278 39.8325L50.667 40.0005C43.1246 40.0005 39.3534 40.0005 37.0102 42.3437C34.667 44.6869 34.667 48.4581 34.667 56.0005L34.2329 58.3632C33.3713 58.6672 32.4307 58.6672 30.5491 58.6672C21.8958 58.6672 17.5692 58.6672 14.6385 56.3045C14.0465 55.8272 13.5072 55.2877 13.0298 54.6957C10.667 51.7651 10.667 47.4384 10.667 38.7851V26.6673C10.667 16.6107 10.667 11.5824 13.7912 8.45817C16.9154 5.33398 21.9437 5.33398 32.0003 5.33398C42.0569 5.33398 47.0854 5.33398 50.2094 8.45817C53.3337 11.5824 53.3337 16.6107 53.3337 26.6673Z\"\n />\n <path\n d=\"M21.333 18.666H42.6663\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M21.333 29.334H31.9997\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M34.667 57.3339V56.0005C34.667 48.4581 34.667 44.6869 37.0102 42.3437C39.3534 40.0005 43.1246 40.0005 50.667 40.0005H52.0003M53.3337 35.5824V26.6673C53.3337 16.6107 53.3337 11.5824 50.2094 8.45817C47.0854 5.33398 42.0569 5.33398 32.0003 5.33398C21.9437 5.33398 16.9154 5.33398 13.7912 8.45817C10.667 11.5824 10.667 16.6107 10.667 26.6673V38.7851C10.667 47.4384 10.667 51.7651 13.0298 54.6957C13.5072 55.2877 14.0465 55.8272 14.6385 56.3045C17.5692 58.6672 21.8958 58.6672 30.5491 58.6672C32.4307 58.6672 33.3713 58.6672 34.2329 58.3632C34.4121 58.3 34.5875 58.2272 34.759 58.1453C35.5833 57.7512 36.2483 57.0859 37.5787 55.7557L50.2094 43.1248C51.751 41.5835 52.5217 40.8125 52.9278 39.8325C53.3337 38.8523 53.3337 37.7624 53.3337 35.5824Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n }\n }\n <ax-text>{{ infoData().name }}</ax-text>\n </div>\n }\n\n @if (infoData()?.size) {\n <div class=\"ax-size-info\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M8 22V17C8 15.8954 8.89543 15 10 15H14C15.1046 15 16 15.8954 16 17V22\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n <path d=\"M10 7H14\" stroke=\"#6B7280\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path\n d=\"M3 20V4C3 2.89543 3.89543 2 5 2H14.2759C14.7438 2 15.1968 2.16403 15.5563 2.46356L20.2804 6.40031C20.7364 6.7803 21 7.34319 21 7.93675V20C21 21.1046 20.1046 22 19 22H5C3.89543 22 3 21.1046 3 20Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <ax-text>{{ infoData().size }}</ax-text>\n </div>\n }\n</div>\n", styles: ["@layer components{.ax-info-container{display:flex;align-items:center;justify-content:flex-start}.ax-info-container ax-text{margin-inline-start:calc(var(--spacing, .25rem) * 1);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));color:rgba(var(--ax-sys-color-on-lighter-surface))}.ax-info-container .ax-name-info,.ax-info-container .ax-size-info{display:flex;align-items:center;justify-content:center}.ax-info-container .ax-name-info{margin-inline-end:calc(var(--spacing, .25rem) * 4)}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
549
682
  }] });
550
683
 
551
- class AXImageViewerComponent extends AXMediaViewerBaseComponent {
552
- constructor() {
553
- super(...arguments);
554
- this.hasError = signal(false, /* @ts-ignore */
555
- ...(ngDevMode ? [{ debugName: "hasError" }] : /* istanbul ignore next */ []));
556
- this.src = signal(null, /* @ts-ignore */
557
- ...(ngDevMode ? [{ debugName: "src" }] : /* istanbul ignore next */ []));
558
- this.service = inject(AXMediaViewerService);
559
- this.loading = signal(false, /* @ts-ignore */
560
- ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
561
- this.#init = effect(async () => {
562
- if (this.message.index === this.service.selectedIndex()) {
563
- if (this.service.dirtyItems.has(`item-${this.message.index}`)) {
564
- this.src.set(this.service.dirtyItems.get(`item-${this.message.index}`));
565
- return;
566
- }
567
- this.loading.set(true);
568
- if (typeof this.message.data?.url === 'function') {
569
- const result = await this.message.data?.url();
570
- this.service.dirtyItems.set(`item-${this.message.index}`, result);
571
- this.src.set(result);
572
- }
573
- else {
574
- this.service.dirtyItems.set(`item-${this.message.index}`, this.message.data?.url);
575
- this.src.set(this.message.data?.url);
576
- }
577
- this.loading.set(false);
578
- }
579
- }, /* @ts-ignore */
580
- ...(ngDevMode ? [{ debugName: "#init" }] : /* istanbul ignore next */ []));
581
- }
582
- #init;
583
- handleImageError() {
584
- this.hasError.set(true);
585
- }
586
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXImageViewerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
587
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXImageViewerComponent, isStandalone: true, selector: "ax-image-viewer", providers: [{ provide: AXComponent, useExisting: AXImageViewerComponent }], usesInheritance: true, ngImport: i0, template: "@if (loading()) {\n <ax-loading></ax-loading>\n} @else {\n <ax-image alt=\"image\" [src]=\"src()\" (onError)=\"handleImageError()\">\n @if (hasError()) {\n <ax-placeholder>\n <div class=\"placeholder-image-container\">\n <span class=\"placeholder-image\">\uD83D\uDDBC\uFE0F</span>\n </div>\n </ax-placeholder>\n }\n </ax-image>\n}\n", styles: ["@layer components{ax-image-viewer{height:100%;width:100%}ax-image-viewer ax-image{height:100%!important;width:100%!important}ax-image-viewer ax-image img{height:100%;width:100%;object-fit:contain}ax-image-viewer ax-image ax-loading{display:flex;height:100%;width:100%;align-items:center;justify-content:center}ax-image-viewer .placeholder-image-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 8);text-align:center}ax-image-viewer .placeholder-image-container .placeholder-image{margin-bottom:calc(var(--spacing, .25rem) * 2);font-size:var(--text-5xl, 3rem);line-height:var(--tw-leading, var(--text-5xl--line-height, 1))}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i1$1.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }], encapsulation: i0.ViewEncapsulation.None }); }
588
- }
589
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXImageViewerComponent, decorators: [{
590
- type: Component,
591
- args: [{ selector: 'ax-image-viewer', encapsulation: ViewEncapsulation.None, imports: [AXImageComponent, AXLoadingModule, AXDecoratorGenericComponent], providers: [{ provide: AXComponent, useExisting: AXImageViewerComponent }], template: "@if (loading()) {\n <ax-loading></ax-loading>\n} @else {\n <ax-image alt=\"image\" [src]=\"src()\" (onError)=\"handleImageError()\">\n @if (hasError()) {\n <ax-placeholder>\n <div class=\"placeholder-image-container\">\n <span class=\"placeholder-image\">\uD83D\uDDBC\uFE0F</span>\n </div>\n </ax-placeholder>\n }\n </ax-image>\n}\n", styles: ["@layer components{ax-image-viewer{height:100%;width:100%}ax-image-viewer ax-image{height:100%!important;width:100%!important}ax-image-viewer ax-image img{height:100%;width:100%;object-fit:contain}ax-image-viewer ax-image ax-loading{display:flex;height:100%;width:100%;align-items:center;justify-content:center}ax-image-viewer .placeholder-image-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 8);text-align:center}ax-image-viewer .placeholder-image-container .placeholder-image{margin-bottom:calc(var(--spacing, .25rem) * 2);font-size:var(--text-5xl, 3rem);line-height:var(--tw-leading, var(--text-5xl--line-height, 1))}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
592
- }] });
593
-
594
- class PdfComponent extends AXMediaViewerBaseComponent {
595
- constructor() {
596
- super(...arguments);
597
- this.sanitizer = inject(DomSanitizer);
598
- this.src = signal(null, /* @ts-ignore */
599
- ...(ngDevMode ? [{ debugName: "src" }] : /* istanbul ignore next */ []));
600
- this.service = inject(AXMediaViewerService);
601
- this.loading = signal(false, /* @ts-ignore */
602
- ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
603
- this.#init = effect(async () => {
604
- if (this.message.index === this.service.selectedIndex()) {
605
- if (this.service.dirtyItems.has(`item-${this.message.index}`)) {
606
- this.src.set(this.service.dirtyItems.get(`item-${this.message.index}`));
607
- return;
608
- }
609
- this.loading.set(true);
610
- if (typeof this.message.data?.url === 'function') {
611
- const result = await this.message.data?.url();
612
- this.service.dirtyItems.set(`item-${this.message.index}`, result);
613
- this.src.set(result);
614
- }
615
- else {
616
- this.service.dirtyItems.set(`item-${this.message.index}`, this.message.data?.url);
617
- this.src.set(this.message.data?.url);
618
- }
619
- this.loading.set(false);
620
- }
621
- }, /* @ts-ignore */
622
- ...(ngDevMode ? [{ debugName: "#init" }] : /* istanbul ignore next */ []));
623
- }
624
- #init;
625
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: PdfComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
626
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: PdfComponent, isStandalone: true, selector: "ax-pdf", providers: [{ provide: AXComponent, useExisting: PdfComponent }], usesInheritance: true, ngImport: i0, template: "@if (loading()) {\n <ax-loading></ax-loading>\n} @else {\n <ax-pdf-reader [src]=\"sanitizer.bypassSecurityTrustResourceUrl(src())\"> </ax-pdf-reader>\n}\n", styles: ["ax-pdf ax-loading{width:100%;height:100%;display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "component", type: AXPdfReaderComponent, selector: "ax-pdf-reader", inputs: ["src"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i1$1.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
627
- }
628
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: PdfComponent, decorators: [{
629
- type: Component,
630
- args: [{ selector: 'ax-pdf', encapsulation: ViewEncapsulation.None, imports: [AXPdfReaderComponent, AXLoadingModule], providers: [{ provide: AXComponent, useExisting: PdfComponent }], template: "@if (loading()) {\n <ax-loading></ax-loading>\n} @else {\n <ax-pdf-reader [src]=\"sanitizer.bypassSecurityTrustResourceUrl(src())\"> </ax-pdf-reader>\n}\n", styles: ["ax-pdf ax-loading{width:100%;height:100%;display:flex;justify-content:center;align-items:center}\n"] }]
631
- }] });
632
-
633
- class VideoPlayerComponent extends AXMediaViewerBaseComponent {
634
- constructor() {
635
- super(...arguments);
636
- this.src = signal(null, /* @ts-ignore */
637
- ...(ngDevMode ? [{ debugName: "src" }] : /* istanbul ignore next */ []));
638
- this.service = inject(AXMediaViewerService);
639
- this.loading = signal(false, /* @ts-ignore */
640
- ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
641
- this.#init = effect(async () => {
642
- if (this.message.index === this.service.selectedIndex()) {
643
- if (this.service.dirtyItems.has(`item-${this.message.index}`)) {
644
- this.src.set(this.service.dirtyItems.get(`item-${this.message.index}`));
645
- return;
646
- }
647
- this.loading.set(true);
648
- if (typeof this.message.data?.url === 'function') {
649
- const result = await this.message.data?.url();
650
- this.service.dirtyItems.set(`item-${this.message.index}`, result);
651
- this.src.set(result);
652
- }
653
- else {
654
- this.service.dirtyItems.set(`item-${this.message.index}`, this.message.data?.url);
655
- this.src.set(this.message.data?.url);
656
- }
657
- this.loading.set(false);
658
- }
659
- }, /* @ts-ignore */
660
- ...(ngDevMode ? [{ debugName: "#init" }] : /* istanbul ignore next */ []));
661
- }
662
- #init;
663
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: VideoPlayerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
664
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: VideoPlayerComponent, isStandalone: true, selector: "ax-video", providers: [{ provide: AXComponent, useExisting: VideoPlayerComponent }], usesInheritance: true, ngImport: i0, template: "@if (loading()) {\n <ax-loading></ax-loading>\n} @else {\n <ax-video-player [src]=\"src()\"></ax-video-player>\n}\n", styles: ["ax-pdf ax-loading{width:100%;height:100%;display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "component", type: AXVideoPlayerComponent, selector: "ax-video-player", inputs: ["src"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i1$1.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
665
- }
666
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: VideoPlayerComponent, decorators: [{
667
- type: Component,
668
- args: [{ selector: 'ax-video', encapsulation: ViewEncapsulation.None, imports: [AXVideoPlayerComponent, AXLoadingModule], providers: [{ provide: AXComponent, useExisting: VideoPlayerComponent }], template: "@if (loading()) {\n <ax-loading></ax-loading>\n} @else {\n <ax-video-player [src]=\"src()\"></ax-video-player>\n}\n", styles: ["ax-pdf ax-loading{width:100%;height:100%;display:flex;justify-content:center;align-items:center}\n"] }]
669
- }] });
670
-
671
684
  const COMPONENT = [
672
685
  AXMediaViewerContainerComponent,
673
686
  AXMediaViewerSliderComponent,
@@ -707,22 +720,6 @@ class AXMediaViewerModule {
707
720
  if (config?.types?.length) {
708
721
  registry.register(...config.types);
709
722
  }
710
- registry.register({
711
- name: 'audio',
712
- component: AXAudioPlayerComponent,
713
- });
714
- registry.register({
715
- name: 'image',
716
- component: AXImageViewerComponent,
717
- });
718
- registry.register({
719
- name: 'pdf',
720
- component: PdfComponent,
721
- });
722
- registry.register({
723
- name: 'video',
724
- component: VideoPlayerComponent,
725
- });
726
723
  },
727
724
  deps: [AXMediaViewerTypeRegistryService],
728
725
  multi: true,