lightgallery 2.3.0 → 2.5.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/README.md +4 -0
  2. package/angular/10/bundles/lightgallery-angular-10.umd.js +34 -1
  3. package/angular/10/bundles/lightgallery-angular-10.umd.js.map +1 -1
  4. package/angular/10/bundles/lightgallery-angular-10.umd.min.js +1 -1
  5. package/angular/10/bundles/lightgallery-angular-10.umd.min.js.map +1 -1
  6. package/angular/10/esm2015/lib/lightgallery-angular.component.js +35 -2
  7. package/angular/10/fesm2015/lightgallery-angular-10.js +34 -1
  8. package/angular/10/fesm2015/lightgallery-angular-10.js.map +1 -1
  9. package/angular/10/lib/lightgallery-angular.component.d.ts +6 -2
  10. package/angular/10/lib/lightgallery-angular.component.d.ts.map +1 -1
  11. package/angular/11/bundles/lightgallery-angular-11.umd.js +34 -1
  12. package/angular/11/bundles/lightgallery-angular-11.umd.js.map +1 -1
  13. package/angular/11/bundles/lightgallery-angular-11.umd.min.js +1 -1
  14. package/angular/11/bundles/lightgallery-angular-11.umd.min.js.map +1 -1
  15. package/angular/11/esm2015/lib/lightgallery-angular.component.js +35 -2
  16. package/angular/11/fesm2015/lightgallery-angular-11.js +34 -1
  17. package/angular/11/fesm2015/lightgallery-angular-11.js.map +1 -1
  18. package/angular/11/lib/lightgallery-angular.component.d.ts +6 -2
  19. package/angular/11/lib/lightgallery-angular.component.d.ts.map +1 -1
  20. package/angular/9/bundles/lightgallery-angular-9.umd.js +34 -1
  21. package/angular/9/bundles/lightgallery-angular-9.umd.js.map +1 -1
  22. package/angular/9/bundles/lightgallery-angular-9.umd.min.js +1 -1
  23. package/angular/9/bundles/lightgallery-angular-9.umd.min.js.map +1 -1
  24. package/angular/9/esm2015/lib/lightgallery-angular.component.js +35 -2
  25. package/angular/9/esm5/lib/lightgallery-angular.component.js +35 -2
  26. package/angular/9/fesm2015/lightgallery-angular-9.js +34 -1
  27. package/angular/9/fesm2015/lightgallery-angular-9.js.map +1 -1
  28. package/angular/9/fesm5/lightgallery-angular-9.js +34 -1
  29. package/angular/9/fesm5/lightgallery-angular-9.js.map +1 -1
  30. package/angular/9/lib/lightgallery-angular.component.d.ts +6 -2
  31. package/angular/bundles/lightgallery-angular.umd.js +34 -1
  32. package/angular/bundles/lightgallery-angular.umd.js.map +1 -1
  33. package/angular/esm2015/lib/lightgallery-angular.component.js +35 -2
  34. package/angular/fesm2015/lightgallery-angular.js +34 -1
  35. package/angular/fesm2015/lightgallery-angular.js.map +1 -1
  36. package/angular/lib/lightgallery-angular.component.d.ts +6 -2
  37. package/angular/lib/lightgallery-angular.component.d.ts.map +1 -1
  38. package/css/lightgallery-bundle.css +0 -1
  39. package/css/lightgallery-bundle.min.css +1 -1
  40. package/css/lightgallery-core.css +0 -1
  41. package/css/lightgallery.css +0 -1
  42. package/lg-events.d.ts +44 -0
  43. package/lg-settings.d.ts +15 -0
  44. package/lg-utils.d.ts +1 -1
  45. package/lib/lg-events.js +3 -0
  46. package/lib/lg-events.js.map +1 -1
  47. package/lib/lg-settings.js +8 -0
  48. package/lib/lg-settings.js.map +1 -1
  49. package/lib/lg-utils.js +2 -2
  50. package/lib/lg-utils.js.map +1 -1
  51. package/lib/lgQuery.js +4 -2
  52. package/lib/lgQuery.js.map +1 -1
  53. package/lib/lightgallery.js +11 -10
  54. package/lib/lightgallery.js.map +1 -1
  55. package/lib/plugins/autoplay/lg-autoplay-settings.js +3 -0
  56. package/lib/plugins/autoplay/lg-autoplay-settings.js.map +1 -1
  57. package/lib/plugins/autoplay/lg-autoplay.js +20 -11
  58. package/lib/plugins/autoplay/lg-autoplay.js.map +1 -1
  59. package/lib/plugins/comment/lg-comment-settings.js +3 -0
  60. package/lib/plugins/comment/lg-comment-settings.js.map +1 -1
  61. package/lib/plugins/comment/lg-comment.js +1 -1
  62. package/lib/plugins/comment/lg-comment.js.map +1 -1
  63. package/lib/plugins/fullscreen/lg-fullscreen-settings.js +3 -0
  64. package/lib/plugins/fullscreen/lg-fullscreen-settings.js.map +1 -1
  65. package/lib/plugins/fullscreen/lg-fullscreen.js +1 -2
  66. package/lib/plugins/fullscreen/lg-fullscreen.js.map +1 -1
  67. package/lib/plugins/rotate/lg-rotate-settings.js +6 -0
  68. package/lib/plugins/rotate/lg-rotate-settings.js.map +1 -1
  69. package/lib/plugins/rotate/lg-rotate.js +4 -8
  70. package/lib/plugins/rotate/lg-rotate.js.map +1 -1
  71. package/lib/plugins/share/lg-share-settings.js +1 -0
  72. package/lib/plugins/share/lg-share-settings.js.map +1 -1
  73. package/lib/plugins/share/lg-share.js +1 -1
  74. package/lib/plugins/share/lg-share.js.map +1 -1
  75. package/lib/plugins/thumbnail/lg-thumbnail-settings.js +3 -0
  76. package/lib/plugins/thumbnail/lg-thumbnail-settings.js.map +1 -1
  77. package/lib/plugins/thumbnail/lg-thumbnail.js +3 -1
  78. package/lib/plugins/thumbnail/lg-thumbnail.js.map +1 -1
  79. package/lib/plugins/video/lg-video-utils.js +13 -5
  80. package/lib/plugins/video/lg-video-utils.js.map +1 -1
  81. package/lib/plugins/vimeoThumbnail/lg-vimeo-thumbnail-settings.js +8 -0
  82. package/lib/plugins/vimeoThumbnail/lg-vimeo-thumbnail-settings.js.map +1 -0
  83. package/lib/plugins/vimeoThumbnail/lg-vimeo-thumbnail.js +122 -0
  84. package/lib/plugins/vimeoThumbnail/lg-vimeo-thumbnail.js.map +1 -0
  85. package/lib/plugins/zoom/lg-zoom-settings.js +5 -0
  86. package/lib/plugins/zoom/lg-zoom-settings.js.map +1 -1
  87. package/lib/plugins/zoom/lg-zoom.js +2 -2
  88. package/lib/plugins/zoom/lg-zoom.js.map +1 -1
  89. package/lightgallery.d.ts +1 -1
  90. package/lightgallery.es5.js +126 -112
  91. package/lightgallery.es5.js.map +1 -1
  92. package/lightgallery.min.js +2 -2
  93. package/lightgallery.umd.js +126 -112
  94. package/lightgallery.umd.js.map +1 -1
  95. package/lit/lightgallery.esm.js +6 -6
  96. package/lit/lightgallery.umd.js +3 -3
  97. package/package.json +1 -1
  98. package/plugins/autoplay/lg-autoplay-settings.d.ts +7 -0
  99. package/plugins/autoplay/lg-autoplay.d.ts +2 -2
  100. package/plugins/autoplay/lg-autoplay.es5.js +27 -12
  101. package/plugins/autoplay/lg-autoplay.es5.js.map +1 -1
  102. package/plugins/autoplay/lg-autoplay.min.js +2 -2
  103. package/plugins/autoplay/lg-autoplay.umd.js +27 -12
  104. package/plugins/autoplay/lg-autoplay.umd.js.map +1 -1
  105. package/plugins/comment/lg-comment-settings.d.ts +7 -0
  106. package/plugins/comment/lg-comment.es5.js +8 -2
  107. package/plugins/comment/lg-comment.es5.js.map +1 -1
  108. package/plugins/comment/lg-comment.min.js +2 -2
  109. package/plugins/comment/lg-comment.umd.js +8 -2
  110. package/plugins/comment/lg-comment.umd.js.map +1 -1
  111. package/plugins/fullscreen/lg-fullscreen-settings.d.ts +7 -0
  112. package/plugins/fullscreen/lg-fullscreen.es5.js +5 -3
  113. package/plugins/fullscreen/lg-fullscreen.es5.js.map +1 -1
  114. package/plugins/fullscreen/lg-fullscreen.min.js +2 -2
  115. package/plugins/fullscreen/lg-fullscreen.umd.js +5 -3
  116. package/plugins/fullscreen/lg-fullscreen.umd.js.map +1 -1
  117. package/plugins/hash/lg-hash.es5.js +4 -1
  118. package/plugins/hash/lg-hash.es5.js.map +1 -1
  119. package/plugins/hash/lg-hash.min.js +1 -1
  120. package/plugins/hash/lg-hash.umd.js +4 -1
  121. package/plugins/hash/lg-hash.umd.js.map +1 -1
  122. package/plugins/mediumZoom/lg-medium-zoom.es5.js +4 -1
  123. package/plugins/mediumZoom/lg-medium-zoom.es5.js.map +1 -1
  124. package/plugins/mediumZoom/lg-medium-zoom.min.js +1 -1
  125. package/plugins/mediumZoom/lg-medium-zoom.umd.js +4 -1
  126. package/plugins/mediumZoom/lg-medium-zoom.umd.js.map +1 -1
  127. package/plugins/pager/lg-pager.es5.js +4 -1
  128. package/plugins/pager/lg-pager.es5.js.map +1 -1
  129. package/plugins/pager/lg-pager.min.js +1 -1
  130. package/plugins/pager/lg-pager.umd.js +4 -1
  131. package/plugins/pager/lg-pager.umd.js.map +1 -1
  132. package/plugins/relativeCaption/lg-relative-caption.es5.js +4 -1
  133. package/plugins/relativeCaption/lg-relative-caption.es5.js.map +1 -1
  134. package/plugins/relativeCaption/lg-relative-caption.min.js +1 -1
  135. package/plugins/relativeCaption/lg-relative-caption.umd.js +4 -1
  136. package/plugins/relativeCaption/lg-relative-caption.umd.js.map +1 -1
  137. package/plugins/rotate/lg-rotate-settings.d.ts +11 -0
  138. package/plugins/rotate/lg-rotate.es5.js +14 -9
  139. package/plugins/rotate/lg-rotate.es5.js.map +1 -1
  140. package/plugins/rotate/lg-rotate.min.js +2 -2
  141. package/plugins/rotate/lg-rotate.umd.js +14 -9
  142. package/plugins/rotate/lg-rotate.umd.js.map +1 -1
  143. package/plugins/share/lg-share-settings.d.ts +8 -0
  144. package/plugins/share/lg-share.es5.js +6 -2
  145. package/plugins/share/lg-share.es5.js.map +1 -1
  146. package/plugins/share/lg-share.min.js +2 -2
  147. package/plugins/share/lg-share.umd.js +6 -2
  148. package/plugins/share/lg-share.umd.js.map +1 -1
  149. package/plugins/thumbnail/lg-thumbnail-settings.d.ts +8 -0
  150. package/plugins/thumbnail/lg-thumbnail.es5.js +10 -2
  151. package/plugins/thumbnail/lg-thumbnail.es5.js.map +1 -1
  152. package/plugins/thumbnail/lg-thumbnail.min.js +2 -2
  153. package/plugins/thumbnail/lg-thumbnail.umd.js +10 -2
  154. package/plugins/thumbnail/lg-thumbnail.umd.js.map +1 -1
  155. package/plugins/video/lg-video.es5.js +17 -6
  156. package/plugins/video/lg-video.es5.js.map +1 -1
  157. package/plugins/video/lg-video.min.js +2 -2
  158. package/plugins/video/lg-video.umd.js +17 -6
  159. package/plugins/video/lg-video.umd.js.map +1 -1
  160. package/plugins/vimeoThumbnail/lg-vimeo-thumbnail-settings.d.ts +11 -0
  161. package/plugins/vimeoThumbnail/lg-vimeo-thumbnail.d.ts +14 -0
  162. package/plugins/vimeoThumbnail/lg-vimeo-thumbnail.es5.js +182 -0
  163. package/plugins/vimeoThumbnail/lg-vimeo-thumbnail.es5.js.map +1 -0
  164. package/plugins/vimeoThumbnail/lg-vimeo-thumbnail.min.js +8 -0
  165. package/plugins/vimeoThumbnail/lg-vimeo-thumbnail.umd.js +190 -0
  166. package/plugins/vimeoThumbnail/lg-vimeo-thumbnail.umd.js.map +1 -0
  167. package/plugins/vimeoThumbnail/package.json +7 -0
  168. package/plugins/zoom/lg-zoom-settings.d.ts +9 -0
  169. package/plugins/zoom/lg-zoom.es5.js +11 -3
  170. package/plugins/zoom/lg-zoom.es5.js.map +1 -1
  171. package/plugins/zoom/lg-zoom.min.js +2 -2
  172. package/plugins/zoom/lg-zoom.umd.js +11 -3
  173. package/plugins/zoom/lg-zoom.umd.js.map +1 -1
  174. package/react/Lightgallery.d.ts +5 -1
  175. package/react/Lightgallery.es5.js +155 -113
  176. package/react/Lightgallery.es5.js.map +1 -1
  177. package/react/Lightgallery.umd.js +155 -113
  178. package/react/Lightgallery.umd.js.map +1 -1
  179. package/scss/lightgallery-core.scss +0 -1
  180. package/vue/LightGallery.vue.d.ts +5 -1
  181. package/vue/LightGalleryVue.common.js +140 -110
  182. package/vue/LightGalleryVue.common.js.map +1 -1
  183. package/vue/LightGalleryVue.umd.js +140 -110
  184. package/vue/LightGalleryVue.umd.js.map +1 -1
  185. package/vue/LightGalleryVue.umd.min.js +1 -1
  186. package/vue/LightGalleryVue.umd.min.js.map +1 -1
