@ks89/angular-modal-gallery 15.0.0 → 16.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 +60 -0
- package/CONTRIBUTING.md +3 -3
- package/README.md +94 -100
- package/fesm2022/ks89-angular-modal-gallery.mjs +392 -307
- package/fesm2022/ks89-angular-modal-gallery.mjs.map +1 -1
- package/package.json +36 -29
- package/types/ks89-angular-modal-gallery.d.ts +76 -94
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,63 @@
|
|
|
1
|
+
# 16.0.0
|
|
2
|
+
|
|
3
|
+
Attention: this release could contain breaking changes if you were using relative paths like '../' or other dangerous things that are now validated and blocked.
|
|
4
|
+
Please read `Security fixes` section carefully to understand what has changed and check your app if everthing is ok.
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
- **IMPORTANT**: `img` and `fallbackImg` paths are now validated, so relative paths like '../' are now blocked. Please use only either absolute paths, '/' or './' **(BREAKING CHANGE)**
|
|
9
|
+
- Angular 22 is required **(BREAKING CHANGE)**
|
|
10
|
+
-
|
|
11
|
+
- Removed the internal modal attach bridge based on EventEmitter and provideAppInitializer()
|
|
12
|
+
- ModalGalleryService.open() now attaches the modal ComponentPortal directly using the MODAL_GALLERY_COMPONENT injection token
|
|
13
|
+
- Fixed carousel timer cleanup in CurrentImageComponent with DestroyRef, takeUntilDestroyed(), and completed start$ / stop$ streams
|
|
14
|
+
- Applied the same timer cleanup fix to CarouselComponent
|
|
15
|
+
- Made ModalGalleryRef.closeModal() idempotent and complete all public modal streams when closing
|
|
16
|
+
- Replaced direct window / global document access with injected Angular DOCUMENT and browser guards
|
|
17
|
+
- Replaced setTimeout(..., 0) modal image initialization with Angular afterNextRender()
|
|
18
|
+
- Fixed external new-tab navigation to use window.open(url, '_blank', 'noopener,noreferrer')
|
|
19
|
+
- Updated modal-gallery specs for the new direct overlay attach flow
|
|
20
|
+
- Removed obsolete attach-to-overlay service specs
|
|
21
|
+
- Added modal ref stream completion coverage
|
|
22
|
+
|
|
23
|
+
### Security fixes
|
|
24
|
+
|
|
25
|
+
- fallback-image.directive.ts: ../ relative paths allowed in fallback image src enabled unintended same-origin requests via path traversal. Fixed by removing ../ from the URL allowlist while keeping / and ./ prefixes.
|
|
26
|
+
- carousel-previews.component.ts: Height parsing used string literals instead of regex — .replace('/px/g', '') was a no-op. Fixed by using proper regex literals for removing px and % units.
|
|
27
|
+
- modal-gallery.component.ts: No URL protocol validation on extUrl allowed javascript: and data: schemes. Fixed by adding /^https?:///i allowlist check before window.open or window.location.href.
|
|
28
|
+
- carousel.component.ts + carousel.html: [innerHTML] bound to raw image.modal.description caused XSS via HTML injection. Fixed by sanitizing return value of getDescriptionToDisplay() via DomSanitizer.sanitize(SecurityContext.HTML, ...).
|
|
29
|
+
- current-image.component.ts + current-image.html: Same [innerHTML] XSS issue in the modal view. Fixed with same DomSanitizer.sanitize(SecurityContext.HTML, ...) applied in getDescriptionToDisplay().
|
|
30
|
+
- a-tag-bg-image.directive.ts: imgPath interpolated directly into CSS url("...") allowed a quote in the path to break out of the CSS string. Fixed by encoding " to %22 in both primary and fallback image paths before CSS interpolation.
|
|
31
|
+
- description.directive.ts: CSS property values applied without validation allowed expression(), javascript:, and context-break characters. Fixed by adding sanitizeCssValue() to blacklist expression(, javascript:, and ;{} plus sanitizePosition() with strict allowlist.
|
|
32
|
+
- modal-gallery.component.ts: TOCTOU issue: safeUrl was validated but the original eventToEmit.image.modal.extUrl was still passed to window.open and updateLocationHref. Fixed by changing both call sites to use the validated safeUrl variable.
|
|
33
|
+
- modal-gallery.component.ts: MIME type extracted from data: URI without validation allowed svg+xml, text/html, etc. Fixed by adding allowlist accepting only png, jpeg, jpg, gif, webp, and bmp.
|
|
34
|
+
- plain-gallery.component.ts: No bounds check on size values produced nonsensical layout with extremely large pixels or breakConfig.length. Fixed by adding isFinite and range guards: pixels <= 10,000 and length <= 1,000.
|
|
35
|
+
- modal-gallery.component.ts: atob() called without try/catch threw DOMException on malformed base64 and crashed the UI. Fixed by wrapping in try/catch and returning empty Blob on failure.
|
|
36
|
+
|
|
37
|
+
### Bugfixes
|
|
38
|
+
|
|
39
|
+
- replace `trackById` with `btn.id` in `upper-buttons.html` component to fix warning: 'NG0955: The provided track expression resulted in duplicated keys for a given collection'
|
|
40
|
+
|
|
41
|
+
### Tests
|
|
42
|
+
|
|
43
|
+
- new test for `directives/swipe.directive.spec.ts`
|
|
44
|
+
- Add tests in `components/carousel/carousel.component.spec.ts` for `onMouseEnter`, `onMouseLeave`, `onKeyDownLeft`, `onKeyDownLRight`, `onClickDot`, `onNavigationEvent`, `onClickCurrentImage`, `swipe`, inverted swipe, `prevImage`, and `onClickPreview`
|
|
45
|
+
- Add tests in `components/current-image/current-image.component.spec.ts` for `onKeyPress`, `onMouseEnter`, `onMouseLeave`, `onImageLoad`, and `playCarousel` autoplay behavior
|
|
46
|
+
|
|
47
|
+
### Documentation
|
|
48
|
+
|
|
49
|
+
- upgrade doc website to Angular 22
|
|
50
|
+
- fix security issues
|
|
51
|
+
- rewrite all texts in a better form with AI support
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
# 15.0.1
|
|
55
|
+
|
|
56
|
+
### Chores
|
|
57
|
+
|
|
58
|
+
- remove useless console.log in description directive #276 (reported by @VK93YQ9)
|
|
59
|
+
|
|
60
|
+
|
|
1
61
|
# 15.0.0
|
|
2
62
|
|
|
3
63
|
### Features
|
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-22`
|
|
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/browser && 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-22 example
|
|
35
|
+
1. `cd examples/angular-cli-22`
|
|
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/browser && lite-server` => if everything is ok (also in browser's console), kill the process and go to the next step
|
package/README.md
CHANGED
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
<h1 align="center">
|
|
2
2
|
<br>
|
|
3
|
-
<img src="https://raw.githubusercontent.com/Ks89/angular-modal-gallery/develop/readme-images/favicon-192x192.png" alt="@ks89/angular-modal-gallery" width="
|
|
4
|
-
<br>
|
|
5
|
-
<br>
|
|
6
|
-
@ks89/angular-modal-gallery
|
|
3
|
+
<img src="https://raw.githubusercontent.com/Ks89/angular-modal-gallery/develop/readme-images/favicon-192x192.png" alt="@ks89/angular-modal-gallery" width="160">
|
|
7
4
|
<br>
|
|
5
|
+
@ks89/angular-modal-gallery
|
|
8
6
|
</h1>
|
|
9
7
|
|
|
10
|
-
<
|
|
8
|
+
<p align="center">
|
|
9
|
+
<b>Modern Angular image galleries with modal, carousel, and thumbnail-grid layouts, built for Angular 22, SSR, accessibility, and standalone components.</b>
|
|
10
|
+
</p>
|
|
11
|
+
|
|
12
|
+
<p align="center">
|
|
13
|
+
<a href="https://ks89.github.io/angular-modal-gallery-2026-v16.github.io/"><b>Live Demo</b></a>
|
|
14
|
+
·
|
|
15
|
+
<a href="https://ks89.github.io/angular-modal-gallery-2026-v16.github.io/"><b>Documentation</b></a>
|
|
16
|
+
·
|
|
17
|
+
<a href="https://www.npmjs.com/package/@ks89/angular-modal-gallery"><b>npm</b></a>
|
|
18
|
+
</p>
|
|
19
|
+
|
|
11
20
|
<br>
|
|
12
21
|
<p align="center">
|
|
13
22
|
Despite its name, this library is more than for modal galleries, because I'm introducing new features every major release. In fact, It's composed by 3 main parts:</p>
|
|
@@ -38,16 +47,8 @@ Despite its name, this library is more than for modal galleries, because I'm int
|
|
|
38
47
|
<p align="center">
|
|
39
48
|
<a href="https://github.com/Ks89/angular-modal-gallery/actions/workflows/main.yml"><img src="https://github.com/Ks89/angular-modal-gallery/actions/workflows/main.yml/badge.svg" alt="Github Actions CI result"></a>
|
|
40
49
|
</p>
|
|
41
|
-
<p align="center">
|
|
42
|
-
<a href="https://snyk.io/test/github/ks89/angular-modal-gallery"><img src="https://snyk.io/test/github/ks89/angular-modal-gallery/badge.svg" alt="Known Vulnerabilities"></a>
|
|
43
|
-
<a href="https://david-dm.org/Ks89/angular-modal-gallery"><img src="https://status.david-dm.org/gh/Ks89/angular-modal-gallery.svg" alt="david-dm Dependencies"></a>
|
|
44
|
-
<a href="https://app.fossa.io/projects/git%2Bgithub.com%2FKs89%2Fangular-modal-gallery?ref=badge_shield"><img src="https://app.fossa.io/api/projects/git%2Bgithub.com%2FKs89%2Fangular-modal-gallery.svg?type=shield" alt="FOSSA Status"></a>
|
|
45
|
-
<a href="https://github.com/prettier/prettier"><img src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square" alt="code style: prettier"></a>
|
|
46
|
-
</p>
|
|
47
50
|
<p align="center">
|
|
48
51
|
<a href="https://coveralls.io/github/Ks89/angular-modal-gallery?branch=master"><img src="https://coveralls.io/repos/github/Ks89/angular-modal-gallery/badge.svg?branch=master" alt="Coveralls Coverage"></a>
|
|
49
|
-
</p>
|
|
50
|
-
<p align="center">
|
|
51
52
|
<a href="https://www.npmjs.com/package/@ks89/angular-modal-gallery"><img src="https://img.shields.io/badge/angular--style--guide-compliant-brightgreen.svg" alt="AngularStyleGuide"></a>
|
|
52
53
|
</p>
|
|
53
54
|
<p align="center">
|
|
@@ -64,11 +65,11 @@ Despite its name, this library is more than for modal galleries, because I'm int
|
|
|
64
65
|
|
|
65
66
|
## Table of Contents
|
|
66
67
|
|
|
67
|
-
1. **[
|
|
68
|
-
2. **[
|
|
69
|
-
3. **[
|
|
70
|
-
4. **[
|
|
71
|
-
5. **[Choose the version](#warning-choose-the-version-warning)**
|
|
68
|
+
1. **[Features](#boom-features-boom)**
|
|
69
|
+
2. **[Installation](#package-installation-package)**
|
|
70
|
+
3. **[OFFICIAL DOCUMENTATION](#book-documentation-book)**
|
|
71
|
+
4. **[Main parts](#rocket-main-parts-rocket)**
|
|
72
|
+
5. **[Choose the right version](#warning-choose-the-right-version-warning)**
|
|
72
73
|
6. **[News](#fire-news-fire)**
|
|
73
74
|
7. **[FAQS](#question-faqs-question)**
|
|
74
75
|
8. **[Contributing](#computer-contributing-computer)**
|
|
@@ -77,6 +78,41 @@ Despite its name, this library is more than for modal galleries, because I'm int
|
|
|
77
78
|
|
|
78
79
|
<br>
|
|
79
80
|
|
|
81
|
+
|
|
82
|
+
## :boom: Features :boom:
|
|
83
|
+
|
|
84
|
+
- Angular 22 ready: packaged as a modern Angular library and compatible with the Angular Package Format.
|
|
85
|
+
- SSR compatible: it works with Angular Universal/server-side rendering use cases.
|
|
86
|
+
- Three gallery modes: use a modal gallery, plain thumbnail gallery, or carousel from the same package.
|
|
87
|
+
- Accessible interactions: supports ARIA, keyboard navigation, mouse events, and swipe gestures. Also, it follows [toptal.com](https://www.toptal.com/designers/colorfilter) criteria (tested with `Sim Daltonism` for macOS).
|
|
88
|
+
- official examples with `angular-cli`, `angular-cli + material` and `angular-universal` [HERE](https://github.com/Ks89/angular-modal-gallery/tree/master/examples)
|
|
89
|
+
- **click outside feature** to close the modal gallery clicking on the background
|
|
90
|
+
- image **download** with buttons or keyboard shortcuts
|
|
91
|
+
- fully configurable default buttons to either close, download, navigate to an external url or delete images and so on
|
|
92
|
+
- support custom buttons with both pre and after hooks
|
|
93
|
+
- unit testing with high % coverage
|
|
94
|
+
- and many more... (check the official documentation [HERE](https://ks89.github.io/angular-modal-gallery-2026-v16.github.io/))
|
|
95
|
+
|
|
96
|
+
<br>
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
## :package: Installation :package:
|
|
100
|
+
|
|
101
|
+
- `npm install --save @ks89/angular-modal-gallery`
|
|
102
|
+
- `npm install --save @angular/cdk`
|
|
103
|
+
|
|
104
|
+
<br>
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
## :book: **Documentation** :book:
|
|
108
|
+
|
|
109
|
+
*Image loading could be slow, because this website is hosted on Github pages*
|
|
110
|
+
|
|
111
|
+
[OFFICIAL DOCUMENTATION WEBSITE](https://ks89.github.io/angular-modal-gallery-2026-v16.github.io/)
|
|
112
|
+
|
|
113
|
+
<br>
|
|
114
|
+
|
|
115
|
+
|
|
80
116
|
## :rocket: Main parts :rocket:
|
|
81
117
|
|
|
82
118
|
### Carousel
|
|
@@ -111,69 +147,25 @@ Despite its name, this library is more than for modal galleries, because I'm int
|
|
|
111
147
|
|
|
112
148
|
<br>
|
|
113
149
|
|
|
114
|
-
## :boom: Features :boom:
|
|
115
|
-
- Angular Module to import this library
|
|
116
|
-
- compliant to Angular Package Format specifications and recommendations
|
|
117
|
-
- **use [Semantic versioning 2.0.0](http://semver.org/)** also known as 'semver'
|
|
118
|
-
- official examples with `angular-cli`, `angular-cli + material` and `angular-universal` [HERE](https://github.com/Ks89/angular-modal-gallery/tree/master/examples)
|
|
119
|
-
- unit testing with high % coverage
|
|
120
|
-
- **Server Side Rendering** support with angular-universal
|
|
121
|
-
- Web Accessibility features, like ARIA support and [toptal.com](https://www.toptal.com/designers/colorfilter) criteria (tested with `Sim Daltonism` for macOS)
|
|
122
|
-
- image **download** with buttons or keyboard shortcuts
|
|
123
|
-
- fully configurable default buttons to either close, download, navigate to an external url or delete images and so on
|
|
124
|
-
- support custom buttons with both pre and after hooks
|
|
125
|
-
- **click outside feature** to close the modal gallery clicking on the background
|
|
126
|
-
- configurable **plain gallery**
|
|
127
|
-
- configurable **carousel**
|
|
128
|
-
- configurable side-previews (visible only on bigger screen)
|
|
129
|
-
- configurable dots navigation (visible only on bigger screen)
|
|
130
|
-
- configurable previews (visible only on bigger screen)
|
|
131
|
-
- and many more... (check the official documentation [HERE](https://ks89.github.io/angular-modal-gallery-2025-v15.github.io/))
|
|
132
|
-
|
|
133
|
-
<br>
|
|
134
|
-
|
|
135
|
-
## :package: Installation :package:
|
|
136
|
-
|
|
137
|
-
- `npm install --save @ks89/angular-modal-gallery`
|
|
138
|
-
- `npm install --save @angular/cdk`
|
|
139
|
-
|
|
140
|
-
From version @ks89/angular-modal-gallery >= 5.0.0, **font-awesome isn't a mandatory dependency**.
|
|
141
|
-
You can use all default features without font-awesome. For more info, check official [documentation website](https://ks89.github.io/angular-modal-gallery-2025-v15.github.io/).
|
|
142
|
-
From version @ks89/angular-modal-gallery >= 11.0.0, **mousetrap and hammerjs have been removed as dependencies**.
|
|
143
|
-
|
|
144
|
-
<br>
|
|
145
|
-
|
|
146
|
-
## :book: **Documentation** :book:
|
|
147
|
-
|
|
148
|
-
*Image loading could be slow, because this website is hosted on Github pages*
|
|
149
|
-
|
|
150
|
-
[OFFICIAL DOCUMENTATION WEBSITE](https://ks89.github.io/angular-modal-gallery-2025-v15.github.io/)
|
|
151
|
-
|
|
152
|
-
<br>
|
|
153
150
|
|
|
154
151
|
## :warning: Choose the right version :warning:
|
|
155
152
|
|
|
156
|
-
|
|
|
157
|
-
|
|
158
|
-
| AngularJS
|
|
159
|
-
| Angular 2
|
|
160
|
-
| Angular 4
|
|
161
|
-
| Angular 5
|
|
162
|
-
| Angular 6 | = 7.2.7 | optional |
|
|
163
|
-
| Angular
|
|
164
|
-
| Angular
|
|
165
|
-
| Angular
|
|
166
|
-
| Angular
|
|
167
|
-
| Angular
|
|
168
|
-
| Angular
|
|
169
|
-
| Angular
|
|
170
|
-
| Angular
|
|
171
|
-
| Angular
|
|
172
|
-
| Angular 16 | = 11.1.1 | optional |
|
|
173
|
-
| Angular 17 | = 11.1.1 | optional |
|
|
174
|
-
| Angular 18 | = 12.0.0 | optional |
|
|
175
|
-
| Angular 19 | = 13.0.0 | optional |
|
|
176
|
-
| Angular 20 | >= 15.0.0 | optional |
|
|
153
|
+
| | @ks89/angular-modal-gallery | font-awesome |
|
|
154
|
+
|-----------------|:---------------------------:| :---: |
|
|
155
|
+
| AngularJS | NOT SUPPORTED | |
|
|
156
|
+
| Angular 2 | = 3.3.5 | >= 4.0.0 |
|
|
157
|
+
| Angular 4 | = 5.7.1 | optional |
|
|
158
|
+
| Angular 5 | = 6.3.0 | optional |
|
|
159
|
+
| Angular 6 - 11 | = 7.2.7 | optional |
|
|
160
|
+
| Angular 12 | = 8.0.1 | optional |
|
|
161
|
+
| Angular 13 - 14 | = 9.1.0 | optional |
|
|
162
|
+
| Angular 15 | = 10.0.1 | optional |
|
|
163
|
+
| Angular 16 - 17 | = 11.1.1 | optional |
|
|
164
|
+
| Angular 18 | = 12.0.0 | optional |
|
|
165
|
+
| Angular 19 | = 13.0.0 | optional |
|
|
166
|
+
| Angular 20 | = 14.0.0 | optional |
|
|
167
|
+
| Angular 21 | = 15.0.1 | optional |
|
|
168
|
+
| Angular 22 | >= 16.0.0 | optional |
|
|
177
169
|
|
|
178
170
|
<br>
|
|
179
171
|
|
|
@@ -181,36 +173,38 @@ From version @ks89/angular-modal-gallery >= 11.0.0, **mousetrap and hammerjs hav
|
|
|
181
173
|
|
|
182
174
|
**More than 120 releases**, and more to come... :)
|
|
183
175
|
|
|
184
|
-
-
|
|
185
|
-
-
|
|
186
|
-
-
|
|
187
|
-
- 12/
|
|
188
|
-
-
|
|
189
|
-
-
|
|
176
|
+
- 06/06/2026 - 16.0.0 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
177
|
+
- 25/03/2026 - 15.0.1 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
178
|
+
- 22/12/2025 - 15.0.0 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
179
|
+
- 12/09/2025 - 15.0.0-alpha.1 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
180
|
+
- 20/08/2025 - 14.0.0 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
181
|
+
- 22/12/2024 - 13.0.0 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
182
|
+
- 31/05/2024 - 12.0.0 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
183
|
+
- 21/01/2024 - 11.1.2 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
190
184
|
- ... (many 11.x.x versions)
|
|
191
|
-
- 07/
|
|
192
|
-
- 11/
|
|
193
|
-
- 11/
|
|
194
|
-
- 05/
|
|
185
|
+
- 08/07/2023 - 11.0.0 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
186
|
+
- 18/11/2022 - 10.0.1 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
187
|
+
- 17/11/2022 - 10.0.0 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
188
|
+
- 10/05/2022 - 9.1.0 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
195
189
|
- ... (other 9.x.x versions)
|
|
196
|
-
- 11/
|
|
197
|
-
- 09/
|
|
198
|
-
- 07/
|
|
190
|
+
- 06/11/2021 - 9.0.0 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
191
|
+
- 27/09/2021 - 8.0.1 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
192
|
+
- 10/07/2021 - 8.0.0 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
199
193
|
- ... (many beta 8.x.x versions)
|
|
200
|
-
- 12/
|
|
194
|
+
- 05/12/2020 - 7.2.7 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
201
195
|
- ... (many minor 7.x.x versions)
|
|
202
|
-
- 12/
|
|
203
|
-
- 10/
|
|
196
|
+
- 06/12/2018 - 7.0.0 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
197
|
+
- 11/10/2018 - 6.3.0 - angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
204
198
|
- ... (many minor 6.x.x versions)
|
|
205
|
-
- 06/
|
|
199
|
+
- 10/06/2018 - 6.0.0 - @ks89/angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
206
200
|
- ... (many minor 5.x.x versions)
|
|
207
|
-
- 02/
|
|
201
|
+
- 27/02/2018 - 5.0.0 - angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
208
202
|
- ... (many minor 4.x.x versions)
|
|
209
|
-
- 11/
|
|
203
|
+
- 05/11/2017 - 4.0.0 - angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
210
204
|
- ... (many minor 3.x.x versions)
|
|
211
|
-
- 03/
|
|
205
|
+
- 20/03/2017 - 3.0.0 - angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
212
206
|
- ... (many minor 2.x.x versions)
|
|
213
|
-
- 01/
|
|
207
|
+
- 29/01/2017 - 2.0.0 - angular-modal-gallery - [HERE](https://github.com/Ks89/angular-modal-gallery/releases)
|
|
214
208
|
|
|
215
209
|
<br>
|
|
216
210
|
|
|
@@ -219,7 +213,7 @@ From version @ks89/angular-modal-gallery >= 11.0.0, **mousetrap and hammerjs hav
|
|
|
219
213
|
1. Question: **How can I remove images using DELETE button without issues?**<br>
|
|
220
214
|
**Answer**: **You cannot change the input image array. Instead, you should reassign it with a newer array** without the deleted element.
|
|
221
215
|
In other words, **you must think in a functional way**, without changing the input array of images.
|
|
222
|
-
For more information check this official demo [HERE](https://ks89.github.io/angular-modal-gallery-
|
|
216
|
+
For more information check this official demo [HERE](https://ks89.github.io/angular-modal-gallery-2026-v16.github.io/demo/buttons-strategies).
|
|
223
217
|
|
|
224
218
|
<br>
|
|
225
219
|
|