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
@@ -32,7 +32,7 @@
32
32
  }
33
33
 
34
34
  /*!
35
- * lightgallery | 2.3.0 | October 28th 2021
35
+ * lightgallery | 2.5.0-beta.1 | February 24th 2022
36
36
  * http://www.lightgalleryjs.com/
37
37
  * Copyright (c) 2020 Sachin Neravath;
38
38
  * @license GPLv3
@@ -72,6 +72,116 @@
72
72
  return r;
73
73
  }
74
74
 
75
+ /**
76
+ * List of lightGallery events
77
+ * All events should be documented here
78
+ * Below interfaces are used to build the website documentations
79
+ * */
80
+ var lGEvents = {
81
+ afterAppendSlide: 'lgAfterAppendSlide',
82
+ init: 'lgInit',
83
+ hasVideo: 'lgHasVideo',
84
+ containerResize: 'lgContainerResize',
85
+ updateSlides: 'lgUpdateSlides',
86
+ afterAppendSubHtml: 'lgAfterAppendSubHtml',
87
+ beforeOpen: 'lgBeforeOpen',
88
+ afterOpen: 'lgAfterOpen',
89
+ slideItemLoad: 'lgSlideItemLoad',
90
+ beforeSlide: 'lgBeforeSlide',
91
+ afterSlide: 'lgAfterSlide',
92
+ posterClick: 'lgPosterClick',
93
+ dragStart: 'lgDragStart',
94
+ dragMove: 'lgDragMove',
95
+ dragEnd: 'lgDragEnd',
96
+ beforeNextSlide: 'lgBeforeNextSlide',
97
+ beforePrevSlide: 'lgBeforePrevSlide',
98
+ beforeClose: 'lgBeforeClose',
99
+ afterClose: 'lgAfterClose',
100
+ rotateLeft: 'lgRotateLeft',
101
+ rotateRight: 'lgRotateRight',
102
+ flipHorizontal: 'lgFlipHorizontal',
103
+ flipVertical: 'lgFlipVertical',
104
+ autoplay: 'lgAutoplay',
105
+ autoplayStart: 'lgAutoplayStart',
106
+ autoplayStop: 'lgAutoplayStop',
107
+ };
108
+
109
+ var lightGalleryCoreSettings = {
110
+ mode: 'lg-slide',
111
+ easing: 'ease',
112
+ speed: 400,
113
+ licenseKey: '0000-0000-000-0000',
114
+ height: '100%',
115
+ width: '100%',
116
+ addClass: '',
117
+ startClass: 'lg-start-zoom',
118
+ backdropDuration: 300,
119
+ container: '',
120
+ startAnimationDuration: 400,
121
+ zoomFromOrigin: true,
122
+ hideBarsDelay: 0,
123
+ showBarsAfter: 10000,
124
+ slideDelay: 0,
125
+ supportLegacyBrowser: true,
126
+ allowMediaOverlap: false,
127
+ videoMaxSize: '1280-720',
128
+ loadYouTubePoster: true,
129
+ defaultCaptionHeight: 0,
130
+ ariaLabelledby: '',
131
+ ariaDescribedby: '',
132
+ closable: true,
133
+ swipeToClose: true,
134
+ closeOnTap: true,
135
+ showCloseIcon: true,
136
+ showMaximizeIcon: false,
137
+ loop: true,
138
+ escKey: true,
139
+ keyPress: true,
140
+ controls: true,
141
+ slideEndAnimation: true,
142
+ hideControlOnEnd: false,
143
+ mousewheel: false,
144
+ getCaptionFromTitleOrAlt: true,
145
+ appendSubHtmlTo: '.lg-sub-html',
146
+ subHtmlSelectorRelative: false,
147
+ preload: 2,
148
+ numberOfSlideItemsInDom: 10,
149
+ selector: '',
150
+ selectWithin: '',
151
+ nextHtml: '',
152
+ prevHtml: '',
153
+ index: 0,
154
+ iframeWidth: '100%',
155
+ iframeHeight: '100%',
156
+ iframeMaxWidth: '100%',
157
+ iframeMaxHeight: '100%',
158
+ download: true,
159
+ counter: true,
160
+ appendCounterTo: '.lg-toolbar',
161
+ swipeThreshold: 50,
162
+ enableSwipe: true,
163
+ enableDrag: true,
164
+ dynamic: false,
165
+ dynamicEl: [],
166
+ extraProps: [],
167
+ exThumbImage: '',
168
+ isMobile: undefined,
169
+ mobileSettings: {
170
+ controls: false,
171
+ showCloseIcon: false,
172
+ download: false,
173
+ },
174
+ plugins: [],
175
+ strings: {
176
+ closeGallery: 'Close gallery',
177
+ toggleMaximize: 'Toggle maximize',
178
+ previousSlide: 'Previous slide',
179
+ nextSlide: 'Next slide',
180
+ download: 'Download',
181
+ playVideo: 'Play video',
182
+ },
183
+ };
184
+
75
185
  function initLgPolyfills() {
76
186
  (function () {
77
187
  if (typeof window.CustomEvent === 'function')
@@ -329,8 +439,10 @@
329
439
  // Does not support IE
330
440
  lgQuery.prototype.load = function (url) {
331
441
  var _this = this;
332
- fetch(url).then(function (res) {
333
- _this.selector.innerHTML = res;
442
+ fetch(url)
443
+ .then(function (res) { return res.text(); })
444
+ .then(function (html) {
445
+ _this.selector.innerHTML = html;
334
446
  });
335
447
  return this;
336
448
  };
@@ -628,7 +740,7 @@
628
740
  // No other way of checking: assume it’s ok.
629
741
  return true;
630
742
  },
631
- getVideoPosterMarkup: function (_poster, dummyImg, videoContStyle, _isVideo) {
743
+ getVideoPosterMarkup: function (_poster, dummyImg, videoContStyle, playVideoString, _isVideo) {
632
744
  var videoClass = '';
633
745
  if (_isVideo && _isVideo.youtube) {
634
746
  videoClass = 'lg-has-youtube';
@@ -639,7 +751,7 @@
639
751
  else {
640
752
  videoClass = 'lg-has-html5';
641
753
  }
642
- 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>";
754
+ 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>";
643
755
  },
644
756
  /**
645
757
  * @desc Create dynamic elements array from gallery items when dynamic option is false
@@ -727,105 +839,6 @@
727
839
  },
728
840
  };
729
841
 
730
- var lightGalleryCoreSettings = {
731
- mode: 'lg-slide',
732
- easing: 'ease',
733
- speed: 400,
734
- licenseKey: '0000-0000-000-0000',
735
- height: '100%',
736
- width: '100%',
737
- addClass: '',
738
- startClass: 'lg-start-zoom',
739
- backdropDuration: 300,
740
- container: '',
741
- startAnimationDuration: 400,
742
- zoomFromOrigin: true,
743
- hideBarsDelay: 0,
744
- showBarsAfter: 10000,
745
- slideDelay: 0,
746
- supportLegacyBrowser: true,
747
- allowMediaOverlap: false,
748
- videoMaxSize: '1280-720',
749
- loadYouTubePoster: true,
750
- defaultCaptionHeight: 0,
751
- ariaLabelledby: '',
752
- ariaDescribedby: '',
753
- closable: true,
754
- swipeToClose: true,
755
- closeOnTap: true,
756
- showCloseIcon: true,
757
- showMaximizeIcon: false,
758
- loop: true,
759
- escKey: true,
760
- keyPress: true,
761
- controls: true,
762
- slideEndAnimation: true,
763
- hideControlOnEnd: false,
764
- mousewheel: false,
765
- getCaptionFromTitleOrAlt: true,
766
- appendSubHtmlTo: '.lg-sub-html',
767
- subHtmlSelectorRelative: false,
768
- preload: 2,
769
- numberOfSlideItemsInDom: 10,
770
- selector: '',
771
- selectWithin: '',
772
- nextHtml: '',
773
- prevHtml: '',
774
- index: 0,
775
- iframeWidth: '100%',
776
- iframeHeight: '100%',
777
- iframeMaxWidth: '100%',
778
- iframeMaxHeight: '100%',
779
- download: true,
780
- counter: true,
781
- appendCounterTo: '.lg-toolbar',
782
- swipeThreshold: 50,
783
- enableSwipe: true,
784
- enableDrag: true,
785
- dynamic: false,
786
- dynamicEl: [],
787
- extraProps: [],
788
- exThumbImage: '',
789
- isMobile: undefined,
790
- mobileSettings: {
791
- controls: false,
792
- showCloseIcon: false,
793
- download: false,
794
- },
795
- plugins: [],
796
- };
797
-
798
- /**
799
- * List of lightGallery events
800
- * All events should be documented here
801
- * Below interfaces are used to build the website documentations
802
- * */
803
- var lGEvents = {
804
- afterAppendSlide: 'lgAfterAppendSlide',
805
- init: 'lgInit',
806
- hasVideo: 'lgHasVideo',
807
- containerResize: 'lgContainerResize',
808
- updateSlides: 'lgUpdateSlides',
809
- afterAppendSubHtml: 'lgAfterAppendSubHtml',
810
- beforeOpen: 'lgBeforeOpen',
811
- afterOpen: 'lgAfterOpen',
812
- slideItemLoad: 'lgSlideItemLoad',
813
- beforeSlide: 'lgBeforeSlide',
814
- afterSlide: 'lgAfterSlide',
815
- posterClick: 'lgPosterClick',
816
- dragStart: 'lgDragStart',
817
- dragMove: 'lgDragMove',
818
- dragEnd: 'lgDragEnd',
819
- beforeNextSlide: 'lgBeforeNextSlide',
820
- beforePrevSlide: 'lgBeforePrevSlide',
821
- beforeClose: 'lgBeforeClose',
822
- afterClose: 'lgAfterClose',
823
- rotateLeft: 'lgRotateLeft',
824
- rotateRight: 'lgRotateRight',
825
- flipHorizontal: 'lgFlipHorizontal',
826
- flipVertical: 'lgFlipVertical',
827
- };
828
-
829
842
  // @ref - https://stackoverflow.com/questions/3971841/how-to-resize-images-proportionally-keeping-the-aspect-ratio
830
843
  // @ref - https://2ality.com/2017/04/setting-up-multi-platform-packages.html
831
844
  // Unique id for each gallery
@@ -997,7 +1010,7 @@
997
1010
  var subHtmlCont = '';
998
1011
  // Create controls
999
1012
  if (this.settings.controls) {
1000
- 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>";
1013
+ 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>";
1001
1014
  }
1002
1015
  if (this.settings.appendSubHtmlTo !== '.lg-item') {
1003
1016
  subHtmlCont =
@@ -1016,19 +1029,20 @@
1016
1029
  : '';
1017
1030
  var containerClassName = "lg-container " + this.settings.addClass + " " + (document.body !== this.settings.container ? 'lg-inline' : '');
1018
1031
  var closeIcon = this.settings.closable && this.settings.showCloseIcon
1019
- ? "<button type=\"button\" aria-label=\"Close gallery\" id=\"" + this.getIdName('lg-close') + "\" class=\"lg-close lg-icon\"></button>"
1032
+ ? "<button type=\"button\" aria-label=\"" + this.settings.strings['closeGallery'] + "\" id=\"" + this.getIdName('lg-close') + "\" class=\"lg-close lg-icon\"></button>"
1020
1033
  : '';
1021
1034
  var maximizeIcon = this.settings.showMaximizeIcon
1022
- ? "<button type=\"button\" aria-label=\"Toggle maximize\" id=\"" + this.getIdName('lg-maximize') + "\" class=\"lg-maximize lg-icon\"></button>"
1035
+ ? "<button type=\"button\" aria-label=\"" + this.settings.strings['toggleMaximize'] + "\" id=\"" + this.getIdName('lg-maximize') + "\" class=\"lg-maximize lg-icon\"></button>"
1023
1036
  : '';
1024
1037
  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'
1025
1038
  ? subHtmlCont
1026
1039
  : '') + "\n <div id=\"" + this.getIdName('lg-components') + "\" class=\"lg-components\">\n " + (this.settings.appendSubHtmlTo === '.lg-sub-html'
1027
1040
  ? subHtmlCont
1028
1041
  : '') + "\n </div>\n </div>\n </div>\n ";
1029
- $LG(this.settings.container)
1030
- .css('position', 'relative')
1031
- .append(template);
1042
+ $LG(this.settings.container).append(template);
1043
+ if (document.body !== this.settings.container) {
1044
+ $LG(this.settings.container).css('position', 'relative');
1045
+ }
1032
1046
  this.outer = this.getElementById('lg-outer');
1033
1047
  this.$lgComponents = this.getElementById('lg-components');
1034
1048
  this.$backdrop = this.getElementById('lg-backdrop');
@@ -1046,7 +1060,7 @@
1046
1060
  this.$inner.css('transition-timing-function', this.settings.easing);
1047
1061
  this.$inner.css('transition-duration', this.settings.speed + 'ms');
1048
1062
  if (this.settings.download) {
1049
- this.$toolbar.append("<a id=\"" + this.getIdName('lg-download') + "\" target=\"_blank\" rel=\"noopener\" aria-label=\"Download\" download class=\"lg-download lg-icon\"></a>");
1063
+ 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>");
1050
1064
  }
1051
1065
  this.counter();
1052
1066
  $LG(window).on("resize.lg.global" + this.lgId + " orientationchange.lg.global" + this.lgId, function () {
@@ -1626,7 +1640,7 @@
1626
1640
  if (hasStartAnimation) {
1627
1641
  dummyImg = this.getDummyImageContent($currentSlide, index, '');
1628
1642
  }
1629
- var markup = utils.getVideoPosterMarkup(poster, dummyImg || '', lgVideoStyle, videoInfo);
1643
+ var markup = utils.getVideoPosterMarkup(poster, dummyImg || '', lgVideoStyle, this.settings.strings['playVideo'], videoInfo);
1630
1644
  $currentSlide.prepend(markup);
1631
1645
  }
1632
1646
  else if (videoInfo) {
@@ -2685,9 +2699,13 @@
2685
2699
  onBeforePrevSlide: 'lgBeforePrevSlide',
2686
2700
  onBeforeClose: 'lgBeforeClose',
2687
2701
  onAfterClose: 'lgAfterClose',
2702
+ onRotateLeft: 'lgRotateLeft',
2703
+ onRotateRight: 'lgRotateRight',
2704
+ onFlipHorizontal: 'lgFlipHorizontal',
2705
+ onFlipVertical: 'lgFlipVertical',
2688
2706
  };
2689
2707
  var LG = function (_a) {
2690
- 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"]);
2708
+ 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"]);
2691
2709
  var $lg = React.useRef(null);
2692
2710
  var registerEvents = React.useCallback(function () {
2693
2711
  if (onAfterAppendSlide && $lg && $lg.current) {
@@ -2780,10 +2798,34 @@
2780
2798
  onAfterClose(event.detail);
2781
2799
  }));
2782
2800
  }
2801
+ if (onRotateLeft && $lg && $lg.current) {
2802
+ $lg.current.addEventListener(LgMethods.onRotateLeft, (function (event) {
2803
+ onRotateLeft(event.detail);
2804
+ }));
2805
+ }
2806
+ if (onRotateRight && $lg && $lg.current) {
2807
+ $lg.current.addEventListener(LgMethods.onRotateRight, (function (event) {
2808
+ onRotateRight(event.detail);
2809
+ }));
2810
+ }
2811
+ if (onFlipHorizontal && $lg && $lg.current) {
2812
+ $lg.current.addEventListener(LgMethods.onFlipHorizontal, (function (event) {
2813
+ onFlipHorizontal(event.detail);
2814
+ }));
2815
+ }
2816
+ if (onFlipVertical && $lg && $lg.current) {
2817
+ $lg.current.addEventListener(LgMethods.onFlipVertical, (function (event) {
2818
+ onFlipVertical(event.detail);
2819
+ }));
2820
+ }
2783
2821
  }, [
2784
2822
  onAfterAppendSlide,
2785
2823
  onAfterAppendSubHtml,
2786
2824
  onAfterClose,
2825
+ onRotateLeft,
2826
+ onRotateRight,
2827
+ onFlipHorizontal,
2828
+ onFlipVertical,
2787
2829
  onAfterOpen,
2788
2830
  onAfterSlide,
2789
2831
  onBeforeClose,