@@ -28,7 +28,7 @@ function __rest(s, e) {
28
28
  }
29
29
 
30
30
  /*!
31
- * lightgallery | 2.3.0 | October 28th 2021
31
+ * lightgallery | 2.5.0-beta.1 | February 24th 2022
32
32
  * http://www.lightgalleryjs.com/
33
33
  * Copyright (c) 2020 Sachin Neravath;
34
34
  * @license GPLv3
@@ -68,6 +68,116 @@ function __spreadArrays() {
68
68
  return r;
69
69
  }
70
70
 
71
+ /**
72
+ * List of lightGallery events
73
+ * All events should be documented here
74
+ * Below interfaces are used to build the website documentations
75
+ * */
76
+ var lGEvents = {
77
+ afterAppendSlide: 'lgAfterAppendSlide',
78
+ init: 'lgInit',
79
+ hasVideo: 'lgHasVideo',
80
+ containerResize: 'lgContainerResize',
81
+ updateSlides: 'lgUpdateSlides',
82
+ afterAppendSubHtml: 'lgAfterAppendSubHtml',
83
+ beforeOpen: 'lgBeforeOpen',
84
+ afterOpen: 'lgAfterOpen',
85
+ slideItemLoad: 'lgSlideItemLoad',
86
+ beforeSlide: 'lgBeforeSlide',
87
+ afterSlide: 'lgAfterSlide',
88
+ posterClick: 'lgPosterClick',
89
+ dragStart: 'lgDragStart',
90
+ dragMove: 'lgDragMove',
91
+ dragEnd: 'lgDragEnd',
92
+ beforeNextSlide: 'lgBeforeNextSlide',
93
+ beforePrevSlide: 'lgBeforePrevSlide',
94
+ beforeClose: 'lgBeforeClose',
95
+ afterClose: 'lgAfterClose',
96
+ rotateLeft: 'lgRotateLeft',
97
+ rotateRight: 'lgRotateRight',
98
+ flipHorizontal: 'lgFlipHorizontal',
99
+ flipVertical: 'lgFlipVertical',
100
+ autoplay: 'lgAutoplay',
101
+ autoplayStart: 'lgAutoplayStart',
102
+ autoplayStop: 'lgAutoplayStop',
103
+ };
104
+
105
+ var lightGalleryCoreSettings = {
106
+ mode: 'lg-slide',
107
+ easing: 'ease',
108
+ speed: 400,
109
+ licenseKey: '0000-0000-000-0000',
110
+ height: '100%',
111
+ width: '100%',
112
+ addClass: '',
113
+ startClass: 'lg-start-zoom',
114
+ backdropDuration: 300,
115
+ container: '',
116
+ startAnimationDuration: 400,
117
+ zoomFromOrigin: true,
118
+ hideBarsDelay: 0,
119
+ showBarsAfter: 10000,
120
+ slideDelay: 0,
121
+ supportLegacyBrowser: true,
122
+ allowMediaOverlap: false,
123
+ videoMaxSize: '1280-720',
124
+ loadYouTubePoster: true,
125
+ defaultCaptionHeight: 0,
126
+ ariaLabelledby: '',
127
+ ariaDescribedby: '',
128
+ closable: true,
129
+ swipeToClose: true,
130
+ closeOnTap: true,
131
+ showCloseIcon: true,
132
+ showMaximizeIcon: false,
133
+ loop: true,
134
+ escKey: true,
135
+ keyPress: true,
136
+ controls: true,
137
+ slideEndAnimation: true,
138
+ hideControlOnEnd: false,
139
+ mousewheel: false,
140
+ getCaptionFromTitleOrAlt: true,
141
+ appendSubHtmlTo: '.lg-sub-html',
142
+ subHtmlSelectorRelative: false,
143
+ preload: 2,
144
+ numberOfSlideItemsInDom: 10,
145
+ selector: '',
146
+ selectWithin: '',
147
+ nextHtml: '',
148
+ prevHtml: '',
149
+ index: 0,
150
+ iframeWidth: '100%',
151
+ iframeHeight: '100%',
152
+ iframeMaxWidth: '100%',
153
+ iframeMaxHeight: '100%',
154
+ download: true,
155
+ counter: true,
156
+ appendCounterTo: '.lg-toolbar',
157
+ swipeThreshold: 50,
158
+ enableSwipe: true,
159
+ enableDrag: true,
160
+ dynamic: false,
161
+ dynamicEl: [],
162
+ extraProps: [],
163
+ exThumbImage: '',
164
+ isMobile: undefined,
165
+ mobileSettings: {
166
+ controls: false,
167
+ showCloseIcon: false,
168
+ download: false,
169
+ },
170
+ plugins: [],
171
+ strings: {
172
+ closeGallery: 'Close gallery',
173
+ toggleMaximize: 'Toggle maximize',
174
+ previousSlide: 'Previous slide',
175
+ nextSlide: 'Next slide',
176
+ download: 'Download',
177
+ playVideo: 'Play video',
178
+ },
179
+ };
180
+
71
181
  function initLgPolyfills() {
72
182
  (function () {
73
183
  if (typeof window.CustomEvent === 'function')
@@ -325,8 +435,10 @@ var lgQuery = /** @class */ (function () {
325
435
  // Does not support IE
326
436
  lgQuery.prototype.load = function (url) {
327
437
  var _this = this;
328
- fetch(url).then(function (res) {
329
- _this.selector.innerHTML = res;
438
+ fetch(url)
439
+ .then(function (res) { return res.text(); })
440
+ .then(function (html) {
441
+ _this.selector.innerHTML = html;
330
442
  });
331
443
  return this;
332
444
  };
@@ -624,7 +736,7 @@ var utils = {
624
736
  // No other way of checking: assume it’s ok.
625
737
  return true;
626
738
  },
627
- getVideoPosterMarkup: function (_poster, dummyImg, videoContStyle, _isVideo) {
739
+ getVideoPosterMarkup: function (_poster, dummyImg, videoContStyle, playVideoString, _isVideo) {
628
740
  var videoClass = '';
629
741
  if (_isVideo && _isVideo.youtube) {
630
742
  videoClass = 'lg-has-youtube';
@@ -635,7 +747,7 @@ var utils = {
635
747
  else {
636
748
  videoClass = 'lg-has-html5';
637
749
  }
638
- return "<div class=\"lg-video-cont " + videoClass + "\" style=\"" + videoContStyle + "\">\n <div class=\"lg-video-play-button\">\n <svg\n viewBox=\"0 0 20 20\"\n preserveAspectRatio=\"xMidYMid\"\n focusable=\"false\"\n aria-labelledby=\"Play video\"\n role=\"img\"\n class=\"lg-video-play-icon\"\n >\n <title>Play video</title>\n <polygon class=\"lg-video-play-icon-inner\" points=\"1,0 20,10 1,20\"></polygon>\n </svg>\n <svg class=\"lg-video-play-icon-bg\" viewBox=\"0 0 50 50\" focusable=\"false\">\n <circle cx=\"50%\" cy=\"50%\" r=\"20\"></circle></svg>\n <svg class=\"lg-video-play-icon-circle\" viewBox=\"0 0 50 50\" focusable=\"false\">\n <circle cx=\"50%\" cy=\"50%\" r=\"20\"></circle>\n </svg>\n </div>\n " + (dummyImg || '') + "\n <img class=\"lg-object lg-video-poster\" src=\"" + _poster + "\" />\n </div>";
750
+ return "<div class=\"lg-video-cont " + videoClass + "\" style=\"" + videoContStyle + "\">\n <div class=\"lg-video-play-button\">\n <svg\n viewBox=\"0 0 20 20\"\n preserveAspectRatio=\"xMidYMid\"\n focusable=\"false\"\n aria-labelledby=\"" + playVideoString + "\"\n role=\"img\"\n class=\"lg-video-play-icon\"\n >\n <title>" + playVideoString + "</title>\n <polygon class=\"lg-video-play-icon-inner\" points=\"1,0 20,10 1,20\"></polygon>\n </svg>\n <svg class=\"lg-video-play-icon-bg\" viewBox=\"0 0 50 50\" focusable=\"false\">\n <circle cx=\"50%\" cy=\"50%\" r=\"20\"></circle></svg>\n <svg class=\"lg-video-play-icon-circle\" viewBox=\"0 0 50 50\" focusable=\"false\">\n <circle cx=\"50%\" cy=\"50%\" r=\"20\"></circle>\n </svg>\n </div>\n " + (dummyImg || '') + "\n <img class=\"lg-object lg-video-poster\" src=\"" + _poster + "\" />\n </div>";
639
751
  },
640
752
  /**
641
753
  * @desc Create dynamic elements array from gallery items when dynamic option is false
@@ -723,105 +835,6 @@ var utils = {
723
835
  },
724
836
  };
725
837
 
726
- var lightGalleryCoreSettings = {
727
- mode: 'lg-slide',
728
- easing: 'ease',
729
- speed: 400,
730
- licenseKey: '0000-0000-000-0000',
731
- height: '100%',
732
- width: '100%',
733
- addClass: '',
734
- startClass: 'lg-start-zoom',
735
- backdropDuration: 300,
736
- container: '',
737
- startAnimationDuration: 400,
738
- zoomFromOrigin: true,
739
- hideBarsDelay: 0,
740
- showBarsAfter: 10000,
741
- slideDelay: 0,
742
- supportLegacyBrowser: true,
743
- allowMediaOverlap: false,
744
- videoMaxSize: '1280-720',
745
- loadYouTubePoster: true,
746
- defaultCaptionHeight: 0,
747
- ariaLabelledby: '',
748
- ariaDescribedby: '',
749
- closable: true,
750
- swipeToClose: true,
751
- closeOnTap: true,
752
- showCloseIcon: true,
753
- showMaximizeIcon: false,
754
- loop: true,
755
- escKey: true,
756
- keyPress: true,
757
- controls: true,
758
- slideEndAnimation: true,
759
- hideControlOnEnd: false,
760
- mousewheel: false,
761
- getCaptionFromTitleOrAlt: true,
762
- appendSubHtmlTo: '.lg-sub-html',
763
- subHtmlSelectorRelative: false,
764
- preload: 2,
765
- numberOfSlideItemsInDom: 10,
766
- selector: '',
767
- selectWithin: '',
768
- nextHtml: '',
769
- prevHtml: '',
770
- index: 0,
771
- iframeWidth: '100%',
772
- iframeHeight: '100%',
773
- iframeMaxWidth: '100%',
774
- iframeMaxHeight: '100%',
775
- download: true,
776
- counter: true,
777
- appendCounterTo: '.lg-toolbar',
778
- swipeThreshold: 50,
779
- enableSwipe: true,
780
- enableDrag: true,
781
- dynamic: false,
782
- dynamicEl: [],
783
- extraProps: [],
784
- exThumbImage: '',
785
- isMobile: undefined,
786
- mobileSettings: {
787
- controls: false,
788
- showCloseIcon: false,
789
- download: false,
790
- },
791
- plugins: [],
792
- };
793
-
794
- /**
795
- * List of lightGallery events
796
- * All events should be documented here
797
- * Below interfaces are used to build the website documentations
798
- * */
799
- var lGEvents = {
800
- afterAppendSlide: 'lgAfterAppendSlide',
801
- init: 'lgInit',
802
- hasVideo: 'lgHasVideo',
803
- containerResize: 'lgContainerResize',
804
- updateSlides: 'lgUpdateSlides',
805
- afterAppendSubHtml: 'lgAfterAppendSubHtml',
806
- beforeOpen: 'lgBeforeOpen',
807
- afterOpen: 'lgAfterOpen',
808
- slideItemLoad: 'lgSlideItemLoad',
809
- beforeSlide: 'lgBeforeSlide',
810
- afterSlide: 'lgAfterSlide',
811
- posterClick: 'lgPosterClick',
812
- dragStart: 'lgDragStart',
813
- dragMove: 'lgDragMove',
814
- dragEnd: 'lgDragEnd',
815
- beforeNextSlide: 'lgBeforeNextSlide',
816
- beforePrevSlide: 'lgBeforePrevSlide',
817
- beforeClose: 'lgBeforeClose',
818
- afterClose: 'lgAfterClose',
819
- rotateLeft: 'lgRotateLeft',
820
- rotateRight: 'lgRotateRight',
821
- flipHorizontal: 'lgFlipHorizontal',
822
- flipVertical: 'lgFlipVertical',
823
- };
824
-
825
838
  // @ref - https://stackoverflow.com/questions/3971841/how-to-resize-images-proportionally-keeping-the-aspect-ratio
826
839
  // @ref - https://2ality.com/2017/04/setting-up-multi-platform-packages.html
827
840
  // Unique id for each gallery
@@ -993,7 +1006,7 @@ var LightGallery = /** @class */ (function () {
993
1006
  var subHtmlCont = '';
994
1007
  // Create controls
995
1008
  if (this.settings.controls) {
996
- controls = "<button type=\"button\" id=\"" + this.getIdName('lg-prev') + "\" aria-label=\"Previous slide\" class=\"lg-prev lg-icon\"> " + this.settings.prevHtml + " </button>\n <button type=\"button\" id=\"" + this.getIdName('lg-next') + "\" aria-label=\"Next slide\" class=\"lg-next lg-icon\"> " + this.settings.nextHtml + " </button>";
1009
+ controls = "<button type=\"button\" id=\"" + this.getIdName('lg-prev') + "\" aria-label=\"" + this.settings.strings['previousSlide'] + "\" class=\"lg-prev lg-icon\"> " + this.settings.prevHtml + " </button>\n <button type=\"button\" id=\"" + this.getIdName('lg-next') + "\" aria-label=\"" + this.settings.strings['nextSlide'] + "\" class=\"lg-next lg-icon\"> " + this.settings.nextHtml + " </button>";
997
1010
  }
998
1011
  if (this.settings.appendSubHtmlTo !== '.lg-item') {
999
1012
  subHtmlCont =
@@ -1012,19 +1025,20 @@ var LightGallery = /** @class */ (function () {
1012
1025
  : '';
1013
1026
  var containerClassName = "lg-container " + this.settings.addClass + " " + (document.body !== this.settings.container ? 'lg-inline' : '');
1014
1027
  var closeIcon = this.settings.closable && this.settings.showCloseIcon
1015
- ? "<button type=\"button\" aria-label=\"Close gallery\" id=\"" + this.getIdName('lg-close') + "\" class=\"lg-close lg-icon\"></button>"
1028
+ ? "<button type=\"button\" aria-label=\"" + this.settings.strings['closeGallery'] + "\" id=\"" + this.getIdName('lg-close') + "\" class=\"lg-close lg-icon\"></button>"
1016
1029
  : '';
1017
1030
  var maximizeIcon = this.settings.showMaximizeIcon
1018
- ? "<button type=\"button\" aria-label=\"Toggle maximize\" id=\"" + this.getIdName('lg-maximize') + "\" class=\"lg-maximize lg-icon\"></button>"
1031
+ ? "<button type=\"button\" aria-label=\"" + this.settings.strings['toggleMaximize'] + "\" id=\"" + this.getIdName('lg-maximize') + "\" class=\"lg-maximize lg-icon\"></button>"
1019
1032
  : '';
1020
1033
  var template = "\n <div class=\"" + containerClassName + "\" id=\"" + this.getIdName('lg-container') + "\" tabindex=\"-1\" aria-modal=\"true\" " + ariaLabelledby + " " + ariaDescribedby + " role=\"dialog\"\n >\n <div id=\"" + this.getIdName('lg-backdrop') + "\" class=\"lg-backdrop\"></div>\n\n <div id=\"" + this.getIdName('lg-outer') + "\" class=\"lg-outer lg-use-css3 lg-css3 lg-hide-items " + addClasses + " \">\n\n <div id=\"" + this.getIdName('lg-content') + "\" class=\"lg-content\">\n <div id=\"" + this.getIdName('lg-inner') + "\" class=\"lg-inner\">\n </div>\n " + controls + "\n </div>\n <div id=\"" + this.getIdName('lg-toolbar') + "\" class=\"lg-toolbar lg-group\">\n " + maximizeIcon + "\n " + closeIcon + "\n </div>\n " + (this.settings.appendSubHtmlTo === '.lg-outer'
1021
1034
  ? subHtmlCont
1022
1035
  : '') + "\n <div id=\"" + this.getIdName('lg-components') + "\" class=\"lg-components\">\n " + (this.settings.appendSubHtmlTo === '.lg-sub-html'
1023
1036
  ? subHtmlCont
1024
1037
  : '') + "\n </div>\n </div>\n </div>\n ";
1025
- $LG(this.settings.container)
1026
- .css('position', 'relative')
1027
- .append(template);
1038
+ $LG(this.settings.container).append(template);
1039
+ if (document.body !== this.settings.container) {
1040
+ $LG(this.settings.container).css('position', 'relative');
1041
+ }
1028
1042
  this.outer = this.getElementById('lg-outer');
1029
1043
  this.$lgComponents = this.getElementById('lg-components');
1030
1044
  this.$backdrop = this.getElementById('lg-backdrop');
@@ -1042,7 +1056,7 @@ var LightGallery = /** @class */ (function () {
1042
1056
  this.$inner.css('transition-timing-function', this.settings.easing);
1043
1057
  this.$inner.css('transition-duration', this.settings.speed + 'ms');
1044
1058
  if (this.settings.download) {
1045
- this.$toolbar.append("<a id=\"" + this.getIdName('lg-download') + "\" target=\"_blank\" rel=\"noopener\" aria-label=\"Download\" download class=\"lg-download lg-icon\"></a>");
1059
+ this.$toolbar.append("<a id=\"" + this.getIdName('lg-download') + "\" target=\"_blank\" rel=\"noopener\" aria-label=\"" + this.settings.strings['download'] + "\" download class=\"lg-download lg-icon\"></a>");
1046
1060
  }
1047
1061
  this.counter();
1048
1062
  $LG(window).on("resize.lg.global" + this.lgId + " orientationchange.lg.global" + this.lgId, function () {
@@ -1622,7 +1636,7 @@ var LightGallery = /** @class */ (function () {
1622
1636
  if (hasStartAnimation) {
1623
1637
  dummyImg = this.getDummyImageContent($currentSlide, index, '');
1624
1638
  }
1625
- var markup = utils.getVideoPosterMarkup(poster, dummyImg || '', lgVideoStyle, videoInfo);
1639
+ var markup = utils.getVideoPosterMarkup(poster, dummyImg || '', lgVideoStyle, this.settings.strings['playVideo'], videoInfo);
1626
1640
  $currentSlide.prepend(markup);
1627
1641
  }
1628
1642
  else if (videoInfo) {
@@ -2681,9 +2695,13 @@ var LgMethods = {
2681
2695
  onBeforePrevSlide: 'lgBeforePrevSlide',
2682
2696
  onBeforeClose: 'lgBeforeClose',
2683
2697
  onAfterClose: 'lgAfterClose',
2698
+ onRotateLeft: 'lgRotateLeft',
2699
+ onRotateRight: 'lgRotateRight',
2700
+ onFlipHorizontal: 'lgFlipHorizontal',
2701
+ onFlipVertical: 'lgFlipVertical',
2684
2702
  };
2685
2703
  var LG = function (_a) {
2686
- var children = _a.children, elementClassNames = _a.elementClassNames, onAfterAppendSlide = _a.onAfterAppendSlide, onInit = _a.onInit, onHasVideo = _a.onHasVideo, onContainerResize = _a.onContainerResize, onAfterAppendSubHtml = _a.onAfterAppendSubHtml, onBeforeOpen = _a.onBeforeOpen, onAfterOpen = _a.onAfterOpen, onSlideItemLoad = _a.onSlideItemLoad, onBeforeSlide = _a.onBeforeSlide, onAfterSlide = _a.onAfterSlide, onPosterClick = _a.onPosterClick, onDragStart = _a.onDragStart, onDragMove = _a.onDragMove, onDragEnd = _a.onDragEnd, onBeforeNextSlide = _a.onBeforeNextSlide, onBeforePrevSlide = _a.onBeforePrevSlide, onBeforeClose = _a.onBeforeClose, onAfterClose = _a.onAfterClose, restProps = __rest(_a, ["children", "elementClassNames", "onAfterAppendSlide", "onInit", "onHasVideo", "onContainerResize", "onAfterAppendSubHtml", "onBeforeOpen", "onAfterOpen", "onSlideItemLoad", "onBeforeSlide", "onAfterSlide", "onPosterClick", "onDragStart", "onDragMove", "onDragEnd", "onBeforeNextSlide", "onBeforePrevSlide", "onBeforeClose", "onAfterClose"]);
2704
+ var children = _a.children, elementClassNames = _a.elementClassNames, onAfterAppendSlide = _a.onAfterAppendSlide, onInit = _a.onInit, onHasVideo = _a.onHasVideo, onContainerResize = _a.onContainerResize, onAfterAppendSubHtml = _a.onAfterAppendSubHtml, onBeforeOpen = _a.onBeforeOpen, onAfterOpen = _a.onAfterOpen, onSlideItemLoad = _a.onSlideItemLoad, onBeforeSlide = _a.onBeforeSlide, onAfterSlide = _a.onAfterSlide, onPosterClick = _a.onPosterClick, onDragStart = _a.onDragStart, onDragMove = _a.onDragMove, onDragEnd = _a.onDragEnd, onBeforeNextSlide = _a.onBeforeNextSlide, onBeforePrevSlide = _a.onBeforePrevSlide, onBeforeClose = _a.onBeforeClose, onAfterClose = _a.onAfterClose, onRotateLeft = _a.onRotateLeft, onRotateRight = _a.onRotateRight, onFlipHorizontal = _a.onFlipHorizontal, onFlipVertical = _a.onFlipVertical, restProps = __rest(_a, ["children", "elementClassNames", "onAfterAppendSlide", "onInit", "onHasVideo", "onContainerResize", "onAfterAppendSubHtml", "onBeforeOpen", "onAfterOpen", "onSlideItemLoad", "onBeforeSlide", "onAfterSlide", "onPosterClick", "onDragStart", "onDragMove", "onDragEnd", "onBeforeNextSlide", "onBeforePrevSlide", "onBeforeClose", "onAfterClose", "onRotateLeft", "onRotateRight", "onFlipHorizontal", "onFlipVertical"]);
2687
2705
  var $lg = useRef(null);
2688
2706
  var registerEvents = useCallback(function () {
2689
2707
  if (onAfterAppendSlide && $lg && $lg.current) {
@@ -2776,10 +2794,34 @@ var LG = function (_a) {
2776
2794
  onAfterClose(event.detail);
2777
2795
  }));
2778
2796
  }
2797
+ if (onRotateLeft && $lg && $lg.current) {
2798
+ $lg.current.addEventListener(LgMethods.onRotateLeft, (function (event) {
2799
+ onRotateLeft(event.detail);
2800
+ }));
2801
+ }
2802
+ if (onRotateRight && $lg && $lg.current) {
2803
+ $lg.current.addEventListener(LgMethods.onRotateRight, (function (event) {
2804
+ onRotateRight(event.detail);
2805
+ }));
2806
+ }
2807
+ if (onFlipHorizontal && $lg && $lg.current) {
2808
+ $lg.current.addEventListener(LgMethods.onFlipHorizontal, (function (event) {
2809
+ onFlipHorizontal(event.detail);
2810
+ }));
2811
+ }
2812
+ if (onFlipVertical && $lg && $lg.current) {
2813
+ $lg.current.addEventListener(LgMethods.onFlipVertical, (function (event) {
2814
+ onFlipVertical(event.detail);
2815
+ }));
2816
+ }
2779
2817
  }, [
2780
2818
  onAfterAppendSlide,
2781
2819
  onAfterAppendSubHtml,
2782
2820
  onAfterClose,
2821
+ onRotateLeft,
2822
+ onRotateRight,
2823
+ onFlipHorizontal,
2824
+ onFlipVertical,
2783
2825
  onAfterOpen,
2784
2826
  onAfterSlide,
2785
2827
  onBeforeClose,