nextalys-carousel 0.0.80 → 0.0.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/fesm2022/nextalys-carousel.mjs +390 -2
  2. package/fesm2022/nextalys-carousel.mjs.map +1 -1
  3. package/{lib/nxs-carousel/nxs-carousel → nxs-carousel}/nxs-carousel-types.d.ts +9 -1
  4. package/nxs-carousel/nxs-carousel-types.d.ts.map +1 -0
  5. package/{lib/nxs-carousel/nxs-carousel → nxs-carousel}/nxs-carousel.component.d.ts +3 -3
  6. package/nxs-carousel/nxs-carousel.component.d.ts.map +1 -0
  7. package/nxs-carousel/swiper-directives.d.ts.map +1 -0
  8. package/package.json +1 -9
  9. package/public-api.d.ts +3 -1
  10. package/public-api.d.ts.map +1 -1
  11. package/common-types.d.ts +0 -10
  12. package/common-types.d.ts.map +0 -1
  13. package/fesm2022/nextalys-carousel-lib-nxs-carousel-mock.mjs +0 -65
  14. package/fesm2022/nextalys-carousel-lib-nxs-carousel-mock.mjs.map +0 -1
  15. package/fesm2022/nextalys-carousel-lib-nxs-carousel.mjs +0 -449
  16. package/fesm2022/nextalys-carousel-lib-nxs-carousel.mjs.map +0 -1
  17. package/lib/nxs-carousel/common-types.d.ts +0 -10
  18. package/lib/nxs-carousel/common-types.d.ts.map +0 -1
  19. package/lib/nxs-carousel/index.d.ts +0 -6
  20. package/lib/nxs-carousel/nextalys-carousel-lib-nxs-carousel.d.ts.map +0 -1
  21. package/lib/nxs-carousel/nxs-carousel/carousel-events.d.ts +0 -12
  22. package/lib/nxs-carousel/nxs-carousel/carousel-events.d.ts.map +0 -1
  23. package/lib/nxs-carousel/nxs-carousel/nxs-carousel-dialog.component.d.ts +0 -13
  24. package/lib/nxs-carousel/nxs-carousel/nxs-carousel-dialog.component.d.ts.map +0 -1
  25. package/lib/nxs-carousel/nxs-carousel/nxs-carousel-types.d.ts.map +0 -1
  26. package/lib/nxs-carousel/nxs-carousel/nxs-carousel.component.d.ts.map +0 -1
  27. package/lib/nxs-carousel/nxs-carousel/swiper-directives.d.ts +0 -6
  28. package/lib/nxs-carousel/nxs-carousel/swiper-directives.d.ts.map +0 -1
  29. package/lib/nxs-carousel/public-api-carousel.d.ts +0 -4
  30. package/lib/nxs-carousel/public-api-carousel.d.ts.map +0 -1
  31. package/lib/nxs-carousel-mock/common-types.d.ts +0 -10
  32. package/lib/nxs-carousel-mock/common-types.d.ts.map +0 -1
  33. package/lib/nxs-carousel-mock/index.d.ts +0 -6
  34. package/lib/nxs-carousel-mock/nextalys-carousel-lib-nxs-carousel-mock.d.ts.map +0 -1
  35. package/lib/nxs-carousel-mock/nxs-carousel-mock/nxs-carousel-mock.component.d.ts +0 -22
  36. package/lib/nxs-carousel-mock/nxs-carousel-mock/nxs-carousel-mock.component.d.ts.map +0 -1
  37. package/lib/nxs-carousel-mock/nxs-carousel-mock/nxs-carousel-types.d.ts +0 -2
  38. package/lib/nxs-carousel-mock/nxs-carousel-mock/nxs-carousel-types.d.ts.map +0 -1
  39. package/lib/nxs-carousel-mock/nxs-carousel-mock/swiper-directives.d.ts.map +0 -1
  40. package/lib/nxs-carousel-mock/public-api-carousel-mock.d.ts +0 -4
  41. package/lib/nxs-carousel-mock/public-api-carousel-mock.d.ts.map +0 -1
  42. /package/{lib/nxs-carousel-mock/nxs-carousel-mock → nxs-carousel}/swiper-directives.d.ts +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nextalys-carousel",
3
- "version": "0.0.80",
3
+ "version": "0.0.82",
4
4
  "dependencies": {
5
5
  "swiper": "^12.0.3",
6
6
  "tslib": "^2.3.0"
@@ -14,14 +14,6 @@
14
14
  ".": {
15
15
  "types": "./index.d.ts",
16
16
  "default": "./fesm2022/nextalys-carousel.mjs"
17
- },
18
- "./lib/nxs-carousel": {
19
- "types": "./lib/nxs-carousel/index.d.ts",
20
- "default": "./fesm2022/nextalys-carousel-lib-nxs-carousel.mjs"
21
- },
22
- "./lib/nxs-carousel-mock": {
23
- "types": "./lib/nxs-carousel-mock/index.d.ts",
24
- "default": "./fesm2022/nextalys-carousel-lib-nxs-carousel-mock.mjs"
25
17
  }
26
18
  },
27
19
  "sideEffects": false
package/public-api.d.ts CHANGED
@@ -1,2 +1,4 @@
1
- export * from './common-types';
1
+ export * from './nxs-carousel/nxs-carousel.component';
2
+ export * from './nxs-carousel/nxs-carousel-types';
3
+ export * from './nxs-carousel/swiper-directives';
2
4
  //# sourceMappingURL=public-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../lib/public-api.ts"],"names":[],"mappings":"AAGA,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../lib/public-api.ts"],"names":[],"mappings":"AAGA,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC"}
