@ks89/angular-modal-gallery 9.1.0 → 10.0.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.
- package/CHANGELOG.md +14 -0
- package/CONTRIBUTING.md +5 -5
- package/README.md +24 -23
- package/esm2020/lib/components/accessible.component.mjs +5 -5
- package/esm2020/lib/components/carousel/carousel-previews/carousel-previews.component.mjs +5 -5
- package/esm2020/lib/components/carousel/carousel.component.mjs +12 -12
- package/esm2020/lib/components/components.mjs +2 -2
- package/esm2020/lib/components/current-image/current-image.component.mjs +12 -12
- package/esm2020/lib/components/current-image/loading-spinner/loading-spinner.component.mjs +4 -4
- package/esm2020/lib/components/dots/dots.component.mjs +5 -5
- package/esm2020/lib/components/modal-gallery/modal-gallery-ref.mjs +2 -2
- package/esm2020/lib/components/modal-gallery/modal-gallery.component.mjs +7 -7
- package/esm2020/lib/components/modal-gallery/modal-gallery.service.mjs +3 -3
- package/esm2020/lib/components/modal-gallery/modal-gallery.tokens.mjs +2 -2
- package/esm2020/lib/components/plain-gallery/plain-gallery.component.mjs +11 -11
- package/esm2020/lib/components/previews/previews.component.mjs +7 -7
- package/esm2020/lib/components/upper-buttons/upper-buttons.component.mjs +5 -5
- package/esm2020/lib/directives/a-tag-bg-image.directive.mjs +5 -5
- package/esm2020/lib/directives/click-outside.directive.mjs +5 -5
- package/esm2020/lib/directives/description.directive.mjs +5 -5
- package/esm2020/lib/directives/direction.directive.mjs +5 -5
- package/esm2020/lib/directives/directives.mjs +2 -2
- package/esm2020/lib/directives/fallback-image.directive.mjs +5 -5
- package/esm2020/lib/directives/keyboard-navigation.directive.mjs +5 -5
- package/esm2020/lib/directives/margin.directive.mjs +5 -5
- package/esm2020/lib/directives/max-size.directive.mjs +5 -5
- package/esm2020/lib/directives/size.directive.mjs +5 -5
- package/esm2020/lib/directives/wrap.directive.mjs +5 -5
- package/esm2020/lib/modal-gallery.module.mjs +10 -10
- package/esm2020/lib/model/accessibility.interface.mjs +2 -2
- package/esm2020/lib/model/action.enum.mjs +2 -2
- package/esm2020/lib/model/buttons-config.interface.mjs +2 -2
- package/esm2020/lib/model/carousel-config.interface.mjs +2 -2
- package/esm2020/lib/model/carousel-image-config.interface.mjs +2 -2
- package/esm2020/lib/model/carousel-preview-config.interface.mjs +2 -2
- package/esm2020/lib/model/current-image-config.interface.mjs +2 -2
- package/esm2020/lib/model/description.interface.mjs +2 -2
- package/esm2020/lib/model/dots-config.interface.mjs +2 -2
- package/esm2020/lib/model/image-internal.class.mjs +2 -2
- package/esm2020/lib/model/image.class.mjs +2 -2
- package/esm2020/lib/model/keyboard-config.interface.mjs +2 -2
- package/esm2020/lib/model/keyboard-service-config.interface.mjs +2 -2
- package/esm2020/lib/model/keyboard.enum.mjs +2 -2
- package/esm2020/lib/model/lib-config.interface.mjs +2 -2
- package/esm2020/lib/model/loading-config.interface.mjs +2 -2
- package/esm2020/lib/model/max-size.interface.mjs +2 -2
- package/esm2020/lib/model/modal-gallery-config.interface.mjs +2 -2
- package/esm2020/lib/model/plain-gallery-config.interface.mjs +2 -2
- package/esm2020/lib/model/play-config.interface.mjs +2 -2
- package/esm2020/lib/model/preview-config.interface.mjs +2 -2
- package/esm2020/lib/model/size.interface.mjs +2 -2
- package/esm2020/lib/model/slide-config.interface.mjs +2 -2
- package/esm2020/lib/services/config.service.mjs +5 -5
- package/esm2020/lib/services/id-validator.service.mjs +5 -5
- package/esm2020/lib/services/keyboard.service.mjs +5 -5
- package/esm2020/lib/utils/image.util.mjs +2 -2
- package/esm2020/lib/utils/user-input.util.mjs +2 -2
- package/esm2020/public-api.mjs +2 -2
- package/fesm2015/ks89-angular-modal-gallery.mjs +223 -221
- package/fesm2015/ks89-angular-modal-gallery.mjs.map +1 -1
- package/fesm2020/ks89-angular-modal-gallery.mjs +223 -221
- package/fesm2020/ks89-angular-modal-gallery.mjs.map +1 -1
- package/{ks89-angular-modal-gallery.d.ts → index.d.ts} +0 -0
- package/lib/components/accessible.component.d.ts +1 -1
- package/lib/components/carousel/carousel-previews/carousel-previews.component.d.ts +1 -1
- package/lib/components/carousel/carousel.component.d.ts +1 -1
- package/lib/components/current-image/current-image.component.d.ts +1 -1
- package/lib/components/current-image/loading-spinner/loading-spinner.component.d.ts +1 -1
- package/lib/components/dots/dots.component.d.ts +1 -1
- package/lib/components/modal-gallery/modal-gallery.component.d.ts +1 -1
- package/lib/components/plain-gallery/plain-gallery.component.d.ts +1 -1
- package/lib/components/previews/previews.component.d.ts +1 -1
- package/lib/components/upper-buttons/upper-buttons.component.d.ts +1 -1
- package/lib/directives/a-tag-bg-image.directive.d.ts +1 -1
- package/lib/directives/click-outside.directive.d.ts +1 -1
- package/lib/directives/description.directive.d.ts +1 -1
- package/lib/directives/direction.directive.d.ts +1 -1
- package/lib/directives/fallback-image.directive.d.ts +1 -1
- package/lib/directives/keyboard-navigation.directive.d.ts +1 -1
- package/lib/directives/margin.directive.d.ts +1 -1
- package/lib/directives/max-size.directive.d.ts +1 -1
- package/lib/directives/size.directive.d.ts +1 -1
- package/lib/directives/wrap.directive.d.ts +1 -1
- package/package.json +10 -10
package/CHANGELOG.md
CHANGED
package/CONTRIBUTING.md
CHANGED
|
@@ -10,7 +10,7 @@ Every time you'll run `npm install` inside an example's folder, you must rebuild
|
|
|
10
10
|
2. remove all `node_modules` and temp folders with compiled files (if necessary)
|
|
11
11
|
3. `npm install` (from the root of this project)
|
|
12
12
|
4. `npm run clean:all`
|
|
13
|
-
5. `cd examples/angular-cli-
|
|
13
|
+
5. `cd examples/angular-cli-15`
|
|
14
14
|
6. `npm install`
|
|
15
15
|
7. `cd ../..`
|
|
16
16
|
8. `cd examples/universal`
|
|
@@ -31,8 +31,8 @@ Every time you'll run `npm install` inside an example's folder, you must rebuild
|
|
|
31
31
|
6. `cd dist/angular-modal-gallery && lite-server` => if everything is ok (also in browser's console), kill the process and go to the next step
|
|
32
32
|
7. `cd ../..`
|
|
33
33
|
|
|
34
|
-
# C. Run angular-cli-
|
|
35
|
-
1. `cd examples/angular-cli-
|
|
34
|
+
# C. Run angular-cli-15 example
|
|
35
|
+
1. `cd examples/angular-cli-15`
|
|
36
36
|
2. `npm start` => if everything is ok (also in browser's console), kill the process and go to the next step
|
|
37
37
|
3. `npm run build:dev`
|
|
38
38
|
4. `cd dist/angular-cli && lite-server` => if everything is ok (also in browser's console), kill the process and go to the next step
|
|
@@ -45,10 +45,10 @@ Every time you'll run `npm install` inside an example's folder, you must rebuild
|
|
|
45
45
|
1. `cd examples/angular-cli-material`
|
|
46
46
|
2. `npm start` => if everything is ok (also in browser's console), kill the process and go to the next step
|
|
47
47
|
3. `npm run build:dev`
|
|
48
|
-
4. `cd dist/angular-cli
|
|
48
|
+
4. `cd dist/angular-cli && lite-server` => if everything is ok (also in browser's console), kill the process and go to the next step
|
|
49
49
|
5. `cd ../..`
|
|
50
50
|
6. `npm run build:prod`
|
|
51
|
-
7. `cd dist/angular-cli
|
|
51
|
+
7. `cd dist/angular-cli && lite-server` => if everything is ok (also in browser's console), kill the process and go to the next step
|
|
52
52
|
8. `cd ../../../..`
|
|
53
53
|
|
|
54
54
|
# E. Run universal example
|
package/README.md
CHANGED
|
@@ -113,10 +113,7 @@ Despite its name, this library is more than for modal galleries, because I'm int
|
|
|
113
113
|
|
|
114
114
|
## :boom: Features :boom:
|
|
115
115
|
- Angular Module to import this library
|
|
116
|
-
-
|
|
117
|
-
- IVY is required
|
|
118
|
-
- supports all **recommended Angular Compiler Options**
|
|
119
|
-
- compliant to Angular Package Format v13 specifications
|
|
116
|
+
- compliant to Angular Package Format specifications and recommendations
|
|
120
117
|
- **use [Semantic versioning 2.0.0](http://semver.org/)** also known as 'semver'
|
|
121
118
|
- official examples with `angular-cli`, `angular-cli + material` and `angular-universal` [HERE](https://github.com/Ks89/angular-modal-gallery/tree/master/examples)
|
|
122
119
|
- unit testing with high % coverage
|
|
@@ -132,7 +129,7 @@ Despite its name, this library is more than for modal galleries, because I'm int
|
|
|
132
129
|
- configurable side-previews (visible only on bigger screen)
|
|
133
130
|
- configurable dots navigation (visible only on bigger screen)
|
|
134
131
|
- configurable previews (visible only on bigger screen)
|
|
135
|
-
- and many more... (check the official documentation [HERE](https://ks89.github.io/angular-modal-gallery-
|
|
132
|
+
- and many more... (check the official documentation [HERE](https://ks89.github.io/angular-modal-gallery-2022-v10.github.io/))
|
|
136
133
|
|
|
137
134
|
<br>
|
|
138
135
|
|
|
@@ -143,7 +140,7 @@ Despite its name, this library is more than for modal galleries, because I'm int
|
|
|
143
140
|
- `npm install --save-dev @types/mousetrap @types/hammerjs`
|
|
144
141
|
|
|
145
142
|
From version @ks89/angular-modal-gallery >= 5.0.0, **font-awesome isn't a mandatory dependency**.
|
|
146
|
-
You can use all default features without font-awesome. For more info, check official [documentation website](https://ks89.github.io/angular-modal-gallery-
|
|
143
|
+
You can use all default features without font-awesome. For more info, check official [documentation website](https://ks89.github.io/angular-modal-gallery-2022-v10.github.io/).
|
|
147
144
|
|
|
148
145
|
<br>
|
|
149
146
|
|
|
@@ -151,29 +148,32 @@ You can use all default features without font-awesome. For more info, check offi
|
|
|
151
148
|
|
|
152
149
|
*Image loading could be slow, because this website is hosted on Github pages*
|
|
153
150
|
|
|
154
|
-
[OFFICIAL DOCUMENTATION WEBSITE](https://ks89.github.io/angular-modal-gallery-
|
|
151
|
+
[OFFICIAL DOCUMENTATION WEBSITE](https://ks89.github.io/angular-modal-gallery-2022-v10.github.io/)
|
|
155
152
|
|
|
156
153
|
<br>
|
|
157
154
|
|
|
158
155
|
## :warning: Choose the right version :warning:
|
|
159
156
|
|
|
160
157
|
| | @ks89/angular-modal-gallery | font-awesome |
|
|
161
|
-
|
|
162
|
-
| AngularJS |
|
|
163
|
-
| Angular 2 |
|
|
164
|
-
| Angular 4 |
|
|
165
|
-
| Angular 5 |
|
|
166
|
-
| Angular 6 |
|
|
167
|
-
| Angular 7 |
|
|
168
|
-
| Angular 8 |
|
|
169
|
-
| Angular 9 |
|
|
170
|
-
| Angular 10 |
|
|
171
|
-
| Angular 11 |
|
|
172
|
-
| Angular 12 |
|
|
173
|
-
| Angular 13 |
|
|
158
|
+
|------------|:---------------------------:| :---: |
|
|
159
|
+
| AngularJS | NOT SUPPORTED | |
|
|
160
|
+
| Angular 2 | = 3.3.5 | >= 4.0.0 |
|
|
161
|
+
| Angular 4 | = 5.7.1 | optional |
|
|
162
|
+
| Angular 5 | = 6.3.0 | optional |
|
|
163
|
+
| Angular 6 | = 7.2.7 | optional |
|
|
164
|
+
| Angular 7 | = 7.2.7 | optional |
|
|
165
|
+
| Angular 8 | = 7.2.7 | optional |
|
|
166
|
+
| Angular 9 | = 7.2.7 | optional |
|
|
167
|
+
| Angular 10 | = 7.2.7 | optional |
|
|
168
|
+
| Angular 11 | = 7.2.7 | optional |
|
|
169
|
+
| Angular 12 | = 8.0.1 | optional |
|
|
170
|
+
| Angular 13 | >= 9.0.0 | optional |
|
|
171
|
+
| Angular 14 | >= 9.0.0 | optional |
|
|
172
|
+
| Angular 15 | >= 10.0.0 | optional |
|
|
174
173
|
|
|
175
174
|
*Version 8.0.0 requires at least Angular 12.*
|
|
176
175
|
*Version 9.0.0 requires at least Angular 13.*
|
|
176
|
+
*Version 10.0.0 requires at least Angular 15.*
|
|
177
177
|
|
|
178
178
|
<br>
|
|
179
179
|
|
|
@@ -181,6 +181,8 @@ You can use all default features without font-awesome. For more info, check offi
|
|
|
181
181
|
|
|
182
182
|
**More than 100 releases in two years**, and more to come... :)
|
|
183
183
|
|
|
184
|
+
- 11/17/2022 - 10.0.0 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
185
|
+
- 08/03/2022 - 10.0.0-rc.1 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
184
186
|
- 05/10/2022 - 9.1.0 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
185
187
|
- 04/23/2022 - 9.1.0-beta.2 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
186
188
|
- 04/14/2022 - 9.1.0-beta.1 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
@@ -216,13 +218,12 @@ You can use all default features without font-awesome. For more info, check offi
|
|
|
216
218
|
1. Question: **I have this error: `Cannot find name 'MousetrapInstance'`. What can I do?**<br>
|
|
217
219
|
**Answer**: Simply run `npm i --save-dev @types/mousetrap`
|
|
218
220
|
2. Question: **I have this error: `Error: No provider for KeyboardService`. What can I do?**<br>
|
|
219
|
-
**Answer**: You forgot to add .forRoot(), so KeyboardService will be never available as a service. Please read section "Installation" [HERE](https
|
|
220
|
-
://ks89.github.io/angular-modal-gallery-2021-v9.github.io/gettingStarted).
|
|
221
|
+
**Answer**: You forgot to add .forRoot(), so KeyboardService will be never available as a service. Please read section "Installation" [HERE](https://ks89.github.io/angular-modal-gallery-2022-v10.github.io/gettingStarted).
|
|
221
222
|
This is a common design pattern for Angular libraries. For more info check also [this issue](https://github.com/Ks89/angular-modal-gallery/issues/94).
|
|
222
223
|
3. Question: **How can I remove images using DELETE button without issues?**<br>
|
|
223
224
|
**Answer**: **You cannot change the input image array. Instead, you should reassign it with a newer array** without the deleted element.
|
|
224
225
|
In other words, **you must think in a functional way**, without changing the input array of images.
|
|
225
|
-
For more information check this official demo [HERE](https://ks89.github.io/angular-modal-gallery-
|
|
226
|
+
For more information check this official demo [HERE](https://ks89.github.io/angular-modal-gallery-2022-v10.github.io/demo/buttons-strategies).
|
|
226
227
|
|
|
227
228
|
<br>
|
|
228
229
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
The MIT License (MIT)
|
|
3
3
|
|
|
4
|
-
Copyright (C) 2017-
|
|
4
|
+
Copyright (C) 2017-2022 Stefano Cappa (Ks89)
|
|
5
5
|
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -117,9 +117,9 @@ export class AccessibleComponent {
|
|
|
117
117
|
return NOTHING;
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
|
-
AccessibleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
121
|
-
AccessibleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
122
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
120
|
+
AccessibleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: AccessibleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
121
|
+
AccessibleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: AccessibleComponent, selector: "ks-accessible", ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: AccessibleComponent, decorators: [{
|
|
123
123
|
type: Component,
|
|
124
124
|
args: [{
|
|
125
125
|
selector: 'ks-accessible',
|
|
@@ -127,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
127
127
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
128
128
|
}]
|
|
129
129
|
}], ctorParameters: function () { return []; } });
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzaWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rczg5L2FuZ3VsYXItbW9kYWwtZ2FsbGVyeS9zcmMvbGliL2NvbXBvbmVudHMvYWNjZXNzaWJsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5FLE9BQU8sRUFBRSxlQUFlLEVBQUUsdUJBQXVCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUVqSTs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixnQkFBZSxDQUFDO0lBRWhCOzs7OztPQUtHO0lBQ0gscUJBQXFCLENBQUMsU0FBaUIsRUFBRSxLQUFpQztRQUN4RSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxPQUFPLENBQUM7U0FDaEI7UUFDRCxJQUFJLEtBQUssWUFBWSxhQUFhLEVBQUU7WUFDbEMsT0FBTyxJQUFJLENBQUMsNkJBQTZCLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzdEO2FBQU0sSUFBSSxLQUFLLFlBQVksVUFBVSxFQUFFO1lBQ3RDLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMxRDtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsZ0JBQWdCLENBQUMsS0FBaUM7UUFDaEQsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO1FBQ0QsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO1lBQ2xDLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzdDO2FBQU0sSUFBSSxLQUFLLFlBQVksVUFBVSxFQUFFO1lBQ3RDLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyx3QkFBd0IsQ0FBQyxLQUFvQjtRQUNuRCxNQUFNLEdBQUcsR0FBVyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQy9CLElBQUksR0FBRyxLQUFLLFVBQVUsSUFBSSxHQUFHLEtBQUssVUFBVSxFQUFFO1lBQzVDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLHFCQUFxQixDQUFDLEtBQWlCO1FBQzdDLE1BQU0sUUFBUSxHQUFXLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDdEMsSUFBSSxRQUFRLEtBQUssdUJBQXVCLEVBQUU7WUFDeEMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLDZCQUE2QixDQUFDLFNBQWlCLEVBQUUsS0FBb0I7UUFDM0UsTUFBTSxHQUFHLEdBQVcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUMvQixJQUFJLEdBQUcsS0FBSyxVQUFVLElBQUksR0FBRyxLQUFLLFVBQVUsRUFBRTtZQUM1QyxPQUFPLFNBQVMsS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQ3BEO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssMEJBQTBCLENBQUMsU0FBaUIsRUFBRSxLQUFpQjtRQUNyRSxNQUFNLFFBQVEsR0FBVyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3RDLElBQUksUUFBUSxLQUFLLHVCQUF1QixFQUFFO1lBQ3hDLE9BQU8sU0FBUyxLQUFLLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDcEQ7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOztnSEExRlUsbUJBQW1CO29HQUFuQixtQkFBbUIscURBSHBCLEVBQUU7MkZBR0QsbUJBQW1CO2tCQUwvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuIFRoZSBNSVQgTGljZW5zZSAoTUlUKVxuXG4gQ29weXJpZ2h0IChDKSAyMDE3LTIwMjIgU3RlZmFubyBDYXBwYSAoS3M4OSlcblxuIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG4gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OIElORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERJUkVDVElPTl9SSUdIVCwgTU9VU0VfTUFJTl9CVVRUT05fQ0xJQ0ssIE5FWFQsIE5PVEhJTkcsIFBSRVYsIEVOVEVSX0NPREUsIFNQQUNFX0NPREUgfSBmcm9tICcuLi91dGlscy91c2VyLWlucHV0LnV0aWwnO1xuXG4vKipcbiAqIFByb3ZpZGVzIHNvbWUgdXNlZnVsIG1ldGhvZHMgdG8gYWRkIGFjY2Vzc2liaWxpdHkgZmVhdHVyZXMgdG8gc3ViY2xhc3Nlcy5cbiAqIEluIHBhcnRpY3VsYXIsIGl0IGV4cG9zZXMgYSBtZXRob2QgdG8gaGFuZGxlIG5hdmlnYXRpb24gZXZlbnQgd2l0aCBib3RoIEtleWJvYXJkIGFuZCBNb3VzZVxuICogYW5kIGFub3RoZXIgd2l0aCBhbHNvIHRoZSBkaXJlY3Rpb24gKHJpZ2h0IG9yIGxlZnQpLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrcy1hY2Nlc3NpYmxlJyxcbiAgdGVtcGxhdGU6IGBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBY2Nlc3NpYmxlQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAgKiBNZXRob2QgdG8gaGFuZGxlIG5hdmlnYXRpb24gZXZlbnRzIHdpdGggYm90aCBLZXlib2FyZCBhbmQgTW91c2UuXG4gICAqIEBwYXJhbSBzdHJpbmcgZGlyZWN0aW9uIG9mIHRoZSBuYXZpZ2F0aW9uIHRoYXQgY2FuIGJlIGVpdGhlciAnbmV4dCcgb3IgJ3ByZXYnXG4gICAqIEBwYXJhbSBLZXlib2FyZEV2ZW50IHwgTW91c2VFdmVudCBldmVudCBwYXlsb2FkXG4gICAqIEByZXR1cm5zIG51bWJlciAtMSBmb3IgUFJFViwgMSBmb3IgTkVYVCBhbmQgMCBmb3IgTk9USElOR1xuICAgKi9cbiAgaGFuZGxlTmF2aWdhdGlvbkV2ZW50KGRpcmVjdGlvbjogc3RyaW5nLCBldmVudDogS2V5Ym9hcmRFdmVudCB8IE1vdXNlRXZlbnQpOiBudW1iZXIge1xuICAgIGlmICghZXZlbnQpIHtcbiAgICAgIHJldHVybiBOT1RISU5HO1xuICAgIH1cbiAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVLZXlib2FyZE5hdmlnYXRpb25FdmVudChkaXJlY3Rpb24sIGV2ZW50KTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudCkge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlTW91c2VOYXZpZ2F0aW9uRXZlbnQoZGlyZWN0aW9uLCBldmVudCk7XG4gICAgfVxuICAgIHJldHVybiBOT1RISU5HO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0byBoYW5kbGUgZXZlbnRzIG92ZXIgYW4gaW1hZ2UsIGZvciBpbnN0YW5jZSBhIGtleXByZXNzIHdpdGggdGhlIEtleWJvYXJkIG9yIGEgTW91c2UgY2xpY2suXG4gICAqIEBwYXJhbSBldmVudCBLZXlib2FyZEV2ZW50IHwgTW91c2VFdmVudCBwYXlsb2FkXG4gICAqIEByZXR1cm5zIG51bWJlciAxIGZvciBORVhUIGFuZCAwIGZvciBOT1RISU5HXG4gICAqL1xuICBoYW5kbGVJbWFnZUV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50IHwgTW91c2VFdmVudCk6IG51bWJlciB7XG4gICAgaWYgKCFldmVudCkge1xuICAgICAgcmV0dXJuIE5PVEhJTkc7XG4gICAgfVxuICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEtleWJvYXJkRXZlbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZUltYWdlS2V5Ym9hcmRFdmVudChldmVudCk7XG4gICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZUltYWdlTW91c2VFdmVudChldmVudCk7XG4gICAgfVxuICAgIHJldHVybiBOT1RISU5HO1xuICB9XG5cbiAgLyoqXG4gICAqIFByaXZhdGUgbWV0aG9kIHRvIGhhbmRsZSBrZXlib2FyZCBldmVudHMgb3ZlciBhbiBpbWFnZS5cbiAgICogQHBhcmFtIGV2ZW50IEtleWJvYXJkRXZlbnQgcGF5bG9hZFxuICAgKiBAcmV0dXJucyBudW1iZXIgMSBmb3IgTkVYVCBhbmQgMCBmb3IgTk9USElOR1xuICAgKi9cbiAgcHJpdmF0ZSBoYW5kbGVJbWFnZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBudW1iZXIge1xuICAgIGNvbnN0IGtleTogc3RyaW5nID0gZXZlbnQuY29kZTtcbiAgICBpZiAoa2V5ID09PSBTUEFDRV9DT0RFIHx8IGtleSA9PT0gRU5URVJfQ09ERSkge1xuICAgICAgcmV0dXJuIE5FWFQ7XG4gICAgfVxuICAgIHJldHVybiBOT1RISU5HO1xuICB9XG5cbiAgLyoqXG4gICAqIFByaXZhdGUgbWV0aG9kIHRvIGhhbmRsZSBtb3VzZSBldmVudHMgb3ZlciBhbiBpbWFnZS5cbiAgICogQHBhcmFtIE1vdXNlRXZlbnQgZXZlbnQgcGF5bG9hZFxuICAgKiBAcmV0dXJucyBudW1iZXIgMSBmb3IgTkVYVCBhbmQgMCBmb3IgTk9USElOR1xuICAgKi9cbiAgcHJpdmF0ZSBoYW5kbGVJbWFnZU1vdXNlRXZlbnQoZXZlbnQ6IE1vdXNlRXZlbnQpOiBudW1iZXIge1xuICAgIGNvbnN0IG1vdXNlQnRuOiBudW1iZXIgPSBldmVudC5idXR0b247XG4gICAgaWYgKG1vdXNlQnRuID09PSBNT1VTRV9NQUlOX0JVVFRPTl9DTElDSykge1xuICAgICAgcmV0dXJuIE5FWFQ7XG4gICAgfVxuICAgIHJldHVybiBOT1RISU5HO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0byBoYW5kbGUgZXZlbnRzIG92ZXIgYW4gaW1hZ2UsIGZvciBpbnN0YW5jZSBhIGtleXByZXNzIHdpdGggdGhlIEtleWJvYXJkIG9yIGEgTW91c2UgY2xpY2suXG4gICAqIEBwYXJhbSBzdHJpbmcgZGlyZWN0aW9uIG9mIHRoZSBuYXZpZ2F0aW9uIHRoYXQgY2FuIGJlIGVpdGhlciAnbmV4dCcgb3IgJ3ByZXYnXG4gICAqIEBwYXJhbSBLZXlib2FyZEV2ZW50IGV2ZW50IHBheWxvYWRcbiAgICogQHJldHVybnMgbnVtYmVyIC0xIGZvciBQUkVWLCAxIGZvciBORVhUIGFuZCAwIGZvciBOT1RISU5HXG4gICAqL1xuICBwcml2YXRlIGhhbmRsZUtleWJvYXJkTmF2aWdhdGlvbkV2ZW50KGRpcmVjdGlvbjogc3RyaW5nLCBldmVudDogS2V5Ym9hcmRFdmVudCk6IG51bWJlciB7XG4gICAgY29uc3Qga2V5OiBzdHJpbmcgPSBldmVudC5jb2RlO1xuICAgIGlmIChrZXkgPT09IFNQQUNFX0NPREUgfHwga2V5ID09PSBFTlRFUl9DT0RFKSB7XG4gICAgICByZXR1cm4gZGlyZWN0aW9uID09PSBESVJFQ1RJT05fUklHSFQgPyBORVhUIDogUFJFVjtcbiAgICB9XG4gICAgcmV0dXJuIE5PVEhJTkc7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kIHRvIGhhbmRsZSBldmVudHMgb3ZlciBhbiBpbWFnZSwgZm9yIGluc3RhbmNlIGEga2V5cHJlc3Mgd2l0aCB0aGUgS2V5Ym9hcmQgb3IgYSBNb3VzZSBjbGljay5cbiAgICogQHBhcmFtIHN0cmluZyBkaXJlY3Rpb24gb2YgdGhlIG5hdmlnYXRpb24gdGhhdCBjYW4gYmUgZWl0aGVyICduZXh0JyBvciAncHJldidcbiAgICogQHBhcmFtIE1vdXNlRXZlbnQgZXZlbnQgcGF5bG9hZFxuICAgKiBAcmV0dXJucyBudW1iZXIgLTEgZm9yIFBSRVYsIDEgZm9yIE5FWFQgYW5kIDAgZm9yIE5PVEhJTkdcbiAgICovXG4gIHByaXZhdGUgaGFuZGxlTW91c2VOYXZpZ2F0aW9uRXZlbnQoZGlyZWN0aW9uOiBzdHJpbmcsIGV2ZW50OiBNb3VzZUV2ZW50KTogbnVtYmVyIHtcbiAgICBjb25zdCBtb3VzZUJ0bjogbnVtYmVyID0gZXZlbnQuYnV0dG9uO1xuICAgIGlmIChtb3VzZUJ0biA9PT0gTU9VU0VfTUFJTl9CVVRUT05fQ0xJQ0spIHtcbiAgICAgIHJldHVybiBkaXJlY3Rpb24gPT09IERJUkVDVElPTl9SSUdIVCA/IE5FWFQgOiBQUkVWO1xuICAgIH1cbiAgICByZXR1cm4gTk9USElORztcbiAgfVxufVxuIl19
|
|
@@ -32,8 +32,8 @@ import * as i1 from "@angular/cdk/layout";
|
|
|
32
32
|
import * as i2 from "@angular/platform-browser";
|
|
33
33
|
import * as i3 from "../../../services/config.service";
|
|
34
34
|
import * as i4 from "@angular/common";
|
|
35
|
-
import * as i5 from "../../../directives/
|
|
36
|
-
import * as i6 from "../../../directives/
|
|
35
|
+
import * as i5 from "../../../directives/size.directive";
|
|
36
|
+
import * as i6 from "../../../directives/fallback-image.directive";
|
|
37
37
|
/**
|
|
38
38
|
* Default max height of previews.
|
|
39
39
|
*/
|
|
@@ -433,9 +433,9 @@ export class CarouselPreviewsComponent extends AccessibleComponent {
|
|
|
433
433
|
return getIndex(this.currentImage, this.images) === boundaryIndex;
|
|
434
434
|
}
|
|
435
435
|
}
|
|
436
|
-
CarouselPreviewsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
437
|
-
CarouselPreviewsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
438
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
436
|
+
CarouselPreviewsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: CarouselPreviewsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.BreakpointObserver }, { token: i2.DomSanitizer }, { token: i3.ConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
437
|
+
CarouselPreviewsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: CarouselPreviewsComponent, selector: "ks-carousel-previews", inputs: { id: "id", currentImage: "currentImage", images: "images" }, outputs: { clickPreview: "clickPreview" }, host: { properties: { "style.max-width": "this.hostMaxWidth", "attr.aria-label": "this.ariaLabel" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<nav *ngIf=\"previewConfig?.visible\"\n class=\"previews-container\"\n [attr.aria-label]=\"accessibilityConfig?.carouselPreviewsContainerAriaLabel\"\n [title]=\"accessibilityConfig?.carouselPreviewsContainerTitle\">\n\n <a class=\"nav-left\"\n [attr.aria-label]=\"accessibilityConfig?.carouselPreviewScrollPrevAriaLabel\"\n [tabIndex]=\"previewConfig?.arrows && start > 0 ? 0 : -1\" role=\"button\"\n (click)=\"onNavigationEvent('left', $event)\" (keyup)=\"onNavigationEvent('left', $event)\">\n <div class=\"inside {{previewConfig?.arrows && start > 0 ? 'left-arrow-preview-image' : 'empty-arrow-preview-image'}}\"\n aria-hidden=\"true\"\n [title]=\"accessibilityConfig?.carouselPreviewScrollPrevTitle\"></div>\n </a>\n\n <div class=\"preview-inner-container\">\n <ng-container *ngFor=\"let preview of previews; trackBy: trackById; let index = index\">\n <img *ngIf=\"preview?.modal?.img\"\n class=\"inside preview-image{{isActive(preview) ? ' active' : ''}}{{!previewConfig?.clickable ? ' unclickable' : ''}}\"\n [src]=\"preview.plain?.img ? preview.plain?.img : preview.modal.img\"\n ksFallbackImage [fallbackImg]=\"preview.plain?.fallbackImg ? preview.plain?.fallbackImg : preview.modal.fallbackImg\"\n ksSize [sizeConfig]=\"{width: previewConfig?.width!,\n height: previewMaxHeight}\"\n [attr.aria-label]=\"getAriaLabel(preview)\"\n [title]=\"getTitle(preview)\"\n alt=\"{{getAlt(preview)}}\"\n [tabIndex]=\"0\" role=\"img\"\n (click)=\"onImageEvent(preview, $event, clickAction)\" (keyup)=\"onImageEvent(preview, $event, keyboardAction)\"/>\n </ng-container>\n </div>\n\n <a class=\"nav-right\"\n [attr.aria-label]=\"accessibilityConfig?.carouselPreviewScrollNextAriaLabel\"\n [tabIndex]=\"previewConfig?.arrows && end < images.length ? 0 : -1\" role=\"button\"\n (click)=\"onNavigationEvent('right', $event)\" (keyup)=\"onNavigationEvent('right', $event)\">\n <div class=\"inside {{previewConfig?.arrows && end < images.length ? 'right-arrow-preview-image' : 'empty-arrow-preview-image'}}\"\n aria-hidden=\"true\"\n [title]=\"accessibilityConfig?.carouselPreviewScrollNextTitle\"></div>\n </a>\n\n</nav>\n", styles: [":host{position:relative;margin-top:3px;margin-bottom:3px;width:100%}.previews-container{align-items:center;animation:fadein-semi-visible08 .8s;display:flex;flex-direction:row;justify-content:center;margin-bottom:0}.previews-container>.preview-inner-container{display:flex;flex-direction:row;justify-content:center;align-items:center;flex-wrap:nowrap;width:100%}.previews-container>.preview-inner-container>.preview-image{cursor:pointer;object-fit:cover}.previews-container>.preview-inner-container>.preview-image.unclickable{cursor:not-allowed}.previews-container .nav,.previews-container>.nav-right,.previews-container>.nav-left{position:absolute;top:calc(50% - 7px);color:#919191;z-index:1000;cursor:pointer;transition:all .5s}.previews-container .nav:hover,.previews-container>.nav-right:hover,.previews-container>.nav-left:hover{transform:scale(1.1)}.previews-container>.nav-left{margin-right:10px;left:10px}.previews-container>.nav-left>.left-arrow-preview-image{opacity:1}.previews-container>.nav-right{margin-left:10px;right:10px}.previews-container>.nav-right>.right-arrow-preview-image{opacity:1}\n", ".arrow-preview-image,.right-arrow-preview-image,.left-arrow-preview-image,.empty-arrow-preview-image{width:15px;height:15px;opacity:.5}.empty-arrow-preview-image{background:black;opacity:0}.left-arrow-preview-image{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/PjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQ3Ny4xNzUgNDc3LjE3NSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDc3LjE3NSA0NzcuMTc1OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjUxMnB4IiBoZWlnaHQ9IjUxMnB4Ij48Zz48cGF0aCBkPSJNMTQ1LjE4OCwyMzguNTc1bDIxNS41LTIxNS41YzUuMy01LjMsNS4zLTEzLjgsMC0xOS4xcy0xMy44LTUuMy0xOS4xLDBsLTIyNS4xLDIyNS4xYy01LjMsNS4zLTUuMywxMy44LDAsMTkuMWwyMjUuMSwyMjUgICBjMi42LDIuNiw2LjEsNCw5LjUsNHM2LjktMS4zLDkuNS00YzUuMy01LjMsNS4zLTEzLjgsMC0xOS4xTDE0NS4xODgsMjM4LjU3NXoiIGZpbGw9IiNGRkZGRkYiLz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PC9zdmc+);background-size:15px;transition:all .5s}.left-arrow-preview-image:hover{transform:scale(1.2)}.right-arrow-preview-image{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/PjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQ3Ny4xNzUgNDc3LjE3NSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDc3LjE3NSA0NzcuMTc1OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjUxMnB4IiBoZWlnaHQ9IjUxMnB4Ij48Zz48cGF0aCBkPSJNMzYwLjczMSwyMjkuMDc1bC0yMjUuMS0yMjUuMWMtNS4zLTUuMy0xMy44LTUuMy0xOS4xLDBzLTUuMywxMy44LDAsMTkuMWwyMTUuNSwyMTUuNWwtMjE1LjUsMjE1LjUgICBjLTUuMyw1LjMtNS4zLDEzLjgsMCwxOS4xYzIuNiwyLjYsNi4xLDQsOS41LDRjMy40LDAsNi45LTEuMyw5LjUtNGwyMjUuMS0yMjUuMUMzNjUuOTMxLDI0Mi44NzUsMzY1LjkzMSwyMzQuMjc1LDM2MC43MzEsMjI5LjA3NXogICAiIGZpbGw9IiNGRkZGRkYiLz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PC9zdmc+);background-size:15px;transition:all .5s}.right-arrow-preview-image:hover{transform:scale(1.2)}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.SizeDirective, selector: "[ksSize]", inputs: ["sizeConfig"] }, { kind: "directive", type: i6.FallbackImageDirective, selector: "[ksFallbackImage]", inputs: ["fallbackImg"], outputs: ["fallbackApplied"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
438
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: CarouselPreviewsComponent, decorators: [{
|
|
439
439
|
type: Component,
|
|
440
440
|
args: [{ selector: 'ks-carousel-previews', changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav *ngIf=\"previewConfig?.visible\"\n class=\"previews-container\"\n [attr.aria-label]=\"accessibilityConfig?.carouselPreviewsContainerAriaLabel\"\n [title]=\"accessibilityConfig?.carouselPreviewsContainerTitle\">\n\n <a class=\"nav-left\"\n [attr.aria-label]=\"accessibilityConfig?.carouselPreviewScrollPrevAriaLabel\"\n [tabIndex]=\"previewConfig?.arrows && start > 0 ? 0 : -1\" role=\"button\"\n (click)=\"onNavigationEvent('left', $event)\" (keyup)=\"onNavigationEvent('left', $event)\">\n <div class=\"inside {{previewConfig?.arrows && start > 0 ? 'left-arrow-preview-image' : 'empty-arrow-preview-image'}}\"\n aria-hidden=\"true\"\n [title]=\"accessibilityConfig?.carouselPreviewScrollPrevTitle\"></div>\n </a>\n\n <div class=\"preview-inner-container\">\n <ng-container *ngFor=\"let preview of previews; trackBy: trackById; let index = index\">\n <img *ngIf=\"preview?.modal?.img\"\n class=\"inside preview-image{{isActive(preview) ? ' active' : ''}}{{!previewConfig?.clickable ? ' unclickable' : ''}}\"\n [src]=\"preview.plain?.img ? preview.plain?.img : preview.modal.img\"\n ksFallbackImage [fallbackImg]=\"preview.plain?.fallbackImg ? preview.plain?.fallbackImg : preview.modal.fallbackImg\"\n ksSize [sizeConfig]=\"{width: previewConfig?.width!,\n height: previewMaxHeight}\"\n [attr.aria-label]=\"getAriaLabel(preview)\"\n [title]=\"getTitle(preview)\"\n alt=\"{{getAlt(preview)}}\"\n [tabIndex]=\"0\" role=\"img\"\n (click)=\"onImageEvent(preview, $event, clickAction)\" (keyup)=\"onImageEvent(preview, $event, keyboardAction)\"/>\n </ng-container>\n </div>\n\n <a class=\"nav-right\"\n [attr.aria-label]=\"accessibilityConfig?.carouselPreviewScrollNextAriaLabel\"\n [tabIndex]=\"previewConfig?.arrows && end < images.length ? 0 : -1\" role=\"button\"\n (click)=\"onNavigationEvent('right', $event)\" (keyup)=\"onNavigationEvent('right', $event)\">\n <div class=\"inside {{previewConfig?.arrows && end < images.length ? 'right-arrow-preview-image' : 'empty-arrow-preview-image'}}\"\n aria-hidden=\"true\"\n [title]=\"accessibilityConfig?.carouselPreviewScrollNextTitle\"></div>\n </a>\n\n</nav>\n", styles: [":host{position:relative;margin-top:3px;margin-bottom:3px;width:100%}.previews-container{align-items:center;animation:fadein-semi-visible08 .8s;display:flex;flex-direction:row;justify-content:center;margin-bottom:0}.previews-container>.preview-inner-container{display:flex;flex-direction:row;justify-content:center;align-items:center;flex-wrap:nowrap;width:100%}.previews-container>.preview-inner-container>.preview-image{cursor:pointer;object-fit:cover}.previews-container>.preview-inner-container>.preview-image.unclickable{cursor:not-allowed}.previews-container .nav,.previews-container>.nav-right,.previews-container>.nav-left{position:absolute;top:calc(50% - 7px);color:#919191;z-index:1000;cursor:pointer;transition:all .5s}.previews-container .nav:hover,.previews-container>.nav-right:hover,.previews-container>.nav-left:hover{transform:scale(1.1)}.previews-container>.nav-left{margin-right:10px;left:10px}.previews-container>.nav-left>.left-arrow-preview-image{opacity:1}.previews-container>.nav-right{margin-left:10px;right:10px}.previews-container>.nav-right>.right-arrow-preview-image{opacity:1}\n", ".arrow-preview-image,.right-arrow-preview-image,.left-arrow-preview-image,.empty-arrow-preview-image{width:15px;height:15px;opacity:.5}.empty-arrow-preview-image{background:black;opacity:0}.left-arrow-preview-image{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/PjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQ3Ny4xNzUgNDc3LjE3NSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDc3LjE3NSA0NzcuMTc1OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjUxMnB4IiBoZWlnaHQ9IjUxMnB4Ij48Zz48cGF0aCBkPSJNMTQ1LjE4OCwyMzguNTc1bDIxNS41LTIxNS41YzUuMy01LjMsNS4zLTEzLjgsMC0xOS4xcy0xMy44LTUuMy0xOS4xLDBsLTIyNS4xLDIyNS4xYy01LjMsNS4zLTUuMywxMy44LDAsMTkuMWwyMjUuMSwyMjUgICBjMi42LDIuNiw2LjEsNCw5LjUsNHM2LjktMS4zLDkuNS00YzUuMy01LjMsNS4zLTEzLjgsMC0xOS4xTDE0NS4xODgsMjM4LjU3NXoiIGZpbGw9IiNGRkZGRkYiLz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PC9zdmc+);background-size:15px;transition:all .5s}.left-arrow-preview-image:hover{transform:scale(1.2)}.right-arrow-preview-image{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/PjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQ3Ny4xNzUgNDc3LjE3NSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDc3LjE3NSA0NzcuMTc1OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjUxMnB4IiBoZWlnaHQ9IjUxMnB4Ij48Zz48cGF0aCBkPSJNMzYwLjczMSwyMjkuMDc1bC0yMjUuMS0yMjUuMWMtNS4zLTUuMy0xMy44LTUuMy0xOS4xLDBzLTUuMywxMy44LDAsMTkuMWwyMTUuNSwyMTUuNWwtMjE1LjUsMjE1LjUgICBjLTUuMyw1LjMtNS4zLDEzLjgsMCwxOS4xYzIuNiwyLjYsNi4xLDQsOS41LDRjMy40LDAsNi45LTEuMyw5LjUtNGwyMjUuMS0yMjUuMUMzNjUuOTMxLDI0Mi44NzUsMzY1LjkzMSwyMzQuMjc1LDM2MC43MzEsMjI5LjA3NXogICAiIGZpbGw9IiNGRkZGRkYiLz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PC9zdmc+);background-size:15px;transition:all .5s}.right-arrow-preview-image:hover{transform:scale(1.2)}\n"] }]
|
|
441
441
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.BreakpointObserver }, { type: i2.DomSanitizer }, { type: i3.ConfigService }]; }, propDecorators: { hostMaxWidth: [{
|