@smartsoft001-mobilems/angular 2.78.0 → 2.80.0
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.
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate, __metadata } from 'tslib';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { Injectable, inject, PLATFORM_ID, signal, effect, computed, input, output, HostListener, Component, ApplicationRef, EnvironmentInjector, createComponent, InjectionToken, Directive, contentChild, Inject, viewChild, ElementRef, APP_INITIALIZER, NgModule } from '@angular/core';
|
|
3
|
+
import { Injectable, inject, PLATFORM_ID, signal, effect, computed, input, output, HostListener, Component, ApplicationRef, EnvironmentInjector, createComponent, InjectionToken, Directive, contentChild, Inject, NgZone, viewChild, model, ElementRef, APP_INITIALIZER, NgModule } from '@angular/core';
|
|
4
4
|
import { Meta, Title, DomSanitizer } from '@angular/platform-browser';
|
|
5
5
|
import { StyleService as StyleService$1, ReduxAction, AppBaseComponent, PageBaseComponent, BaseComponent } from '@smartsoft001/angular';
|
|
6
6
|
import { HttpClient } from '@angular/common/http';
|
|
@@ -14,10 +14,12 @@ import { TranslateService } from '@ngx-translate/core';
|
|
|
14
14
|
import { CrudSearchService, CrudService, CrudFacade } from '@smartsoft001/crud-shell-angular';
|
|
15
15
|
import * as _ from 'lodash';
|
|
16
16
|
import { Debounce } from 'lodash-decorators';
|
|
17
|
+
import Swiper from 'swiper';
|
|
18
|
+
import { Navigation, Autoplay } from 'swiper/modules';
|
|
19
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
17
20
|
import { ConfigPageType, ArticleWidgetType } from '@smartsoft001-mobilems/models';
|
|
18
21
|
import { Masonry } from '@thisissoon/angular-masonry';
|
|
19
22
|
import { capitalize } from '@smartsoft001/utils';
|
|
20
|
-
import { toSignal } from '@angular/core/rxjs-interop';
|
|
21
23
|
|
|
22
24
|
function setTranslationsAndLang(service) {
|
|
23
25
|
const map = {
|
|
@@ -77,10 +79,10 @@ class AuthStorageService {
|
|
|
77
79
|
hasUser() {
|
|
78
80
|
return this.getUser() !== null;
|
|
79
81
|
}
|
|
80
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
81
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
82
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AuthStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
83
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AuthStorageService, providedIn: 'root' }); }
|
|
82
84
|
}
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AuthStorageService, decorators: [{
|
|
84
86
|
type: Injectable,
|
|
85
87
|
args: [{
|
|
86
88
|
providedIn: 'root',
|
|
@@ -93,10 +95,10 @@ class SharedConfig {
|
|
|
93
95
|
this.multimediaUrl = '';
|
|
94
96
|
this.mainLogoPath = '/assets/gfx/logo/main-logo.png';
|
|
95
97
|
}
|
|
96
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
97
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
98
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SharedConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
99
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SharedConfig }); }
|
|
98
100
|
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SharedConfig, decorators: [{
|
|
100
102
|
type: Injectable
|
|
101
103
|
}] });
|
|
102
104
|
|
|
@@ -129,10 +131,10 @@ class ConfigsService {
|
|
|
129
131
|
.get(this.config.apiUrl + 'page/' + id)
|
|
130
132
|
.pipe(map((r) => r.data)));
|
|
131
133
|
}
|
|
132
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
133
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
134
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ConfigsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
135
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ConfigsService, providedIn: 'root' }); }
|
|
134
136
|
}
|
|
135
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ConfigsService, decorators: [{
|
|
136
138
|
type: Injectable,
|
|
137
139
|
args: [{
|
|
138
140
|
providedIn: 'root',
|
|
@@ -194,10 +196,10 @@ class ContrastService {
|
|
|
194
196
|
element.style.removeProperty('--cv-wcag-color-1');
|
|
195
197
|
element.style.removeProperty('--cv-wcag-color-2');
|
|
196
198
|
}
|
|
197
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
198
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
199
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ContrastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
200
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ContrastService, providedIn: 'root' }); }
|
|
199
201
|
}
|
|
200
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
202
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ContrastService, decorators: [{
|
|
201
203
|
type: Injectable,
|
|
202
204
|
args: [{
|
|
203
205
|
providedIn: 'root',
|
|
@@ -233,10 +235,10 @@ class DictionaryService {
|
|
|
233
235
|
.get(url)
|
|
234
236
|
.pipe(map((r) => r.data));
|
|
235
237
|
}
|
|
236
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
237
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
238
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DictionaryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
239
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DictionaryService, providedIn: 'root' }); }
|
|
238
240
|
}
|
|
239
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
241
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DictionaryService, decorators: [{
|
|
240
242
|
type: Injectable,
|
|
241
243
|
args: [{
|
|
242
244
|
providedIn: 'root',
|
|
@@ -272,7 +274,9 @@ class FileUrlService {
|
|
|
272
274
|
if (path[0] === '/') {
|
|
273
275
|
path = path.substring(1);
|
|
274
276
|
}
|
|
275
|
-
const shouldSkipExtensionReplacement = isStringPath ||
|
|
277
|
+
const shouldSkipExtensionReplacement = isStringPath ||
|
|
278
|
+
path.includes('media/dictionaries') ||
|
|
279
|
+
path.includes('media/articles');
|
|
276
280
|
if (!shouldSkipExtensionReplacement) {
|
|
277
281
|
path = this.replaceExtensionIfCache(path, mode);
|
|
278
282
|
}
|
|
@@ -309,10 +313,10 @@ class FileUrlService {
|
|
|
309
313
|
return 'upload/multimedia/';
|
|
310
314
|
}
|
|
311
315
|
}
|
|
312
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
313
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
316
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FileUrlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
317
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FileUrlService, providedIn: 'root' }); }
|
|
314
318
|
}
|
|
315
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
319
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FileUrlService, decorators: [{
|
|
316
320
|
type: Injectable,
|
|
317
321
|
args: [{
|
|
318
322
|
providedIn: 'root',
|
|
@@ -357,10 +361,10 @@ class GlobalService {
|
|
|
357
361
|
})
|
|
358
362
|
.join(''));
|
|
359
363
|
}
|
|
360
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
361
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
364
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: GlobalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
365
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: GlobalService, providedIn: 'root' }); }
|
|
362
366
|
}
|
|
363
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
367
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: GlobalService, decorators: [{
|
|
364
368
|
type: Injectable,
|
|
365
369
|
args: [{
|
|
366
370
|
providedIn: 'root',
|
|
@@ -417,10 +421,10 @@ class TranslationService {
|
|
|
417
421
|
}
|
|
418
422
|
return this.translateService.getBrowserLang() || 'en';
|
|
419
423
|
}
|
|
420
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
421
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
424
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: TranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
425
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: TranslationService, providedIn: 'root' }); }
|
|
422
426
|
}
|
|
423
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
427
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: TranslationService, decorators: [{
|
|
424
428
|
type: Injectable,
|
|
425
429
|
args: [{
|
|
426
430
|
providedIn: 'root',
|
|
@@ -569,10 +573,10 @@ class MetaService {
|
|
|
569
573
|
}
|
|
570
574
|
return '';
|
|
571
575
|
}
|
|
572
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
573
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
576
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: MetaService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
577
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: MetaService, providedIn: 'root' }); }
|
|
574
578
|
}
|
|
575
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
579
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: MetaService, decorators: [{
|
|
576
580
|
type: Injectable,
|
|
577
581
|
args: [{
|
|
578
582
|
providedIn: 'root',
|
|
@@ -607,8 +611,8 @@ class ModalContainerComponent {
|
|
|
607
611
|
onBackdropClick(_event) {
|
|
608
612
|
this.backdropClick.emit();
|
|
609
613
|
}
|
|
610
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
611
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
614
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ModalContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
615
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.1", type: ModalContainerComponent, isStandalone: true, selector: "smart-mobilems-modal-container", inputs: { contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { backdropClick: "backdropClick" }, host: { listeners: { "document:keydown.escape": "onEscapeKey()" } }, ngImport: i0, template: `
|
|
612
616
|
<div
|
|
613
617
|
class="smart-fixed smart-inset-0 smart-bg-black smart-bg-opacity-50 smart-flex smart-items-center smart-justify-center smart-z-50"
|
|
614
618
|
(click)="onBackdropClick($event)"
|
|
@@ -624,7 +628,7 @@ class ModalContainerComponent {
|
|
|
624
628
|
</div>
|
|
625
629
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
626
630
|
}
|
|
627
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
631
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ModalContainerComponent, decorators: [{
|
|
628
632
|
type: Component,
|
|
629
633
|
args: [{
|
|
630
634
|
selector: 'smart-mobilems-modal-container',
|
|
@@ -646,7 +650,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
|
|
|
646
650
|
</div>
|
|
647
651
|
`,
|
|
648
652
|
}]
|
|
649
|
-
}], propDecorators: { onEscapeKey: [{
|
|
653
|
+
}], propDecorators: { contentTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentTemplate", required: true }] }], backdropClick: [{ type: i0.Output, args: ["backdropClick"] }], onEscapeKey: [{
|
|
650
654
|
type: HostListener,
|
|
651
655
|
args: ['document:keydown.escape']
|
|
652
656
|
}] } });
|
|
@@ -727,10 +731,10 @@ class ModalService {
|
|
|
727
731
|
const modals = [...this.activeModals];
|
|
728
732
|
modals.forEach((componentRef) => this.closeModal(componentRef));
|
|
729
733
|
}
|
|
730
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
731
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
734
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
735
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ModalService, providedIn: 'root' }); }
|
|
732
736
|
}
|
|
733
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
737
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ModalService, decorators: [{
|
|
734
738
|
type: Injectable,
|
|
735
739
|
args: [{
|
|
736
740
|
providedIn: 'root',
|
|
@@ -797,10 +801,10 @@ class SearchService extends CrudSearchService {
|
|
|
797
801
|
}
|
|
798
802
|
return map;
|
|
799
803
|
}
|
|
800
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
801
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
804
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SearchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
805
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SearchService, providedIn: 'root' }); }
|
|
802
806
|
}
|
|
803
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
807
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SearchService, decorators: [{
|
|
804
808
|
type: Injectable,
|
|
805
809
|
args: [{
|
|
806
810
|
providedIn: 'root',
|
|
@@ -915,10 +919,10 @@ class SeoService {
|
|
|
915
919
|
return encodedStr;
|
|
916
920
|
}
|
|
917
921
|
}
|
|
918
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
919
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
922
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SeoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
923
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SeoService, providedIn: 'root' }); }
|
|
920
924
|
}
|
|
921
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
925
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SeoService, decorators: [{
|
|
922
926
|
type: Injectable,
|
|
923
927
|
args: [{
|
|
924
928
|
providedIn: 'root',
|
|
@@ -950,10 +954,10 @@ class SettingsService {
|
|
|
950
954
|
getMainLogo() {
|
|
951
955
|
return this.config.mainLogoPath;
|
|
952
956
|
}
|
|
953
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
954
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
957
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SettingsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
958
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SettingsService, providedIn: 'root' }); }
|
|
955
959
|
}
|
|
956
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
960
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SettingsService, decorators: [{
|
|
957
961
|
type: Injectable,
|
|
958
962
|
args: [{
|
|
959
963
|
providedIn: 'root',
|
|
@@ -972,10 +976,10 @@ class StyleService {
|
|
|
972
976
|
};
|
|
973
977
|
this.smartStyleService.init(elementRef, variables);
|
|
974
978
|
}
|
|
975
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
976
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
979
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: StyleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
980
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: StyleService, providedIn: 'root' }); }
|
|
977
981
|
}
|
|
978
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
982
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: StyleService, decorators: [{
|
|
979
983
|
type: Injectable,
|
|
980
984
|
args: [{
|
|
981
985
|
providedIn: 'root',
|
|
@@ -1099,10 +1103,10 @@ class WcagService {
|
|
|
1099
1103
|
const translationKey = `WCAG.${type}.${value}`;
|
|
1100
1104
|
announceElement.innerHTML = this.translationService.get(translationKey);
|
|
1101
1105
|
}
|
|
1102
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1103
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1106
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: WcagService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1107
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: WcagService, providedIn: 'root' }); }
|
|
1104
1108
|
}
|
|
1105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: WcagService, decorators: [{
|
|
1106
1110
|
type: Injectable,
|
|
1107
1111
|
args: [{
|
|
1108
1112
|
providedIn: 'root',
|
|
@@ -1270,8 +1274,8 @@ class ConfigsFacade {
|
|
|
1270
1274
|
return config;
|
|
1271
1275
|
});
|
|
1272
1276
|
}
|
|
1273
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1274
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1277
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ConfigsFacade, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1278
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ConfigsFacade, providedIn: 'root' }); }
|
|
1275
1279
|
}
|
|
1276
1280
|
__decorate([
|
|
1277
1281
|
ReduxAction(),
|
|
@@ -1285,7 +1289,7 @@ __decorate([
|
|
|
1285
1289
|
__metadata("design:paramtypes", []),
|
|
1286
1290
|
__metadata("design:returntype", Promise)
|
|
1287
1291
|
], ConfigsFacade.prototype, "init", null);
|
|
1288
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1292
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ConfigsFacade, decorators: [{
|
|
1289
1293
|
type: Injectable,
|
|
1290
1294
|
args: [{
|
|
1291
1295
|
providedIn: 'root',
|
|
@@ -1293,19 +1297,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
|
|
|
1293
1297
|
}], propDecorators: { getPage: [], init: [] } });
|
|
1294
1298
|
|
|
1295
1299
|
class AppComponent extends AppBaseComponent {
|
|
1296
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1297
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1300
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AppComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1301
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: AppComponent, isStandalone: true, selector: "smart-mobilems-app", usesInheritance: true, ngImport: i0, template: "<ng-content select=\"header\"></ng-content>\n\n<main>\n <router-outlet></router-outlet>\n</main>\n\n<ng-content select=\"footer\"></ng-content>\n", dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
|
|
1298
1302
|
}
|
|
1299
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1303
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AppComponent, decorators: [{
|
|
1300
1304
|
type: Component,
|
|
1301
1305
|
args: [{ selector: 'smart-mobilems-app', imports: [RouterOutlet], template: "<ng-content select=\"header\"></ng-content>\n\n<main>\n <router-outlet></router-outlet>\n</main>\n\n<ng-content select=\"footer\"></ng-content>\n" }]
|
|
1302
1306
|
}] });
|
|
1303
1307
|
|
|
1304
1308
|
class PageComponent extends PageBaseComponent {
|
|
1305
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1306
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
1309
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: PageComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1310
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.1", type: PageComponent, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
|
|
1307
1311
|
}
|
|
1308
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1312
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: PageComponent, decorators: [{
|
|
1309
1313
|
type: Directive
|
|
1310
1314
|
}] });
|
|
1311
1315
|
|
|
@@ -1565,6 +1569,12 @@ class FiltersContext extends BaseComponent {
|
|
|
1565
1569
|
get authors() {
|
|
1566
1570
|
return this.filterGet('=', 'authors');
|
|
1567
1571
|
}
|
|
1572
|
+
set formFeature(val) {
|
|
1573
|
+
this.filterSet(this.formFeature, val, 'formFeature', '=');
|
|
1574
|
+
}
|
|
1575
|
+
get formFeature() {
|
|
1576
|
+
return this.filterGet('=', 'formFeature');
|
|
1577
|
+
}
|
|
1568
1578
|
set targetGroups(val) {
|
|
1569
1579
|
this.filterSet(this.targetGroups, val, 'targetGroups', '=');
|
|
1570
1580
|
}
|
|
@@ -1589,6 +1599,12 @@ class FiltersContext extends BaseComponent {
|
|
|
1589
1599
|
get extraNumbersValue() {
|
|
1590
1600
|
return this.filterGet('=', 'extraNumbersValue');
|
|
1591
1601
|
}
|
|
1602
|
+
set inventoryNumber(val) {
|
|
1603
|
+
this.filterSet(this.inventoryNumber, val, 'inventoryNumber', '=');
|
|
1604
|
+
}
|
|
1605
|
+
get inventoryNumber() {
|
|
1606
|
+
return this.filterGet('=', 'inventoryNumber');
|
|
1607
|
+
}
|
|
1592
1608
|
set filters(filters) {
|
|
1593
1609
|
this.multipleFilterSet(filters?.map(({ val, key, type }) => ({
|
|
1594
1610
|
currentValue: this.filterGet(type, key),
|
|
@@ -1698,15 +1714,15 @@ class FiltersBaseComponent {
|
|
|
1698
1714
|
ngAfterContentInit() {
|
|
1699
1715
|
this.context = new FiltersContext(this.facade);
|
|
1700
1716
|
}
|
|
1701
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1702
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "
|
|
1717
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FiltersBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1718
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.1", type: FiltersBaseComponent, isStandalone: true, selector: "smart-mobilems-filters", queries: [{ propertyName: "contentTpl", first: true, predicate: ["contentTpl"], descendants: true, isSignal: true }], ngImport: i0 }); }
|
|
1703
1719
|
}
|
|
1704
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1720
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FiltersBaseComponent, decorators: [{
|
|
1705
1721
|
type: Directive,
|
|
1706
1722
|
args: [{
|
|
1707
1723
|
selector: 'smart-mobilems-filters',
|
|
1708
1724
|
}]
|
|
1709
|
-
}] });
|
|
1725
|
+
}], propDecorators: { contentTpl: [{ type: i0.ContentChild, args: ['contentTpl', { isSignal: true }] }] } });
|
|
1710
1726
|
|
|
1711
1727
|
class ScrollTopComponent {
|
|
1712
1728
|
constructor(document) {
|
|
@@ -1732,10 +1748,10 @@ class ScrollTopComponent {
|
|
|
1732
1748
|
};
|
|
1733
1749
|
window.scrollTo(scrollOptions);
|
|
1734
1750
|
}
|
|
1735
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1736
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
1751
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScrollTopComponent, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1752
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.1", type: ScrollTopComponent, isStandalone: true, host: { listeners: { "window:scroll": "onWindowScroll()" } }, ngImport: i0 }); }
|
|
1737
1753
|
}
|
|
1738
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1754
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScrollTopComponent, decorators: [{
|
|
1739
1755
|
type: Directive
|
|
1740
1756
|
}], ctorParameters: () => [{ type: Document, decorators: [{
|
|
1741
1757
|
type: Inject,
|
|
@@ -1745,6 +1761,790 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
|
|
|
1745
1761
|
args: ['window:scroll', []]
|
|
1746
1762
|
}] } });
|
|
1747
1763
|
|
|
1764
|
+
class SliderBaseComponent {
|
|
1765
|
+
constructor() {
|
|
1766
|
+
this.fileUrlService = inject(FileUrlService);
|
|
1767
|
+
this.slides = input([], ...(ngDevMode ? [{ debugName: "slides" }] : []));
|
|
1768
|
+
this.autoplayEnabled = signal(true, ...(ngDevMode ? [{ debugName: "autoplayEnabled" }] : []));
|
|
1769
|
+
this.windowWidth = signal(typeof window !== 'undefined' ? window.innerWidth : 1024, ...(ngDevMode ? [{ debugName: "windowWidth" }] : []));
|
|
1770
|
+
// Computed signal that recalculates images when windowWidth or slides change
|
|
1771
|
+
this.slideImages = computed(() => {
|
|
1772
|
+
const width = this.windowWidth();
|
|
1773
|
+
const slides = this.slides();
|
|
1774
|
+
return slides.map((slide) => {
|
|
1775
|
+
let imageSource;
|
|
1776
|
+
if (width < 768) {
|
|
1777
|
+
imageSource =
|
|
1778
|
+
slide.imageMobile || slide.imageTablet || slide.imageDesktop;
|
|
1779
|
+
}
|
|
1780
|
+
else if (width < 1024) {
|
|
1781
|
+
imageSource =
|
|
1782
|
+
slide.imageTablet || slide.imageDesktop || slide.imageMobile;
|
|
1783
|
+
}
|
|
1784
|
+
else {
|
|
1785
|
+
imageSource =
|
|
1786
|
+
slide.imageDesktop || slide.imageTablet || slide.imageMobile;
|
|
1787
|
+
}
|
|
1788
|
+
if (!imageSource) {
|
|
1789
|
+
return '/gfx/no-image.png';
|
|
1790
|
+
}
|
|
1791
|
+
return this.fileUrlService.get(imageSource);
|
|
1792
|
+
});
|
|
1793
|
+
}, ...(ngDevMode ? [{ debugName: "slideImages" }] : []));
|
|
1794
|
+
this.ngZone = inject(NgZone);
|
|
1795
|
+
this.swiperContainer = viewChild('swiperContainer', ...(ngDevMode ? [{ debugName: "swiperContainer" }] : []));
|
|
1796
|
+
effect(() => {
|
|
1797
|
+
const slides = this.slides();
|
|
1798
|
+
if (this.swiper && slides.length > 0) {
|
|
1799
|
+
this.swiper.update();
|
|
1800
|
+
}
|
|
1801
|
+
});
|
|
1802
|
+
}
|
|
1803
|
+
ngOnInit() {
|
|
1804
|
+
this.initSwiper();
|
|
1805
|
+
// Listen to window resize to recreate swiper completely
|
|
1806
|
+
this.resizeListener = () => {
|
|
1807
|
+
this.ngZone.run(() => {
|
|
1808
|
+
this.windowWidth.set(window.innerWidth);
|
|
1809
|
+
this.recreateSwiper();
|
|
1810
|
+
});
|
|
1811
|
+
};
|
|
1812
|
+
window.addEventListener('resize', this.resizeListener);
|
|
1813
|
+
}
|
|
1814
|
+
ngOnDestroy() {
|
|
1815
|
+
if (this.resizeListener && typeof window !== 'undefined') {
|
|
1816
|
+
window.removeEventListener('resize', this.resizeListener);
|
|
1817
|
+
}
|
|
1818
|
+
if (this.swiper) {
|
|
1819
|
+
this.swiper.destroy(true, true);
|
|
1820
|
+
}
|
|
1821
|
+
}
|
|
1822
|
+
toggleAutoplay() {
|
|
1823
|
+
this.autoplayEnabled.update((current) => !current);
|
|
1824
|
+
if (this.swiper) {
|
|
1825
|
+
if (this.autoplayEnabled()) {
|
|
1826
|
+
this.swiper.params.autoplay = {
|
|
1827
|
+
delay: 5000,
|
|
1828
|
+
disableOnInteraction: false,
|
|
1829
|
+
};
|
|
1830
|
+
this.swiper.autoplay.start();
|
|
1831
|
+
}
|
|
1832
|
+
else {
|
|
1833
|
+
this.swiper.autoplay.stop();
|
|
1834
|
+
}
|
|
1835
|
+
}
|
|
1836
|
+
}
|
|
1837
|
+
getImage(slide) {
|
|
1838
|
+
let imageSource;
|
|
1839
|
+
if (typeof window !== 'undefined') {
|
|
1840
|
+
const width = window.innerWidth;
|
|
1841
|
+
if (width < 768) {
|
|
1842
|
+
imageSource =
|
|
1843
|
+
slide.imageMobile || slide.imageTablet || slide.imageDesktop;
|
|
1844
|
+
}
|
|
1845
|
+
else if (width < 1024) {
|
|
1846
|
+
imageSource =
|
|
1847
|
+
slide.imageTablet || slide.imageDesktop || slide.imageMobile;
|
|
1848
|
+
}
|
|
1849
|
+
else {
|
|
1850
|
+
imageSource =
|
|
1851
|
+
slide.imageDesktop || slide.imageTablet || slide.imageMobile;
|
|
1852
|
+
}
|
|
1853
|
+
}
|
|
1854
|
+
else {
|
|
1855
|
+
imageSource =
|
|
1856
|
+
slide.imageDesktop || slide.imageTablet || slide.imageMobile;
|
|
1857
|
+
}
|
|
1858
|
+
// Return the image source directly if it's a URL, otherwise use FileUrlService
|
|
1859
|
+
if (!imageSource) {
|
|
1860
|
+
return '/gfx/no-image.png';
|
|
1861
|
+
}
|
|
1862
|
+
return this.fileUrlService.get(imageSource);
|
|
1863
|
+
}
|
|
1864
|
+
initSwiper() {
|
|
1865
|
+
const container = this.swiperContainer();
|
|
1866
|
+
if (!container)
|
|
1867
|
+
return;
|
|
1868
|
+
// if (isPlatformServer(this.platformId)) return;
|
|
1869
|
+
this.swiper = new Swiper(container.nativeElement, {
|
|
1870
|
+
modules: [Navigation, Autoplay],
|
|
1871
|
+
loop: true,
|
|
1872
|
+
autoplay: {
|
|
1873
|
+
delay: 5000,
|
|
1874
|
+
disableOnInteraction: false,
|
|
1875
|
+
},
|
|
1876
|
+
navigation: {
|
|
1877
|
+
nextEl: '.swiper-button-next',
|
|
1878
|
+
prevEl: '.swiper-button-prev',
|
|
1879
|
+
},
|
|
1880
|
+
slidesPerView: 1,
|
|
1881
|
+
spaceBetween: 0,
|
|
1882
|
+
});
|
|
1883
|
+
}
|
|
1884
|
+
recreateSwiper() {
|
|
1885
|
+
const container = this.swiperContainer();
|
|
1886
|
+
if (!container)
|
|
1887
|
+
return;
|
|
1888
|
+
// Destroy existing swiper
|
|
1889
|
+
if (this.swiper) {
|
|
1890
|
+
this.swiper.destroy(true, true);
|
|
1891
|
+
this.swiper = undefined;
|
|
1892
|
+
}
|
|
1893
|
+
// Small delay to ensure DOM is updated after signal change
|
|
1894
|
+
setTimeout(() => {
|
|
1895
|
+
this.createSwiper(container.nativeElement);
|
|
1896
|
+
}, 0);
|
|
1897
|
+
}
|
|
1898
|
+
createSwiper(element) {
|
|
1899
|
+
this.swiper = new Swiper(element, {
|
|
1900
|
+
modules: [Navigation, Autoplay],
|
|
1901
|
+
loop: true,
|
|
1902
|
+
autoplay: {
|
|
1903
|
+
delay: 5000,
|
|
1904
|
+
disableOnInteraction: false,
|
|
1905
|
+
},
|
|
1906
|
+
navigation: {
|
|
1907
|
+
nextEl: '.swiper-button-next',
|
|
1908
|
+
prevEl: '.swiper-button-prev',
|
|
1909
|
+
},
|
|
1910
|
+
slidesPerView: 1,
|
|
1911
|
+
spaceBetween: 0,
|
|
1912
|
+
});
|
|
1913
|
+
}
|
|
1914
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SliderBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1915
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.1", type: SliderBaseComponent, isStandalone: true, inputs: { slides: { classPropertyName: "slides", publicName: "slides", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "swiperContainer", first: true, predicate: ["swiperContainer"], descendants: true, isSignal: true }], ngImport: i0 }); }
|
|
1916
|
+
}
|
|
1917
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SliderBaseComponent, decorators: [{
|
|
1918
|
+
type: Directive
|
|
1919
|
+
}], ctorParameters: () => [], propDecorators: { slides: [{ type: i0.Input, args: [{ isSignal: true, alias: "slides", required: false }] }], swiperContainer: [{ type: i0.ViewChild, args: ['swiperContainer', { isSignal: true }] }] } });
|
|
1920
|
+
|
|
1921
|
+
class SearchBaseComponent {
|
|
1922
|
+
constructor() {
|
|
1923
|
+
this.route = inject(ActivatedRoute);
|
|
1924
|
+
this.router = inject(Router);
|
|
1925
|
+
this.service = inject(SearchService);
|
|
1926
|
+
this.params = toSignal(this.route.params);
|
|
1927
|
+
this.text = signal('', ...(ngDevMode ? [{ debugName: "text" }] : []));
|
|
1928
|
+
this.data = signal(null, ...(ngDevMode ? [{ debugName: "data" }] : []));
|
|
1929
|
+
this.tabs = signal([], ...(ngDevMode ? [{ debugName: "tabs" }] : []));
|
|
1930
|
+
this.searchMap = {
|
|
1931
|
+
fallbackId: 'obiekty',
|
|
1932
|
+
fallbackLabel: 'Obiekty',
|
|
1933
|
+
fallbackProperty: 'objects',
|
|
1934
|
+
searchTabs: [],
|
|
1935
|
+
};
|
|
1936
|
+
this.activeTab = signal(this.searchMap.fallbackId, ...(ngDevMode ? [{ debugName: "activeTab" }] : []));
|
|
1937
|
+
effect(async () => {
|
|
1938
|
+
const { text } = this.params();
|
|
1939
|
+
this.text.set(text);
|
|
1940
|
+
const data = await firstValueFrom(this.service.search(text ? text : '_'));
|
|
1941
|
+
let path = this.searchMap.fallbackId;
|
|
1942
|
+
const tabs = [];
|
|
1943
|
+
for (const tab of this.searchMap.searchTabs) {
|
|
1944
|
+
if (data[tab.property]) {
|
|
1945
|
+
tabs.push({
|
|
1946
|
+
id: tab.id,
|
|
1947
|
+
label: `${tab.label} (${data[tab.property]})`,
|
|
1948
|
+
});
|
|
1949
|
+
}
|
|
1950
|
+
}
|
|
1951
|
+
if (!tabs.length) {
|
|
1952
|
+
tabs.push({
|
|
1953
|
+
id: this.searchMap.fallbackId,
|
|
1954
|
+
label: `${this.searchMap.fallbackLabel} (${data[this.searchMap.fallbackProperty]})`,
|
|
1955
|
+
});
|
|
1956
|
+
}
|
|
1957
|
+
for (const tab of this.searchMap.searchTabs) {
|
|
1958
|
+
if (data[tab.property]) {
|
|
1959
|
+
path = tab.id;
|
|
1960
|
+
break;
|
|
1961
|
+
}
|
|
1962
|
+
}
|
|
1963
|
+
this.data.set(data);
|
|
1964
|
+
this.tabs.set(tabs);
|
|
1965
|
+
this.activeTab.set(path);
|
|
1966
|
+
await this.router.navigate([`/wyszukaj/${text}/${path}`]);
|
|
1967
|
+
});
|
|
1968
|
+
effect(() => {
|
|
1969
|
+
const activeTab = this.activeTab();
|
|
1970
|
+
const text = this.text();
|
|
1971
|
+
this.router.navigate([`/wyszukaj/${text}/${activeTab}`]);
|
|
1972
|
+
});
|
|
1973
|
+
}
|
|
1974
|
+
ngOnInit() {
|
|
1975
|
+
this.service.setEnabled(true);
|
|
1976
|
+
}
|
|
1977
|
+
ngOnDestroy() {
|
|
1978
|
+
this.service.setEnabled(false);
|
|
1979
|
+
}
|
|
1980
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SearchBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1981
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.1", type: SearchBaseComponent, isStandalone: true, ngImport: i0 }); }
|
|
1982
|
+
}
|
|
1983
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SearchBaseComponent, decorators: [{
|
|
1984
|
+
type: Directive
|
|
1985
|
+
}], ctorParameters: () => [] });
|
|
1986
|
+
|
|
1987
|
+
class MediaTabBaseComponent {
|
|
1988
|
+
constructor() {
|
|
1989
|
+
this.item = input.required(...(ngDevMode ? [{ debugName: "item" }] : []));
|
|
1990
|
+
this.formFeatureTypes = input.required(...(ngDevMode ? [{ debugName: "formFeatureTypes" }] : []));
|
|
1991
|
+
this.models = computed(() => {
|
|
1992
|
+
const obj = this.item();
|
|
1993
|
+
let filtered = [];
|
|
1994
|
+
if (obj.additionalImages && Array.isArray(obj.additionalImages)) {
|
|
1995
|
+
filtered = obj.additionalImages
|
|
1996
|
+
.filter((file) => file?.formFeature
|
|
1997
|
+
? this.formFeatureTypes().includes(file.formFeature)
|
|
1998
|
+
: false)
|
|
1999
|
+
.sort((a, b) => (a?.position ?? 0) - (b?.position ?? 0));
|
|
2000
|
+
}
|
|
2001
|
+
return filtered;
|
|
2002
|
+
}, ...(ngDevMode ? [{ debugName: "models" }] : []));
|
|
2003
|
+
}
|
|
2004
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: MediaTabBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2005
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.1", type: MediaTabBaseComponent, isStandalone: true, inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, formFeatureTypes: { classPropertyName: "formFeatureTypes", publicName: "formFeatureTypes", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
|
|
2006
|
+
}
|
|
2007
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: MediaTabBaseComponent, decorators: [{
|
|
2008
|
+
type: Directive
|
|
2009
|
+
}], propDecorators: { item: [{ type: i0.Input, args: [{ isSignal: true, alias: "item", required: true }] }], formFeatureTypes: [{ type: i0.Input, args: [{ isSignal: true, alias: "formFeatureTypes", required: true }] }] } });
|
|
2010
|
+
|
|
2011
|
+
class GalleryFullscreenBaseComponent {
|
|
2012
|
+
constructor() {
|
|
2013
|
+
this.fileUrlService = inject(FileUrlService);
|
|
2014
|
+
this.document = inject(DOCUMENT);
|
|
2015
|
+
this.ngZone = inject(NgZone);
|
|
2016
|
+
this.items = input(...(ngDevMode ? [undefined, { debugName: "items" }] : []));
|
|
2017
|
+
this.alt = input('', ...(ngDevMode ? [{ debugName: "alt" }] : []));
|
|
2018
|
+
this.id = input('imagePreview', ...(ngDevMode ? [{ debugName: "id" }] : []));
|
|
2019
|
+
this.selectedIndex = model(0, ...(ngDevMode ? [{ debugName: "selectedIndex" }] : []));
|
|
2020
|
+
this.closeChange = output();
|
|
2021
|
+
// Touch pinch gesture tracking
|
|
2022
|
+
this.touchStartDistance = 0;
|
|
2023
|
+
this.touchStartZoom = 1;
|
|
2024
|
+
// Pinch midpoint (client coords) and transform at start of pinch
|
|
2025
|
+
this.pinchStartClientX = 0;
|
|
2026
|
+
this.pinchStartClientY = 0;
|
|
2027
|
+
this.pinchStartTransformX = 0;
|
|
2028
|
+
this.pinchStartTransformY = 0;
|
|
2029
|
+
// Pan/drag gesture tracking
|
|
2030
|
+
this.isPanning = signal(false, ...(ngDevMode ? [{ debugName: "isPanning" }] : []));
|
|
2031
|
+
this.panStartX = 0;
|
|
2032
|
+
this.panStartY = 0;
|
|
2033
|
+
this.panStartTransformX = 0;
|
|
2034
|
+
this.panStartTransformY = 0;
|
|
2035
|
+
this.touchStartedOnButton = false;
|
|
2036
|
+
this.canGoPrevious = computed(() => this.fullscreenIndex() > 0, ...(ngDevMode ? [{ debugName: "canGoPrevious" }] : []));
|
|
2037
|
+
this.canGoNext = computed(() => {
|
|
2038
|
+
const items = this.items();
|
|
2039
|
+
return items && this.fullscreenIndex() < items.length - 1;
|
|
2040
|
+
}, ...(ngDevMode ? [{ debugName: "canGoNext" }] : []));
|
|
2041
|
+
// Fullscreen state
|
|
2042
|
+
this.fullscreenIndex = signal(0, ...(ngDevMode ? [{ debugName: "fullscreenIndex" }] : []));
|
|
2043
|
+
this.zoomLevel = signal(1, ...(ngDevMode ? [{ debugName: "zoomLevel" }] : []));
|
|
2044
|
+
this.rotation = signal(0, ...(ngDevMode ? [{ debugName: "rotation" }] : []));
|
|
2045
|
+
this.transform = computed(() => {
|
|
2046
|
+
const trans = this.imageTransform();
|
|
2047
|
+
return `
|
|
2048
|
+
translate(${trans.x}px, ${trans.y}px)
|
|
2049
|
+
scale(${this.zoomLevel()})
|
|
2050
|
+
rotate(${this.rotation()}deg)
|
|
2051
|
+
`;
|
|
2052
|
+
}, ...(ngDevMode ? [{ debugName: "transform" }] : []));
|
|
2053
|
+
this.imageTransform = signal({ x: 0, y: 0 }, ...(ngDevMode ? [{ debugName: "imageTransform" }] : []));
|
|
2054
|
+
// Loading indicator for fullscreen image
|
|
2055
|
+
this.isFullscreenLoading = signal(true, ...(ngDevMode ? [{ debugName: "isFullscreenLoading" }] : []));
|
|
2056
|
+
this.fullscreenItem = computed(() => {
|
|
2057
|
+
const items = this.items();
|
|
2058
|
+
const index = this.fullscreenIndex();
|
|
2059
|
+
if (!items)
|
|
2060
|
+
return null;
|
|
2061
|
+
return items[index] || null;
|
|
2062
|
+
}, ...(ngDevMode ? [{ debugName: "fullscreenItem" }] : []));
|
|
2063
|
+
// OpenSeadragon viewer instance
|
|
2064
|
+
this.osdViewer = null;
|
|
2065
|
+
this.openseadragonModule = null;
|
|
2066
|
+
this.osdContainerId = computed(() => `osd-viewer-${this.id()}`, ...(ngDevMode ? [{ debugName: "osdContainerId" }] : []));
|
|
2067
|
+
// Reset fullscreen zoom when changing images
|
|
2068
|
+
effect(() => {
|
|
2069
|
+
this.fullscreenIndex();
|
|
2070
|
+
this.zoomLevel.set(1);
|
|
2071
|
+
this.imageTransform.set({ x: 0, y: 0 });
|
|
2072
|
+
this.rotation.set(0);
|
|
2073
|
+
// Load new image in OpenSeadragon if viewer exists
|
|
2074
|
+
if (this.osdViewer) {
|
|
2075
|
+
const item = this.fullscreenItem();
|
|
2076
|
+
if (item?.image) {
|
|
2077
|
+
this.loadOsdImage(item.image);
|
|
2078
|
+
}
|
|
2079
|
+
}
|
|
2080
|
+
});
|
|
2081
|
+
}
|
|
2082
|
+
ngAfterViewInit() {
|
|
2083
|
+
this.initFullscreen();
|
|
2084
|
+
}
|
|
2085
|
+
ngOnDestroy() {
|
|
2086
|
+
this.stopLoading();
|
|
2087
|
+
this.zoomLevel.set(1);
|
|
2088
|
+
this.imageTransform.set({ x: 0, y: 0 });
|
|
2089
|
+
this.document.body.classList.remove('smart-gallery-fullscreen-active');
|
|
2090
|
+
// Destroy OpenSeadragon viewer
|
|
2091
|
+
if (this.osdViewer) {
|
|
2092
|
+
this.ngZone.runOutsideAngular(() => {
|
|
2093
|
+
try {
|
|
2094
|
+
this.osdViewer.destroy();
|
|
2095
|
+
}
|
|
2096
|
+
catch (e) {
|
|
2097
|
+
// Ignore errors
|
|
2098
|
+
}
|
|
2099
|
+
});
|
|
2100
|
+
this.osdViewer = null;
|
|
2101
|
+
}
|
|
2102
|
+
}
|
|
2103
|
+
async initFullscreen() {
|
|
2104
|
+
this.fullscreenIndex.set(this.selectedIndex());
|
|
2105
|
+
this.document.body.classList.add('smart-gallery-fullscreen-active');
|
|
2106
|
+
const item = this.fullscreenItem();
|
|
2107
|
+
if (!item?.image)
|
|
2108
|
+
return;
|
|
2109
|
+
try {
|
|
2110
|
+
// Lazy load OpenSeadragon
|
|
2111
|
+
if (!this.openseadragonModule) {
|
|
2112
|
+
this.openseadragonModule = await import('openseadragon');
|
|
2113
|
+
}
|
|
2114
|
+
// Wait for template to render
|
|
2115
|
+
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
2116
|
+
const container = this.document.getElementById(this.osdContainerId());
|
|
2117
|
+
if (!container) {
|
|
2118
|
+
this.startLoading();
|
|
2119
|
+
return;
|
|
2120
|
+
}
|
|
2121
|
+
// Create viewer outside Angular zone for better performance
|
|
2122
|
+
if (!this.osdViewer) {
|
|
2123
|
+
this.osdViewer = this.ngZone.runOutsideAngular(() => {
|
|
2124
|
+
const viewer = this.openseadragonModule.default({
|
|
2125
|
+
element: container,
|
|
2126
|
+
prefixUrl: 'https://openseadragon.github.io/openseadragon/images/',
|
|
2127
|
+
animationTime: 0.5,
|
|
2128
|
+
blendTime: 0.1,
|
|
2129
|
+
constrainDuringPan: true,
|
|
2130
|
+
maxZoomPixelRatio: 2,
|
|
2131
|
+
minZoomLevel: 0,
|
|
2132
|
+
visibilityRatio: 1,
|
|
2133
|
+
zoomPerScroll: 1.2,
|
|
2134
|
+
showNavigator: false,
|
|
2135
|
+
showNavigationControl: false,
|
|
2136
|
+
gestureSettingsMouse: {
|
|
2137
|
+
scrollToZoom: true,
|
|
2138
|
+
clickToZoom: false,
|
|
2139
|
+
dblClickToZoom: true,
|
|
2140
|
+
pinchToZoom: true,
|
|
2141
|
+
flickEnabled: true,
|
|
2142
|
+
flickMinSpeed: 0.5,
|
|
2143
|
+
flickMomentum: 0.25,
|
|
2144
|
+
},
|
|
2145
|
+
gestureSettingsTouch: {
|
|
2146
|
+
scrollToZoom: false,
|
|
2147
|
+
clickToZoom: false,
|
|
2148
|
+
dblClickToZoom: true,
|
|
2149
|
+
pinchToZoom: true,
|
|
2150
|
+
flickEnabled: true,
|
|
2151
|
+
flickMinSpeed: 0.5,
|
|
2152
|
+
flickMomentum: 0.25,
|
|
2153
|
+
},
|
|
2154
|
+
});
|
|
2155
|
+
// Sync zoom level with component state (run inside Angular zone)
|
|
2156
|
+
viewer.addHandler('open', () => {
|
|
2157
|
+
this.ngZone.run(() => {
|
|
2158
|
+
this.stopLoading();
|
|
2159
|
+
try {
|
|
2160
|
+
const viewport = viewer.viewport;
|
|
2161
|
+
viewport.setRotation(0);
|
|
2162
|
+
viewport.goHome(true);
|
|
2163
|
+
this.rotation.set(0);
|
|
2164
|
+
const homeZoom = viewer.viewport.getHomeZoom();
|
|
2165
|
+
// Dynamically set minZoomLevel to 50% of home zoom
|
|
2166
|
+
// This ensures all images can zoom out to exactly 50% regardless of aspect ratio
|
|
2167
|
+
viewer.viewport.minZoomLevel = homeZoom * 0.5;
|
|
2168
|
+
const currentZoom = viewer.viewport.getZoom();
|
|
2169
|
+
// Normalize: 100% = fit to screen (home zoom)
|
|
2170
|
+
const normalizedZoom = currentZoom / homeZoom;
|
|
2171
|
+
this.zoomLevel.set(normalizedZoom);
|
|
2172
|
+
}
|
|
2173
|
+
catch (e) {
|
|
2174
|
+
this.zoomLevel.set(1);
|
|
2175
|
+
this.rotation.set(0);
|
|
2176
|
+
}
|
|
2177
|
+
});
|
|
2178
|
+
});
|
|
2179
|
+
viewer.addHandler('zoom', () => {
|
|
2180
|
+
this.ngZone.run(() => {
|
|
2181
|
+
try {
|
|
2182
|
+
const homeZoom = viewer.viewport.getHomeZoom();
|
|
2183
|
+
const currentZoom = viewer.viewport.getZoom();
|
|
2184
|
+
const normalizedZoom = currentZoom / homeZoom;
|
|
2185
|
+
this.zoomLevel.set(normalizedZoom);
|
|
2186
|
+
}
|
|
2187
|
+
catch (e) {
|
|
2188
|
+
// Ignore errors
|
|
2189
|
+
}
|
|
2190
|
+
});
|
|
2191
|
+
});
|
|
2192
|
+
return viewer;
|
|
2193
|
+
});
|
|
2194
|
+
}
|
|
2195
|
+
// Load image into OpenSeadragon
|
|
2196
|
+
await this.loadOsdImage(item.image);
|
|
2197
|
+
}
|
|
2198
|
+
catch (error) {
|
|
2199
|
+
console.error('Failed to initialize OpenSeadragon:', error);
|
|
2200
|
+
this.startLoading();
|
|
2201
|
+
}
|
|
2202
|
+
}
|
|
2203
|
+
// Called from template when fullscreen image loads or fails
|
|
2204
|
+
onFullscreenImageLoad() {
|
|
2205
|
+
this.stopLoading();
|
|
2206
|
+
}
|
|
2207
|
+
startLoading() {
|
|
2208
|
+
this.isFullscreenLoading.set(true);
|
|
2209
|
+
}
|
|
2210
|
+
stopLoading() {
|
|
2211
|
+
this.isFullscreenLoading.set(false);
|
|
2212
|
+
}
|
|
2213
|
+
closeFullscreen() {
|
|
2214
|
+
this.closeChange.emit();
|
|
2215
|
+
}
|
|
2216
|
+
rotateRight() {
|
|
2217
|
+
this.rotation.update((r) => (r + 90) % 360);
|
|
2218
|
+
if (this.osdViewer) {
|
|
2219
|
+
this.ngZone.runOutsideAngular(() => {
|
|
2220
|
+
try {
|
|
2221
|
+
const viewport = this.osdViewer.viewport;
|
|
2222
|
+
viewport.setRotation(this.rotation());
|
|
2223
|
+
viewport.applyConstraints();
|
|
2224
|
+
}
|
|
2225
|
+
catch (e) {
|
|
2226
|
+
return;
|
|
2227
|
+
}
|
|
2228
|
+
});
|
|
2229
|
+
}
|
|
2230
|
+
}
|
|
2231
|
+
handleKeyboardEvent(event) {
|
|
2232
|
+
switch (event.key) {
|
|
2233
|
+
case 'Escape':
|
|
2234
|
+
this.closeFullscreen();
|
|
2235
|
+
event.preventDefault();
|
|
2236
|
+
break;
|
|
2237
|
+
case 'ArrowLeft':
|
|
2238
|
+
this.previousImage();
|
|
2239
|
+
event.preventDefault();
|
|
2240
|
+
break;
|
|
2241
|
+
case 'ArrowRight':
|
|
2242
|
+
this.nextImage();
|
|
2243
|
+
event.preventDefault();
|
|
2244
|
+
break;
|
|
2245
|
+
case '+':
|
|
2246
|
+
case '=':
|
|
2247
|
+
this.zoomIn();
|
|
2248
|
+
event.preventDefault();
|
|
2249
|
+
break;
|
|
2250
|
+
case '-':
|
|
2251
|
+
this.zoomOut();
|
|
2252
|
+
event.preventDefault();
|
|
2253
|
+
break;
|
|
2254
|
+
case '0':
|
|
2255
|
+
this.resetZoom();
|
|
2256
|
+
event.preventDefault();
|
|
2257
|
+
break;
|
|
2258
|
+
}
|
|
2259
|
+
}
|
|
2260
|
+
handleTouchStart(event) {
|
|
2261
|
+
// Check if touch started on a button
|
|
2262
|
+
const target = event.target;
|
|
2263
|
+
this.touchStartedOnButton = !!target.closest('button');
|
|
2264
|
+
if (this.touchStartedOnButton)
|
|
2265
|
+
return true;
|
|
2266
|
+
// If OpenSeadragon is active, let it handle gestures
|
|
2267
|
+
if (this.osdViewer)
|
|
2268
|
+
return false;
|
|
2269
|
+
event.preventDefault();
|
|
2270
|
+
event.stopPropagation();
|
|
2271
|
+
// Handle pinch gesture (two fingers)
|
|
2272
|
+
if (event.touches.length === 2) {
|
|
2273
|
+
const touch1 = event.touches[0];
|
|
2274
|
+
const touch2 = event.touches[1];
|
|
2275
|
+
this.touchStartDistance = this.getDistance(touch1, touch2);
|
|
2276
|
+
this.touchStartZoom = this.zoomLevel();
|
|
2277
|
+
this.isPanning.set(false);
|
|
2278
|
+
// store pinch midpoint (client coordinates) and current transform to keep the midpoint fixed while scaling
|
|
2279
|
+
const midX = (touch1.clientX + touch2.clientX) / 2;
|
|
2280
|
+
const midY = (touch1.clientY + touch2.clientY) / 2;
|
|
2281
|
+
this.pinchStartClientX = midX;
|
|
2282
|
+
this.pinchStartClientY = midY;
|
|
2283
|
+
this.pinchStartTransformX = this.imageTransform().x;
|
|
2284
|
+
this.pinchStartTransformY = this.imageTransform().y;
|
|
2285
|
+
}
|
|
2286
|
+
else if (event.touches.length === 1 && this.zoomLevel() > 1) {
|
|
2287
|
+
// Handle pan gesture only if zoomed in
|
|
2288
|
+
this.isPanning.set(true);
|
|
2289
|
+
this.panStartX = event.touches[0].clientX;
|
|
2290
|
+
this.panStartY = event.touches[0].clientY;
|
|
2291
|
+
this.panStartTransformX = this.imageTransform().x;
|
|
2292
|
+
this.panStartTransformY = this.imageTransform().y;
|
|
2293
|
+
}
|
|
2294
|
+
return false;
|
|
2295
|
+
}
|
|
2296
|
+
handleTouchMove(event) {
|
|
2297
|
+
if (this.touchStartedOnButton)
|
|
2298
|
+
return true;
|
|
2299
|
+
// If OpenSeadragon is active, let it handle gestures
|
|
2300
|
+
if (this.osdViewer)
|
|
2301
|
+
return false;
|
|
2302
|
+
event.preventDefault();
|
|
2303
|
+
event.stopPropagation();
|
|
2304
|
+
// Handle pinch zoom (two fingers)
|
|
2305
|
+
if (event.touches.length === 2 && this.touchStartDistance > 0) {
|
|
2306
|
+
const touch1 = event.touches[0];
|
|
2307
|
+
const touch2 = event.touches[1];
|
|
2308
|
+
const currentDistance = this.getDistance(touch1, touch2);
|
|
2309
|
+
const scale = currentDistance / this.touchStartDistance;
|
|
2310
|
+
const newZoom = Math.max(0.5, Math.min(5, this.touchStartZoom * scale));
|
|
2311
|
+
// adjust transform so the pinch midpoint remains under the same screen point
|
|
2312
|
+
const el = this.document.getElementById(this.id());
|
|
2313
|
+
if (el) {
|
|
2314
|
+
const rect = el.getBoundingClientRect();
|
|
2315
|
+
// relative point inside the element (in element pixels) at start of pinch
|
|
2316
|
+
const relX = (this.pinchStartClientX - rect.left - this.pinchStartTransformX) /
|
|
2317
|
+
this.touchStartZoom;
|
|
2318
|
+
const relY = (this.pinchStartClientY - rect.top - this.pinchStartTransformY) /
|
|
2319
|
+
this.touchStartZoom;
|
|
2320
|
+
const newTx = this.pinchStartClientX - rect.left - relX * newZoom;
|
|
2321
|
+
const newTy = this.pinchStartClientY - rect.top - relY * newZoom;
|
|
2322
|
+
this.imageTransform.set({ x: newTx, y: newTy });
|
|
2323
|
+
}
|
|
2324
|
+
this.zoomLevel.set(newZoom);
|
|
2325
|
+
}
|
|
2326
|
+
// Handle pan/drag (one finger while zoomed)
|
|
2327
|
+
else if (event.touches.length === 1 &&
|
|
2328
|
+
this.isPanning() &&
|
|
2329
|
+
this.zoomLevel() > 1) {
|
|
2330
|
+
const deltaX = event.touches[0].clientX - this.panStartX;
|
|
2331
|
+
const deltaY = event.touches[0].clientY - this.panStartY;
|
|
2332
|
+
this.imageTransform.set({
|
|
2333
|
+
x: this.panStartTransformX + deltaX,
|
|
2334
|
+
y: this.panStartTransformY + deltaY,
|
|
2335
|
+
});
|
|
2336
|
+
}
|
|
2337
|
+
return false;
|
|
2338
|
+
}
|
|
2339
|
+
handleTouchEnd() {
|
|
2340
|
+
this.touchStartDistance = 0;
|
|
2341
|
+
this.touchStartZoom = 1;
|
|
2342
|
+
this.isPanning.set(false);
|
|
2343
|
+
}
|
|
2344
|
+
handleMouseDown(event) {
|
|
2345
|
+
if (this.zoomLevel() <= 1)
|
|
2346
|
+
return false;
|
|
2347
|
+
event.preventDefault();
|
|
2348
|
+
this.isPanning.set(true);
|
|
2349
|
+
this.panStartX = event.clientX;
|
|
2350
|
+
this.panStartY = event.clientY;
|
|
2351
|
+
this.panStartTransformX = this.imageTransform().x;
|
|
2352
|
+
this.panStartTransformY = this.imageTransform().y;
|
|
2353
|
+
return false;
|
|
2354
|
+
}
|
|
2355
|
+
handleMouseMove(event) {
|
|
2356
|
+
if (!this.isPanning() || this.zoomLevel() <= 1)
|
|
2357
|
+
return false;
|
|
2358
|
+
event.preventDefault();
|
|
2359
|
+
const deltaX = event.clientX - this.panStartX;
|
|
2360
|
+
const deltaY = event.clientY - this.panStartY;
|
|
2361
|
+
requestAnimationFrame(() => {
|
|
2362
|
+
this.imageTransform.set({
|
|
2363
|
+
x: this.panStartTransformX + deltaX,
|
|
2364
|
+
y: this.panStartTransformY + deltaY,
|
|
2365
|
+
});
|
|
2366
|
+
});
|
|
2367
|
+
return false;
|
|
2368
|
+
}
|
|
2369
|
+
handleMouseUp() {
|
|
2370
|
+
this.isPanning.set(false);
|
|
2371
|
+
}
|
|
2372
|
+
handleWheel(event) {
|
|
2373
|
+
// If OpenSeadragon is active, let it handle wheel events
|
|
2374
|
+
if (this.osdViewer) {
|
|
2375
|
+
event.preventDefault();
|
|
2376
|
+
event.stopPropagation();
|
|
2377
|
+
return false;
|
|
2378
|
+
}
|
|
2379
|
+
return false;
|
|
2380
|
+
}
|
|
2381
|
+
previousImage() {
|
|
2382
|
+
if (this.canGoPrevious()) {
|
|
2383
|
+
// start loading when navigating
|
|
2384
|
+
this.startLoading();
|
|
2385
|
+
this.fullscreenIndex.update((i) => i - 1);
|
|
2386
|
+
}
|
|
2387
|
+
}
|
|
2388
|
+
nextImage() {
|
|
2389
|
+
if (this.canGoNext()) {
|
|
2390
|
+
// start loading when navigating
|
|
2391
|
+
this.startLoading();
|
|
2392
|
+
this.fullscreenIndex.update((i) => i + 1);
|
|
2393
|
+
}
|
|
2394
|
+
}
|
|
2395
|
+
selectThumbnail(index) {
|
|
2396
|
+
if (index === this.fullscreenIndex()) {
|
|
2397
|
+
// same index — no navigation, but ensure loading is false
|
|
2398
|
+
this.stopLoading();
|
|
2399
|
+
return;
|
|
2400
|
+
}
|
|
2401
|
+
// start loading when selecting thumbnail
|
|
2402
|
+
this.startLoading();
|
|
2403
|
+
this.fullscreenIndex.set(index);
|
|
2404
|
+
}
|
|
2405
|
+
zoomIn() {
|
|
2406
|
+
if (this.osdViewer) {
|
|
2407
|
+
this.ngZone.runOutsideAngular(() => {
|
|
2408
|
+
try {
|
|
2409
|
+
const viewport = this.osdViewer.viewport;
|
|
2410
|
+
viewport.zoomBy(1.2);
|
|
2411
|
+
viewport.applyConstraints();
|
|
2412
|
+
this.ngZone.run(() => {
|
|
2413
|
+
const homeZoom = viewport.getHomeZoom();
|
|
2414
|
+
const currentZoom = viewport.getZoom();
|
|
2415
|
+
this.zoomLevel.set(currentZoom / homeZoom);
|
|
2416
|
+
});
|
|
2417
|
+
}
|
|
2418
|
+
catch (e) {
|
|
2419
|
+
// Fallback to manual zoom
|
|
2420
|
+
this.ngZone.run(() => {
|
|
2421
|
+
this.zoomLevel.update((z) => Math.min(z + 0.5, 5));
|
|
2422
|
+
});
|
|
2423
|
+
}
|
|
2424
|
+
});
|
|
2425
|
+
return;
|
|
2426
|
+
}
|
|
2427
|
+
this.zoomLevel.update((z) => Math.min(z + 0.5, 5));
|
|
2428
|
+
}
|
|
2429
|
+
zoomOut() {
|
|
2430
|
+
if (this.osdViewer) {
|
|
2431
|
+
this.ngZone.runOutsideAngular(() => {
|
|
2432
|
+
try {
|
|
2433
|
+
const viewport = this.osdViewer.viewport;
|
|
2434
|
+
viewport.zoomBy(1 / 1.2);
|
|
2435
|
+
viewport.applyConstraints();
|
|
2436
|
+
this.ngZone.run(() => {
|
|
2437
|
+
const homeZoom = viewport.getHomeZoom();
|
|
2438
|
+
const currentZoom = viewport.getZoom();
|
|
2439
|
+
this.zoomLevel.set(currentZoom / homeZoom);
|
|
2440
|
+
});
|
|
2441
|
+
}
|
|
2442
|
+
catch (e) {
|
|
2443
|
+
// Fallback to manual zoom
|
|
2444
|
+
this.ngZone.run(() => {
|
|
2445
|
+
this.zoomLevel.update((z) => Math.max(z - 0.5, 0.5));
|
|
2446
|
+
});
|
|
2447
|
+
}
|
|
2448
|
+
});
|
|
2449
|
+
return;
|
|
2450
|
+
}
|
|
2451
|
+
this.zoomLevel.update((z) => Math.max(z - 0.5, 0.5));
|
|
2452
|
+
}
|
|
2453
|
+
resetZoom() {
|
|
2454
|
+
this.rotation.set(0);
|
|
2455
|
+
if (this.osdViewer) {
|
|
2456
|
+
this.ngZone.runOutsideAngular(() => {
|
|
2457
|
+
try {
|
|
2458
|
+
const viewport = this.osdViewer.viewport;
|
|
2459
|
+
// First reset rotation, then go home - order matters!
|
|
2460
|
+
viewport.setRotation(0);
|
|
2461
|
+
viewport.applyConstraints();
|
|
2462
|
+
viewport.goHome(true);
|
|
2463
|
+
viewport.applyConstraints();
|
|
2464
|
+
this.ngZone.run(() => {
|
|
2465
|
+
this.zoomLevel.set(1); // Home = 100%
|
|
2466
|
+
});
|
|
2467
|
+
}
|
|
2468
|
+
catch (e) {
|
|
2469
|
+
// Fallback to manual reset
|
|
2470
|
+
this.ngZone.run(() => {
|
|
2471
|
+
this.zoomLevel.set(1);
|
|
2472
|
+
this.imageTransform.set({ x: 0, y: 0 });
|
|
2473
|
+
});
|
|
2474
|
+
}
|
|
2475
|
+
});
|
|
2476
|
+
return;
|
|
2477
|
+
}
|
|
2478
|
+
this.zoomLevel.set(1);
|
|
2479
|
+
this.imageTransform.set({ x: 0, y: 0 });
|
|
2480
|
+
}
|
|
2481
|
+
async downloadImage() {
|
|
2482
|
+
const item = this.fullscreenItem();
|
|
2483
|
+
if (!item?.image)
|
|
2484
|
+
return;
|
|
2485
|
+
const url = this.fileUrlService.get(item.image, 'noCache');
|
|
2486
|
+
const filename = `${item.image.id || 'image'}.${item.image.extension || 'jpg'}`;
|
|
2487
|
+
try {
|
|
2488
|
+
const response = await fetch(url);
|
|
2489
|
+
const blob = await response.blob();
|
|
2490
|
+
const blobUrl = URL.createObjectURL(blob);
|
|
2491
|
+
const link = this.document.createElement('a');
|
|
2492
|
+
link.href = blobUrl;
|
|
2493
|
+
link.download = filename;
|
|
2494
|
+
link.click();
|
|
2495
|
+
URL.revokeObjectURL(blobUrl);
|
|
2496
|
+
}
|
|
2497
|
+
catch (error) {
|
|
2498
|
+
console.error('Failed to download image:', error);
|
|
2499
|
+
}
|
|
2500
|
+
}
|
|
2501
|
+
async loadOsdImage(image) {
|
|
2502
|
+
if (!this.osdViewer)
|
|
2503
|
+
return;
|
|
2504
|
+
const url = this.fileUrlService.get(image, 'noCache');
|
|
2505
|
+
this.ngZone.runOutsideAngular(() => {
|
|
2506
|
+
try {
|
|
2507
|
+
// Close any existing image
|
|
2508
|
+
try {
|
|
2509
|
+
this.osdViewer.close();
|
|
2510
|
+
}
|
|
2511
|
+
catch (e) {
|
|
2512
|
+
// Ignore errors
|
|
2513
|
+
}
|
|
2514
|
+
// Open the new image
|
|
2515
|
+
this.osdViewer.open({
|
|
2516
|
+
type: 'image',
|
|
2517
|
+
url: url,
|
|
2518
|
+
});
|
|
2519
|
+
}
|
|
2520
|
+
catch (error) {
|
|
2521
|
+
console.error('Failed to load image in OpenSeadragon:', error);
|
|
2522
|
+
this.ngZone.run(() => {
|
|
2523
|
+
this.stopLoading();
|
|
2524
|
+
});
|
|
2525
|
+
}
|
|
2526
|
+
});
|
|
2527
|
+
}
|
|
2528
|
+
getDistance(touch1, touch2) {
|
|
2529
|
+
const dx = touch1.clientX - touch2.clientX;
|
|
2530
|
+
const dy = touch1.clientY - touch2.clientY;
|
|
2531
|
+
return Math.sqrt(dx * dx + dy * dy);
|
|
2532
|
+
}
|
|
2533
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: GalleryFullscreenBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2534
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.1", type: GalleryFullscreenBaseComponent, isStandalone: true, inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, alt: { classPropertyName: "alt", publicName: "alt", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, selectedIndex: { classPropertyName: "selectedIndex", publicName: "selectedIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedIndex: "selectedIndexChange", closeChange: "closeChange" }, host: { listeners: { "document:keydown": "handleKeyboardEvent($event)", "mousedown": "handleMouseDown($event)", "mousemove": "handleMouseMove($event)", "mouseup": "handleMouseUp()" } }, ngImport: i0 }); }
|
|
2535
|
+
}
|
|
2536
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: GalleryFullscreenBaseComponent, decorators: [{
|
|
2537
|
+
type: Directive,
|
|
2538
|
+
args: [{
|
|
2539
|
+
host: {
|
|
2540
|
+
'(document:keydown)': 'handleKeyboardEvent($event)',
|
|
2541
|
+
'(mousedown)': 'handleMouseDown($event)',
|
|
2542
|
+
'(mousemove)': 'handleMouseMove($event)',
|
|
2543
|
+
'(mouseup)': 'handleMouseUp()',
|
|
2544
|
+
},
|
|
2545
|
+
}]
|
|
2546
|
+
}], ctorParameters: () => [], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], alt: [{ type: i0.Input, args: [{ isSignal: true, alias: "alt", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], selectedIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedIndex", required: false }] }, { type: i0.Output, args: ["selectedIndexChange"] }], closeChange: [{ type: i0.Output, args: ["closeChange"] }] } });
|
|
2547
|
+
|
|
1748
2548
|
class FooterComponent {
|
|
1749
2549
|
constructor() {
|
|
1750
2550
|
this.configsFacade = inject(ConfigsFacade);
|
|
@@ -1774,10 +2574,10 @@ class FooterComponent {
|
|
|
1774
2574
|
if (!current)
|
|
1775
2575
|
return;
|
|
1776
2576
|
}
|
|
1777
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1778
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2577
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2578
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: FooterComponent, isStandalone: true, selector: "smart-mobilems-footer", ngImport: i0, template: ``, isInline: true }); }
|
|
1779
2579
|
}
|
|
1780
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2580
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FooterComponent, decorators: [{
|
|
1781
2581
|
type: Component,
|
|
1782
2582
|
args: [{ selector: 'smart-mobilems-footer', standalone: true, imports: [], template: `` }]
|
|
1783
2583
|
}] });
|
|
@@ -1857,10 +2657,10 @@ class HeaderComponent {
|
|
|
1857
2657
|
if (!current)
|
|
1858
2658
|
return;
|
|
1859
2659
|
}
|
|
1860
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1861
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2660
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2661
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: HeaderComponent, isStandalone: true, selector: "smart-mobilems-header", ngImport: i0, template: ``, isInline: true }); }
|
|
1862
2662
|
}
|
|
1863
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2663
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HeaderComponent, decorators: [{
|
|
1864
2664
|
type: Component,
|
|
1865
2665
|
args: [{ selector: 'smart-mobilems-header', standalone: true, imports: [], template: `` }]
|
|
1866
2666
|
}] });
|
|
@@ -1982,8 +2782,8 @@ class MasonryGridComponent {
|
|
|
1982
2782
|
}
|
|
1983
2783
|
}
|
|
1984
2784
|
}
|
|
1985
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1986
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
2785
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: MasonryGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2786
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.1", type: MasonryGridComponent, isStandalone: true, selector: "smart-mobilems-masonry-grid", inputs: { list: { classPropertyName: "list", publicName: "list", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, classes: { classPropertyName: "classes", publicName: "classes", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "masonryContentTpl", first: true, predicate: ["masonryContentTpl"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "masonryGridRef", first: true, predicate: ["masonryGrid"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
1987
2787
|
<div
|
|
1988
2788
|
#masonryGrid
|
|
1989
2789
|
class="smart-container"
|
|
@@ -1995,7 +2795,7 @@ class MasonryGridComponent {
|
|
|
1995
2795
|
</div>
|
|
1996
2796
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
1997
2797
|
}
|
|
1998
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2798
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: MasonryGridComponent, decorators: [{
|
|
1999
2799
|
type: Component,
|
|
2000
2800
|
args: [{
|
|
2001
2801
|
selector: 'smart-mobilems-masonry-grid',
|
|
@@ -2012,7 +2812,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
|
|
|
2012
2812
|
`,
|
|
2013
2813
|
imports: [NgTemplateOutlet, NgClass],
|
|
2014
2814
|
}]
|
|
2015
|
-
}], ctorParameters: () => [] });
|
|
2815
|
+
}], ctorParameters: () => [], propDecorators: { list: [{ type: i0.Input, args: [{ isSignal: true, alias: "list", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], classes: [{ type: i0.Input, args: [{ isSignal: true, alias: "classes", required: false }] }], masonryGridRef: [{ type: i0.ViewChild, args: ['masonryGrid', { isSignal: true }] }], masonryContentTpl: [{ type: i0.ContentChild, args: ['masonryContentTpl', { isSignal: true }] }] } });
|
|
2016
2816
|
|
|
2017
2817
|
class MenuComponent {
|
|
2018
2818
|
constructor() {
|
|
@@ -2071,30 +2871,30 @@ class MenuComponent {
|
|
|
2071
2871
|
? `${item.label} - Current page`
|
|
2072
2872
|
: item.label;
|
|
2073
2873
|
}
|
|
2074
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2075
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2874
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2875
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: MenuComponent, isStandalone: true, selector: "smart-mobilems-menu", inputs: { menuItems: { classPropertyName: "menuItems", publicName: "menuItems", isSignal: true, isRequired: false, transformFunction: null }, searchEnabled: { classPropertyName: "searchEnabled", publicName: "searchEnabled", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (!searchEnabled()) {\n <h2 class=\"smart-sr-only\">Main Menu</h2>\n\n @if (isMobileMenu()) {\n <div\n class=\"smart-w-full smart-flex smart-flex-row smart-justify-end smart-items-stretch smart-py-[1.2rem]\"\n [ngClass]=\"isOpened() ? '' : ''\"\n role=\"navigation\"\n attr.aria-label=\"Main Menu\"\n >\n <button\n class=\"smart-h-[3.6rem] smart-relative smart-bg-transparent smart-border-0 smart-left-0 smart-flex smart-flex-row smart-items-center smart-text-[1.8rem] smart-font-bold smart-cursor-pointer\"\n (click)=\"toggleMenu()\"\n attr.aria-expanded=\"{{ isOpened() }}\"\n attr.aria-label=\"{{ isOpened() ? 'Close menu' : 'Open menu' }}\"\n >\n @if (!isOpened()) {\n <span\n class=\"smart-text-[3rem] smart-text-black smart-mr-[0.6rem] smart-material-icons\"\n >menu</span\n >\n } @else {\n <span\n class=\"smart-text-[3rem] smart-text-black smart-mr-[0.6rem] smart-material-icons\"\n >close</span\n >\n }\n </button>\n </div>\n }\n\n @if (!isMobileMenu()) {\n <div\n class=\"smart-w-full smart-flex smart-flex-row smart-justify-end smart-h-full smart-p-0\"\n role=\"navigation\"\n attr.aria-label=\"Main Menu\"\n >\n <div role=\"menubar\">\n <ng-container *ngTemplateOutlet=\"menuTemplate\"></ng-container>\n </div>\n </div>\n }\n\n @if (isMobileMenu() && isOpened()) {\n <div\n class=\"smart-w-full smart-flex smart-flex-row smart-justify-center smart-h-full smart-p-0 smart-border smart-border-[#f3f3f3] smart-bg-[#fefefe] smart-mb-[2.4rem] smart-shadow-[0_0.6rem_1.2rem_#efefef] smart-p-[1.2rem]\"\n >\n <div role=\"navigation\" aria-label=\"Main\">\n <ng-container *ngTemplateOutlet=\"menuTemplate\"></ng-container>\n </div>\n </div>\n }\n}\n\n<ng-template #menuTemplate>\n <ul\n id=\"main-menu\"\n role=\"menu\"\n class=\"smart-h-full smart-w-full smart-flex smart-flex-row smart-justify-end smart-items-stretch smart-flex-nowrap smart-list-none smart-p-0 smart-m-0 smart-gap-x-[0.3rem]\"\n [ngClass]=\"\n isMobileMenu()\n ? 'smart-flex-wrap smart-justify-center smart-p-[1.2rem] smart-m-0'\n : ''\n \"\n >\n @for (item of menuItems(); track item.route) {\n <li\n class=\"smart-inline-flex smart-relative smart-w-auto smart-m-0\"\n [ngClass]=\"isMobileMenu() ? 'smart-w-full smart-max-w-full' : ''\"\n >\n <a\n class=\"smart-flex smart-items-center smart-flex-nowrap smart-text-black smart-transition-[border] smart-ease-in-out smart-duration-500 smart-border-b-[0.6rem] smart-border-b-transparent smart-cursor-pointer smart-justify-center smart-h-full smart-w-full smart-py-[1.2rem] smart-px-[1.8rem] smart-text-[1.6rem] smart-font-medium smart-whitespace-nowrap smart-m-0 smart-no-underline hover:smart-text-black hover:smart-bg-transparent hover:smart-border-b-[0.6rem] hover:smart-border-b-black\"\n role=\"menuitem\"\n [routerLink]=\"[item.route]\"\n routerLinkActive=\"smart-cursor-default smart-text-black smart-bg-transparent smart-border-b-[0.6rem] smart-border-b-black\"\n (click)=\"closeMenu()\"\n [attr.title]=\"getMenuItemTitle(item)\"\n [attr.aria-label]=\"getMenuItemAriaLabel(item)\"\n >\n @if (item.icon) {\n <span\n class=\"smart-text-[2.2rem] smart-mr-[0.4rem] smart-material-icons\"\n >{{ item.icon }}</span\n >\n }\n <span class=\"smart-inline-block\">{{ item.label }}</span>\n </a>\n </li>\n }\n </ul>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] }); }
|
|
2076
2876
|
}
|
|
2077
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2877
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: MenuComponent, decorators: [{
|
|
2078
2878
|
type: Component,
|
|
2079
2879
|
args: [{ selector: 'smart-mobilems-menu', standalone: true, imports: [NgClass, NgTemplateOutlet, RouterLink, RouterLinkActive], template: "@if (!searchEnabled()) {\n <h2 class=\"smart-sr-only\">Main Menu</h2>\n\n @if (isMobileMenu()) {\n <div\n class=\"smart-w-full smart-flex smart-flex-row smart-justify-end smart-items-stretch smart-py-[1.2rem]\"\n [ngClass]=\"isOpened() ? '' : ''\"\n role=\"navigation\"\n attr.aria-label=\"Main Menu\"\n >\n <button\n class=\"smart-h-[3.6rem] smart-relative smart-bg-transparent smart-border-0 smart-left-0 smart-flex smart-flex-row smart-items-center smart-text-[1.8rem] smart-font-bold smart-cursor-pointer\"\n (click)=\"toggleMenu()\"\n attr.aria-expanded=\"{{ isOpened() }}\"\n attr.aria-label=\"{{ isOpened() ? 'Close menu' : 'Open menu' }}\"\n >\n @if (!isOpened()) {\n <span\n class=\"smart-text-[3rem] smart-text-black smart-mr-[0.6rem] smart-material-icons\"\n >menu</span\n >\n } @else {\n <span\n class=\"smart-text-[3rem] smart-text-black smart-mr-[0.6rem] smart-material-icons\"\n >close</span\n >\n }\n </button>\n </div>\n }\n\n @if (!isMobileMenu()) {\n <div\n class=\"smart-w-full smart-flex smart-flex-row smart-justify-end smart-h-full smart-p-0\"\n role=\"navigation\"\n attr.aria-label=\"Main Menu\"\n >\n <div role=\"menubar\">\n <ng-container *ngTemplateOutlet=\"menuTemplate\"></ng-container>\n </div>\n </div>\n }\n\n @if (isMobileMenu() && isOpened()) {\n <div\n class=\"smart-w-full smart-flex smart-flex-row smart-justify-center smart-h-full smart-p-0 smart-border smart-border-[#f3f3f3] smart-bg-[#fefefe] smart-mb-[2.4rem] smart-shadow-[0_0.6rem_1.2rem_#efefef] smart-p-[1.2rem]\"\n >\n <div role=\"navigation\" aria-label=\"Main\">\n <ng-container *ngTemplateOutlet=\"menuTemplate\"></ng-container>\n </div>\n </div>\n }\n}\n\n<ng-template #menuTemplate>\n <ul\n id=\"main-menu\"\n role=\"menu\"\n class=\"smart-h-full smart-w-full smart-flex smart-flex-row smart-justify-end smart-items-stretch smart-flex-nowrap smart-list-none smart-p-0 smart-m-0 smart-gap-x-[0.3rem]\"\n [ngClass]=\"\n isMobileMenu()\n ? 'smart-flex-wrap smart-justify-center smart-p-[1.2rem] smart-m-0'\n : ''\n \"\n >\n @for (item of menuItems(); track item.route) {\n <li\n class=\"smart-inline-flex smart-relative smart-w-auto smart-m-0\"\n [ngClass]=\"isMobileMenu() ? 'smart-w-full smart-max-w-full' : ''\"\n >\n <a\n class=\"smart-flex smart-items-center smart-flex-nowrap smart-text-black smart-transition-[border] smart-ease-in-out smart-duration-500 smart-border-b-[0.6rem] smart-border-b-transparent smart-cursor-pointer smart-justify-center smart-h-full smart-w-full smart-py-[1.2rem] smart-px-[1.8rem] smart-text-[1.6rem] smart-font-medium smart-whitespace-nowrap smart-m-0 smart-no-underline hover:smart-text-black hover:smart-bg-transparent hover:smart-border-b-[0.6rem] hover:smart-border-b-black\"\n role=\"menuitem\"\n [routerLink]=\"[item.route]\"\n routerLinkActive=\"smart-cursor-default smart-text-black smart-bg-transparent smart-border-b-[0.6rem] smart-border-b-black\"\n (click)=\"closeMenu()\"\n [attr.title]=\"getMenuItemTitle(item)\"\n [attr.aria-label]=\"getMenuItemAriaLabel(item)\"\n >\n @if (item.icon) {\n <span\n class=\"smart-text-[2.2rem] smart-mr-[0.4rem] smart-material-icons\"\n >{{ item.icon }}</span\n >\n }\n <span class=\"smart-inline-block\">{{ item.label }}</span>\n </a>\n </li>\n }\n </ul>\n</ng-template>\n" }]
|
|
2080
|
-
}] });
|
|
2880
|
+
}], propDecorators: { menuItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "menuItems", required: false }] }], searchEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchEnabled", required: false }] }] } });
|
|
2081
2881
|
|
|
2082
2882
|
class WidgetBaseComponent {
|
|
2083
2883
|
constructor() {
|
|
2084
2884
|
this.item = input(...(ngDevMode ? [undefined, { debugName: "item" }] : []));
|
|
2085
2885
|
}
|
|
2086
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2087
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
2886
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: WidgetBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2887
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.1", type: WidgetBaseComponent, isStandalone: true, inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
2088
2888
|
}
|
|
2089
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2889
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: WidgetBaseComponent, decorators: [{
|
|
2090
2890
|
type: Directive
|
|
2091
|
-
}] });
|
|
2891
|
+
}], propDecorators: { item: [{ type: i0.Input, args: [{ isSignal: true, alias: "item", required: false }] }] } });
|
|
2092
2892
|
|
|
2093
2893
|
class WidgetTextComponent extends WidgetBaseComponent {
|
|
2094
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2095
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2894
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: WidgetTextComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2895
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: WidgetTextComponent, isStandalone: true, selector: "smart-widget-text", usesInheritance: true, ngImport: i0, template: "@if (item(); as item) {\n <div [innerHTML]=\"item.text\"></div>\n}\n" }); }
|
|
2096
2896
|
}
|
|
2097
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2897
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: WidgetTextComponent, decorators: [{
|
|
2098
2898
|
type: Component,
|
|
2099
2899
|
args: [{ selector: 'smart-widget-text', standalone: true, template: "@if (item(); as item) {\n <div [innerHTML]=\"item.text\"></div>\n}\n" }]
|
|
2100
2900
|
}] });
|
|
@@ -2122,13 +2922,13 @@ class WidgetComponent {
|
|
|
2122
2922
|
};
|
|
2123
2923
|
}, ...(ngDevMode ? [{ debugName: "inputs" }] : []));
|
|
2124
2924
|
}
|
|
2125
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2126
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
2925
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: WidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2926
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.1", type: WidgetComponent, isStandalone: true, selector: "smart-widget", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<ng-container *ngComponentOutlet=\"component(); inputs: inputs()\" />\n", dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }] }); }
|
|
2127
2927
|
}
|
|
2128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2928
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: WidgetComponent, decorators: [{
|
|
2129
2929
|
type: Component,
|
|
2130
2930
|
args: [{ selector: 'smart-widget', imports: [NgComponentOutlet], standalone: true, template: "<ng-container *ngComponentOutlet=\"component(); inputs: inputs()\" />\n" }]
|
|
2131
|
-
}] });
|
|
2931
|
+
}], propDecorators: { item: [{ type: i0.Input, args: [{ isSignal: true, alias: "item", required: true }] }] } });
|
|
2132
2932
|
|
|
2133
2933
|
const COMPONENTS = [AppComponent];
|
|
2134
2934
|
|
|
@@ -2157,10 +2957,10 @@ class HoverDirective {
|
|
|
2157
2957
|
onMouseLeave() {
|
|
2158
2958
|
this.el.nativeElement.classList.remove('hover');
|
|
2159
2959
|
}
|
|
2160
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2161
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
2960
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HoverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2961
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.1", type: HoverDirective, isStandalone: true, selector: "[smartHover]", host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, ngImport: i0 }); }
|
|
2162
2962
|
}
|
|
2163
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2963
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HoverDirective, decorators: [{
|
|
2164
2964
|
type: Directive,
|
|
2165
2965
|
args: [{
|
|
2166
2966
|
selector: '[smartHover]',
|
|
@@ -2275,17 +3075,17 @@ class ScrollableDirective {
|
|
|
2275
3075
|
this.updateOverflow();
|
|
2276
3076
|
});
|
|
2277
3077
|
}
|
|
2278
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2279
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
3078
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScrollableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3079
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.1", type: ScrollableDirective, isStandalone: true, selector: "[smartScrollable]", inputs: { scrollUnit: { classPropertyName: "scrollUnit", publicName: "scrollUnit", isSignal: true, isRequired: true, transformFunction: null } }, exportAs: ["smartScrollable"], ngImport: i0 }); }
|
|
2280
3080
|
}
|
|
2281
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3081
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ScrollableDirective, decorators: [{
|
|
2282
3082
|
type: Directive,
|
|
2283
3083
|
args: [{
|
|
2284
3084
|
selector: '[smartScrollable]',
|
|
2285
3085
|
standalone: true,
|
|
2286
3086
|
exportAs: 'smartScrollable',
|
|
2287
3087
|
}]
|
|
2288
|
-
}], ctorParameters: () => [] });
|
|
3088
|
+
}], ctorParameters: () => [], propDecorators: { scrollUnit: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollUnit", required: true }] }] } });
|
|
2289
3089
|
|
|
2290
3090
|
/**
|
|
2291
3091
|
* Directive that detects when a click occurs outside of an element.
|
|
@@ -2362,15 +3162,15 @@ class ClickOutsideDirective {
|
|
|
2362
3162
|
});
|
|
2363
3163
|
}
|
|
2364
3164
|
}
|
|
2365
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2366
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
3165
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ClickOutsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3166
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.1", type: ClickOutsideDirective, isStandalone: true, selector: "[smartClickOutside]", inputs: { isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { smartClickOutside: "smartClickOutside" }, host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0 }); }
|
|
2367
3167
|
}
|
|
2368
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3168
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ClickOutsideDirective, decorators: [{
|
|
2369
3169
|
type: Directive,
|
|
2370
3170
|
args: [{
|
|
2371
3171
|
selector: '[smartClickOutside]',
|
|
2372
3172
|
}]
|
|
2373
|
-
}], propDecorators: { onClick: [{
|
|
3173
|
+
}], propDecorators: { isActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "isActive", required: false }] }], smartClickOutside: [{ type: i0.Output, args: ["smartClickOutside"] }], onClick: [{
|
|
2374
3174
|
type: HostListener,
|
|
2375
3175
|
args: ['document:click', ['$event']]
|
|
2376
3176
|
}] } });
|
|
@@ -2413,11 +3213,11 @@ class SharedModule {
|
|
|
2413
3213
|
],
|
|
2414
3214
|
};
|
|
2415
3215
|
}
|
|
2416
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2417
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
2418
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
3216
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3217
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.1", ngImport: i0, type: SharedModule, imports: [RouterModule, AppComponent], exports: [AppComponent] }); }
|
|
3218
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SharedModule, imports: [RouterModule] }); }
|
|
2419
3219
|
}
|
|
2420
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3220
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SharedModule, decorators: [{
|
|
2421
3221
|
type: NgModule,
|
|
2422
3222
|
args: [{
|
|
2423
3223
|
declarations: [...DIRECTIVES],
|
|
@@ -2483,10 +3283,10 @@ class HomeComponent {
|
|
|
2483
3283
|
const page = await this.configsFacade.getPage('home');
|
|
2484
3284
|
this.slides.set(page?.slides || []);
|
|
2485
3285
|
}
|
|
2486
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2487
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
3286
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HomeComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3287
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.1", type: HomeComponent, isStandalone: true, ngImport: i0 }); }
|
|
2488
3288
|
}
|
|
2489
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3289
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HomeComponent, decorators: [{
|
|
2490
3290
|
type: Directive
|
|
2491
3291
|
}] });
|
|
2492
3292
|
|
|
@@ -2501,10 +3301,10 @@ class NotFoundComponent {
|
|
|
2501
3301
|
setTitle() {
|
|
2502
3302
|
this.seoService.updateTitle(`${capitalize(this.translateService.instant('MODEL.mainTitle'))}`);
|
|
2503
3303
|
}
|
|
2504
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2505
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
3304
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NotFoundComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3305
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.1", type: NotFoundComponent, isStandalone: true, ngImport: i0 }); }
|
|
2506
3306
|
}
|
|
2507
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3307
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NotFoundComponent, decorators: [{
|
|
2508
3308
|
type: Directive
|
|
2509
3309
|
}] });
|
|
2510
3310
|
|
|
@@ -2534,10 +3334,10 @@ class PageStaticComponent {
|
|
|
2534
3334
|
setTitle() {
|
|
2535
3335
|
this.seoService.updateTitle(`${capitalize(this.data()?.title)} - ${capitalize(this.translateService.instant('MODEL.mainTitle'))}`);
|
|
2536
3336
|
}
|
|
2537
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2538
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
3337
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: PageStaticComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3338
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.1", type: PageStaticComponent, isStandalone: true, ngImport: i0 }); }
|
|
2539
3339
|
}
|
|
2540
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3340
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: PageStaticComponent, decorators: [{
|
|
2541
3341
|
type: Directive
|
|
2542
3342
|
}], ctorParameters: () => [] });
|
|
2543
3343
|
|
|
@@ -2545,5 +3345,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
|
|
|
2545
3345
|
* Generated bundle index. Do not edit.
|
|
2546
3346
|
*/
|
|
2547
3347
|
|
|
2548
|
-
export { ARTICLES_WIDGET_COMPONENTS_TOKEN, AppComponent, AuthStorageService, COMPONENTS, ClickOutsideDirective, ConfigsFacade, ConfigsService, ContrastService, CrudBaseService, DIRECTIVES, DictionaryService, FileUrlService, FiltersBaseComponent, FiltersContext, FooterComponent, GameType, GlobalService, HeaderComponent, HomeComponent, HoverDirective, ImageBox, ListMode, MasonryGridComponent, MenuComponent, MetaService, ModalContainerComponent, ModalRef, ModalService, NotFoundComponent, PageComponent, PageStaticComponent, QueryFilterService, SEARCH_CONFIG_TOKEN, SERVICES, ScrollTopComponent, ScrollableDirective, SearchService, SeoService, SettingsService, SharedConfig, SharedModule, StyleService, TRANSLATE_DATA_PL, TranslationService, WcagService, WidgetBaseComponent, WidgetComponent, WidgetTextComponent, authenticationGuard, environment, getSearchFilterQuery, setTranslationsAndLang, unauthorizedGuard };
|
|
3348
|
+
export { ARTICLES_WIDGET_COMPONENTS_TOKEN, AppComponent, AuthStorageService, COMPONENTS, ClickOutsideDirective, ConfigsFacade, ConfigsService, ContrastService, CrudBaseService, DIRECTIVES, DictionaryService, FileUrlService, FiltersBaseComponent, FiltersContext, FooterComponent, GalleryFullscreenBaseComponent, GameType, GlobalService, HeaderComponent, HomeComponent, HoverDirective, ImageBox, ListMode, MasonryGridComponent, MediaTabBaseComponent, MenuComponent, MetaService, ModalContainerComponent, ModalRef, ModalService, NotFoundComponent, PageComponent, PageStaticComponent, QueryFilterService, SEARCH_CONFIG_TOKEN, SERVICES, ScrollTopComponent, ScrollableDirective, SearchBaseComponent, SearchService, SeoService, SettingsService, SharedConfig, SharedModule, SliderBaseComponent, StyleService, TRANSLATE_DATA_PL, TranslationService, WcagService, WidgetBaseComponent, WidgetComponent, WidgetTextComponent, authenticationGuard, environment, getSearchFilterQuery, setTranslationsAndLang, unauthorizedGuard };
|
|
2549
3349
|
//# sourceMappingURL=smartsoft001-mobilems-angular.mjs.map
|