@udilhan/ngx-photo-gallery 1.5.18 → 1.5.19
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/esm2020/lib/directives/photo-gallery-group.directive.mjs +2 -2
- package/fesm2015/twogate-ngx-photo-gallery.mjs +1 -1
- package/fesm2015/twogate-ngx-photo-gallery.mjs.map +1 -1
- package/fesm2020/twogate-ngx-photo-gallery.mjs +1 -1
- package/fesm2020/twogate-ngx-photo-gallery.mjs.map +1 -1
- package/package.json +1 -1
@@ -186,7 +186,7 @@ export class PhotoGalleryGroupDirective {
|
|
186
186
|
const activeSlide = slideEls.find(slide => {
|
187
187
|
const video = slide.querySelector('video');
|
188
188
|
// PhotoSwipe remplace parfois src par un blob complet → on fait une comparaison partielle
|
189
|
-
return video && currentItem.
|
189
|
+
return video && currentItem.id && video.src.includes(currentItem.id);
|
190
190
|
});
|
191
191
|
if (!activeSlide)
|
192
192
|
return;
|
@@ -224,4 +224,4 @@ function loadImage(path) {
|
|
224
224
|
image.src = path;
|
225
225
|
});
|
226
226
|
}
|
227
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvdG8tZ2FsbGVyeS1ncm91cC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9waG90by1nYWxsZXJ5LWdyb3VwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLFVBQVUsTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxvQkFBb0IsTUFBTSx1Q0FBdUMsQ0FBQzs7OztBQU16RSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsT0FBTyxFQUFFLEtBQUs7SUFDZCxPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLFlBQVksRUFBRSxLQUFLO0lBQ25CLE1BQU0sRUFBRSxJQUFJO0lBQ1osT0FBTyxFQUFFLEtBQUs7SUFDZCxTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRSxLQUFLO0lBQ2QsV0FBVyxFQUFFLElBQUk7Q0FDbEIsQ0FBQztBQUtGLE1BQU0sT0FBTywwQkFBMEI7SUFXckMsWUFDc0Isa0JBQXNDLEVBQ2xELGVBQWdDO1FBRHBCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDbEQsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBWGhDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEMsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUc3QyxZQUFPLEdBQTJCLElBQUksQ0FBQztRQUN2QyxpQkFBWSxHQUFtQyxFQUFFLENBQUM7UUFDbEQsbUJBQWMsR0FBZ0IsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUNoRCxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFNekMsSUFBSSxDQUFDLGNBQWMsR0FBRyxF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QW1CO2dCQUNoQixrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNOztBQTROVCxTQUFTLFNBQVMsQ0FBQyxJQUFZO0lBQzdCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUMxQixLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPdXRwdXQsIElucHV0LCBFdmVudEVtaXR0ZXIsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgUGhvdG9Td2lwZSBmcm9tICdwaG90b3N3aXBlJztcbmltcG9ydCBQaG90b1N3aXBlVUlfRGVmYXVsdCBmcm9tICdwaG90b3N3aXBlL2Rpc3QvcGhvdG9zd2lwZS11aS1kZWZhdWx0JztcblxuaW1wb3J0IHsgUGhvdG9HYWxsZXJ5Q29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb25maWcnO1xuaW1wb3J0IHsgR2FsbGVyeUltYWdlLCBHYWxsZXJ5SXRlbSwgR2FsbGVyeU9wdGlvbnMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3Bob3Rvc3dpcGUnO1xuaW1wb3J0IHsgTGlnaHRib3hTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbGlnaHRib3guc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX09QVElPTlMgPSB7XG4gIGhpc3Rvcnk6IGZhbHNlLFxuICBjbG9zZUVsOiB0cnVlLFxuICBjYXB0aW9uRWw6IGZhbHNlLFxuICBmdWxsc2NyZWVuRWw6IGZhbHNlLFxuICB6b29tRWw6IHRydWUsXG4gIHNoYXJlRWw6IGZhbHNlLFxuICBjb3VudGVyRWw6IHRydWUsXG4gIGFycm93RWw6IGZhbHNlLFxuICBwcmVsb2FkZXJFbDogdHJ1ZSxcbn07XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1twaG90b0dhbGxlcnlHcm91cF0nLFxufSlcbmV4cG9ydCBjbGFzcyBQaG90b0dhbGxlcnlHcm91cERpcmVjdGl2ZSB7XG4gIEBJbnB1dCgncGhvdG9HYWxsZXJ5R3JvdXAnKSBvcHRpb25zOiBHYWxsZXJ5T3B0aW9ucztcbiAgQE91dHB1dCgpIG9uUGhvdG9HYWxsZXJ5SW5pdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uUGhvdG9HYWxsZXJ5RGVzdHJveSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwcml2YXRlIGRlZmF1bHRPcHRpb25zOiBHYWxsZXJ5T3B0aW9ucztcbiAgcHJpdmF0ZSBnYWxsZXJ5OiBQaG90b1N3aXBlPGFueT4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBnYWxsZXJ5SXRlbXM6IHsgW2tleTogc3RyaW5nXTogR2FsbGVyeUl0ZW0gfSA9IHt9O1xuICBwcml2YXRlIGdhbGxlcnlJdGVtSWRzOiBTZXQ8c3RyaW5nPiA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBwcml2YXRlIGdhbGxlcnlJbWFnZXM6IEdhbGxlcnlJbWFnZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBwaG90b0dhbGxlcnlDb25maWc6IFBob3RvR2FsbGVyeUNvbmZpZyxcbiAgICBwcml2YXRlIGxpZ2h0Ym94U2VydmljZTogTGlnaHRib3hTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZGVmYXVsdE9wdGlvbnMgPSB7IC4uLkRFRkFVTFRfT1BUSU9OUywgLi4udGhpcy5waG90b0dhbGxlcnlDb25maWc/LmRlZmF1bHRPcHRpb25zIH07XG4gIH1cblxuICBwcml2YXRlIGlzVmlkZW8odXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdXJsPy5pbmNsdWRlcygnL3ZpZGVvcy8nKTtcbiAgfVxuXG4gIHJlZ2lzdGVyR2FsbGVyeUl0ZW0oaXRlbTogeyBpZDogc3RyaW5nOyBlbGVtZW50OiBIVE1MRWxlbWVudDsgaW1hZ2VVcmw6IHN0cmluZzsgY2FwdGlvbj86IHN0cmluZyB9KTogdm9pZCB7XG4gICAgY29uc3QgaW1hZ2U6IEdhbGxlcnlJbWFnZSA9IHtcbiAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgc3JjOiBpdGVtLmltYWdlVXJsLFxuICAgICAgLi4uKGl0ZW0uY2FwdGlvbiA/IHsgdGl0bGU6IGl0ZW0uY2FwdGlvbiB9IDoge30pLFxuICAgICAgdzogMCxcbiAgICAgIGg6IDAsXG4gICAgICBkb0dldFNsaWRlRGltZW5zaW9uczogdHJ1ZSxcbiAgICB9O1xuICAgIHRoaXMuZ2FsbGVyeUl0ZW1zW2l0ZW0uaWRdID0ge1xuICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICBlbGVtZW50OiBpdGVtLmVsZW1lbnQsXG4gICAgICBpbWFnZSxcbiAgICB9O1xuXG4gICAgdGhpcy5nYWxsZXJ5SXRlbUlkcy5hZGQoaXRlbS5pZCk7XG4gIH1cblxuICB1bnJlZ2lzdGVyR2FsbGVyeUl0ZW0oaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZ2FsbGVyeUl0ZW1JZHMuZGVsZXRlKGlkKTtcbiAgfVxuXG4gIGFzeW5jIG9wZW5QaG90b1N3aXBlKGlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmxpZ2h0Ym94U2VydmljZS5jcmVhdGUoKTtcblxuICAgIGNvbnN0IHRhcmdldEl0ZW0gPSB0aGlzLmdhbGxlcnlJdGVtc1tpZF0uaW1hZ2U7XG5cbiAgICBpZiAodGFyZ2V0SXRlbS5kb0dldFNsaWRlRGltZW5zaW9ucyAmJiAhdGhpcy5pc1ZpZGVvKHRhcmdldEl0ZW0uc3JjKSkge1xuICAgICAgY29uc3QgdGFyZ2V0SW1hZ2UgPSBhd2FpdCBsb2FkSW1hZ2UodGFyZ2V0SXRlbS5zcmMpO1xuICAgICAgdGFyZ2V0SXRlbS53ID0gdGFyZ2V0SW1hZ2UubmF0dXJhbFdpZHRoO1xuICAgICAgdGFyZ2V0SXRlbS5oID0gdGFyZ2V0SW1hZ2UubmF0dXJhbEhlaWdodDtcbiAgICAgIGRlbGV0ZSB0YXJnZXRJdGVtLmRvR2V0U2xpZGVEaW1lbnNpb25zO1xuICAgIH1cblxuICAgIC8vIENyw6llIGxhIGxpc3RlIGNvbXBsw6h0ZSBkZXMgbcOpZGlhc1xuICAgIHRoaXMuZ2FsbGVyeUltYWdlcyA9IChbLi4udGhpcy5nYWxsZXJ5SXRlbUlkc10ubWFwKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IG1lZGlhID0gdGhpcy5nYWxsZXJ5SXRlbXNba2V5XS5pbWFnZTtcblxuICAgICAgaWYgKHRoaXMuaXNWaWRlbyhtZWRpYS5zcmMpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaWQ6IG1lZGlhLmlkLFxuICAgICAgICAgIGh0bWw6IGBcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHN3cF9fdmlkZW8td3JhcHBlclwiPlxuICAgICAgICAgICAgPHZpZGVvXG4gICAgICAgICAgICAgIHNyYz1cIiR7bWVkaWEuc3JjfVwiXG4gICAgICAgICAgICAgIGNvbnRyb2xzXG4gICAgICAgICAgICAgIHByZWxvYWQ9XCJtZXRhZGF0YVwiXG4gICAgICAgICAgICAgIHN0eWxlPVwibWF4LXdpZHRoOiAxMDAlOyBtYXgtaGVpZ2h0OiAxMDAlOyBib3JkZXItcmFkaXVzOiA4cHg7XCJcbiAgICAgICAgICAgID48L3ZpZGVvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICBgLFxuICAgICAgICAgIHRpdGxlOiBtZWRpYS50aXRsZSB8fCAnJyxcbiAgICAgICAgICB3OiAxOTIwLFxuICAgICAgICAgIGg6IDEwODAsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBtZWRpYTtcbiAgICB9KSkgYXMgYW55W107XG5cbiAgICBjb25zdCBpZHggPSB0aGlzLmdhbGxlcnlJbWFnZXMuZmluZEluZGV4KChpbWFnZSkgPT4gaW1hZ2UuaWQgPT09IGlkKTtcbiAgICBjb25zdCBvcHRpb25zOiBHYWxsZXJ5T3B0aW9ucyA9IHsgLi4udGhpcy5kZWZhdWx0T3B0aW9ucywgLi4udGhpcy5vcHRpb25zIH07XG4gICAgb3B0aW9ucy5pbmRleCA9IGlkeDtcblxuICAgIG9wdGlvbnMuZ2V0VGh1bWJCb3VuZHNGbiA9IChpbWFnZUluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIGNvbnN0IGtleSA9IHRoaXMuZ2FsbGVyeUltYWdlc1tpbWFnZUluZGV4XS5pZDtcbiAgICAgIGNvbnN0IHRodW1ibmFpbCA9IHRoaXMuZ2FsbGVyeUl0ZW1zW2tleV0uZWxlbWVudDtcbiAgICAgIGNvbnN0IG9yaWdpbiA9IHRoaXMuZ2FsbGVyeUl0ZW1zW2tleV0uaW1hZ2U7XG4gICAgICBjb25zdCBwYWdlWVNjcm9sbCA9IHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wO1xuICAgICAgY29uc3QgcmVjdCA9IHRodW1ibmFpbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgY29uc3QgdGh1bWJuYWlsUmF0ZSA9IHJlY3QuaGVpZ2h0IC8gcmVjdC53aWR0aDtcbiAgICAgIGNvbnN0IG9yaWdpblJhdGUgPSBvcmlnaW4uaCAvIG9yaWdpbi53O1xuICAgICAgbGV0IHg6IG51bWJlciwgeTogbnVtYmVyLCB3OiBudW1iZXI7XG5cbiAgICAgIGlmICh0aHVtYm5haWxSYXRlID4gb3JpZ2luUmF0ZSkge1xuICAgICAgICB5ID0gcmVjdC50b3AgKyBwYWdlWVNjcm9sbDtcbiAgICAgICAgdyA9IChvcmlnaW4udyAqIHJlY3QuaGVpZ2h0KSAvIG9yaWdpbi5oO1xuICAgICAgICB4ID0gcmVjdC5sZWZ0IC0gKHcgLSByZWN0LndpZHRoKSAvIDI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpbWFnZUhlaWdodCA9IChvcmlnaW4uaCAqIHJlY3Qud2lkdGgpIC8gb3JpZ2luLnc7XG4gICAgICAgIHggPSByZWN0LmxlZnQ7XG4gICAgICAgIHcgPSByZWN0LndpZHRoO1xuICAgICAgICB5ID0gcmVjdC50b3AgKyBwYWdlWVNjcm9sbCAtIChpbWFnZUhlaWdodCAtIHJlY3QuaGVpZ2h0KSAvIDI7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7IHgsIHksIHcgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgcGhvdG9Td2lwZSA9IHRoaXMubGlnaHRib3hTZXJ2aWNlLmdldExpZ2h0Ym94RWxlbWVudCgpO1xuXG4gICAgdGhpcy5nYWxsZXJ5ID0gbmV3IFBob3RvU3dpcGUocGhvdG9Td2lwZSwgUGhvdG9Td2lwZVVJX0RlZmF1bHQsIHRoaXMuZ2FsbGVyeUltYWdlcywgb3B0aW9ucyk7XG5cbiAgICBjb25zb2xlLmxvZyh0aGlzLmdhbGxlcnkpO1xuXG4gICAgdGhpcy5nYWxsZXJ5Lmxpc3RlbignYmVmb3JlQ2hhbmdlJywgKCkgPT4ge1xuICAgICAgdGhpcy5wYXVzZUFsbFZpZGVvcygpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5nYWxsZXJ5Lmxpc3RlbignaW5pdGlhbFpvb21JbkVuZCcsICgpID0+IHtcbiAgICAgIC8vIGF1IGTDqWJ1dCwgam91ZSBsYSB2aWTDqW8gc2kgY+KAmWVzdCB1bmUgdmlkw6lvXG4gICAgICB0aGlzLnBsYXlDdXJyZW50U2xpZGVWaWRlbygpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5nYWxsZXJ5Lmxpc3RlbignYWZ0ZXJDaGFuZ2UnLCAoKSA9PiB7XG4gICAgICAvLyBvbiBtZXQgdW4gcGV0aXQgZMOpbGFpIHBvdXIgc+KAmWFzc3VyZXIgcXVlIGxlIERPTSBlc3QgcHLDqnRcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnBsYXlDdXJyZW50U2xpZGVWaWRlbygpO1xuICAgICAgfSwgMjAwKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZ2FsbGVyeS5saXN0ZW4oJ2Rlc3Ryb3knLCAoKSA9PiB7XG4gICAgICB0aGlzLnBhdXNlQWxsVmlkZW9zKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmdhbGxlcnkubGlzdGVuKCdnZXR0aW5nRGF0YScsIChfLCBzbGlkZTogYW55KSA9PiB7XG4gICAgICBpZiAoc2xpZGUuZG9HZXRTbGlkZURpbWVuc2lvbnMgJiYgIXRoaXMuaXNWaWRlbyhzbGlkZS5zcmMpKSB7XG4gICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4gYXdhaXQgdGhpcy5nZXRTbGlkZURpbWVuc2lvbnMoc2xpZGUpLCAzMDApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5nYWxsZXJ5Lmxpc3RlbignaW1hZ2VMb2FkQ29tcGxldGUnLCBhc3luYyAoXywgc2xpZGU6IGFueSkgPT4ge1xuICAgICAgaWYgKHNsaWRlLmRvR2V0U2xpZGVEaW1lbnNpb25zICYmICF0aGlzLmlzVmlkZW8oc2xpZGUuc3JjKSkge1xuICAgICAgICBhd2FpdCB0aGlzLmdldFNsaWRlRGltZW5zaW9ucyhzbGlkZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmdhbGxlcnkubGlzdGVuKCdkZXN0cm95JywgKCkgPT4ge1xuICAgICAgdGhpcy5saWdodGJveFNlcnZpY2UuZGVzdHJveSgpO1xuICAgICAgdGhpcy5vblBob3RvR2FsbGVyeURlc3Ryb3kuZW1pdCgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5vblBob3RvR2FsbGVyeUluaXQuZW1pdCgpO1xuICAgIHRoaXMuZ2FsbGVyeS5pbml0KCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFNsaWRlRGltZW5zaW9ucyhzbGlkZTogR2FsbGVyeUltYWdlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFzbGlkZS5kb0dldFNsaWRlRGltZW5zaW9ucykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGltYWdlOiBIVE1MSW1hZ2VFbGVtZW50ID0gYXdhaXQgbG9hZEltYWdlKHNsaWRlLnNyYykuY2F0Y2goKCkgPT4gbnVsbCk7XG5cbiAgICBzbGlkZS5kb0dldFNsaWRlRGltZW5zaW9ucyA9IGZhbHNlO1xuXG4gICAgc2xpZGUudyA9IGltYWdlLm5hdHVyYWxXaWR0aDtcbiAgICBzbGlkZS5oID0gaW1hZ2UubmF0dXJhbEhlaWdodDtcblxuICAgIHRoaXMuZ2FsbGVyeS5pbnZhbGlkYXRlQ3Vyckl0ZW1zKCk7XG4gICAgdGhpcy5nYWxsZXJ5LnVwZGF0ZVNpemUodHJ1ZSk7XG4gIH1cbiAgcHJpdmF0ZSBwYXVzZUFsbFZpZGVvcygpIHtcbiAgICBjb25zdCB2aWRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbDxIVE1MVmlkZW9FbGVtZW50PignLnBzd3BfX3ZpZGVvLXdyYXBwZXIgdmlkZW8nKTtcbiAgICB2aWRzLmZvckVhY2godiA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICB2LnBhdXNlKCk7XG4gICAgICAgIHYuY3VycmVudFRpbWUgPSAwO1xuICAgICAgfSBjYXRjaChfKXt9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHBsYXlDdXJyZW50U2xpZGVWaWRlbygpIHtcbiAgICBpZiAoIXRoaXMuZ2FsbGVyeSkgcmV0dXJuO1xuXG4gICAgY29uc3QgY3VycmVudEl0ZW0gPSB0aGlzLmdhbGxlcnkuY3Vyckl0ZW07XG4gICAgaWYgKCFjdXJyZW50SXRlbSkgcmV0dXJuO1xuXG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5nYWxsZXJ5LmNvbnRhaW5lciBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAoIWNvbnRhaW5lcikgcmV0dXJuO1xuXG4gICAgLy8gUsOpY3Vww6hyZSBsZXMgMyBzbGlkZXMgRE9NIHJlY3ljbMOpc1xuICAgIGNvbnN0IHNsaWRlRWxzID0gQXJyYXkuZnJvbShjb250YWluZXIuY2hpbGRyZW4pIGFzIEhUTUxFbGVtZW50W107XG5cbiAgICAvLyBQYXVzZSB0b3V0ZXMgbGVzIHZpZMOpb3NcbiAgICBzbGlkZUVscy5mb3JFYWNoKHNsaWRlID0+IHtcbiAgICAgIGNvbnN0IHZpZGVvID0gc2xpZGUucXVlcnlTZWxlY3RvcjxIVE1MVmlkZW9FbGVtZW50PigndmlkZW8nKTtcbiAgICAgIGlmICh2aWRlbykge1xuICAgICAgICB2aWRlby5wYXVzZSgpO1xuICAgICAgICB2aWRlby5jdXJyZW50VGltZSA9IDA7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyDwn5SNIFRyb3V2ZSBsZSBzbGlkZSBkb250IGxlIDx2aWRlbz4gY29ycmVzcG9uZCBhdSBtw6lkaWEgYWN0dWVsXG4gICAgY29uc3QgYWN0aXZlU2xpZGUgPSBzbGlkZUVscy5maW5kKHNsaWRlID0+IHtcbiAgICAgIGNvbnN0IHZpZGVvID0gc2xpZGUucXVlcnlTZWxlY3RvcjxIVE1MVmlkZW9FbGVtZW50PigndmlkZW8nKTtcbiAgICAgIC8vIFBob3RvU3dpcGUgcmVtcGxhY2UgcGFyZm9pcyBzcmMgcGFyIHVuIGJsb2IgY29tcGxldCDihpIgb24gZmFpdCB1bmUgY29tcGFyYWlzb24gcGFydGllbGxlXG4gICAgICByZXR1cm4gdmlkZW8gJiYgY3VycmVudEl0ZW0uc3JjICYmIHZpZGVvLnNyYy5pbmNsdWRlcyhjdXJyZW50SXRlbS5zcmMpO1xuICAgIH0pO1xuXG4gICAgaWYgKCFhY3RpdmVTbGlkZSkgcmV0dXJuO1xuXG4gICAgY29uc3QgYWN0aXZlVmlkZW8gPSBhY3RpdmVTbGlkZS5xdWVyeVNlbGVjdG9yPEhUTUxWaWRlb0VsZW1lbnQ+KCd2aWRlbycpO1xuICAgIGlmIChhY3RpdmVWaWRlbykge1xuICAgICAgLy8gbMOpZ2VyIGTDqWxhaSBwb3VyIHPigJlhc3N1cmVyIHF1ZSBsZSBET00gZXN0IHByw6p0IGV0IMOpdml0ZXIgXCJwbGF5IGludGVycnVwdGVkXCJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBhY3RpdmVWaWRlby5wbGF5KCkuY2F0Y2goKCkgPT4ge30pO1xuICAgICAgfSwgMTAwKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbG9hZEltYWdlKHBhdGg6IHN0cmluZyk6IFByb21pc2U8SFRNTEltYWdlRWxlbWVudD4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlKCk7XG4gICAgaW1hZ2Uub25sb2FkID0gKCkgPT4gcmVzb2x2ZShpbWFnZSk7XG4gICAgaW1hZ2Uub25lcnJvciA9IChlKSA9PiByZWplY3QoZSk7XG4gICAgaW1hZ2Uuc3JjID0gcGF0aDtcbiAgfSk7XG59XG5cbiJdfQ==
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvdG8tZ2FsbGVyeS1ncm91cC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9waG90by1nYWxsZXJ5LWdyb3VwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLFVBQVUsTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxvQkFBb0IsTUFBTSx1Q0FBdUMsQ0FBQzs7OztBQU16RSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsT0FBTyxFQUFFLEtBQUs7SUFDZCxPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLFlBQVksRUFBRSxLQUFLO0lBQ25CLE1BQU0sRUFBRSxJQUFJO0lBQ1osT0FBTyxFQUFFLEtBQUs7SUFDZCxTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRSxLQUFLO0lBQ2QsV0FBVyxFQUFFLElBQUk7Q0FDbEIsQ0FBQztBQUtGLE1BQU0sT0FBTywwQkFBMEI7SUFXckMsWUFDc0Isa0JBQXNDLEVBQ2xELGVBQWdDO1FBRHBCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDbEQsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBWGhDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEMsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUc3QyxZQUFPLEdBQTJCLElBQUksQ0FBQztRQUN2QyxpQkFBWSxHQUFtQyxFQUFFLENBQUM7UUFDbEQsbUJBQWMsR0FBZ0IsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUNoRCxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFNekMsSUFBSSxDQUFDLGNBQWMsR0FBRyxF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QW1CO2dCQUNoQixrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNOztBQTROVCxTQUFTLFNBQVMsQ0FBQyxJQUFZO0lBQzdCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUMxQixLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPdXRwdXQsIElucHV0LCBFdmVudEVtaXR0ZXIsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgUGhvdG9Td2lwZSBmcm9tICdwaG90b3N3aXBlJztcbmltcG9ydCBQaG90b1N3aXBlVUlfRGVmYXVsdCBmcm9tICdwaG90b3N3aXBlL2Rpc3QvcGhvdG9zd2lwZS11aS1kZWZhdWx0JztcblxuaW1wb3J0IHsgUGhvdG9HYWxsZXJ5Q29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb25maWcnO1xuaW1wb3J0IHsgR2FsbGVyeUltYWdlLCBHYWxsZXJ5SXRlbSwgR2FsbGVyeU9wdGlvbnMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3Bob3Rvc3dpcGUnO1xuaW1wb3J0IHsgTGlnaHRib3hTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbGlnaHRib3guc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX09QVElPTlMgPSB7XG4gIGhpc3Rvcnk6IGZhbHNlLFxuICBjbG9zZUVsOiB0cnVlLFxuICBjYXB0aW9uRWw6IGZhbHNlLFxuICBmdWxsc2NyZWVuRWw6IGZhbHNlLFxuICB6b29tRWw6IHRydWUsXG4gIHNoYXJlRWw6IGZhbHNlLFxuICBjb3VudGVyRWw6IHRydWUsXG4gIGFycm93RWw6IGZhbHNlLFxuICBwcmVsb2FkZXJFbDogdHJ1ZSxcbn07XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1twaG90b0dhbGxlcnlHcm91cF0nLFxufSlcbmV4cG9ydCBjbGFzcyBQaG90b0dhbGxlcnlHcm91cERpcmVjdGl2ZSB7XG4gIEBJbnB1dCgncGhvdG9HYWxsZXJ5R3JvdXAnKSBvcHRpb25zOiBHYWxsZXJ5T3B0aW9ucztcbiAgQE91dHB1dCgpIG9uUGhvdG9HYWxsZXJ5SW5pdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uUGhvdG9HYWxsZXJ5RGVzdHJveSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwcml2YXRlIGRlZmF1bHRPcHRpb25zOiBHYWxsZXJ5T3B0aW9ucztcbiAgcHJpdmF0ZSBnYWxsZXJ5OiBQaG90b1N3aXBlPGFueT4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBnYWxsZXJ5SXRlbXM6IHsgW2tleTogc3RyaW5nXTogR2FsbGVyeUl0ZW0gfSA9IHt9O1xuICBwcml2YXRlIGdhbGxlcnlJdGVtSWRzOiBTZXQ8c3RyaW5nPiA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBwcml2YXRlIGdhbGxlcnlJbWFnZXM6IEdhbGxlcnlJbWFnZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBwaG90b0dhbGxlcnlDb25maWc6IFBob3RvR2FsbGVyeUNvbmZpZyxcbiAgICBwcml2YXRlIGxpZ2h0Ym94U2VydmljZTogTGlnaHRib3hTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZGVmYXVsdE9wdGlvbnMgPSB7IC4uLkRFRkFVTFRfT1BUSU9OUywgLi4udGhpcy5waG90b0dhbGxlcnlDb25maWc/LmRlZmF1bHRPcHRpb25zIH07XG4gIH1cblxuICBwcml2YXRlIGlzVmlkZW8odXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdXJsPy5pbmNsdWRlcygnL3ZpZGVvcy8nKTtcbiAgfVxuXG4gIHJlZ2lzdGVyR2FsbGVyeUl0ZW0oaXRlbTogeyBpZDogc3RyaW5nOyBlbGVtZW50OiBIVE1MRWxlbWVudDsgaW1hZ2VVcmw6IHN0cmluZzsgY2FwdGlvbj86IHN0cmluZyB9KTogdm9pZCB7XG4gICAgY29uc3QgaW1hZ2U6IEdhbGxlcnlJbWFnZSA9IHtcbiAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgc3JjOiBpdGVtLmltYWdlVXJsLFxuICAgICAgLi4uKGl0ZW0uY2FwdGlvbiA/IHsgdGl0bGU6IGl0ZW0uY2FwdGlvbiB9IDoge30pLFxuICAgICAgdzogMCxcbiAgICAgIGg6IDAsXG4gICAgICBkb0dldFNsaWRlRGltZW5zaW9uczogdHJ1ZSxcbiAgICB9O1xuICAgIHRoaXMuZ2FsbGVyeUl0ZW1zW2l0ZW0uaWRdID0ge1xuICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICBlbGVtZW50OiBpdGVtLmVsZW1lbnQsXG4gICAgICBpbWFnZSxcbiAgICB9O1xuXG4gICAgdGhpcy5nYWxsZXJ5SXRlbUlkcy5hZGQoaXRlbS5pZCk7XG4gIH1cblxuICB1bnJlZ2lzdGVyR2FsbGVyeUl0ZW0oaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZ2FsbGVyeUl0ZW1JZHMuZGVsZXRlKGlkKTtcbiAgfVxuXG4gIGFzeW5jIG9wZW5QaG90b1N3aXBlKGlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmxpZ2h0Ym94U2VydmljZS5jcmVhdGUoKTtcblxuICAgIGNvbnN0IHRhcmdldEl0ZW0gPSB0aGlzLmdhbGxlcnlJdGVtc1tpZF0uaW1hZ2U7XG5cbiAgICBpZiAodGFyZ2V0SXRlbS5kb0dldFNsaWRlRGltZW5zaW9ucyAmJiAhdGhpcy5pc1ZpZGVvKHRhcmdldEl0ZW0uc3JjKSkge1xuICAgICAgY29uc3QgdGFyZ2V0SW1hZ2UgPSBhd2FpdCBsb2FkSW1hZ2UodGFyZ2V0SXRlbS5zcmMpO1xuICAgICAgdGFyZ2V0SXRlbS53ID0gdGFyZ2V0SW1hZ2UubmF0dXJhbFdpZHRoO1xuICAgICAgdGFyZ2V0SXRlbS5oID0gdGFyZ2V0SW1hZ2UubmF0dXJhbEhlaWdodDtcbiAgICAgIGRlbGV0ZSB0YXJnZXRJdGVtLmRvR2V0U2xpZGVEaW1lbnNpb25zO1xuICAgIH1cblxuICAgIC8vIENyw6llIGxhIGxpc3RlIGNvbXBsw6h0ZSBkZXMgbcOpZGlhc1xuICAgIHRoaXMuZ2FsbGVyeUltYWdlcyA9IChbLi4udGhpcy5nYWxsZXJ5SXRlbUlkc10ubWFwKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IG1lZGlhID0gdGhpcy5nYWxsZXJ5SXRlbXNba2V5XS5pbWFnZTtcblxuICAgICAgaWYgKHRoaXMuaXNWaWRlbyhtZWRpYS5zcmMpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaWQ6IG1lZGlhLmlkLFxuICAgICAgICAgIGh0bWw6IGBcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHN3cF9fdmlkZW8td3JhcHBlclwiPlxuICAgICAgICAgICAgPHZpZGVvXG4gICAgICAgICAgICAgIHNyYz1cIiR7bWVkaWEuc3JjfVwiXG4gICAgICAgICAgICAgIGNvbnRyb2xzXG4gICAgICAgICAgICAgIHByZWxvYWQ9XCJtZXRhZGF0YVwiXG4gICAgICAgICAgICAgIHN0eWxlPVwibWF4LXdpZHRoOiAxMDAlOyBtYXgtaGVpZ2h0OiAxMDAlOyBib3JkZXItcmFkaXVzOiA4cHg7XCJcbiAgICAgICAgICAgID48L3ZpZGVvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICBgLFxuICAgICAgICAgIHRpdGxlOiBtZWRpYS50aXRsZSB8fCAnJyxcbiAgICAgICAgICB3OiAxOTIwLFxuICAgICAgICAgIGg6IDEwODAsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBtZWRpYTtcbiAgICB9KSkgYXMgYW55W107XG5cbiAgICBjb25zdCBpZHggPSB0aGlzLmdhbGxlcnlJbWFnZXMuZmluZEluZGV4KChpbWFnZSkgPT4gaW1hZ2UuaWQgPT09IGlkKTtcbiAgICBjb25zdCBvcHRpb25zOiBHYWxsZXJ5T3B0aW9ucyA9IHsgLi4udGhpcy5kZWZhdWx0T3B0aW9ucywgLi4udGhpcy5vcHRpb25zIH07XG4gICAgb3B0aW9ucy5pbmRleCA9IGlkeDtcblxuICAgIG9wdGlvbnMuZ2V0VGh1bWJCb3VuZHNGbiA9IChpbWFnZUluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIGNvbnN0IGtleSA9IHRoaXMuZ2FsbGVyeUltYWdlc1tpbWFnZUluZGV4XS5pZDtcbiAgICAgIGNvbnN0IHRodW1ibmFpbCA9IHRoaXMuZ2FsbGVyeUl0ZW1zW2tleV0uZWxlbWVudDtcbiAgICAgIGNvbnN0IG9yaWdpbiA9IHRoaXMuZ2FsbGVyeUl0ZW1zW2tleV0uaW1hZ2U7XG4gICAgICBjb25zdCBwYWdlWVNjcm9sbCA9IHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wO1xuICAgICAgY29uc3QgcmVjdCA9IHRodW1ibmFpbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgY29uc3QgdGh1bWJuYWlsUmF0ZSA9IHJlY3QuaGVpZ2h0IC8gcmVjdC53aWR0aDtcbiAgICAgIGNvbnN0IG9yaWdpblJhdGUgPSBvcmlnaW4uaCAvIG9yaWdpbi53O1xuICAgICAgbGV0IHg6IG51bWJlciwgeTogbnVtYmVyLCB3OiBudW1iZXI7XG5cbiAgICAgIGlmICh0aHVtYm5haWxSYXRlID4gb3JpZ2luUmF0ZSkge1xuICAgICAgICB5ID0gcmVjdC50b3AgKyBwYWdlWVNjcm9sbDtcbiAgICAgICAgdyA9IChvcmlnaW4udyAqIHJlY3QuaGVpZ2h0KSAvIG9yaWdpbi5oO1xuICAgICAgICB4ID0gcmVjdC5sZWZ0IC0gKHcgLSByZWN0LndpZHRoKSAvIDI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpbWFnZUhlaWdodCA9IChvcmlnaW4uaCAqIHJlY3Qud2lkdGgpIC8gb3JpZ2luLnc7XG4gICAgICAgIHggPSByZWN0LmxlZnQ7XG4gICAgICAgIHcgPSByZWN0LndpZHRoO1xuICAgICAgICB5ID0gcmVjdC50b3AgKyBwYWdlWVNjcm9sbCAtIChpbWFnZUhlaWdodCAtIHJlY3QuaGVpZ2h0KSAvIDI7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7IHgsIHksIHcgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgcGhvdG9Td2lwZSA9IHRoaXMubGlnaHRib3hTZXJ2aWNlLmdldExpZ2h0Ym94RWxlbWVudCgpO1xuXG4gICAgdGhpcy5nYWxsZXJ5ID0gbmV3IFBob3RvU3dpcGUocGhvdG9Td2lwZSwgUGhvdG9Td2lwZVVJX0RlZmF1bHQsIHRoaXMuZ2FsbGVyeUltYWdlcywgb3B0aW9ucyk7XG5cbiAgICBjb25zb2xlLmxvZyh0aGlzLmdhbGxlcnkpO1xuXG4gICAgdGhpcy5nYWxsZXJ5Lmxpc3RlbignYmVmb3JlQ2hhbmdlJywgKCkgPT4ge1xuICAgICAgdGhpcy5wYXVzZUFsbFZpZGVvcygpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5nYWxsZXJ5Lmxpc3RlbignaW5pdGlhbFpvb21JbkVuZCcsICgpID0+IHtcbiAgICAgIC8vIGF1IGTDqWJ1dCwgam91ZSBsYSB2aWTDqW8gc2kgY+KAmWVzdCB1bmUgdmlkw6lvXG4gICAgICB0aGlzLnBsYXlDdXJyZW50U2xpZGVWaWRlbygpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5nYWxsZXJ5Lmxpc3RlbignYWZ0ZXJDaGFuZ2UnLCAoKSA9PiB7XG4gICAgICAvLyBvbiBtZXQgdW4gcGV0aXQgZMOpbGFpIHBvdXIgc+KAmWFzc3VyZXIgcXVlIGxlIERPTSBlc3QgcHLDqnRcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnBsYXlDdXJyZW50U2xpZGVWaWRlbygpO1xuICAgICAgfSwgMjAwKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZ2FsbGVyeS5saXN0ZW4oJ2Rlc3Ryb3knLCAoKSA9PiB7XG4gICAgICB0aGlzLnBhdXNlQWxsVmlkZW9zKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmdhbGxlcnkubGlzdGVuKCdnZXR0aW5nRGF0YScsIChfLCBzbGlkZTogYW55KSA9PiB7XG4gICAgICBpZiAoc2xpZGUuZG9HZXRTbGlkZURpbWVuc2lvbnMgJiYgIXRoaXMuaXNWaWRlbyhzbGlkZS5zcmMpKSB7XG4gICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4gYXdhaXQgdGhpcy5nZXRTbGlkZURpbWVuc2lvbnMoc2xpZGUpLCAzMDApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5nYWxsZXJ5Lmxpc3RlbignaW1hZ2VMb2FkQ29tcGxldGUnLCBhc3luYyAoXywgc2xpZGU6IGFueSkgPT4ge1xuICAgICAgaWYgKHNsaWRlLmRvR2V0U2xpZGVEaW1lbnNpb25zICYmICF0aGlzLmlzVmlkZW8oc2xpZGUuc3JjKSkge1xuICAgICAgICBhd2FpdCB0aGlzLmdldFNsaWRlRGltZW5zaW9ucyhzbGlkZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmdhbGxlcnkubGlzdGVuKCdkZXN0cm95JywgKCkgPT4ge1xuICAgICAgdGhpcy5saWdodGJveFNlcnZpY2UuZGVzdHJveSgpO1xuICAgICAgdGhpcy5vblBob3RvR2FsbGVyeURlc3Ryb3kuZW1pdCgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5vblBob3RvR2FsbGVyeUluaXQuZW1pdCgpO1xuICAgIHRoaXMuZ2FsbGVyeS5pbml0KCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFNsaWRlRGltZW5zaW9ucyhzbGlkZTogR2FsbGVyeUltYWdlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFzbGlkZS5kb0dldFNsaWRlRGltZW5zaW9ucykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGltYWdlOiBIVE1MSW1hZ2VFbGVtZW50ID0gYXdhaXQgbG9hZEltYWdlKHNsaWRlLnNyYykuY2F0Y2goKCkgPT4gbnVsbCk7XG5cbiAgICBzbGlkZS5kb0dldFNsaWRlRGltZW5zaW9ucyA9IGZhbHNlO1xuXG4gICAgc2xpZGUudyA9IGltYWdlLm5hdHVyYWxXaWR0aDtcbiAgICBzbGlkZS5oID0gaW1hZ2UubmF0dXJhbEhlaWdodDtcblxuICAgIHRoaXMuZ2FsbGVyeS5pbnZhbGlkYXRlQ3Vyckl0ZW1zKCk7XG4gICAgdGhpcy5nYWxsZXJ5LnVwZGF0ZVNpemUodHJ1ZSk7XG4gIH1cbiAgcHJpdmF0ZSBwYXVzZUFsbFZpZGVvcygpIHtcbiAgICBjb25zdCB2aWRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbDxIVE1MVmlkZW9FbGVtZW50PignLnBzd3BfX3ZpZGVvLXdyYXBwZXIgdmlkZW8nKTtcbiAgICB2aWRzLmZvckVhY2godiA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICB2LnBhdXNlKCk7XG4gICAgICAgIHYuY3VycmVudFRpbWUgPSAwO1xuICAgICAgfSBjYXRjaChfKXt9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHBsYXlDdXJyZW50U2xpZGVWaWRlbygpIHtcbiAgICBpZiAoIXRoaXMuZ2FsbGVyeSkgcmV0dXJuO1xuXG4gICAgY29uc3QgY3VycmVudEl0ZW0gPSB0aGlzLmdhbGxlcnkuY3Vyckl0ZW07XG4gICAgaWYgKCFjdXJyZW50SXRlbSkgcmV0dXJuO1xuXG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5nYWxsZXJ5LmNvbnRhaW5lciBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAoIWNvbnRhaW5lcikgcmV0dXJuO1xuXG4gICAgLy8gUsOpY3Vww6hyZSBsZXMgMyBzbGlkZXMgRE9NIHJlY3ljbMOpc1xuICAgIGNvbnN0IHNsaWRlRWxzID0gQXJyYXkuZnJvbShjb250YWluZXIuY2hpbGRyZW4pIGFzIEhUTUxFbGVtZW50W107XG5cbiAgICAvLyBQYXVzZSB0b3V0ZXMgbGVzIHZpZMOpb3NcbiAgICBzbGlkZUVscy5mb3JFYWNoKHNsaWRlID0+IHtcbiAgICAgIGNvbnN0IHZpZGVvID0gc2xpZGUucXVlcnlTZWxlY3RvcjxIVE1MVmlkZW9FbGVtZW50PigndmlkZW8nKTtcbiAgICAgIGlmICh2aWRlbykge1xuICAgICAgICB2aWRlby5wYXVzZSgpO1xuICAgICAgICB2aWRlby5jdXJyZW50VGltZSA9IDA7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyDwn5SNIFRyb3V2ZSBsZSBzbGlkZSBkb250IGxlIDx2aWRlbz4gY29ycmVzcG9uZCBhdSBtw6lkaWEgYWN0dWVsXG4gICAgY29uc3QgYWN0aXZlU2xpZGUgPSBzbGlkZUVscy5maW5kKHNsaWRlID0+IHtcbiAgICAgIGNvbnN0IHZpZGVvID0gc2xpZGUucXVlcnlTZWxlY3RvcjxIVE1MVmlkZW9FbGVtZW50PigndmlkZW8nKTtcbiAgICAgIC8vIFBob3RvU3dpcGUgcmVtcGxhY2UgcGFyZm9pcyBzcmMgcGFyIHVuIGJsb2IgY29tcGxldCDihpIgb24gZmFpdCB1bmUgY29tcGFyYWlzb24gcGFydGllbGxlXG4gICAgICByZXR1cm4gdmlkZW8gJiYgY3VycmVudEl0ZW0uaWQgJiYgdmlkZW8uc3JjLmluY2x1ZGVzKGN1cnJlbnRJdGVtLmlkKTtcbiAgICB9KTtcblxuICAgIGlmICghYWN0aXZlU2xpZGUpIHJldHVybjtcblxuICAgIGNvbnN0IGFjdGl2ZVZpZGVvID0gYWN0aXZlU2xpZGUucXVlcnlTZWxlY3RvcjxIVE1MVmlkZW9FbGVtZW50PigndmlkZW8nKTtcbiAgICBpZiAoYWN0aXZlVmlkZW8pIHtcbiAgICAgIC8vIGzDqWdlciBkw6lsYWkgcG91ciBz4oCZYXNzdXJlciBxdWUgbGUgRE9NIGVzdCBwcsOqdCBldCDDqXZpdGVyIFwicGxheSBpbnRlcnJ1cHRlZFwiXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgYWN0aXZlVmlkZW8ucGxheSgpLmNhdGNoKCgpID0+IHt9KTtcbiAgICAgIH0sIDEwMCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGxvYWRJbWFnZShwYXRoOiBzdHJpbmcpOiBQcm9taXNlPEhUTUxJbWFnZUVsZW1lbnQ+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xuICAgIGltYWdlLm9ubG9hZCA9ICgpID0+IHJlc29sdmUoaW1hZ2UpO1xuICAgIGltYWdlLm9uZXJyb3IgPSAoZSkgPT4gcmVqZWN0KGUpO1xuICAgIGltYWdlLnNyYyA9IHBhdGg7XG4gIH0pO1xufVxuXG4iXX0=
|
@@ -235,7 +235,7 @@ class PhotoGalleryGroupDirective {
|
|
235
235
|
const activeSlide = slideEls.find(slide => {
|
236
236
|
const video = slide.querySelector('video');
|
237
237
|
// PhotoSwipe remplace parfois src par un blob complet → on fait une comparaison partielle
|
238
|
-
return video && currentItem.
|
238
|
+
return video && currentItem.id && video.src.includes(currentItem.id);
|
239
239
|
});
|
240
240
|
if (!activeSlide)
|
241
241
|
return;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"twogate-ngx-photo-gallery.mjs","sources":["../../../projects/core/src/lib/components/lightbox/lightbox.component.ts","../../../projects/core/src/lib/components/lightbox/lightbox.component.html","../../../projects/core/src/lib/interfaces/config.ts","../../../projects/core/src/lib/services/lightbox.service.ts","../../../projects/core/src/lib/directives/photo-gallery-group.directive.ts","../../../projects/core/src/lib/directives/photo-gallery.directive.ts","../../../projects/core/src/lib/photo-gallery.module.ts","../../../projects/core/src/public-api.ts","../../../projects/core/src/twogate-ngx-photo-gallery.ts"],"sourcesContent":["import { Component, ViewChild, ElementRef, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'photo-gallery-lightbox',\n templateUrl: './lightbox.component.html',\n styleUrls: ['./lightbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LightboxComponent {\n @ViewChild('Lightbox', { static: true }) element: ElementRef;\n\n constructor() {}\n}\n","<div class=\"lightbox-wrapper\">\n <!-- Root element of PhotoSwipe. Must have class pswp. -->\n <div class=\"pswp\" #Lightbox tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\">\n <!-- Background of PhotoSwipe.\n It's a separate element, as animating opacity is faster than rgba(). -->\n <div class=\"pswp__bg\"></div>\n <!-- Slides wrapper with overflow:hidden. -->\n <div class=\"pswp__scroll-wrap\">\n <!-- Container that holds slides. PhotoSwipe keeps only 3 slides in DOM to save memory. -->\n <!-- don't modify these 3 pswp__item elements, data is added later on. -->\n <div class=\"pswp__container\">\n <div class=\"pswp__item\"></div>\n <div class=\"pswp__item\"></div>\n <div class=\"pswp__item\"></div>\n </div>\n <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. -->\n <div class=\"pswp__ui pswp__ui--hidden\">\n <div class=\"pswp__top-bar\">\n <!-- Controls are self-explanatory. Order can be changed. -->\n <div class=\"pswp__counter\"></div>\n <button class=\"pswp__button pswp__button--close\" title=\"Close (Esc)\"></button>\n <button class=\"pswp__button pswp__button--share\" title=\"Share\"></button>\n <button class=\"pswp__button pswp__button--fs\" title=\"Toggle fullscreen\"></button>\n <button class=\"pswp__button pswp__button--zoom\" title=\"Zoom in/out\"></button>\n <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR -->\n <!-- element will get class pswp__preloader--active when preloader is running -->\n <div class=\"pswp__preloader\">\n <div class=\"pswp__preloader__icn\">\n <div class=\"pswp__preloader__cut\">\n <div class=\"pswp__preloader__donut\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\">\n <div class=\"pswp__share-tooltip\"></div>\n </div>\n <button class=\"pswp__button pswp__button--arrow--left\" title=\"Previous (arrow left)\"></button>\n <button class=\"pswp__button pswp__button--arrow--right\" title=\"Next (arrow right)\"></button>\n <div class=\"pswp__caption\">\n <div class=\"pswp__caption__center\"></div>\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { GalleryOptions } from './photoswipe';\n\nexport abstract class PhotoGalleryConfig {\n defaultOptions?: GalleryOptions;\n}\n","import { Injectable, ComponentRef, ElementRef, ApplicationRef, createComponent } from '@angular/core';\n\nimport { LightboxComponent } from '../components/lightbox/lightbox.component';\n\n@Injectable({ providedIn: 'root' })\nexport class LightboxService {\n private lightbox: ComponentRef<LightboxComponent> | null;\n private lightboxElement: ElementRef | null;\n\n constructor(private applicationRef: ApplicationRef) {\n this.lightbox = null;\n this.lightboxElement = null;\n }\n\n create() {\n this.lightbox = createComponent(\n LightboxComponent,\n { environmentInjector: this.applicationRef.injector }\n );\n document.body.appendChild(this.lightbox.location.nativeElement);\n this.applicationRef.attachView(this.lightbox.hostView);\n\n this.lightboxElement = this.lightbox.instance.element;\n }\n\n destroy() {\n if (this.lightbox) {\n this.applicationRef.detachView(this.lightbox.hostView);\n this.lightbox = null;\n this.lightboxElement = null;\n }\n }\n\n /**\n * Returns the lightbox element.\n * This method is called after the lightbox is created.\n * @returns HTMLElement\n */\n getLightboxElement(): HTMLElement {\n return this.lightboxElement.nativeElement as HTMLElement;\n }\n}\n","import { Directive, Output, Input, EventEmitter, Optional } from '@angular/core';\nimport PhotoSwipe from 'photoswipe';\nimport PhotoSwipeUI_Default from 'photoswipe/dist/photoswipe-ui-default';\n\nimport { PhotoGalleryConfig } from '../interfaces/config';\nimport { GalleryImage, GalleryItem, GalleryOptions } from '../interfaces/photoswipe';\nimport { LightboxService } from '../services/lightbox.service';\n\nexport const DEFAULT_OPTIONS = {\n history: false,\n closeEl: true,\n captionEl: false,\n fullscreenEl: false,\n zoomEl: true,\n shareEl: false,\n counterEl: true,\n arrowEl: false,\n preloaderEl: true,\n};\n\n@Directive({\n selector: '[photoGalleryGroup]',\n})\nexport class PhotoGalleryGroupDirective {\n @Input('photoGalleryGroup') options: GalleryOptions;\n @Output() onPhotoGalleryInit = new EventEmitter();\n @Output() onPhotoGalleryDestroy = new EventEmitter();\n\n private defaultOptions: GalleryOptions;\n private gallery: PhotoSwipe<any> | null = null;\n private galleryItems: { [key: string]: GalleryItem } = {};\n private galleryItemIds: Set<string> = new Set<string>();\n private galleryImages: GalleryImage[] = [];\n\n constructor(\n @Optional() private photoGalleryConfig: PhotoGalleryConfig,\n private lightboxService: LightboxService\n ) {\n this.defaultOptions = { ...DEFAULT_OPTIONS, ...this.photoGalleryConfig?.defaultOptions };\n }\n\n private isVideo(url: string): boolean {\n return url?.includes('/videos/');\n }\n\n registerGalleryItem(item: { id: string; element: HTMLElement; imageUrl: string; caption?: string }): void {\n const image: GalleryImage = {\n id: item.id,\n src: item.imageUrl,\n ...(item.caption ? { title: item.caption } : {}),\n w: 0,\n h: 0,\n doGetSlideDimensions: true,\n };\n this.galleryItems[item.id] = {\n id: item.id,\n element: item.element,\n image,\n };\n\n this.galleryItemIds.add(item.id);\n }\n\n unregisterGalleryItem(id: string): void {\n this.galleryItemIds.delete(id);\n }\n\n async openPhotoSwipe(id: string): Promise<void> {\n this.lightboxService.create();\n\n const targetItem = this.galleryItems[id].image;\n\n if (targetItem.doGetSlideDimensions && !this.isVideo(targetItem.src)) {\n const targetImage = await loadImage(targetItem.src);\n targetItem.w = targetImage.naturalWidth;\n targetItem.h = targetImage.naturalHeight;\n delete targetItem.doGetSlideDimensions;\n }\n\n // Crée la liste complète des médias\n this.galleryImages = ([...this.galleryItemIds].map((key) => {\n const media = this.galleryItems[key].image;\n\n if (this.isVideo(media.src)) {\n return {\n id: media.id,\n html: `\n <div class=\"pswp__video-wrapper\">\n <video\n src=\"${media.src}\"\n controls\n preload=\"metadata\"\n style=\"max-width: 100%; max-height: 100%; border-radius: 8px;\"\n ></video>\n </div>\n `,\n title: media.title || '',\n w: 1920,\n h: 1080,\n };\n }\n\n return media;\n })) as any[];\n\n const idx = this.galleryImages.findIndex((image) => image.id === id);\n const options: GalleryOptions = { ...this.defaultOptions, ...this.options };\n options.index = idx;\n\n options.getThumbBoundsFn = (imageIndex: number) => {\n const key = this.galleryImages[imageIndex].id;\n const thumbnail = this.galleryItems[key].element;\n const origin = this.galleryItems[key].image;\n const pageYScroll = window.pageYOffset || document.documentElement.scrollTop;\n const rect = thumbnail.getBoundingClientRect();\n\n const thumbnailRate = rect.height / rect.width;\n const originRate = origin.h / origin.w;\n let x: number, y: number, w: number;\n\n if (thumbnailRate > originRate) {\n y = rect.top + pageYScroll;\n w = (origin.w * rect.height) / origin.h;\n x = rect.left - (w - rect.width) / 2;\n } else {\n const imageHeight = (origin.h * rect.width) / origin.w;\n x = rect.left;\n w = rect.width;\n y = rect.top + pageYScroll - (imageHeight - rect.height) / 2;\n }\n\n return { x, y, w };\n };\n\n const photoSwipe = this.lightboxService.getLightboxElement();\n\n this.gallery = new PhotoSwipe(photoSwipe, PhotoSwipeUI_Default, this.galleryImages, options);\n\n console.log(this.gallery);\n\n this.gallery.listen('beforeChange', () => {\n this.pauseAllVideos();\n });\n\n this.gallery.listen('initialZoomInEnd', () => {\n // au début, joue la vidéo si c’est une vidéo\n this.playCurrentSlideVideo();\n });\n\n this.gallery.listen('afterChange', () => {\n // on met un petit délai pour s’assurer que le DOM est prêt\n setTimeout(() => {\n this.playCurrentSlideVideo();\n }, 200);\n });\n\n this.gallery.listen('destroy', () => {\n this.pauseAllVideos();\n });\n\n this.gallery.listen('gettingData', (_, slide: any) => {\n if (slide.doGetSlideDimensions && !this.isVideo(slide.src)) {\n setTimeout(async () => await this.getSlideDimensions(slide), 300);\n }\n });\n\n this.gallery.listen('imageLoadComplete', async (_, slide: any) => {\n if (slide.doGetSlideDimensions && !this.isVideo(slide.src)) {\n await this.getSlideDimensions(slide);\n }\n });\n\n this.gallery.listen('destroy', () => {\n this.lightboxService.destroy();\n this.onPhotoGalleryDestroy.emit();\n });\n\n this.onPhotoGalleryInit.emit();\n this.gallery.init();\n }\n\n private async getSlideDimensions(slide: GalleryImage): Promise<void> {\n if (!slide.doGetSlideDimensions) {\n return;\n }\n\n const image: HTMLImageElement = await loadImage(slide.src).catch(() => null);\n\n slide.doGetSlideDimensions = false;\n\n slide.w = image.naturalWidth;\n slide.h = image.naturalHeight;\n\n this.gallery.invalidateCurrItems();\n this.gallery.updateSize(true);\n }\n private pauseAllVideos() {\n const vids = document.querySelectorAll<HTMLVideoElement>('.pswp__video-wrapper video');\n vids.forEach(v => {\n try {\n v.pause();\n v.currentTime = 0;\n } catch(_){}\n });\n }\n\n private playCurrentSlideVideo() {\n if (!this.gallery) return;\n\n const currentItem = this.gallery.currItem;\n if (!currentItem) return;\n\n const container = this.gallery.container as HTMLElement;\n if (!container) return;\n\n // Récupère les 3 slides DOM recyclés\n const slideEls = Array.from(container.children) as HTMLElement[];\n\n // Pause toutes les vidéos\n slideEls.forEach(slide => {\n const video = slide.querySelector<HTMLVideoElement>('video');\n if (video) {\n video.pause();\n video.currentTime = 0;\n }\n });\n\n // 🔍 Trouve le slide dont le <video> correspond au média actuel\n const activeSlide = slideEls.find(slide => {\n const video = slide.querySelector<HTMLVideoElement>('video');\n // PhotoSwipe remplace parfois src par un blob complet → on fait une comparaison partielle\n return video && currentItem.src && video.src.includes(currentItem.src);\n });\n\n if (!activeSlide) return;\n\n const activeVideo = activeSlide.querySelector<HTMLVideoElement>('video');\n if (activeVideo) {\n // léger délai pour s’assurer que le DOM est prêt et éviter \"play interrupted\"\n setTimeout(() => {\n activeVideo.play().catch(() => {});\n }, 100);\n }\n }\n}\n\nfunction loadImage(path: string): Promise<HTMLImageElement> {\n return new Promise((resolve, reject) => {\n const image = new Image();\n image.onload = () => resolve(image);\n image.onerror = (e) => reject(e);\n image.src = path;\n });\n}\n\n","import { Directive, HostListener, Input, ElementRef, AfterContentInit, OnDestroy } from '@angular/core';\n\nimport { PhotoGalleryGroupDirective } from './photo-gallery-group.directive';\n\n@Directive({\n selector: '[photoGallery]',\n})\nexport class PhotoGalleryDirective implements AfterContentInit, OnDestroy {\n @Input('photoGallery') imageUrl: string;\n @Input() photoGalleryTrackBy: string;\n @Input() photoGalleryCaption: string;\n id: string;\n\n constructor(private el: ElementRef, private photoGalleryGroup: PhotoGalleryGroupDirective) {}\n\n @HostListener('click')\n async openPhotoSwipe(): Promise<void> {\n await this.photoGalleryGroup.openPhotoSwipe(this.id);\n }\n\n ngAfterContentInit(): void {\n this.id = this.photoGalleryTrackBy || this.imageUrl;\n this.photoGalleryGroup.registerGalleryItem({\n id: this.id,\n element: this.el.nativeElement as HTMLElement,\n imageUrl: this.imageUrl,\n caption: this.photoGalleryCaption,\n });\n }\n\n ngOnDestroy(): void {\n this.photoGalleryGroup.unregisterGalleryItem(this.id);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { LightboxComponent } from './components/lightbox/lightbox.component';\nimport { PhotoGalleryGroupDirective } from './directives/photo-gallery-group.directive';\nimport { PhotoGalleryDirective } from './directives/photo-gallery.directive';\nimport { PhotoGalleryConfig } from './interfaces/config';\n\n@NgModule({\n declarations: [LightboxComponent, PhotoGalleryDirective, PhotoGalleryGroupDirective],\n providers: [],\n imports: [],\n exports: [PhotoGalleryDirective, PhotoGalleryGroupDirective],\n})\nexport class PhotoGalleryModule {\n static forRoot(config: PhotoGalleryConfig): ModuleWithProviders<PhotoGalleryModule> {\n return {\n ngModule: PhotoGalleryModule,\n providers: [\n {\n provide: PhotoGalleryConfig,\n useValue: config,\n },\n ],\n };\n }\n}\n","/*\n * Public API Surface of core\n */\n\nexport * from './lib/photo-gallery.module';\n\nexport * from './lib/directives/photo-gallery-group.directive';\nexport * from './lib/directives/photo-gallery.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.PhotoGalleryConfig","i2.LightboxService","i1.PhotoGalleryGroupDirective"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"twogate-ngx-photo-gallery.mjs","sources":["../../../projects/core/src/lib/components/lightbox/lightbox.component.ts","../../../projects/core/src/lib/components/lightbox/lightbox.component.html","../../../projects/core/src/lib/interfaces/config.ts","../../../projects/core/src/lib/services/lightbox.service.ts","../../../projects/core/src/lib/directives/photo-gallery-group.directive.ts","../../../projects/core/src/lib/directives/photo-gallery.directive.ts","../../../projects/core/src/lib/photo-gallery.module.ts","../../../projects/core/src/public-api.ts","../../../projects/core/src/twogate-ngx-photo-gallery.ts"],"sourcesContent":["import { Component, ViewChild, ElementRef, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'photo-gallery-lightbox',\n templateUrl: './lightbox.component.html',\n styleUrls: ['./lightbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LightboxComponent {\n @ViewChild('Lightbox', { static: true }) element: ElementRef;\n\n constructor() {}\n}\n","<div class=\"lightbox-wrapper\">\n <!-- Root element of PhotoSwipe. Must have class pswp. -->\n <div class=\"pswp\" #Lightbox tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\">\n <!-- Background of PhotoSwipe.\n It's a separate element, as animating opacity is faster than rgba(). -->\n <div class=\"pswp__bg\"></div>\n <!-- Slides wrapper with overflow:hidden. -->\n <div class=\"pswp__scroll-wrap\">\n <!-- Container that holds slides. PhotoSwipe keeps only 3 slides in DOM to save memory. -->\n <!-- don't modify these 3 pswp__item elements, data is added later on. -->\n <div class=\"pswp__container\">\n <div class=\"pswp__item\"></div>\n <div class=\"pswp__item\"></div>\n <div class=\"pswp__item\"></div>\n </div>\n <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. -->\n <div class=\"pswp__ui pswp__ui--hidden\">\n <div class=\"pswp__top-bar\">\n <!-- Controls are self-explanatory. Order can be changed. -->\n <div class=\"pswp__counter\"></div>\n <button class=\"pswp__button pswp__button--close\" title=\"Close (Esc)\"></button>\n <button class=\"pswp__button pswp__button--share\" title=\"Share\"></button>\n <button class=\"pswp__button pswp__button--fs\" title=\"Toggle fullscreen\"></button>\n <button class=\"pswp__button pswp__button--zoom\" title=\"Zoom in/out\"></button>\n <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR -->\n <!-- element will get class pswp__preloader--active when preloader is running -->\n <div class=\"pswp__preloader\">\n <div class=\"pswp__preloader__icn\">\n <div class=\"pswp__preloader__cut\">\n <div class=\"pswp__preloader__donut\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\">\n <div class=\"pswp__share-tooltip\"></div>\n </div>\n <button class=\"pswp__button pswp__button--arrow--left\" title=\"Previous (arrow left)\"></button>\n <button class=\"pswp__button pswp__button--arrow--right\" title=\"Next (arrow right)\"></button>\n <div class=\"pswp__caption\">\n <div class=\"pswp__caption__center\"></div>\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { GalleryOptions } from './photoswipe';\n\nexport abstract class PhotoGalleryConfig {\n defaultOptions?: GalleryOptions;\n}\n","import { Injectable, ComponentRef, ElementRef, ApplicationRef, createComponent } from '@angular/core';\n\nimport { LightboxComponent } from '../components/lightbox/lightbox.component';\n\n@Injectable({ providedIn: 'root' })\nexport class LightboxService {\n private lightbox: ComponentRef<LightboxComponent> | null;\n private lightboxElement: ElementRef | null;\n\n constructor(private applicationRef: ApplicationRef) {\n this.lightbox = null;\n this.lightboxElement = null;\n }\n\n create() {\n this.lightbox = createComponent(\n LightboxComponent,\n { environmentInjector: this.applicationRef.injector }\n );\n document.body.appendChild(this.lightbox.location.nativeElement);\n this.applicationRef.attachView(this.lightbox.hostView);\n\n this.lightboxElement = this.lightbox.instance.element;\n }\n\n destroy() {\n if (this.lightbox) {\n this.applicationRef.detachView(this.lightbox.hostView);\n this.lightbox = null;\n this.lightboxElement = null;\n }\n }\n\n /**\n * Returns the lightbox element.\n * This method is called after the lightbox is created.\n * @returns HTMLElement\n */\n getLightboxElement(): HTMLElement {\n return this.lightboxElement.nativeElement as HTMLElement;\n }\n}\n","import { Directive, Output, Input, EventEmitter, Optional } from '@angular/core';\nimport PhotoSwipe from 'photoswipe';\nimport PhotoSwipeUI_Default from 'photoswipe/dist/photoswipe-ui-default';\n\nimport { PhotoGalleryConfig } from '../interfaces/config';\nimport { GalleryImage, GalleryItem, GalleryOptions } from '../interfaces/photoswipe';\nimport { LightboxService } from '../services/lightbox.service';\n\nexport const DEFAULT_OPTIONS = {\n history: false,\n closeEl: true,\n captionEl: false,\n fullscreenEl: false,\n zoomEl: true,\n shareEl: false,\n counterEl: true,\n arrowEl: false,\n preloaderEl: true,\n};\n\n@Directive({\n selector: '[photoGalleryGroup]',\n})\nexport class PhotoGalleryGroupDirective {\n @Input('photoGalleryGroup') options: GalleryOptions;\n @Output() onPhotoGalleryInit = new EventEmitter();\n @Output() onPhotoGalleryDestroy = new EventEmitter();\n\n private defaultOptions: GalleryOptions;\n private gallery: PhotoSwipe<any> | null = null;\n private galleryItems: { [key: string]: GalleryItem } = {};\n private galleryItemIds: Set<string> = new Set<string>();\n private galleryImages: GalleryImage[] = [];\n\n constructor(\n @Optional() private photoGalleryConfig: PhotoGalleryConfig,\n private lightboxService: LightboxService\n ) {\n this.defaultOptions = { ...DEFAULT_OPTIONS, ...this.photoGalleryConfig?.defaultOptions };\n }\n\n private isVideo(url: string): boolean {\n return url?.includes('/videos/');\n }\n\n registerGalleryItem(item: { id: string; element: HTMLElement; imageUrl: string; caption?: string }): void {\n const image: GalleryImage = {\n id: item.id,\n src: item.imageUrl,\n ...(item.caption ? { title: item.caption } : {}),\n w: 0,\n h: 0,\n doGetSlideDimensions: true,\n };\n this.galleryItems[item.id] = {\n id: item.id,\n element: item.element,\n image,\n };\n\n this.galleryItemIds.add(item.id);\n }\n\n unregisterGalleryItem(id: string): void {\n this.galleryItemIds.delete(id);\n }\n\n async openPhotoSwipe(id: string): Promise<void> {\n this.lightboxService.create();\n\n const targetItem = this.galleryItems[id].image;\n\n if (targetItem.doGetSlideDimensions && !this.isVideo(targetItem.src)) {\n const targetImage = await loadImage(targetItem.src);\n targetItem.w = targetImage.naturalWidth;\n targetItem.h = targetImage.naturalHeight;\n delete targetItem.doGetSlideDimensions;\n }\n\n // Crée la liste complète des médias\n this.galleryImages = ([...this.galleryItemIds].map((key) => {\n const media = this.galleryItems[key].image;\n\n if (this.isVideo(media.src)) {\n return {\n id: media.id,\n html: `\n <div class=\"pswp__video-wrapper\">\n <video\n src=\"${media.src}\"\n controls\n preload=\"metadata\"\n style=\"max-width: 100%; max-height: 100%; border-radius: 8px;\"\n ></video>\n </div>\n `,\n title: media.title || '',\n w: 1920,\n h: 1080,\n };\n }\n\n return media;\n })) as any[];\n\n const idx = this.galleryImages.findIndex((image) => image.id === id);\n const options: GalleryOptions = { ...this.defaultOptions, ...this.options };\n options.index = idx;\n\n options.getThumbBoundsFn = (imageIndex: number) => {\n const key = this.galleryImages[imageIndex].id;\n const thumbnail = this.galleryItems[key].element;\n const origin = this.galleryItems[key].image;\n const pageYScroll = window.pageYOffset || document.documentElement.scrollTop;\n const rect = thumbnail.getBoundingClientRect();\n\n const thumbnailRate = rect.height / rect.width;\n const originRate = origin.h / origin.w;\n let x: number, y: number, w: number;\n\n if (thumbnailRate > originRate) {\n y = rect.top + pageYScroll;\n w = (origin.w * rect.height) / origin.h;\n x = rect.left - (w - rect.width) / 2;\n } else {\n const imageHeight = (origin.h * rect.width) / origin.w;\n x = rect.left;\n w = rect.width;\n y = rect.top + pageYScroll - (imageHeight - rect.height) / 2;\n }\n\n return { x, y, w };\n };\n\n const photoSwipe = this.lightboxService.getLightboxElement();\n\n this.gallery = new PhotoSwipe(photoSwipe, PhotoSwipeUI_Default, this.galleryImages, options);\n\n console.log(this.gallery);\n\n this.gallery.listen('beforeChange', () => {\n this.pauseAllVideos();\n });\n\n this.gallery.listen('initialZoomInEnd', () => {\n // au début, joue la vidéo si c’est une vidéo\n this.playCurrentSlideVideo();\n });\n\n this.gallery.listen('afterChange', () => {\n // on met un petit délai pour s’assurer que le DOM est prêt\n setTimeout(() => {\n this.playCurrentSlideVideo();\n }, 200);\n });\n\n this.gallery.listen('destroy', () => {\n this.pauseAllVideos();\n });\n\n this.gallery.listen('gettingData', (_, slide: any) => {\n if (slide.doGetSlideDimensions && !this.isVideo(slide.src)) {\n setTimeout(async () => await this.getSlideDimensions(slide), 300);\n }\n });\n\n this.gallery.listen('imageLoadComplete', async (_, slide: any) => {\n if (slide.doGetSlideDimensions && !this.isVideo(slide.src)) {\n await this.getSlideDimensions(slide);\n }\n });\n\n this.gallery.listen('destroy', () => {\n this.lightboxService.destroy();\n this.onPhotoGalleryDestroy.emit();\n });\n\n this.onPhotoGalleryInit.emit();\n this.gallery.init();\n }\n\n private async getSlideDimensions(slide: GalleryImage): Promise<void> {\n if (!slide.doGetSlideDimensions) {\n return;\n }\n\n const image: HTMLImageElement = await loadImage(slide.src).catch(() => null);\n\n slide.doGetSlideDimensions = false;\n\n slide.w = image.naturalWidth;\n slide.h = image.naturalHeight;\n\n this.gallery.invalidateCurrItems();\n this.gallery.updateSize(true);\n }\n private pauseAllVideos() {\n const vids = document.querySelectorAll<HTMLVideoElement>('.pswp__video-wrapper video');\n vids.forEach(v => {\n try {\n v.pause();\n v.currentTime = 0;\n } catch(_){}\n });\n }\n\n private playCurrentSlideVideo() {\n if (!this.gallery) return;\n\n const currentItem = this.gallery.currItem;\n if (!currentItem) return;\n\n const container = this.gallery.container as HTMLElement;\n if (!container) return;\n\n // Récupère les 3 slides DOM recyclés\n const slideEls = Array.from(container.children) as HTMLElement[];\n\n // Pause toutes les vidéos\n slideEls.forEach(slide => {\n const video = slide.querySelector<HTMLVideoElement>('video');\n if (video) {\n video.pause();\n video.currentTime = 0;\n }\n });\n\n // 🔍 Trouve le slide dont le <video> correspond au média actuel\n const activeSlide = slideEls.find(slide => {\n const video = slide.querySelector<HTMLVideoElement>('video');\n // PhotoSwipe remplace parfois src par un blob complet → on fait une comparaison partielle\n return video && currentItem.id && video.src.includes(currentItem.id);\n });\n\n if (!activeSlide) return;\n\n const activeVideo = activeSlide.querySelector<HTMLVideoElement>('video');\n if (activeVideo) {\n // léger délai pour s’assurer que le DOM est prêt et éviter \"play interrupted\"\n setTimeout(() => {\n activeVideo.play().catch(() => {});\n }, 100);\n }\n }\n}\n\nfunction loadImage(path: string): Promise<HTMLImageElement> {\n return new Promise((resolve, reject) => {\n const image = new Image();\n image.onload = () => resolve(image);\n image.onerror = (e) => reject(e);\n image.src = path;\n });\n}\n\n","import { Directive, HostListener, Input, ElementRef, AfterContentInit, OnDestroy } from '@angular/core';\n\nimport { PhotoGalleryGroupDirective } from './photo-gallery-group.directive';\n\n@Directive({\n selector: '[photoGallery]',\n})\nexport class PhotoGalleryDirective implements AfterContentInit, OnDestroy {\n @Input('photoGallery') imageUrl: string;\n @Input() photoGalleryTrackBy: string;\n @Input() photoGalleryCaption: string;\n id: string;\n\n constructor(private el: ElementRef, private photoGalleryGroup: PhotoGalleryGroupDirective) {}\n\n @HostListener('click')\n async openPhotoSwipe(): Promise<void> {\n await this.photoGalleryGroup.openPhotoSwipe(this.id);\n }\n\n ngAfterContentInit(): void {\n this.id = this.photoGalleryTrackBy || this.imageUrl;\n this.photoGalleryGroup.registerGalleryItem({\n id: this.id,\n element: this.el.nativeElement as HTMLElement,\n imageUrl: this.imageUrl,\n caption: this.photoGalleryCaption,\n });\n }\n\n ngOnDestroy(): void {\n this.photoGalleryGroup.unregisterGalleryItem(this.id);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { LightboxComponent } from './components/lightbox/lightbox.component';\nimport { PhotoGalleryGroupDirective } from './directives/photo-gallery-group.directive';\nimport { PhotoGalleryDirective } from './directives/photo-gallery.directive';\nimport { PhotoGalleryConfig } from './interfaces/config';\n\n@NgModule({\n declarations: [LightboxComponent, PhotoGalleryDirective, PhotoGalleryGroupDirective],\n providers: [],\n imports: [],\n exports: [PhotoGalleryDirective, PhotoGalleryGroupDirective],\n})\nexport class PhotoGalleryModule {\n static forRoot(config: PhotoGalleryConfig): ModuleWithProviders<PhotoGalleryModule> {\n return {\n ngModule: PhotoGalleryModule,\n providers: [\n {\n provide: PhotoGalleryConfig,\n useValue: config,\n },\n ],\n };\n }\n}\n","/*\n * Public API Surface of core\n */\n\nexport * from './lib/photo-gallery.module';\n\nexport * from './lib/directives/photo-gallery-group.directive';\nexport * from './lib/directives/photo-gallery.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.PhotoGalleryConfig","i2.LightboxService","i1.PhotoGalleryGroupDirective"],"mappings":"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"}
|
@@ -236,7 +236,7 @@ class PhotoGalleryGroupDirective {
|
|
236
236
|
const activeSlide = slideEls.find(slide => {
|
237
237
|
const video = slide.querySelector('video');
|
238
238
|
// PhotoSwipe remplace parfois src par un blob complet → on fait une comparaison partielle
|
239
|
-
return video && currentItem.
|
239
|
+
return video && currentItem.id && video.src.includes(currentItem.id);
|
240
240
|
});
|
241
241
|
if (!activeSlide)
|
242
242
|
return;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"twogate-ngx-photo-gallery.mjs","sources":["../../../projects/core/src/lib/components/lightbox/lightbox.component.ts","../../../projects/core/src/lib/components/lightbox/lightbox.component.html","../../../projects/core/src/lib/interfaces/config.ts","../../../projects/core/src/lib/services/lightbox.service.ts","../../../projects/core/src/lib/directives/photo-gallery-group.directive.ts","../../../projects/core/src/lib/directives/photo-gallery.directive.ts","../../../projects/core/src/lib/photo-gallery.module.ts","../../../projects/core/src/public-api.ts","../../../projects/core/src/twogate-ngx-photo-gallery.ts"],"sourcesContent":["import { Component, ViewChild, ElementRef, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'photo-gallery-lightbox',\n templateUrl: './lightbox.component.html',\n styleUrls: ['./lightbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LightboxComponent {\n @ViewChild('Lightbox', { static: true }) element: ElementRef;\n\n constructor() {}\n}\n","<div class=\"lightbox-wrapper\">\n <!-- Root element of PhotoSwipe. Must have class pswp. -->\n <div class=\"pswp\" #Lightbox tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\">\n <!-- Background of PhotoSwipe.\n It's a separate element, as animating opacity is faster than rgba(). -->\n <div class=\"pswp__bg\"></div>\n <!-- Slides wrapper with overflow:hidden. -->\n <div class=\"pswp__scroll-wrap\">\n <!-- Container that holds slides. PhotoSwipe keeps only 3 slides in DOM to save memory. -->\n <!-- don't modify these 3 pswp__item elements, data is added later on. -->\n <div class=\"pswp__container\">\n <div class=\"pswp__item\"></div>\n <div class=\"pswp__item\"></div>\n <div class=\"pswp__item\"></div>\n </div>\n <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. -->\n <div class=\"pswp__ui pswp__ui--hidden\">\n <div class=\"pswp__top-bar\">\n <!-- Controls are self-explanatory. Order can be changed. -->\n <div class=\"pswp__counter\"></div>\n <button class=\"pswp__button pswp__button--close\" title=\"Close (Esc)\"></button>\n <button class=\"pswp__button pswp__button--share\" title=\"Share\"></button>\n <button class=\"pswp__button pswp__button--fs\" title=\"Toggle fullscreen\"></button>\n <button class=\"pswp__button pswp__button--zoom\" title=\"Zoom in/out\"></button>\n <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR -->\n <!-- element will get class pswp__preloader--active when preloader is running -->\n <div class=\"pswp__preloader\">\n <div class=\"pswp__preloader__icn\">\n <div class=\"pswp__preloader__cut\">\n <div class=\"pswp__preloader__donut\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\">\n <div class=\"pswp__share-tooltip\"></div>\n </div>\n <button class=\"pswp__button pswp__button--arrow--left\" title=\"Previous (arrow left)\"></button>\n <button class=\"pswp__button pswp__button--arrow--right\" title=\"Next (arrow right)\"></button>\n <div class=\"pswp__caption\">\n <div class=\"pswp__caption__center\"></div>\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { GalleryOptions } from './photoswipe';\n\nexport abstract class PhotoGalleryConfig {\n defaultOptions?: GalleryOptions;\n}\n","import { Injectable, ComponentRef, ElementRef, ApplicationRef, createComponent } from '@angular/core';\n\nimport { LightboxComponent } from '../components/lightbox/lightbox.component';\n\n@Injectable({ providedIn: 'root' })\nexport class LightboxService {\n private lightbox: ComponentRef<LightboxComponent> | null;\n private lightboxElement: ElementRef | null;\n\n constructor(private applicationRef: ApplicationRef) {\n this.lightbox = null;\n this.lightboxElement = null;\n }\n\n create() {\n this.lightbox = createComponent(\n LightboxComponent,\n { environmentInjector: this.applicationRef.injector }\n );\n document.body.appendChild(this.lightbox.location.nativeElement);\n this.applicationRef.attachView(this.lightbox.hostView);\n\n this.lightboxElement = this.lightbox.instance.element;\n }\n\n destroy() {\n if (this.lightbox) {\n this.applicationRef.detachView(this.lightbox.hostView);\n this.lightbox = null;\n this.lightboxElement = null;\n }\n }\n\n /**\n * Returns the lightbox element.\n * This method is called after the lightbox is created.\n * @returns HTMLElement\n */\n getLightboxElement(): HTMLElement {\n return this.lightboxElement.nativeElement as HTMLElement;\n }\n}\n","import { Directive, Output, Input, EventEmitter, Optional } from '@angular/core';\nimport PhotoSwipe from 'photoswipe';\nimport PhotoSwipeUI_Default from 'photoswipe/dist/photoswipe-ui-default';\n\nimport { PhotoGalleryConfig } from '../interfaces/config';\nimport { GalleryImage, GalleryItem, GalleryOptions } from '../interfaces/photoswipe';\nimport { LightboxService } from '../services/lightbox.service';\n\nexport const DEFAULT_OPTIONS = {\n history: false,\n closeEl: true,\n captionEl: false,\n fullscreenEl: false,\n zoomEl: true,\n shareEl: false,\n counterEl: true,\n arrowEl: false,\n preloaderEl: true,\n};\n\n@Directive({\n selector: '[photoGalleryGroup]',\n})\nexport class PhotoGalleryGroupDirective {\n @Input('photoGalleryGroup') options: GalleryOptions;\n @Output() onPhotoGalleryInit = new EventEmitter();\n @Output() onPhotoGalleryDestroy = new EventEmitter();\n\n private defaultOptions: GalleryOptions;\n private gallery: PhotoSwipe<any> | null = null;\n private galleryItems: { [key: string]: GalleryItem } = {};\n private galleryItemIds: Set<string> = new Set<string>();\n private galleryImages: GalleryImage[] = [];\n\n constructor(\n @Optional() private photoGalleryConfig: PhotoGalleryConfig,\n private lightboxService: LightboxService\n ) {\n this.defaultOptions = { ...DEFAULT_OPTIONS, ...this.photoGalleryConfig?.defaultOptions };\n }\n\n private isVideo(url: string): boolean {\n return url?.includes('/videos/');\n }\n\n registerGalleryItem(item: { id: string; element: HTMLElement; imageUrl: string; caption?: string }): void {\n const image: GalleryImage = {\n id: item.id,\n src: item.imageUrl,\n ...(item.caption ? { title: item.caption } : {}),\n w: 0,\n h: 0,\n doGetSlideDimensions: true,\n };\n this.galleryItems[item.id] = {\n id: item.id,\n element: item.element,\n image,\n };\n\n this.galleryItemIds.add(item.id);\n }\n\n unregisterGalleryItem(id: string): void {\n this.galleryItemIds.delete(id);\n }\n\n async openPhotoSwipe(id: string): Promise<void> {\n this.lightboxService.create();\n\n const targetItem = this.galleryItems[id].image;\n\n if (targetItem.doGetSlideDimensions && !this.isVideo(targetItem.src)) {\n const targetImage = await loadImage(targetItem.src);\n targetItem.w = targetImage.naturalWidth;\n targetItem.h = targetImage.naturalHeight;\n delete targetItem.doGetSlideDimensions;\n }\n\n // Crée la liste complète des médias\n this.galleryImages = ([...this.galleryItemIds].map((key) => {\n const media = this.galleryItems[key].image;\n\n if (this.isVideo(media.src)) {\n return {\n id: media.id,\n html: `\n <div class=\"pswp__video-wrapper\">\n <video\n src=\"${media.src}\"\n controls\n preload=\"metadata\"\n style=\"max-width: 100%; max-height: 100%; border-radius: 8px;\"\n ></video>\n </div>\n `,\n title: media.title || '',\n w: 1920,\n h: 1080,\n };\n }\n\n return media;\n })) as any[];\n\n const idx = this.galleryImages.findIndex((image) => image.id === id);\n const options: GalleryOptions = { ...this.defaultOptions, ...this.options };\n options.index = idx;\n\n options.getThumbBoundsFn = (imageIndex: number) => {\n const key = this.galleryImages[imageIndex].id;\n const thumbnail = this.galleryItems[key].element;\n const origin = this.galleryItems[key].image;\n const pageYScroll = window.pageYOffset || document.documentElement.scrollTop;\n const rect = thumbnail.getBoundingClientRect();\n\n const thumbnailRate = rect.height / rect.width;\n const originRate = origin.h / origin.w;\n let x: number, y: number, w: number;\n\n if (thumbnailRate > originRate) {\n y = rect.top + pageYScroll;\n w = (origin.w * rect.height) / origin.h;\n x = rect.left - (w - rect.width) / 2;\n } else {\n const imageHeight = (origin.h * rect.width) / origin.w;\n x = rect.left;\n w = rect.width;\n y = rect.top + pageYScroll - (imageHeight - rect.height) / 2;\n }\n\n return { x, y, w };\n };\n\n const photoSwipe = this.lightboxService.getLightboxElement();\n\n this.gallery = new PhotoSwipe(photoSwipe, PhotoSwipeUI_Default, this.galleryImages, options);\n\n console.log(this.gallery);\n\n this.gallery.listen('beforeChange', () => {\n this.pauseAllVideos();\n });\n\n this.gallery.listen('initialZoomInEnd', () => {\n // au début, joue la vidéo si c’est une vidéo\n this.playCurrentSlideVideo();\n });\n\n this.gallery.listen('afterChange', () => {\n // on met un petit délai pour s’assurer que le DOM est prêt\n setTimeout(() => {\n this.playCurrentSlideVideo();\n }, 200);\n });\n\n this.gallery.listen('destroy', () => {\n this.pauseAllVideos();\n });\n\n this.gallery.listen('gettingData', (_, slide: any) => {\n if (slide.doGetSlideDimensions && !this.isVideo(slide.src)) {\n setTimeout(async () => await this.getSlideDimensions(slide), 300);\n }\n });\n\n this.gallery.listen('imageLoadComplete', async (_, slide: any) => {\n if (slide.doGetSlideDimensions && !this.isVideo(slide.src)) {\n await this.getSlideDimensions(slide);\n }\n });\n\n this.gallery.listen('destroy', () => {\n this.lightboxService.destroy();\n this.onPhotoGalleryDestroy.emit();\n });\n\n this.onPhotoGalleryInit.emit();\n this.gallery.init();\n }\n\n private async getSlideDimensions(slide: GalleryImage): Promise<void> {\n if (!slide.doGetSlideDimensions) {\n return;\n }\n\n const image: HTMLImageElement = await loadImage(slide.src).catch(() => null);\n\n slide.doGetSlideDimensions = false;\n\n slide.w = image.naturalWidth;\n slide.h = image.naturalHeight;\n\n this.gallery.invalidateCurrItems();\n this.gallery.updateSize(true);\n }\n private pauseAllVideos() {\n const vids = document.querySelectorAll<HTMLVideoElement>('.pswp__video-wrapper video');\n vids.forEach(v => {\n try {\n v.pause();\n v.currentTime = 0;\n } catch(_){}\n });\n }\n\n private playCurrentSlideVideo() {\n if (!this.gallery) return;\n\n const currentItem = this.gallery.currItem;\n if (!currentItem) return;\n\n const container = this.gallery.container as HTMLElement;\n if (!container) return;\n\n // Récupère les 3 slides DOM recyclés\n const slideEls = Array.from(container.children) as HTMLElement[];\n\n // Pause toutes les vidéos\n slideEls.forEach(slide => {\n const video = slide.querySelector<HTMLVideoElement>('video');\n if (video) {\n video.pause();\n video.currentTime = 0;\n }\n });\n\n // 🔍 Trouve le slide dont le <video> correspond au média actuel\n const activeSlide = slideEls.find(slide => {\n const video = slide.querySelector<HTMLVideoElement>('video');\n // PhotoSwipe remplace parfois src par un blob complet → on fait une comparaison partielle\n return video && currentItem.src && video.src.includes(currentItem.src);\n });\n\n if (!activeSlide) return;\n\n const activeVideo = activeSlide.querySelector<HTMLVideoElement>('video');\n if (activeVideo) {\n // léger délai pour s’assurer que le DOM est prêt et éviter \"play interrupted\"\n setTimeout(() => {\n activeVideo.play().catch(() => {});\n }, 100);\n }\n }\n}\n\nfunction loadImage(path: string): Promise<HTMLImageElement> {\n return new Promise((resolve, reject) => {\n const image = new Image();\n image.onload = () => resolve(image);\n image.onerror = (e) => reject(e);\n image.src = path;\n });\n}\n\n","import { Directive, HostListener, Input, ElementRef, AfterContentInit, OnDestroy } from '@angular/core';\n\nimport { PhotoGalleryGroupDirective } from './photo-gallery-group.directive';\n\n@Directive({\n selector: '[photoGallery]',\n})\nexport class PhotoGalleryDirective implements AfterContentInit, OnDestroy {\n @Input('photoGallery') imageUrl: string;\n @Input() photoGalleryTrackBy: string;\n @Input() photoGalleryCaption: string;\n id: string;\n\n constructor(private el: ElementRef, private photoGalleryGroup: PhotoGalleryGroupDirective) {}\n\n @HostListener('click')\n async openPhotoSwipe(): Promise<void> {\n await this.photoGalleryGroup.openPhotoSwipe(this.id);\n }\n\n ngAfterContentInit(): void {\n this.id = this.photoGalleryTrackBy || this.imageUrl;\n this.photoGalleryGroup.registerGalleryItem({\n id: this.id,\n element: this.el.nativeElement as HTMLElement,\n imageUrl: this.imageUrl,\n caption: this.photoGalleryCaption,\n });\n }\n\n ngOnDestroy(): void {\n this.photoGalleryGroup.unregisterGalleryItem(this.id);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { LightboxComponent } from './components/lightbox/lightbox.component';\nimport { PhotoGalleryGroupDirective } from './directives/photo-gallery-group.directive';\nimport { PhotoGalleryDirective } from './directives/photo-gallery.directive';\nimport { PhotoGalleryConfig } from './interfaces/config';\n\n@NgModule({\n declarations: [LightboxComponent, PhotoGalleryDirective, PhotoGalleryGroupDirective],\n providers: [],\n imports: [],\n exports: [PhotoGalleryDirective, PhotoGalleryGroupDirective],\n})\nexport class PhotoGalleryModule {\n static forRoot(config: PhotoGalleryConfig): ModuleWithProviders<PhotoGalleryModule> {\n return {\n ngModule: PhotoGalleryModule,\n providers: [\n {\n provide: PhotoGalleryConfig,\n useValue: config,\n },\n ],\n };\n }\n}\n","/*\n * Public API Surface of core\n */\n\nexport * from './lib/photo-gallery.module';\n\nexport * from './lib/directives/photo-gallery-group.directive';\nexport * from './lib/directives/photo-gallery.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.PhotoGalleryConfig","i2.LightboxService","i1.PhotoGalleryGroupDirective"],"mappings":";;;;;MAQa,iBAAiB,CAAA;AAG5B,IAAA,WAAA,GAAA,GAAgB;;+GAHL,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,iLCR9B,44EA8CA,EAAA,MAAA,EAAA,CAAA,qtoCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FDtCa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;+BACE,wBAAwB,EAAA,eAAA,EAGjB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,44EAAA,EAAA,MAAA,EAAA,CAAA,qtoCAAA,CAAA,EAAA,CAAA;0EAGN,OAAO,EAAA,CAAA;sBAA/C,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;MEPnB,kBAAkB,CAAA;AAEvC;;MCCY,eAAe,CAAA;AAI1B,IAAA,WAAA,CAAoB,cAA8B,EAAA;QAA9B,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AAChD,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;KAC7B;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,QAAQ,GAAG,eAAe,CAC7B,iBAAiB,EACjB,EAAE,mBAAmB,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CACtD,CAAC;AACF,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAChE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEvD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;KACvD;IAED,OAAO,GAAA;QACL,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvD,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAC7B,SAAA;KACF;AAED;;;;AAIG;IACH,kBAAkB,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,aAA4B,CAAC;KAC1D;;6GAnCU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cADF,MAAM,EAAA,CAAA,CAAA;4FACnB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ACIrB,MAAA,eAAe,GAAG;AAC7B,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,WAAW,EAAE,IAAI;EACjB;MAKW,0BAA0B,CAAA;IAWrC,WACsB,CAAA,kBAAsC,EAClD,eAAgC,EAAA;QADpB,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;QAClD,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;AAXhC,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,YAAY,EAAE,CAAC;AACxC,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,YAAY,EAAE,CAAC;QAG7C,IAAO,CAAA,OAAA,GAA2B,IAAI,CAAC;QACvC,IAAY,CAAA,YAAA,GAAmC,EAAE,CAAC;AAClD,QAAA,IAAA,CAAA,cAAc,GAAgB,IAAI,GAAG,EAAU,CAAC;QAChD,IAAa,CAAA,aAAA,GAAmB,EAAE,CAAC;AAMzC,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,cAAc,EAAE,CAAC;KAC1F;AAEO,IAAA,OAAO,CAAC,GAAW,EAAA;AACzB,QAAA,OAAO,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;KAClC;AAED,IAAA,mBAAmB,CAAC,IAA8E,EAAA;AAChG,QAAA,MAAM,KAAK,GAAiB;YAC1B,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,GAAG,EAAE,IAAI,CAAC,QAAQ;AAClB,YAAA,IAAI,IAAI,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;AAChD,YAAA,CAAC,EAAE,CAAC;AACJ,YAAA,CAAC,EAAE,CAAC;AACJ,YAAA,oBAAoB,EAAE,IAAI;SAC3B,CAAC;AACF,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;YAC3B,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK;SACN,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAClC;AAED,IAAA,qBAAqB,CAAC,EAAU,EAAA;AAC9B,QAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAChC;IAED,MAAM,cAAc,CAAC,EAAU,EAAA;AAC7B,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;QAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;AAE/C,QAAA,IAAI,UAAU,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACpE,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACpD,YAAA,UAAU,CAAC,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC;AACxC,YAAA,UAAU,CAAC,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC;YACzC,OAAO,UAAU,CAAC,oBAAoB,CAAC;AACxC,SAAA;;AAGD,QAAA,IAAI,CAAC,aAAa,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAI;YACzD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YAE3C,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBAC3B,OAAO;oBACL,EAAE,EAAE,KAAK,CAAC,EAAE;AACZ,oBAAA,IAAI,EAAE,CAAA;;;AAGK,mBAAA,EAAA,KAAK,CAAC,GAAG,CAAA;;;;;;AAMrB,QAAA,CAAA;AACC,oBAAA,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;AACxB,oBAAA,CAAC,EAAE,IAAI;AACP,oBAAA,CAAC,EAAE,IAAI;iBACR,CAAC;AACH,aAAA;AAED,YAAA,OAAO,KAAK,CAAC;SACd,CAAC,CAAU,CAAC;AAEb,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACrE,QAAA,MAAM,OAAO,GAAmB,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;AAC5E,QAAA,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC;AAEpB,QAAA,OAAO,CAAC,gBAAgB,GAAG,CAAC,UAAkB,KAAI;YAChD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACjD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC;AAC7E,YAAA,MAAM,IAAI,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;YAE/C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;YAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;AACvC,YAAA,IAAI,CAAS,EAAE,CAAS,EAAE,CAAS,CAAC;YAEpC,IAAI,aAAa,GAAG,UAAU,EAAE;AAC9B,gBAAA,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC;AAC3B,gBAAA,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;AACxC,gBAAA,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;AACtC,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC;AACvD,gBAAA,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AACd,gBAAA,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AACf,gBAAA,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,WAAW,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;AAC9D,aAAA;AAED,YAAA,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACrB,SAAC,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC;AAE7D,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,oBAAoB,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AAE7F,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE1B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAK;YACvC,IAAI,CAAC,cAAc,EAAE,CAAC;AACxB,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAK;;YAE3C,IAAI,CAAC,qBAAqB,EAAE,CAAC;AAC/B,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAK;;YAEtC,UAAU,CAAC,MAAK;gBACd,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAC9B,EAAE,GAAG,CAAC,CAAC;AACV,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAK;YAClC,IAAI,CAAC,cAAc,EAAE,CAAC;AACxB,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,KAAU,KAAI;AACnD,YAAA,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AAC1D,gBAAA,UAAU,CAAC,YAAY,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;AACnE,aAAA;AACH,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,EAAE,KAAU,KAAI;AAC/D,YAAA,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AAC1D,gBAAA,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACtC,aAAA;AACH,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAK;AAClC,YAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;AAC/B,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;AACpC,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;AAC/B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACrB;IAEO,MAAM,kBAAkB,CAAC,KAAmB,EAAA;AAClD,QAAA,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE;YAC/B,OAAO;AACR,SAAA;AAED,QAAA,MAAM,KAAK,GAAqB,MAAM,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;AAE7E,QAAA,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC;AAEnC,QAAA,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;AAC7B,QAAA,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC;AAE9B,QAAA,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;AACnC,QAAA,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KAC/B;IACO,cAAc,GAAA;QACpB,MAAM,IAAI,GAAG,QAAQ,CAAC,gBAAgB,CAAmB,4BAA4B,CAAC,CAAC;AACvF,QAAA,IAAI,CAAC,OAAO,CAAC,CAAC,IAAG;YACf,IAAI;gBACF,CAAC,CAAC,KAAK,EAAE,CAAC;AACV,gBAAA,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC;AACnB,aAAA;YAAC,OAAM,CAAC,EAAC,GAAE;AACd,SAAC,CAAC,CAAC;KACJ;IAEO,qBAAqB,GAAA;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;AAE1B,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC1C,QAAA,IAAI,CAAC,WAAW;YAAE,OAAO;AAEzB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAwB,CAAC;AACxD,QAAA,IAAI,CAAC,SAAS;YAAE,OAAO;;QAGvB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAkB,CAAC;;AAGjE,QAAA,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAG;YACvB,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAmB,OAAO,CAAC,CAAC;AAC7D,YAAA,IAAI,KAAK,EAAE;gBACT,KAAK,CAAC,KAAK,EAAE,CAAC;AACd,gBAAA,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;AACvB,aAAA;AACH,SAAC,CAAC,CAAC;;QAGH,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAG;YACxC,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAmB,OAAO,CAAC,CAAC;;AAE7D,YAAA,OAAO,KAAK,IAAI,WAAW,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACzE,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,WAAW;YAAE,OAAO;QAEzB,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAmB,OAAO,CAAC,CAAC;AACzE,QAAA,IAAI,WAAW,EAAE;;YAEf,UAAU,CAAC,MAAK;gBACd,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAK,GAAG,CAAC,CAAC;aACpC,EAAE,GAAG,CAAC,CAAC;AACT,SAAA;KACF;;wHA5NU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4GAA1B,0BAA0B,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,EAAA,SAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAChC,iBAAA,CAAA;;0BAaI,QAAQ;uEAXiB,OAAO,EAAA,CAAA;sBAAlC,KAAK;uBAAC,mBAAmB,CAAA;gBAChB,kBAAkB,EAAA,CAAA;sBAA3B,MAAM;gBACG,qBAAqB,EAAA,CAAA;sBAA9B,MAAM;;AA4NT,SAAS,SAAS,CAAC,IAAY,EAAA;IAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,QAAA,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;AACpC,QAAA,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;AACjC,QAAA,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;AACnB,KAAC,CAAC,CAAC;AACL;;MCtPa,qBAAqB,CAAA;IAMhC,WAAoB,CAAA,EAAc,EAAU,iBAA6C,EAAA;QAArE,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QAAU,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAA4B;KAAI;AAG7F,IAAA,MAAM,cAAc,GAAA;QAClB,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACtD;IAED,kBAAkB,GAAA;QAChB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,QAAQ,CAAC;AACpD,QAAA,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC;YACzC,EAAE,EAAE,IAAI,CAAC,EAAE;AACX,YAAA,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,aAA4B;YAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,mBAAmB;AAClC,SAAA,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;QACT,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACvD;;mHAzBU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,0BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uGAArB,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,cAAA,EAAA,UAAA,CAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC3B,iBAAA,CAAA;uIAEwB,QAAQ,EAAA,CAAA;sBAA9B,KAAK;uBAAC,cAAc,CAAA;gBACZ,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBAMA,cAAc,EAAA,CAAA;sBADnB,YAAY;uBAAC,OAAO,CAAA;;;MCFV,kBAAkB,CAAA;IAC7B,OAAO,OAAO,CAAC,MAA0B,EAAA;QACvC,OAAO;AACL,YAAA,QAAQ,EAAE,kBAAkB;AAC5B,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,kBAAkB;AAC3B,oBAAA,QAAQ,EAAE,MAAM;AACjB,iBAAA;AACF,aAAA;SACF,CAAC;KACH;;gHAXU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;iHAAlB,kBAAkB,EAAA,YAAA,EAAA,CALd,iBAAiB,EAAE,qBAAqB,EAAE,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAGzE,qBAAqB,EAAE,0BAA0B,CAAA,EAAA,CAAA,CAAA;iHAEhD,kBAAkB,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,0BAA0B,CAAC;AACpF,oBAAA,SAAS,EAAE,EAAE;AACb,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,OAAO,EAAE,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;AAC7D,iBAAA,CAAA;;;ACZD;;AAEG;;ACFH;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"twogate-ngx-photo-gallery.mjs","sources":["../../../projects/core/src/lib/components/lightbox/lightbox.component.ts","../../../projects/core/src/lib/components/lightbox/lightbox.component.html","../../../projects/core/src/lib/interfaces/config.ts","../../../projects/core/src/lib/services/lightbox.service.ts","../../../projects/core/src/lib/directives/photo-gallery-group.directive.ts","../../../projects/core/src/lib/directives/photo-gallery.directive.ts","../../../projects/core/src/lib/photo-gallery.module.ts","../../../projects/core/src/public-api.ts","../../../projects/core/src/twogate-ngx-photo-gallery.ts"],"sourcesContent":["import { Component, ViewChild, ElementRef, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'photo-gallery-lightbox',\n templateUrl: './lightbox.component.html',\n styleUrls: ['./lightbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LightboxComponent {\n @ViewChild('Lightbox', { static: true }) element: ElementRef;\n\n constructor() {}\n}\n","<div class=\"lightbox-wrapper\">\n <!-- Root element of PhotoSwipe. Must have class pswp. -->\n <div class=\"pswp\" #Lightbox tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\">\n <!-- Background of PhotoSwipe.\n It's a separate element, as animating opacity is faster than rgba(). -->\n <div class=\"pswp__bg\"></div>\n <!-- Slides wrapper with overflow:hidden. -->\n <div class=\"pswp__scroll-wrap\">\n <!-- Container that holds slides. PhotoSwipe keeps only 3 slides in DOM to save memory. -->\n <!-- don't modify these 3 pswp__item elements, data is added later on. -->\n <div class=\"pswp__container\">\n <div class=\"pswp__item\"></div>\n <div class=\"pswp__item\"></div>\n <div class=\"pswp__item\"></div>\n </div>\n <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. -->\n <div class=\"pswp__ui pswp__ui--hidden\">\n <div class=\"pswp__top-bar\">\n <!-- Controls are self-explanatory. Order can be changed. -->\n <div class=\"pswp__counter\"></div>\n <button class=\"pswp__button pswp__button--close\" title=\"Close (Esc)\"></button>\n <button class=\"pswp__button pswp__button--share\" title=\"Share\"></button>\n <button class=\"pswp__button pswp__button--fs\" title=\"Toggle fullscreen\"></button>\n <button class=\"pswp__button pswp__button--zoom\" title=\"Zoom in/out\"></button>\n <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR -->\n <!-- element will get class pswp__preloader--active when preloader is running -->\n <div class=\"pswp__preloader\">\n <div class=\"pswp__preloader__icn\">\n <div class=\"pswp__preloader__cut\">\n <div class=\"pswp__preloader__donut\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\">\n <div class=\"pswp__share-tooltip\"></div>\n </div>\n <button class=\"pswp__button pswp__button--arrow--left\" title=\"Previous (arrow left)\"></button>\n <button class=\"pswp__button pswp__button--arrow--right\" title=\"Next (arrow right)\"></button>\n <div class=\"pswp__caption\">\n <div class=\"pswp__caption__center\"></div>\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { GalleryOptions } from './photoswipe';\n\nexport abstract class PhotoGalleryConfig {\n defaultOptions?: GalleryOptions;\n}\n","import { Injectable, ComponentRef, ElementRef, ApplicationRef, createComponent } from '@angular/core';\n\nimport { LightboxComponent } from '../components/lightbox/lightbox.component';\n\n@Injectable({ providedIn: 'root' })\nexport class LightboxService {\n private lightbox: ComponentRef<LightboxComponent> | null;\n private lightboxElement: ElementRef | null;\n\n constructor(private applicationRef: ApplicationRef) {\n this.lightbox = null;\n this.lightboxElement = null;\n }\n\n create() {\n this.lightbox = createComponent(\n LightboxComponent,\n { environmentInjector: this.applicationRef.injector }\n );\n document.body.appendChild(this.lightbox.location.nativeElement);\n this.applicationRef.attachView(this.lightbox.hostView);\n\n this.lightboxElement = this.lightbox.instance.element;\n }\n\n destroy() {\n if (this.lightbox) {\n this.applicationRef.detachView(this.lightbox.hostView);\n this.lightbox = null;\n this.lightboxElement = null;\n }\n }\n\n /**\n * Returns the lightbox element.\n * This method is called after the lightbox is created.\n * @returns HTMLElement\n */\n getLightboxElement(): HTMLElement {\n return this.lightboxElement.nativeElement as HTMLElement;\n }\n}\n","import { Directive, Output, Input, EventEmitter, Optional } from '@angular/core';\nimport PhotoSwipe from 'photoswipe';\nimport PhotoSwipeUI_Default from 'photoswipe/dist/photoswipe-ui-default';\n\nimport { PhotoGalleryConfig } from '../interfaces/config';\nimport { GalleryImage, GalleryItem, GalleryOptions } from '../interfaces/photoswipe';\nimport { LightboxService } from '../services/lightbox.service';\n\nexport const DEFAULT_OPTIONS = {\n history: false,\n closeEl: true,\n captionEl: false,\n fullscreenEl: false,\n zoomEl: true,\n shareEl: false,\n counterEl: true,\n arrowEl: false,\n preloaderEl: true,\n};\n\n@Directive({\n selector: '[photoGalleryGroup]',\n})\nexport class PhotoGalleryGroupDirective {\n @Input('photoGalleryGroup') options: GalleryOptions;\n @Output() onPhotoGalleryInit = new EventEmitter();\n @Output() onPhotoGalleryDestroy = new EventEmitter();\n\n private defaultOptions: GalleryOptions;\n private gallery: PhotoSwipe<any> | null = null;\n private galleryItems: { [key: string]: GalleryItem } = {};\n private galleryItemIds: Set<string> = new Set<string>();\n private galleryImages: GalleryImage[] = [];\n\n constructor(\n @Optional() private photoGalleryConfig: PhotoGalleryConfig,\n private lightboxService: LightboxService\n ) {\n this.defaultOptions = { ...DEFAULT_OPTIONS, ...this.photoGalleryConfig?.defaultOptions };\n }\n\n private isVideo(url: string): boolean {\n return url?.includes('/videos/');\n }\n\n registerGalleryItem(item: { id: string; element: HTMLElement; imageUrl: string; caption?: string }): void {\n const image: GalleryImage = {\n id: item.id,\n src: item.imageUrl,\n ...(item.caption ? { title: item.caption } : {}),\n w: 0,\n h: 0,\n doGetSlideDimensions: true,\n };\n this.galleryItems[item.id] = {\n id: item.id,\n element: item.element,\n image,\n };\n\n this.galleryItemIds.add(item.id);\n }\n\n unregisterGalleryItem(id: string): void {\n this.galleryItemIds.delete(id);\n }\n\n async openPhotoSwipe(id: string): Promise<void> {\n this.lightboxService.create();\n\n const targetItem = this.galleryItems[id].image;\n\n if (targetItem.doGetSlideDimensions && !this.isVideo(targetItem.src)) {\n const targetImage = await loadImage(targetItem.src);\n targetItem.w = targetImage.naturalWidth;\n targetItem.h = targetImage.naturalHeight;\n delete targetItem.doGetSlideDimensions;\n }\n\n // Crée la liste complète des médias\n this.galleryImages = ([...this.galleryItemIds].map((key) => {\n const media = this.galleryItems[key].image;\n\n if (this.isVideo(media.src)) {\n return {\n id: media.id,\n html: `\n <div class=\"pswp__video-wrapper\">\n <video\n src=\"${media.src}\"\n controls\n preload=\"metadata\"\n style=\"max-width: 100%; max-height: 100%; border-radius: 8px;\"\n ></video>\n </div>\n `,\n title: media.title || '',\n w: 1920,\n h: 1080,\n };\n }\n\n return media;\n })) as any[];\n\n const idx = this.galleryImages.findIndex((image) => image.id === id);\n const options: GalleryOptions = { ...this.defaultOptions, ...this.options };\n options.index = idx;\n\n options.getThumbBoundsFn = (imageIndex: number) => {\n const key = this.galleryImages[imageIndex].id;\n const thumbnail = this.galleryItems[key].element;\n const origin = this.galleryItems[key].image;\n const pageYScroll = window.pageYOffset || document.documentElement.scrollTop;\n const rect = thumbnail.getBoundingClientRect();\n\n const thumbnailRate = rect.height / rect.width;\n const originRate = origin.h / origin.w;\n let x: number, y: number, w: number;\n\n if (thumbnailRate > originRate) {\n y = rect.top + pageYScroll;\n w = (origin.w * rect.height) / origin.h;\n x = rect.left - (w - rect.width) / 2;\n } else {\n const imageHeight = (origin.h * rect.width) / origin.w;\n x = rect.left;\n w = rect.width;\n y = rect.top + pageYScroll - (imageHeight - rect.height) / 2;\n }\n\n return { x, y, w };\n };\n\n const photoSwipe = this.lightboxService.getLightboxElement();\n\n this.gallery = new PhotoSwipe(photoSwipe, PhotoSwipeUI_Default, this.galleryImages, options);\n\n console.log(this.gallery);\n\n this.gallery.listen('beforeChange', () => {\n this.pauseAllVideos();\n });\n\n this.gallery.listen('initialZoomInEnd', () => {\n // au début, joue la vidéo si c’est une vidéo\n this.playCurrentSlideVideo();\n });\n\n this.gallery.listen('afterChange', () => {\n // on met un petit délai pour s’assurer que le DOM est prêt\n setTimeout(() => {\n this.playCurrentSlideVideo();\n }, 200);\n });\n\n this.gallery.listen('destroy', () => {\n this.pauseAllVideos();\n });\n\n this.gallery.listen('gettingData', (_, slide: any) => {\n if (slide.doGetSlideDimensions && !this.isVideo(slide.src)) {\n setTimeout(async () => await this.getSlideDimensions(slide), 300);\n }\n });\n\n this.gallery.listen('imageLoadComplete', async (_, slide: any) => {\n if (slide.doGetSlideDimensions && !this.isVideo(slide.src)) {\n await this.getSlideDimensions(slide);\n }\n });\n\n this.gallery.listen('destroy', () => {\n this.lightboxService.destroy();\n this.onPhotoGalleryDestroy.emit();\n });\n\n this.onPhotoGalleryInit.emit();\n this.gallery.init();\n }\n\n private async getSlideDimensions(slide: GalleryImage): Promise<void> {\n if (!slide.doGetSlideDimensions) {\n return;\n }\n\n const image: HTMLImageElement = await loadImage(slide.src).catch(() => null);\n\n slide.doGetSlideDimensions = false;\n\n slide.w = image.naturalWidth;\n slide.h = image.naturalHeight;\n\n this.gallery.invalidateCurrItems();\n this.gallery.updateSize(true);\n }\n private pauseAllVideos() {\n const vids = document.querySelectorAll<HTMLVideoElement>('.pswp__video-wrapper video');\n vids.forEach(v => {\n try {\n v.pause();\n v.currentTime = 0;\n } catch(_){}\n });\n }\n\n private playCurrentSlideVideo() {\n if (!this.gallery) return;\n\n const currentItem = this.gallery.currItem;\n if (!currentItem) return;\n\n const container = this.gallery.container as HTMLElement;\n if (!container) return;\n\n // Récupère les 3 slides DOM recyclés\n const slideEls = Array.from(container.children) as HTMLElement[];\n\n // Pause toutes les vidéos\n slideEls.forEach(slide => {\n const video = slide.querySelector<HTMLVideoElement>('video');\n if (video) {\n video.pause();\n video.currentTime = 0;\n }\n });\n\n // 🔍 Trouve le slide dont le <video> correspond au média actuel\n const activeSlide = slideEls.find(slide => {\n const video = slide.querySelector<HTMLVideoElement>('video');\n // PhotoSwipe remplace parfois src par un blob complet → on fait une comparaison partielle\n return video && currentItem.id && video.src.includes(currentItem.id);\n });\n\n if (!activeSlide) return;\n\n const activeVideo = activeSlide.querySelector<HTMLVideoElement>('video');\n if (activeVideo) {\n // léger délai pour s’assurer que le DOM est prêt et éviter \"play interrupted\"\n setTimeout(() => {\n activeVideo.play().catch(() => {});\n }, 100);\n }\n }\n}\n\nfunction loadImage(path: string): Promise<HTMLImageElement> {\n return new Promise((resolve, reject) => {\n const image = new Image();\n image.onload = () => resolve(image);\n image.onerror = (e) => reject(e);\n image.src = path;\n });\n}\n\n","import { Directive, HostListener, Input, ElementRef, AfterContentInit, OnDestroy } from '@angular/core';\n\nimport { PhotoGalleryGroupDirective } from './photo-gallery-group.directive';\n\n@Directive({\n selector: '[photoGallery]',\n})\nexport class PhotoGalleryDirective implements AfterContentInit, OnDestroy {\n @Input('photoGallery') imageUrl: string;\n @Input() photoGalleryTrackBy: string;\n @Input() photoGalleryCaption: string;\n id: string;\n\n constructor(private el: ElementRef, private photoGalleryGroup: PhotoGalleryGroupDirective) {}\n\n @HostListener('click')\n async openPhotoSwipe(): Promise<void> {\n await this.photoGalleryGroup.openPhotoSwipe(this.id);\n }\n\n ngAfterContentInit(): void {\n this.id = this.photoGalleryTrackBy || this.imageUrl;\n this.photoGalleryGroup.registerGalleryItem({\n id: this.id,\n element: this.el.nativeElement as HTMLElement,\n imageUrl: this.imageUrl,\n caption: this.photoGalleryCaption,\n });\n }\n\n ngOnDestroy(): void {\n this.photoGalleryGroup.unregisterGalleryItem(this.id);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { LightboxComponent } from './components/lightbox/lightbox.component';\nimport { PhotoGalleryGroupDirective } from './directives/photo-gallery-group.directive';\nimport { PhotoGalleryDirective } from './directives/photo-gallery.directive';\nimport { PhotoGalleryConfig } from './interfaces/config';\n\n@NgModule({\n declarations: [LightboxComponent, PhotoGalleryDirective, PhotoGalleryGroupDirective],\n providers: [],\n imports: [],\n exports: [PhotoGalleryDirective, PhotoGalleryGroupDirective],\n})\nexport class PhotoGalleryModule {\n static forRoot(config: PhotoGalleryConfig): ModuleWithProviders<PhotoGalleryModule> {\n return {\n ngModule: PhotoGalleryModule,\n providers: [\n {\n provide: PhotoGalleryConfig,\n useValue: config,\n },\n ],\n };\n }\n}\n","/*\n * Public API Surface of core\n */\n\nexport * from './lib/photo-gallery.module';\n\nexport * from './lib/directives/photo-gallery-group.directive';\nexport * from './lib/directives/photo-gallery.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.PhotoGalleryConfig","i2.LightboxService","i1.PhotoGalleryGroupDirective"],"mappings":"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"}
|