package/common-types.d.ts DELETED
@@ -1,10 +0,0 @@
1
- import { InjectionToken } from "@angular/core";
2
- export interface NxsCarouselImage {
3
- alt?: string;
4
- src: string;
5
- }
6
- export declare class NxsCarouselModuleConfig {
7
- debug?: boolean;
8
- }
9
- export declare const NxsCarouselOptionsToken: InjectionToken<NxsCarouselModuleConfig>;
10
- //# sourceMappingURL=common-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common-types.d.ts","sourceRoot":"","sources":["../lib/common-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACf;AACD,qBAAa,uBAAuB;IAChC,KAAK,CAAC,EAAE,OAAO,CAAS;CAC3B;AAED,eAAO,MAAM,uBAAuB,yCAAyE,CAAC"}
@@ -1,65 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, ViewEncapsulation, Input, Output, Directive } from '@angular/core';
3
-
4
- class NxsCarouselComponent {
5
- lazy = true;
6
- images;
7
- options = null;
8
- hasHtmlContent = false;
9
- slidesCount = 0;
10
- slideChange = new EventEmitter();
11
- currentSlide = 0;
12
- slideClick = new EventEmitter();
13
- isBrowser = false;
14
- constructor() {
15
- }
16
- goToSlide(index, speed) {
17
- }
18
- next() {
19
- }
20
- previous() {
21
- }
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NxsCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.5", type: NxsCarouselComponent, isStandalone: true, selector: "nxs-carousel", inputs: { lazy: "lazy", images: "images", options: "options", hasHtmlContent: "hasHtmlContent" }, outputs: { slideChange: "slideChange", slideClick: "slideClick" }, ngImport: i0, template: '<div style="height:70px;width:100%;"></div>', isInline: true, encapsulation: i0.ViewEncapsulation.None });
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NxsCarouselComponent, decorators: [{
26
- type: Component,
27
- args: [{
28
- selector: 'nxs-carousel',
29
- template: '<div style="height:70px;width:100%;"></div>',
30
- // styleUrls: ['./nxs-carousel.component.scss'],
31
- encapsulation: ViewEncapsulation.None,
32
- standalone: true,
33
- }]
34
- }], ctorParameters: () => [], propDecorators: { lazy: [{
35
- type: Input
36
- }], images: [{
37
- type: Input
38
- }], options: [{
39
- type: Input
40
- }], hasHtmlContent: [{
41
- type: Input
42
- }], slideChange: [{
43
- type: Output
44
- }], slideClick: [{
45
- type: Output
46
- }] } });
47
-
48
- class NxsSwiperTemplateDirective {
49
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NxsSwiperTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
50
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: NxsSwiperTemplateDirective, isStandalone: true, selector: "[nxsSwiperTemplate]", ngImport: i0 });
51
- }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NxsSwiperTemplateDirective, decorators: [{
53
- type: Directive,
54
- args: [{
55
- selector: '[nxsSwiperTemplate]',
56
- standalone: true
57
- }]
58
- }] });
59
-
60
- /**
61
- * Generated bundle index. Do not edit.
62
- */
63
-
64
- export { NxsCarouselComponent, NxsSwiperTemplateDirective };
65
- //# sourceMappingURL=nextalys-carousel-lib-nxs-carousel-mock.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nextalys-carousel-lib-nxs-carousel-mock.mjs","sources":["../../lib/nxs-carousel-mock/nxs-carousel-mock.component.ts","../../lib/nxs-carousel-mock/swiper-directives.ts","../../lib/nextalys-carousel-lib-nxs-carousel-mock.ts"],"sourcesContent":["import { Component, ViewEncapsulation, Input, Output, EventEmitter } from '@angular/core';\nimport { NxsCarouselImage } from '../common-types';\nimport { NxsCarouselOptions } from './nxs-carousel-types';\n@Component({\n selector: 'nxs-carousel',\n template: '<div style=\"height:70px;width:100%;\"></div>',\n // styleUrls: ['./nxs-carousel.component.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n})\nexport class NxsCarouselComponent {\n @Input()\n lazy = true;\n @Input()\n public images: NxsCarouselImage[];\n @Input()\n options: NxsCarouselOptions = null;\n @Input()\n hasHtmlContent = false;\n slidesCount: number = 0;\n @Output()\n slideChange = new EventEmitter<number>();\n public currentSlide = 0;\n @Output()\n slideClick = new EventEmitter<MouseEvent | TouchEvent | PointerEvent>();\n isBrowser = false;\n\n constructor(\n ) {\n\n }\n goToSlide(index: number, speed?: number) {\n }\n next() {\n }\n previous() {\n }\n}\n","import { Directive } from \"@angular/core\";\n\n@Directive({\n selector: '[nxsSwiperTemplate]',\n standalone: true\n})\nexport class NxsSwiperTemplateDirective { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api-carousel-mock';\n"],"names":[],"mappings":";;;MAUa,oBAAoB,CAAA;IAE7B,IAAI,GAAG,IAAI;AAEJ,IAAA,MAAM;IAEb,OAAO,GAAuB,IAAI;IAElC,cAAc,GAAG,KAAK;IACtB,WAAW,GAAW,CAAC;AAEvB,IAAA,WAAW,GAAG,IAAI,YAAY,EAAU;IACjC,YAAY,GAAG,CAAC;AAEvB,IAAA,UAAU,GAAG,IAAI,YAAY,EAA0C;IACvE,SAAS,GAAG,KAAK;AAEjB,IAAA,WAAA,GAAA;;IAIA,SAAS,CAAC,KAAa,EAAE,KAAc,EAAA;;IAEvC,IAAI,GAAA;;IAEJ,QAAQ,GAAA;;uGAzBC,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,6OALnB,6CAA6C,EAAA,QAAA,EAAA,IAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAK9C,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,QAAQ,EAAE,6CAA6C;;oBAEvD,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA;wDAGG,IAAI,EAAA,CAAA;sBADH;gBAGM,MAAM,EAAA,CAAA;sBADZ;gBAGD,OAAO,EAAA,CAAA;sBADN;gBAGD,cAAc,EAAA,CAAA;sBADb;gBAID,WAAW,EAAA,CAAA;sBADV;gBAID,UAAU,EAAA,CAAA;sBADT;;;MCjBQ,0BAA0B,CAAA;uGAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACLD;;AAEG;;;;"}
@@ -1,449 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Directive, InjectionToken, Component, ViewEncapsulation, Inject, EventEmitter, PLATFORM_ID, TemplateRef, CUSTOM_ELEMENTS_SCHEMA, Optional, ContentChildren, Input, ViewChild, Output } from '@angular/core';
3
- import * as i1 from '@angular/material/dialog';
4
- import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
5
- import * as i2$1 from '@angular/common';
6
- import { isPlatformBrowser, CommonModule } from '@angular/common';
7
- import { EventsCollector } from 'nextalys-js-helpers/dist/events';
8
- import { NxsEvent, MainHelpers } from 'nextalys-js-helpers';
9
- import * as i2 from '@angular/material/icon';
10
- import { MatIconModule } from '@angular/material/icon';
11
- import * as i3 from '@angular/material/button';
12
- import { MatButtonModule } from '@angular/material/button';
13
-
14
- class NxsSwiperTemplateDirective {
15
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NxsSwiperTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
16
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: NxsSwiperTemplateDirective, isStandalone: true, selector: "[nxsSwiperTemplate]", ngImport: i0 });
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NxsSwiperTemplateDirective, decorators: [{
19
- type: Directive,
20
- args: [{
21
- selector: '[nxsSwiperTemplate]',
22
- standalone: true
23
- }]
24
- }] });
25
-
26
- class NxsCarouselModuleConfig {
27
- debug = false;
28
- }
29
- const NxsCarouselOptionsToken = new InjectionToken('NxsCarouselOptionsToken');
30
-
31
- class CarouselEvents {
32
- static openCarouselDialog = new NxsEvent();
33
- }
34
-
35
- class NxsCarouselDialogComponent {
36
- data;
37
- dialogRef;
38
- static dialogOpened = false;
39
- wrapperClass = 'nxs-carousel-wrapper';
40
- constructor(data, dialogRef) {
41
- this.data = data;
42
- this.dialogRef = dialogRef;
43
- if (data.wrapperClass)
44
- this.wrapperClass += ' ' + data.wrapperClass;
45
- this.dialogRef.afterOpened().subscribe(() => {
46
- NxsCarouselDialogComponent.dialogOpened = true;
47
- });
48
- this.dialogRef.afterClosed().subscribe(() => {
49
- NxsCarouselDialogComponent.dialogOpened = false;
50
- });
51
- }
52
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NxsCarouselDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
53
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.5", type: NxsCarouselDialogComponent, isStandalone: true, selector: "nxs-carousel-dialog", ngImport: i0, template: `
54
- <div class="nxs-carousel-dialog-flex-wrapper">
55
- <div class="nxs-carousel-dialog-header">
56
- <button (click)="dialogRef.close()" mat-icon-button><mat-icon>close</mat-icon></button>
57
- </div>
58
- <div [class]="wrapperClass">
59
- <nxs-carousel [options]="data.options" [images]="data.images"></nxs-carousel>
60
- </div>
61
- </div>
62
- `, isInline: true, styles: [".nxs-carousel-dialog{max-width:98vw!important;width:98vw;height:98vh}.nxs-carousel-dialog .nxs-carousel-dialog-flex-wrapper{display:flex;height:100%;flex-direction:column}.nxs-carousel-dialog .nxs-carousel-dialog-flex-wrapper .nxs-carousel-wrapper{flex:auto}.nxs-carousel-dialog .nxs-carousel-dialog-header{position:relative;display:flex;justify-content:flex-end;padding-bottom:8px}.nxs-carousel-dialog mat-dialog-container{padding:20px}.nxs-carousel-dialog .nxs-carousel-wrapper{width:100%;margin:auto;height:100%}\n"], dependencies: [{ kind: "component", type: NxsCarouselComponent, selector: "nxs-carousel", inputs: ["lazy", "images", "options", "hasHtmlContent"], outputs: ["slideChange", "slideClick"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None });
63
- }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NxsCarouselDialogComponent, decorators: [{
65
- type: Component,
66
- args: [{ selector: 'nxs-carousel-dialog', template: `
67
- <div class="nxs-carousel-dialog-flex-wrapper">
68
- <div class="nxs-carousel-dialog-header">
69
- <button (click)="dialogRef.close()" mat-icon-button><mat-icon>close</mat-icon></button>
70
- </div>
71
- <div [class]="wrapperClass">
72
- <nxs-carousel [options]="data.options" [images]="data.images"></nxs-carousel>
73
- </div>
74
- </div>
75
- `, encapsulation: ViewEncapsulation.None, standalone: true, imports: [
76
- NxsCarouselComponent,
77
- MatIconModule,
78
- MatButtonModule,
79
- ], styles: [".nxs-carousel-dialog{max-width:98vw!important;width:98vw;height:98vh}.nxs-carousel-dialog .nxs-carousel-dialog-flex-wrapper{display:flex;height:100%;flex-direction:column}.nxs-carousel-dialog .nxs-carousel-dialog-flex-wrapper .nxs-carousel-wrapper{flex:auto}.nxs-carousel-dialog .nxs-carousel-dialog-header{position:relative;display:flex;justify-content:flex-end;padding-bottom:8px}.nxs-carousel-dialog mat-dialog-container{padding:20px}.nxs-carousel-dialog .nxs-carousel-wrapper{width:100%;margin:auto;height:100%}\n"] }]
80
- }], ctorParameters: () => [{ type: undefined, decorators: [{
81
- type: Inject,
82
- args: [MAT_DIALOG_DATA]
83
- }] }, { type: i1.MatDialogRef }] });
84
-
85
- // install Swiper modules
86
- // SwiperCore.use([Navigation, Pagination, Autoplay, Lazy, Thumbs]);
87
- class NxsCarouselComponent {
88
- matDialog;
89
- zone;
90
- platformId;
91
- config;
92
- swiperReady = false;
93
- contents;
94
- lazy = true;
95
- eventsCollector = new EventsCollector();
96
- images;
97
- options = null;
98
- thumbnailsOptions = null;
99
- set setOptions(val) {
100
- this.options = this.setDefaultOptions(val, false);
101
- this.setThumbnailsOptions();
102
- this.initSwiper();
103
- }
104
- hasHtmlContent = false;
105
- thumbnailsSwiperInstance;
106
- swiperInstance;
107
- swiperRef;
108
- slidesCount = 0;
109
- slideChange = new EventEmitter();
110
- currentSlide = 0;
111
- slideClick = new EventEmitter();
112
- isBrowser = false;
113
- static openDialogSubscribed = false;
114
- constructor(matDialog, zone, platformId, config) {
115
- this.matDialog = matDialog;
116
- this.zone = zone;
117
- this.platformId = platformId;
118
- this.config = config;
119
- if (!this.config)
120
- this.config = { debug: false };
121
- this.isBrowser = isPlatformBrowser(this.platformId);
122
- this.log('constructor - isBrowser', this.isBrowser);
123
- this.options = this.setDefaultOptions(undefined, false);
124
- NxsCarouselComponent.subscribeToOpenDialog(matDialog);
125
- }
126
- static subscribeToOpenDialog(matDialog) {
127
- if (this.openDialogSubscribed) {
128
- return;
129
- }
130
- this.openDialogSubscribed = true;
131
- CarouselEvents.openCarouselDialog.subscribe((data) => {
132
- if (NxsCarouselDialogComponent.dialogOpened) {
133
- return;
134
- }
135
- matDialog.open(NxsCarouselDialogComponent, data);
136
- });
137
- }
138
- log(...args) {
139
- if (!this.config?.debug)
140
- return;
141
- console.log('[NxsCarousel]', ...args);
142
- }
143
- destroy() {
144
- if (!this.isBrowser) {
145
- return;
146
- }
147
- this.eventsCollector?.unsubscribeAll();
148
- this.timeoutIds?.forEach(id => {
149
- try {
150
- clearTimeout(id);
151
- }
152
- catch (error) {
153
- console.log("on destroy - clear timeout ERROR ", error);
154
- }
155
- });
156
- this.timeoutIds = [];
157
- }
158
- ngOnDestroy() {
159
- this.destroy();
160
- }
161
- ngAfterViewInit() {
162
- if (!this.swiperRef?.nativeElement) {
163
- return;
164
- }
165
- // console.log("Log ~ NxsCarouselComponent ~ ngAfterViewInit ~ setTimeout ~ this.swiperInstance:", this.swiperInstance);
166
- // setTimeout(() => {
167
- // this.swiperInstance = this.swiperRef.nativeElement.swiper;
168
- // console.log("Log ~ NxsCarouselComponent ~ ngAfterViewInit ~ setTimeout ~ this.swiperInstance:", this.swiperInstance);
169
- // });
170
- }
171
- async initSwiper() {
172
- console.log('init swiper');
173
- // this.swiperInstance = this.swiperRef.nativeElement.swiper;
174
- // console.log("Log ~ NxsCarouselComponent ~ ngAfterViewInit ~ this.swiperInstance:", this.swiperInstance);
175
- // console.log('thi.contents', this.contents);
176
- // this.initSlides();
177
- await MainHelpers.waitForBoolValueSeconds(() => !!this.swiperRef?.nativeElement, 15, 200);
178
- // this.createSlider(true);
179
- console.log("Log ~ NxsCarouselComponent ~ ngAfterViewInit ~ this.swiperRef:", this.swiperRef, this.swiperRef?.nativeElement, this.options, this.swiperRef?.nativeElement?.initialize);
180
- this.log('ngAfterViewInit - swiperRef', this.swiperRef, this.options);
181
- if (!this.swiperRef?.nativeElement) {
182
- return;
183
- }
184
- Object.assign(this.swiperRef.nativeElement, this.options);
185
- this.swiperRef.nativeElement?.initialize();
186
- this.swiperInstance = this.swiperRef?.nativeElement?.swiper;
187
- this.onSwiper();
188
- }
189
- getMainSliderHeight() {
190
- if (!this.options)
191
- return '';
192
- if (this.options.nxsThumbnails && this.options.nxsThumbnails.show) {
193
- if (this.options.nxsThumbnails.onMainSlider) {
194
- return '100%';
195
- }
196
- else if (this.options.nxsThumbnails.percentHeight) {
197
- return (100 - this.options.nxsThumbnails.percentHeight) + '%';
198
- }
199
- }
200
- return '';
201
- }
202
- setDefaultOptions(options, forDialog) {
203
- if (!options && forDialog) {
204
- options = {
205
- nxsShowNavigationBullets: true, loop: true, nxsThumbnails: { show: true }, effect: 'slide', nxsShowNavigationArrows: true, nxsShowImagesCount: true,
206
- lazy: this.lazy,
207
- };
208
- }
209
- else if (!options) {
210
- options = {
211
- nxsShowNavigationBullets: true, loop: true,
212
- nxsThumbnails: { show: false }, effect: 'slide', nxsShowNavigationArrows: true, nxsShowImagesCount: false, nxsCarouselDialogOptions: {},
213
- lazy: this.lazy,
214
- };
215
- }
216
- if (options.nxsCarouselDialogOptions) {
217
- if (typeof options.nxsCarouselDialogOptions.nxsThumbnails === 'undefined')
218
- options.nxsCarouselDialogOptions.nxsThumbnails = { show: false };
219
- if (typeof options.nxsCarouselDialogOptions.effect === 'undefined')
220
- options.nxsCarouselDialogOptions.effect = 'slide';
221
- if (typeof options.nxsCarouselDialogOptions.nxsShowNavigationArrows === 'undefined')
222
- options.nxsCarouselDialogOptions.nxsShowNavigationArrows = true;
223
- if (!!options.nxsCarouselDialogOptions.nxsThumbnails?.show) {
224
- if (typeof options.nxsCarouselDialogOptions.nxsThumbnails.percentHeight === 'undefined')
225
- options.nxsCarouselDialogOptions.nxsThumbnails.percentHeight = 20;
226
- if (typeof options.nxsCarouselDialogOptions.nxsThumbnails.perView === 'undefined')
227
- options.nxsCarouselDialogOptions.nxsThumbnails.perView = 10;
228
- options.nxsCarouselDialogOptions.nxsThumbnails.breakpoints = {
229
- 640: {
230
- slidesPerView: 5,
231
- },
232
- 768: {
233
- slidesPerView: 7,
234
- },
235
- 1024: {
236
- slidesPerView: 8,
237
- },
238
- };
239
- }
240
- }
241
- if (!options.nxsThumbnails)
242
- options.nxsThumbnails = { show: false };
243
- if (options.nxsThumbnails.show && typeof options.nxsThumbnails.percentHeight === 'undefined')
244
- options.nxsThumbnails.percentHeight = 20;
245
- if (options.nxsThumbnails.show && typeof options.nxsThumbnails.perView === 'undefined')
246
- options.nxsThumbnails.perView = 10;
247
- if (forDialog)
248
- options.nxsfullscreenOnClick = false;
249
- if (options.nxsThumbnails.onMainSlider)
250
- options.nxsShowNavigationBullets = false;
251
- if (typeof options.lazy === 'undefined')
252
- options.lazy = true;
253
- if (typeof options.navigation === 'undefined')
254
- options.navigation = true;
255
- if (typeof options.pagination === 'undefined')
256
- options.pagination = { clickable: true };
257
- if (options.nxsShowNavigationBullets === false) {
258
- options.pagination = false;
259
- }
260
- // console.log("Log ~ file: nxs-carousel.component.ts ~ line 272 ~ NxsCarouselComponent ~ setDefaultOptions ~ options", options);
261
- return options;
262
- }
263
- setThumbnailsOptions() {
264
- if (!!this.options?.nxsThumbnails?.show) {
265
- this.thumbnailsOptions = {
266
- slidesPerView: this.options.nxsThumbnails.perView,
267
- loop: false,
268
- freeMode: true,
269
- // watchSlidesVisibility: true,
270
- watchSlidesProgress: true,
271
- breakpoints: this.options.nxsThumbnails.breakpoints,
272
- // spaceBetween: 10,
273
- };
274
- if (this.lazy) {
275
- // Disable preloading of all images
276
- // this.thumbnailsOptions.preloadImages = false;
277
- // Enable lazy loading
278
- this.thumbnailsOptions.lazy = true;
279
- }
280
- // console.log("Log ~ file: nxs-carousel.component.ts ~ line 184 ~ NxsCarouselComponent ~ setThumbnailsOptions ~ this.thumbnailsOptions.lazy", this.thumbnailsOptions.lazy);
281
- // this.thumbnailsSliderInstance = new Swiper(this.nxsThumbnailsSliderContainer.nativeElement, thumbnailsOptions);
282
- // this.options.thumbs = { swiper: this.thumbnailsSliderInstance };
283
- }
284
- }
285
- showFullScreenCarousel(images, wrapperClass) {
286
- this.options.nxsCarouselDialogOptions = this.setDefaultOptions(this.options.nxsCarouselDialogOptions, true);
287
- const data = { images, wrapperClass, options: this.options.nxsCarouselDialogOptions };
288
- CarouselEvents.openCarouselDialog?.emit({
289
- data,
290
- panelClass: 'nxs-carousel-dialog',
291
- width: !!this.options.nxsCarouselDialogSize ? this.options.nxsCarouselDialogSize.width : undefined,
292
- height: !!this.options.nxsCarouselDialogSize ? this.options.nxsCarouselDialogSize.height : undefined,
293
- disableClose: !this.options.nxsCarouselDialogExitable,
294
- });
295
- }
296
- goToSlide(index, speed) {
297
- this.swiperInstance?.slideTo(index, speed);
298
- }
299
- next() {
300
- this.swiperInstance?.slideNext();
301
- }
302
- previous() {
303
- this.swiperInstance?.slidePrev();
304
- }
305
- onSwiperThumbnails(instance) {
306
- if (this.options?.nxsThumbnails?.show)
307
- this.thumbnailsSwiperInstance = instance;
308
- else
309
- this.thumbnailsSwiperInstance = null;
310
- // if (this.options?.nxsThumbnails?.show) {
311
- // const optionsClone = MainHelpers.cloneObject(this.options);
312
- // optionsClone.thumbs = { swiper: this.thumbnailsSwiperInstance };
313
- // // this.options = optionsClone;
314
- // // this.options = { ...this.options, thumbs: { swiper: this.thumbnailsSwiperInstance } };
315
- // console.log("Log ~ file: nxs-carousel.component.ts ~ line 416 ~ NxsCarouselComponent ~ onSwiperThumbnails ~ this.options ", this.options);
316
- // this.options.thumbs = { swiper: this.thumbnailsSwiperInstance };
317
- // }
318
- }
319
- timeoutIds = [];
320
- getSlidesCount() {
321
- if (!this.swiperInstance?.slides?.length) {
322
- return 0;
323
- }
324
- //TODO: gérer le loop ici
325
- // if (this.swiperInstance?.lo) {
326
- // return (this.swiperInstance?.slides?.length || 0) - 2;
327
- // }
328
- // const isLoopActive = !!this.swiperInstance?.params?.loop;
329
- // if (isLoopActive) {
330
- // return (this.swiperInstance?.slides?.length || 0) - (this.swiperInstance?.loopedSlides || 0) * 2;
331
- // }
332
- return this.swiperInstance?.slides?.length || 0;
333
- }
334
- onSwiper() {
335
- this.log('swiper ready - instance', this.swiperInstance);
336
- // this.swiperInstance = instance;
337
- this.swiperInstance?.on('click', (swiperInstance, evt) => {
338
- // console.log("Log ~ file: nxs-carousel.component.ts ~ line 392 ~ NxsCarouselComponent ~ this.swiperInstance.on ~ evt", evt);
339
- const target = evt.target;
340
- // console.log("Log ~ NxsCarouselComponent ~ onSwiper ~ target:", target);
341
- if (target.className.indexOf('nxs-carousel-button') !== -1 || target.className.indexOf('swiper-pagination') !== -1
342
- || target.className.indexOf('swiper-button-next') !== -1 || target.className.indexOf('swiper-button-prev') !== -1
343
- || target.tagName === 'SWIPER-CONTAINER') {
344
- return;
345
- }
346
- this.runInZone(() => {
347
- this.slideClick.next(evt);
348
- // if (this.options.nxsfullscreenOnClick && this.images && this.images.length && !this.hasHtmlContent) {
349
- // this.showFullScreenCarousel(this.images, 'fullscreen-carousel');
350
- // }
351
- });
352
- });
353
- const tId = setTimeout(() => {
354
- this.slidesCount = this.getSlidesCount();
355
- });
356
- this.timeoutIds.push(tId);
357
- this.swiperInstance?.on('slideChange', () => {
358
- this.onSlideChange([this.swiperInstance]);
359
- });
360
- this.swiperReady = true;
361
- // $('.swiper-container').on('keydown keyup', function(e){
362
- // if (e.keyCode==9) $('.swiper-container')[0].scrollLeft = 0;
363
- // })
364
- // console.log("Log ~ file: nxs-carousel.component.ts:254 ~ NxsCarouselComponent ~ this.swiperInstance.el.addEventListener ~ this.swiperInstance.el:", this.swiperInstance.el);
365
- // this.swiperInstance.el.addEventListener('keydown', (evt) => {
366
- // if (evt.keyCode === 9) {
367
- // // evt.preventDefault();
368
- // // this.swiperInstance.el.scrollLeft = 0;
369
- // // this.swiperInstance.el.querySelectorAll('.swiper-wrapper')[0].scrollLeft = 0;
370
- // // $('.swiper-container')[0].scrollLeft = 0;
371
- // }
372
- // });
373
- // document.querySelectorAll()
374
- }
375
- runOutZone(callback, ...args) {
376
- if (!this.zone) {
377
- callback(args);
378
- }
379
- return this.zone.runOutsideAngular(() => callback(args));
380
- }
381
- runInZone(callback, ...args) {
382
- if (!this.zone) {
383
- callback(args);
384
- }
385
- return this.zone.run(() => callback(args));
386
- }
387
- onSlideChange(instances) {
388
- if (!this.swiperReady) {
389
- return;
390
- }
391
- if (!this.swiperInstance && instances?.length) {
392
- this.swiperInstance = instances[0];
393
- }
394
- // console.log("Log ~ file: nxs-carousel.component.ts:252 ~ NxsCarouselComponent ~ onSlideChange ~ instances:", instances);
395
- // this.swiperInstance = instance;
396
- // this.log('slide change - instance', instance);
397
- this.runInZone(() => {
398
- this.currentSlide = this.swiperInstance?.realIndex || 0;
399
- // console.log("Log ~ file: nxs-carousel.component.ts:256 ~ NxsCarouselComponent ~ this.runInZone ~ this.swiperInstance?.realIndex:", this.swiperInstance);
400
- this.log('slide change - currentSlide', this.currentSlide);
401
- this.slideChange.next(this.currentSlide);
402
- });
403
- }
404
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NxsCarouselComponent, deps: [{ token: i1.MatDialog }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: NxsCarouselOptionsToken, optional: true }], target: i0.ɵɵFactoryTarget.Component });
405
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: NxsCarouselComponent, isStandalone: true, selector: "nxs-carousel", inputs: { lazy: "lazy", images: "images", setOptions: ["options", "setOptions"], hasHtmlContent: "hasHtmlContent" }, outputs: { slideChange: "slideChange", slideClick: "slideClick" }, queries: [{ propertyName: "contents", predicate: NxsSwiperTemplateDirective, read: TemplateRef }], viewQueries: [{ propertyName: "swiperRef", first: true, predicate: ["swiperRef"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"options\"\n [ngClass]=\"{'swiper-container':true,'nxs-slider-with-thumbnails':!!options.nxsThumbnails && options.nxsThumbnails.show}\"\n [style.height]=\"getMainSliderHeight()\">\n <swiper-container init=\"false\" #swiperRef>\n @if(hasHtmlContent){\n @for( slide of contents; track $index){\n <swiper-slide>\n <ng-template [ngTemplateOutlet]=\"slide\" [ngTemplateOutletContext]=\"{\n $implicit: slide\n }\"></ng-template>\n </swiper-slide>\n }\n }@else if(images?.length){\n @for( slideImage of images; track $index){\n <swiper-slide>\n <img [ngClass]=\"{'nxs-image-slide':true,'swiper-lazy':lazy}\" [attr.loading]=\"lazy ? 'lazy' : null\"\n [src]=\"slideImage.src\" [attr.alt]=\"slideImage.alt\" />\n <div *ngIf=\"lazy\" class=\"swiper-lazy-preloader swiper-lazy-preloader-black\"></div>\n </swiper-slide>\n }\n }\n </swiper-container>\n <!-- <swiper [config]=\"options\" (swiper)=\"onSwiper($event)\" (slideChange)=\"onSlideChange($event)\"\n [thumbs]=\"{ swiper: thumbnailsSwiperInstance }\">\n <ng-container *ngIf=\"hasHtmlContent\">\n <ng-template *ngFor=\"let slide of contents\" swiperSlide>\n <swiper-slide>\n <ng-template [ngTemplateOutlet]=\"slide\" [ngTemplateOutletContext]=\"{\n $implicit: slide\n }\"></ng-template>\n </swiper-slide>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!hasHtmlContent && images?.length\">\n <ng-template swiperSlide *ngFor=\"let slideImage of images\">\n <img [ngClass]=\"{'nxs-image-slide':true,'swiper-lazy':lazy}\" [attr.loading]=\"lazy ? 'lazy' : null\"\n [src]=\"slideImage.src\" [attr.alt]=\"slideImage.alt\" />\n <div *ngIf=\"lazy\" class=\"swiper-lazy-preloader swiper-lazy-preloader-black\"></div>\n </ng-template>\n </ng-container>\n </swiper> -->\n @if(options?.nxsShowImagesCount){\n <div class=\"nxs-image-counter\">\n {{currentSlide+1}} / {{slidesCount}}\n </div>\n }\n</div>\n\n<!-- <div *ngIf=\"thumbnailsOptions && images?.length\"\n [style.height]=\"(!!options.nxsThumbnails && options.nxsThumbnails.show && !!options.nxsThumbnails.percentHeight) ? (options.nxsThumbnails.percentHeight + '%'):''\"\n [style.top]=\"(!!options.nxsThumbnails && options.nxsThumbnails.show && !!options.nxsThumbnails.percentHeight && options.nxsThumbnails.onMainSlider) ? ('-' + (options.nxsThumbnails.percentHeight) + '%'):''\"\n [ngClass]=\"{'swiper-container':true, 'nxs-slider-thumbnails-container':true,'nxs-slider-thumbnails-on-main-slider':options.nxsThumbnails && options.nxsThumbnails.onMainSlider}\">\n <swiper [config]=\"thumbnailsOptions\" (swiper)=\"onSwiperThumbnails($event)\">\n <ng-template swiperSlide *ngFor=\"let slideImage of images\">\n <img [ngClass]=\"{'nxs-image-slide':true,'swiper-lazy':lazy}\" [attr.data-src]=\"lazy ? slideImage.src : null\"\n [src]=\"lazy ? null : slideImage.src\" [attr.alt]=\"slideImage.alt\" />\n <div *ngIf=\"lazy\" class=\"swiper-lazy-preloader swiper-lazy-preloader-black\"></div>\n </ng-template>\n </swiper>\n</div> -->", styles: [":root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d :is(.swiper-slide,.swiper-cube-shadow){transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:\"\";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d :is(.swiper-slide-shadow,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top,.swiper-slide-shadow-bottom){position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--swiper-navigation-size: 44px}.swiper-button-prev,.swiper-button-next{position:absolute;width:var(--swiper-navigation-size);height:var(--swiper-navigation-size);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}:is(.swiper-button-prev,.swiper-button-next).swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}:is(.swiper-button-prev,.swiper-button-next).swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled :is(.swiper-button-prev,.swiper-button-next){display:none!important}:is(.swiper-button-prev,.swiper-button-next) svg{width:100%;height:100%;object-fit:contain;transform-origin:center;fill:currentColor;pointer-events:none}.swiper-button-lock{display:none}.swiper-button-prev,.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - var(--swiper-navigation-size) / 2)}.swiper-button-prev{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-button-prev .swiper-navigation-icon{transform:rotate(180deg)}.swiper-button-next{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-horizontal .swiper-button-prev,.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal~.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - var(--swiper-navigation-size) / 2);margin-left:0}.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-next,.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev{right:var(--swiper-navigation-sides-offset, 4px);left:auto}:is(.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next) .swiper-navigation-icon{transform:rotate(180deg)}.swiper-horizontal:is(.swiper-rtl .swiper-button-prev,.swiper-rtl~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(0)}.swiper-vertical .swiper-button-prev,.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-prev,.swiper-vertical~.swiper-button-next{left:var(--swiper-navigation-top-offset, 50%);right:auto;margin-left:calc(0px - var(--swiper-navigation-size) / 2);margin-top:0}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{top:var(--swiper-navigation-sides-offset, 4px);bottom:auto}:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset, 4px);top:auto}:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) .swiper-navigation-icon{transform:rotate(90deg)}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic :is(.swiper-pagination-bullet-active,.swiper-pagination-bullet-active-main){transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets) .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}nxs-carousel{display:block;height:100%;position:relative;--swiper-navigation-color: #fff;--swiper-pagination-color: #fff;--swiper-theme-color: #fff}nxs-carousel swiper-container{width:100%;height:100%;display:block;position:relative}nxs-carousel swiper-container .swiper-wrapper .swiper-slide{height:100%;position:relative;width:auto;min-height:50px;background-size:cover;background-position:center;background-repeat:no-repeat}nxs-carousel swiper-container .nxs-image-slide{height:100%;object-fit:cover;width:100%;object-position:center}nxs-carousel swiper-container.nxs-slider-with-thumbnails{height:80%}nxs-carousel swiper-container.nxs-slider-thumbnails-container{height:20%;background:transparent;padding:6px 0}nxs-carousel swiper-container.nxs-slider-thumbnails-container .swiper-slide{cursor:pointer;border-radius:6px;margin:0 6px;border:2px solid transparent}nxs-carousel swiper-container.nxs-slider-thumbnails-container .swiper-slide.swiper-slide-thumb-active{border:2px solid lightblue}nxs-carousel swiper-container.nxs-slider-thumbnails-on-main-slider{top:-20%}nxs-carousel .nxs-image-counter{position:absolute;top:0;right:0;color:#fff;padding:4px;font-weight:700;z-index:10}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatDialogModule }], encapsulation: i0.ViewEncapsulation.None });
406
- }
407
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NxsCarouselComponent, decorators: [{
408
- type: Component,
409
- args: [{ selector: 'nxs-carousel', encapsulation: ViewEncapsulation.None, standalone: true, imports: [
410
- CommonModule,
411
- MatIconModule,
412
- MatButtonModule,
413
- MatDialogModule,
414
- ], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div *ngIf=\"options\"\n [ngClass]=\"{'swiper-container':true,'nxs-slider-with-thumbnails':!!options.nxsThumbnails && options.nxsThumbnails.show}\"\n [style.height]=\"getMainSliderHeight()\">\n <swiper-container init=\"false\" #swiperRef>\n @if(hasHtmlContent){\n @for( slide of contents; track $index){\n <swiper-slide>\n <ng-template [ngTemplateOutlet]=\"slide\" [ngTemplateOutletContext]=\"{\n $implicit: slide\n }\"></ng-template>\n </swiper-slide>\n }\n }@else if(images?.length){\n @for( slideImage of images; track $index){\n <swiper-slide>\n <img [ngClass]=\"{'nxs-image-slide':true,'swiper-lazy':lazy}\" [attr.loading]=\"lazy ? 'lazy' : null\"\n [src]=\"slideImage.src\" [attr.alt]=\"slideImage.alt\" />\n <div *ngIf=\"lazy\" class=\"swiper-lazy-preloader swiper-lazy-preloader-black\"></div>\n </swiper-slide>\n }\n }\n </swiper-container>\n <!-- <swiper [config]=\"options\" (swiper)=\"onSwiper($event)\" (slideChange)=\"onSlideChange($event)\"\n [thumbs]=\"{ swiper: thumbnailsSwiperInstance }\">\n <ng-container *ngIf=\"hasHtmlContent\">\n <ng-template *ngFor=\"let slide of contents\" swiperSlide>\n <swiper-slide>\n <ng-template [ngTemplateOutlet]=\"slide\" [ngTemplateOutletContext]=\"{\n $implicit: slide\n }\"></ng-template>\n </swiper-slide>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!hasHtmlContent && images?.length\">\n <ng-template swiperSlide *ngFor=\"let slideImage of images\">\n <img [ngClass]=\"{'nxs-image-slide':true,'swiper-lazy':lazy}\" [attr.loading]=\"lazy ? 'lazy' : null\"\n [src]=\"slideImage.src\" [attr.alt]=\"slideImage.alt\" />\n <div *ngIf=\"lazy\" class=\"swiper-lazy-preloader swiper-lazy-preloader-black\"></div>\n </ng-template>\n </ng-container>\n </swiper> -->\n @if(options?.nxsShowImagesCount){\n <div class=\"nxs-image-counter\">\n {{currentSlide+1}} / {{slidesCount}}\n </div>\n }\n</div>\n\n<!-- <div *ngIf=\"thumbnailsOptions && images?.length\"\n [style.height]=\"(!!options.nxsThumbnails && options.nxsThumbnails.show && !!options.nxsThumbnails.percentHeight) ? (options.nxsThumbnails.percentHeight + '%'):''\"\n [style.top]=\"(!!options.nxsThumbnails && options.nxsThumbnails.show && !!options.nxsThumbnails.percentHeight && options.nxsThumbnails.onMainSlider) ? ('-' + (options.nxsThumbnails.percentHeight) + '%'):''\"\n [ngClass]=\"{'swiper-container':true, 'nxs-slider-thumbnails-container':true,'nxs-slider-thumbnails-on-main-slider':options.nxsThumbnails && options.nxsThumbnails.onMainSlider}\">\n <swiper [config]=\"thumbnailsOptions\" (swiper)=\"onSwiperThumbnails($event)\">\n <ng-template swiperSlide *ngFor=\"let slideImage of images\">\n <img [ngClass]=\"{'nxs-image-slide':true,'swiper-lazy':lazy}\" [attr.data-src]=\"lazy ? slideImage.src : null\"\n [src]=\"lazy ? null : slideImage.src\" [attr.alt]=\"slideImage.alt\" />\n <div *ngIf=\"lazy\" class=\"swiper-lazy-preloader swiper-lazy-preloader-black\"></div>\n </ng-template>\n </swiper>\n</div> -->", styles: [":root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d :is(.swiper-slide,.swiper-cube-shadow){transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:\"\";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d :is(.swiper-slide-shadow,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top,.swiper-slide-shadow-bottom){position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--swiper-navigation-size: 44px}.swiper-button-prev,.swiper-button-next{position:absolute;width:var(--swiper-navigation-size);height:var(--swiper-navigation-size);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}:is(.swiper-button-prev,.swiper-button-next).swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}:is(.swiper-button-prev,.swiper-button-next).swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled :is(.swiper-button-prev,.swiper-button-next){display:none!important}:is(.swiper-button-prev,.swiper-button-next) svg{width:100%;height:100%;object-fit:contain;transform-origin:center;fill:currentColor;pointer-events:none}.swiper-button-lock{display:none}.swiper-button-prev,.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - var(--swiper-navigation-size) / 2)}.swiper-button-prev{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-button-prev .swiper-navigation-icon{transform:rotate(180deg)}.swiper-button-next{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-horizontal .swiper-button-prev,.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal~.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - var(--swiper-navigation-size) / 2);margin-left:0}.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-next,.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev{right:var(--swiper-navigation-sides-offset, 4px);left:auto}:is(.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next) .swiper-navigation-icon{transform:rotate(180deg)}.swiper-horizontal:is(.swiper-rtl .swiper-button-prev,.swiper-rtl~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(0)}.swiper-vertical .swiper-button-prev,.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-prev,.swiper-vertical~.swiper-button-next{left:var(--swiper-navigation-top-offset, 50%);right:auto;margin-left:calc(0px - var(--swiper-navigation-size) / 2);margin-top:0}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{top:var(--swiper-navigation-sides-offset, 4px);bottom:auto}:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset, 4px);top:auto}:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) .swiper-navigation-icon{transform:rotate(90deg)}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic :is(.swiper-pagination-bullet-active,.swiper-pagination-bullet-active-main){transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets) .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}nxs-carousel{display:block;height:100%;position:relative;--swiper-navigation-color: #fff;--swiper-pagination-color: #fff;--swiper-theme-color: #fff}nxs-carousel swiper-container{width:100%;height:100%;display:block;position:relative}nxs-carousel swiper-container .swiper-wrapper .swiper-slide{height:100%;position:relative;width:auto;min-height:50px;background-size:cover;background-position:center;background-repeat:no-repeat}nxs-carousel swiper-container .nxs-image-slide{height:100%;object-fit:cover;width:100%;object-position:center}nxs-carousel swiper-container.nxs-slider-with-thumbnails{height:80%}nxs-carousel swiper-container.nxs-slider-thumbnails-container{height:20%;background:transparent;padding:6px 0}nxs-carousel swiper-container.nxs-slider-thumbnails-container .swiper-slide{cursor:pointer;border-radius:6px;margin:0 6px;border:2px solid transparent}nxs-carousel swiper-container.nxs-slider-thumbnails-container .swiper-slide.swiper-slide-thumb-active{border:2px solid lightblue}nxs-carousel swiper-container.nxs-slider-thumbnails-on-main-slider{top:-20%}nxs-carousel .nxs-image-counter{position:absolute;top:0;right:0;color:#fff;padding:4px;font-weight:700;z-index:10}\n"] }]
415
- }], ctorParameters: () => [{ type: i1.MatDialog }, { type: i0.NgZone }, { type: undefined, decorators: [{
416
- type: Inject,
417
- args: [PLATFORM_ID]
418
- }] }, { type: NxsCarouselModuleConfig, decorators: [{
419
- type: Optional
420
- }, {
421
- type: Inject,
422
- args: [NxsCarouselOptionsToken]
423
- }] }], propDecorators: { contents: [{
424
- type: ContentChildren,
425
- args: [NxsSwiperTemplateDirective, { read: TemplateRef }]
426
- }], lazy: [{
427
- type: Input
428
- }], images: [{
429
- type: Input
430
- }], setOptions: [{
431
- type: Input,
432
- args: ['options']
433
- }], hasHtmlContent: [{
434
- type: Input
435
- }], swiperRef: [{
436
- type: ViewChild,
437
- args: ['swiperRef']
438
- }], slideChange: [{
439
- type: Output
440
- }], slideClick: [{
441
- type: Output
442
- }] } });
443
-
444
- /**
445
- * Generated bundle index. Do not edit.
446
- */
447
-
448
- export { NxsCarouselComponent, NxsSwiperTemplateDirective };
449
- //# sourceMappingURL=nextalys-carousel-lib-nxs-carousel.mjs.map