lightgallery 2.9.0 → 3.0.0-beta.2

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 (595) hide show
  1. package/LICENSE +690 -0
  2. package/README.md +31 -21
  3. package/dist/README.md +229 -0
  4. package/{css → dist/css}/lg-autoplay.css +7 -4
  5. package/{css → dist/css}/lg-autoplay.css.map +1 -1
  6. package/{css → dist/css}/lg-comments.css +0 -6
  7. package/{css → dist/css}/lg-comments.css.map +1 -1
  8. package/dist/css/lg-fullscreen.css +11 -0
  9. package/dist/css/lg-fullscreen.css.map +1 -0
  10. package/dist/css/lg-justified.css +37 -0
  11. package/dist/css/lg-justified.css.map +1 -0
  12. package/{css → dist/css}/lg-pager.css.map +1 -1
  13. package/{css → dist/css}/lg-rotate.css +0 -16
  14. package/{css → dist/css}/lg-rotate.css.map +1 -1
  15. package/dist/css/lg-rtl.css +94 -0
  16. package/dist/css/lg-rtl.css.map +1 -0
  17. package/{css → dist/css}/lg-share.css +4 -32
  18. package/dist/css/lg-share.css.map +1 -0
  19. package/{css → dist/css}/lg-thumbnail.css +7 -3
  20. package/dist/css/lg-thumbnail.css.map +1 -0
  21. package/{css → dist/css}/lg-transitions.css +10 -0
  22. package/dist/css/lg-transitions.css.map +1 -0
  23. package/{css → dist/css}/lg-zoom.css +20 -9
  24. package/dist/css/lg-zoom.css.map +1 -0
  25. package/{css → dist/css}/lightgallery-bundle.css +150 -118
  26. package/dist/css/lightgallery-bundle.css.map +1 -0
  27. package/dist/css/lightgallery-bundle.min.css +1 -0
  28. package/{css → dist/css}/lightgallery-core.css +49 -7
  29. package/dist/css/lightgallery-core.css.map +1 -0
  30. package/{css → dist/css}/lightgallery.css +105 -44
  31. package/dist/css/lightgallery.css.map +1 -0
  32. package/dist/lightgallery.es5.js +3848 -0
  33. package/dist/lightgallery.es5.js.map +1 -0
  34. package/dist/lightgallery.min.js +1 -0
  35. package/dist/lightgallery.umd.js +3851 -0
  36. package/dist/lightgallery.umd.js.map +1 -0
  37. package/dist/package.json +33 -0
  38. package/dist/plugins/autoplay/lg-autoplay.es5.js +193 -0
  39. package/dist/plugins/autoplay/lg-autoplay.es5.js.map +1 -0
  40. package/dist/plugins/autoplay/lg-autoplay.min.js +1 -0
  41. package/dist/plugins/autoplay/lg-autoplay.umd.js +196 -0
  42. package/dist/plugins/autoplay/lg-autoplay.umd.js.map +1 -0
  43. package/dist/plugins/autoplay/package.json +7 -0
  44. package/dist/plugins/comment/lg-comment.es5.js +136 -0
  45. package/dist/plugins/comment/lg-comment.es5.js.map +1 -0
  46. package/dist/plugins/comment/lg-comment.min.js +1 -0
  47. package/dist/plugins/comment/lg-comment.umd.js +139 -0
  48. package/dist/plugins/comment/lg-comment.umd.js.map +1 -0
  49. package/dist/plugins/comment/package.json +7 -0
  50. package/dist/plugins/fullscreen/lg-fullscreen.es5.js +114 -0
  51. package/dist/plugins/fullscreen/lg-fullscreen.es5.js.map +1 -0
  52. package/dist/plugins/fullscreen/lg-fullscreen.min.js +1 -0
  53. package/dist/plugins/fullscreen/lg-fullscreen.umd.js +117 -0
  54. package/dist/plugins/fullscreen/lg-fullscreen.umd.js.map +1 -0
  55. package/dist/plugins/fullscreen/package.json +7 -0
  56. package/dist/plugins/hash/lg-hash.es5.js +207 -0
  57. package/dist/plugins/hash/lg-hash.es5.js.map +1 -0
  58. package/dist/plugins/hash/lg-hash.min.js +1 -0
  59. package/dist/plugins/hash/lg-hash.umd.js +210 -0
  60. package/dist/plugins/hash/lg-hash.umd.js.map +1 -0
  61. package/dist/plugins/hash/package.json +7 -0
  62. package/dist/plugins/justified/lg-justified.es5.js +415 -0
  63. package/dist/plugins/justified/lg-justified.es5.js.map +1 -0
  64. package/dist/plugins/justified/lg-justified.min.js +1 -0
  65. package/dist/plugins/justified/lg-justified.umd.js +418 -0
  66. package/dist/plugins/justified/lg-justified.umd.js.map +1 -0
  67. package/dist/plugins/justified/package.json +7 -0
  68. package/dist/plugins/mediumZoom/lg-medium-zoom.es5.js +95 -0
  69. package/dist/plugins/mediumZoom/lg-medium-zoom.es5.js.map +1 -0
  70. package/dist/plugins/mediumZoom/lg-medium-zoom.min.js +1 -0
  71. package/dist/plugins/mediumZoom/lg-medium-zoom.umd.js +98 -0
  72. package/dist/plugins/mediumZoom/lg-medium-zoom.umd.js.map +1 -0
  73. package/dist/plugins/mediumZoom/package.json +7 -0
  74. package/dist/plugins/originCrop/lg-origin-crop.es5.js +622 -0
  75. package/dist/plugins/originCrop/lg-origin-crop.es5.js.map +1 -0
  76. package/dist/plugins/originCrop/lg-origin-crop.min.js +1 -0
  77. package/dist/plugins/originCrop/lg-origin-crop.umd.js +625 -0
  78. package/dist/plugins/originCrop/lg-origin-crop.umd.js.map +1 -0
  79. package/dist/plugins/pager/lg-pager.es5.js +96 -0
  80. package/dist/plugins/pager/lg-pager.es5.js.map +1 -0
  81. package/dist/plugins/pager/lg-pager.min.js +1 -0
  82. package/dist/plugins/pager/lg-pager.umd.js +99 -0
  83. package/dist/plugins/pager/lg-pager.umd.js.map +1 -0
  84. package/dist/plugins/pager/package.json +7 -0
  85. package/dist/plugins/relativeCaption/lg-relative-caption.es5.js +98 -0
  86. package/dist/plugins/relativeCaption/lg-relative-caption.es5.js.map +1 -0
  87. package/dist/plugins/relativeCaption/lg-relative-caption.min.js +1 -0
  88. package/dist/plugins/relativeCaption/lg-relative-caption.umd.js +101 -0
  89. package/dist/plugins/relativeCaption/lg-relative-caption.umd.js.map +1 -0
  90. package/dist/plugins/relativeCaption/package.json +7 -0
  91. package/dist/plugins/rotate/lg-rotate.es5.js +226 -0
  92. package/dist/plugins/rotate/lg-rotate.es5.js.map +1 -0
  93. package/dist/plugins/rotate/lg-rotate.min.js +1 -0
  94. package/dist/plugins/rotate/lg-rotate.umd.js +229 -0
  95. package/dist/plugins/rotate/lg-rotate.umd.js.map +1 -0
  96. package/dist/plugins/rotate/package.json +7 -0
  97. package/dist/plugins/share/lg-share.es5.js +309 -0
  98. package/dist/plugins/share/lg-share.es5.js.map +1 -0
  99. package/dist/plugins/share/lg-share.min.js +1 -0
  100. package/dist/plugins/share/lg-share.umd.js +312 -0
  101. package/dist/plugins/share/lg-share.umd.js.map +1 -0
  102. package/dist/plugins/share/package.json +7 -0
  103. package/dist/plugins/thumbnail/lg-thumbnail.es5.js +792 -0
  104. package/dist/plugins/thumbnail/lg-thumbnail.es5.js.map +1 -0
  105. package/dist/plugins/thumbnail/lg-thumbnail.min.js +1 -0
  106. package/dist/plugins/thumbnail/lg-thumbnail.umd.js +795 -0
  107. package/dist/plugins/thumbnail/lg-thumbnail.umd.js.map +1 -0
  108. package/dist/plugins/thumbnail/package.json +7 -0
  109. package/dist/plugins/video/lg-video.es5.js +518 -0
  110. package/dist/plugins/video/lg-video.es5.js.map +1 -0
  111. package/dist/plugins/video/lg-video.min.js +1 -0
  112. package/dist/plugins/video/lg-video.umd.js +521 -0
  113. package/dist/plugins/video/lg-video.umd.js.map +1 -0
  114. package/dist/plugins/video/package.json +7 -0
  115. package/dist/plugins/vimeoThumbnail/lg-vimeo-thumbnail.es5.js +72 -0
  116. package/dist/plugins/vimeoThumbnail/lg-vimeo-thumbnail.es5.js.map +1 -0
  117. package/dist/plugins/vimeoThumbnail/lg-vimeo-thumbnail.min.js +1 -0
  118. package/dist/plugins/vimeoThumbnail/lg-vimeo-thumbnail.umd.js +75 -0
  119. package/dist/plugins/vimeoThumbnail/lg-vimeo-thumbnail.umd.js.map +1 -0
  120. package/dist/plugins/vimeoThumbnail/package.json +7 -0
  121. package/dist/plugins/zoom/lg-zoom.es5.js +1412 -0
  122. package/dist/plugins/zoom/lg-zoom.es5.js.map +1 -0
  123. package/dist/plugins/zoom/lg-zoom.min.js +1 -0
  124. package/dist/plugins/zoom/lg-zoom.umd.js +1415 -0
  125. package/dist/plugins/zoom/lg-zoom.umd.js.map +1 -0
  126. package/dist/plugins/zoom/package.json +7 -0
  127. package/{scss → dist/scss}/_lg-theme-default.scss +68 -18
  128. package/{scss → dist/scss}/_lg-variables.scss +0 -1
  129. package/{scss → dist/scss}/lg-autoplay.scss +10 -4
  130. package/{scss → dist/scss}/lg-comments.scss +0 -8
  131. package/dist/scss/lg-fullscreen.scss +15 -0
  132. package/dist/scss/lg-justified.scss +63 -0
  133. package/{scss → dist/scss}/lg-rotate.scss +0 -24
  134. package/dist/scss/lg-rtl.scss +145 -0
  135. package/{scss → dist/scss}/lg-share.scss +6 -33
  136. package/{scss → dist/scss}/lg-thumbnail.scss +16 -5
  137. package/{scss → dist/scss}/lg-zoom.scss +46 -9
  138. package/{scss → dist/scss}/lightgallery-bundle.scss +0 -1
  139. package/{scss → dist/scss}/lightgallery-core.scss +73 -6
  140. package/{scss → dist/scss}/lightgallery.scss +0 -1
  141. package/{scss → dist/scss}/transitions/_lg-scale-up.scss +6 -0
  142. package/{scss → dist/scss}/transitions/_lg-slide-circular-vertical.scss +6 -0
  143. package/{scss → dist/scss}/transitions/_lg-slide-circular.scss +6 -0
  144. package/{scss → dist/scss}/transitions/_lg-soft-zoom.scss +6 -0
  145. package/{scss → dist/scss}/transitions/_lg-zoom-in-big.scss +6 -0
  146. package/{scss → dist/scss}/transitions/_lg-zoom-in-out.scss +6 -0
  147. package/{scss → dist/scss}/transitions/_lg-zoom-in.scss +6 -0
  148. package/{scss → dist/scss}/transitions/_lg-zoom-out-big.scss +6 -0
  149. package/{scss → dist/scss}/transitions/_lg-zoom-out-in.scss +6 -0
  150. package/{scss → dist/scss}/transitions/_lg-zoom-out.scss +6 -0
  151. package/{index.d.ts → dist/types/index.d.ts} +8 -4
  152. package/{lg-events.d.ts → dist/types/lg-events.d.ts} +300 -300
  153. package/dist/types/lg-icons.d.ts +27 -0
  154. package/{lg-plugin.d.ts → dist/types/lg-plugin.d.ts} +7 -7
  155. package/{lg-settings.d.ts → dist/types/lg-settings.d.ts} +555 -425
  156. package/dist/types/lg-spring-runner.d.ts +14 -0
  157. package/dist/types/lg-toolbar-overflow.d.ts +36 -0
  158. package/{lg-utils.d.ts → dist/types/lg-utils.d.ts} +236 -228
  159. package/{lgQuery.d.ts → dist/types/lgQuery.d.ts} +56 -56
  160. package/{lightgallery.d.ts → dist/types/lightgallery.d.ts} +385 -305
  161. package/{plugins → dist/types/plugins}/autoplay/lg-autoplay-settings.d.ts +41 -38
  162. package/{plugins → dist/types/plugins}/autoplay/lg-autoplay.d.ts +22 -22
  163. package/{plugins → dist/types/plugins}/comment/lg-comment-settings.d.ts +36 -33
  164. package/{plugins → dist/types/plugins}/comment/lg-comment.d.ts +25 -25
  165. package/{plugins → dist/types/plugins}/fullscreen/lg-fullscreen-settings.d.ts +17 -14
  166. package/{plugins → dist/types/plugins}/fullscreen/lg-fullscreen.d.ts +16 -16
  167. package/dist/types/plugins/hash/lg-hash-settings.d.ts +28 -0
  168. package/{plugins → dist/types/plugins}/hash/lg-hash.d.ts +25 -23
  169. package/dist/types/plugins/justified/lg-justified-settings.d.ts +42 -0
  170. package/dist/types/plugins/justified/lg-justified.d.ts +55 -0
  171. package/{plugins → dist/types/plugins}/mediumZoom/lg-medium-zoom-settings.d.ts +16 -16
  172. package/{plugins → dist/types/plugins}/mediumZoom/lg-medium-zoom.d.ts +12 -12
  173. package/dist/types/plugins/originCrop/lg-origin-crop-settings.d.ts +12 -0
  174. package/dist/types/plugins/originCrop/lg-origin-crop.d.ts +79 -0
  175. package/{plugins → dist/types/plugins}/pager/lg-pager-settings.d.ts +7 -7
  176. package/{plugins → dist/types/plugins}/pager/lg-pager.d.ts +13 -13
  177. package/{plugins → dist/types/plugins}/relativeCaption/lg-relative-caption-settings.d.ts +7 -7
  178. package/{plugins → dist/types/plugins}/relativeCaption/lg-relative-caption.d.ts +14 -14
  179. package/{plugins → dist/types/plugins}/rotate/lg-rotate-settings.d.ts +47 -45
  180. package/{plugins → dist/types/plugins}/rotate/lg-rotate.d.ts +25 -24
  181. package/{plugins → dist/types/plugins}/share/lg-fb-share-utils.d.ts +2 -2
  182. package/{plugins → dist/types/plugins}/share/lg-pinterest-share-utils.d.ts +2 -2
  183. package/{plugins → dist/types/plugins}/share/lg-share-settings.d.ts +71 -56
  184. package/dist/types/plugins/share/lg-share.d.ts +33 -0
  185. package/dist/types/plugins/share/lg-twitter-share-utils.d.ts +4 -0
  186. package/{plugins → dist/types/plugins}/share/types.d.ts +6 -6
  187. package/{plugins → dist/types/plugins}/thumbnail/lg-thumbnail-settings.d.ts +85 -70
  188. package/dist/types/plugins/thumbnail/lg-thumbnail.d.ts +88 -0
  189. package/{plugins → dist/types/plugins}/video/lg-video-settings.d.ts +94 -71
  190. package/{plugins → dist/types/plugins}/video/lg-video.d.ts +116 -104
  191. package/{plugins → dist/types/plugins}/video/types.d.ts +8 -8
  192. package/{plugins → dist/types/plugins}/vimeoThumbnail/lg-vimeo-thumbnail-settings.d.ts +11 -11
  193. package/{plugins → dist/types/plugins}/vimeoThumbnail/lg-vimeo-thumbnail.d.ts +14 -14
  194. package/{plugins → dist/types/plugins}/zoom/lg-zoom-settings.d.ts +54 -51
  195. package/{plugins → dist/types/plugins}/zoom/lg-zoom.d.ts +145 -108
  196. package/{types.d.ts → dist/types/types.d.ts} +40 -40
  197. package/package.json +237 -8
  198. package/angular/10/README.md +0 -24
  199. package/angular/10/bundles/lightgallery-angular-10.umd.js +0 -289
  200. package/angular/10/bundles/lightgallery-angular-10.umd.js.map +0 -1
  201. package/angular/10/bundles/lightgallery-angular-10.umd.min.js +0 -2
  202. package/angular/10/bundles/lightgallery-angular-10.umd.min.js.map +0 -1
  203. package/angular/10/esm2015/lib/lightgallery-angular.component.js +0 -225
  204. package/angular/10/esm2015/lib/lightgallery-angular.module.js +0 -17
  205. package/angular/10/esm2015/lib/lightgallery-angular.service.js +0 -14
  206. package/angular/10/esm2015/lightgallery-angular-10.js +0 -5
  207. package/angular/10/esm2015/public-api.js +0 -7
  208. package/angular/10/fesm2015/lightgallery-angular-10.js +0 -261
  209. package/angular/10/fesm2015/lightgallery-angular-10.js.map +0 -1
  210. package/angular/10/lib/lightgallery-angular.component.d.ts +0 -39
  211. package/angular/10/lib/lightgallery-angular.component.d.ts.map +0 -1
  212. package/angular/10/lib/lightgallery-angular.module.d.ts +0 -7
  213. package/angular/10/lib/lightgallery-angular.module.d.ts.map +0 -1
  214. package/angular/10/lib/lightgallery-angular.service.d.ts +0 -7
  215. package/angular/10/lib/lightgallery-angular.service.d.ts.map +0 -1
  216. package/angular/10/lightgallery-angular-10.d.ts +0 -6
  217. package/angular/10/lightgallery-angular-10.d.ts.map +0 -1
  218. package/angular/10/package.json +0 -21
  219. package/angular/10/public-api.d.ts +0 -4
  220. package/angular/10/public-api.d.ts.map +0 -1
  221. package/angular/11/README.md +0 -24
  222. package/angular/11/bundles/lightgallery-angular-11.umd.js +0 -290
  223. package/angular/11/bundles/lightgallery-angular-11.umd.js.map +0 -1
  224. package/angular/11/bundles/lightgallery-angular-11.umd.min.js +0 -2
  225. package/angular/11/bundles/lightgallery-angular-11.umd.min.js.map +0 -1
  226. package/angular/11/esm2015/lib/lightgallery-angular.component.js +0 -225
  227. package/angular/11/esm2015/lib/lightgallery-angular.module.js +0 -18
  228. package/angular/11/esm2015/lib/lightgallery-angular.service.js +0 -14
  229. package/angular/11/esm2015/lightgallery-angular-11.js +0 -5
  230. package/angular/11/esm2015/public-api.js +0 -7
  231. package/angular/11/fesm2015/lightgallery-angular-11.js +0 -262
  232. package/angular/11/fesm2015/lightgallery-angular-11.js.map +0 -1
  233. package/angular/11/lib/lightgallery-angular.component.d.ts +0 -39
  234. package/angular/11/lib/lightgallery-angular.component.d.ts.map +0 -1
  235. package/angular/11/lib/lightgallery-angular.module.d.ts +0 -8
  236. package/angular/11/lib/lightgallery-angular.module.d.ts.map +0 -1
  237. package/angular/11/lib/lightgallery-angular.service.d.ts +0 -7
  238. package/angular/11/lib/lightgallery-angular.service.d.ts.map +0 -1
  239. package/angular/11/lightgallery-angular-11.d.ts +0 -6
  240. package/angular/11/lightgallery-angular-11.d.ts.map +0 -1
  241. package/angular/11/package.json +0 -21
  242. package/angular/11/public-api.d.ts +0 -4
  243. package/angular/11/public-api.d.ts.map +0 -1
  244. package/angular/12/README.md +0 -24
  245. package/angular/12/bundles/lightgallery-angular-12.umd.js +0 -296
  246. package/angular/12/bundles/lightgallery-angular-12.umd.js.map +0 -1
  247. package/angular/12/esm2015/lib/lightgallery-angular.component.js +0 -221
  248. package/angular/12/esm2015/lib/lightgallery-angular.module.js +0 -17
  249. package/angular/12/esm2015/lib/lightgallery-angular.service.js +0 -14
  250. package/angular/12/esm2015/lightgallery-angular-12.js +0 -5
  251. package/angular/12/esm2015/public-api.js +0 -7
  252. package/angular/12/fesm2015/lightgallery-angular-12.js +0 -258
  253. package/angular/12/fesm2015/lightgallery-angular-12.js.map +0 -1
  254. package/angular/12/lib/lightgallery-angular.component.d.ts +0 -38
  255. package/angular/12/lib/lightgallery-angular.module.d.ts +0 -7
  256. package/angular/12/lib/lightgallery-angular.service.d.ts +0 -6
  257. package/angular/12/lightgallery-angular-12.d.ts +0 -5
  258. package/angular/12/package.json +0 -18
  259. package/angular/12/public-api.d.ts +0 -3
  260. package/angular/13/README.md +0 -24
  261. package/angular/13/esm2020/lib/lightgallery-angular.component.mjs +0 -221
  262. package/angular/13/esm2020/lib/lightgallery-angular.module.mjs +0 -17
  263. package/angular/13/esm2020/lib/lightgallery-angular.service.mjs +0 -14
  264. package/angular/13/esm2020/lightgallery-angular-13.mjs +0 -5
  265. package/angular/13/esm2020/public-api.mjs +0 -7
  266. package/angular/13/fesm2015/lightgallery-angular-13.mjs +0 -258
  267. package/angular/13/fesm2015/lightgallery-angular-13.mjs.map +0 -1
  268. package/angular/13/fesm2020/lightgallery-angular-13.mjs +0 -258
  269. package/angular/13/fesm2020/lightgallery-angular-13.mjs.map +0 -1
  270. package/angular/13/lib/lightgallery-angular.component.d.ts +0 -38
  271. package/angular/13/lib/lightgallery-angular.module.d.ts +0 -7
  272. package/angular/13/lib/lightgallery-angular.service.d.ts +0 -6
  273. package/angular/13/lightgallery-angular-13.d.ts +0 -5
  274. package/angular/13/package.json +0 -31
  275. package/angular/13/public-api.d.ts +0 -3
  276. package/angular/14/README.md +0 -24
  277. package/angular/14/esm2020/lib/lightgallery-angular.component.mjs +0 -217
  278. package/angular/14/esm2020/lib/lightgallery-angular.module.mjs +0 -17
  279. package/angular/14/esm2020/lib/lightgallery-angular.service.mjs +0 -14
  280. package/angular/14/esm2020/lightgallery-angular-14.mjs +0 -5
  281. package/angular/14/esm2020/public-api.mjs +0 -7
  282. package/angular/14/fesm2015/lightgallery-angular-14.mjs +0 -254
  283. package/angular/14/fesm2015/lightgallery-angular-14.mjs.map +0 -1
  284. package/angular/14/fesm2020/lightgallery-angular-14.mjs +0 -254
  285. package/angular/14/fesm2020/lightgallery-angular-14.mjs.map +0 -1
  286. package/angular/14/index.d.ts +0 -5
  287. package/angular/14/lib/lightgallery-angular.component.d.ts +0 -38
  288. package/angular/14/lib/lightgallery-angular.module.d.ts +0 -7
  289. package/angular/14/lib/lightgallery-angular.service.d.ts +0 -6
  290. package/angular/14/package.json +0 -31
  291. package/angular/14/public-api.d.ts +0 -3
  292. package/angular/15/README.md +0 -24
  293. package/angular/15/esm2022/lib/lightgallery-angular.component.mjs +0 -218
  294. package/angular/15/esm2022/lib/lightgallery-angular.module.mjs +0 -18
  295. package/angular/15/esm2022/lib/lightgallery-angular.service.mjs +0 -15
  296. package/angular/15/esm2022/lightgallery-angular-15.mjs +0 -5
  297. package/angular/15/esm2022/public-api.mjs +0 -7
  298. package/angular/15/fesm2022/lightgallery-angular-15.mjs +0 -254
  299. package/angular/15/fesm2022/lightgallery-angular-15.mjs.map +0 -1
  300. package/angular/15/index.d.ts +0 -5
  301. package/angular/15/lib/lightgallery-angular.component.d.ts +0 -38
  302. package/angular/15/lib/lightgallery-angular.module.d.ts +0 -7
  303. package/angular/15/lib/lightgallery-angular.service.d.ts +0 -6
  304. package/angular/15/package.json +0 -25
  305. package/angular/15/public-api.d.ts +0 -3
  306. package/angular/16/README.md +0 -24
  307. package/angular/16/esm2022/lib/lightgallery-angular.component.mjs +0 -218
  308. package/angular/16/esm2022/lib/lightgallery-angular.module.mjs +0 -18
  309. package/angular/16/esm2022/lib/lightgallery-angular.service.mjs +0 -15
  310. package/angular/16/esm2022/lightgallery-angular-16.mjs +0 -5
  311. package/angular/16/esm2022/public-api.mjs +0 -7
  312. package/angular/16/fesm2022/lightgallery-angular-16.mjs +0 -254
  313. package/angular/16/fesm2022/lightgallery-angular-16.mjs.map +0 -1
  314. package/angular/16/index.d.ts +0 -5
  315. package/angular/16/lib/lightgallery-angular.component.d.ts +0 -38
  316. package/angular/16/lib/lightgallery-angular.module.d.ts +0 -7
  317. package/angular/16/lib/lightgallery-angular.service.d.ts +0 -6
  318. package/angular/16/package.json +0 -25
  319. package/angular/16/public-api.d.ts +0 -3
  320. package/angular/9/README.md +0 -24
  321. package/angular/9/bundles/lightgallery-angular-9.umd.js +0 -271
  322. package/angular/9/bundles/lightgallery-angular-9.umd.js.map +0 -1
  323. package/angular/9/bundles/lightgallery-angular-9.umd.min.js +0 -2
  324. package/angular/9/bundles/lightgallery-angular-9.umd.min.js.map +0 -1
  325. package/angular/9/esm2015/lib/lightgallery-angular.component.js +0 -225
  326. package/angular/9/esm2015/lib/lightgallery-angular.module.js +0 -17
  327. package/angular/9/esm2015/lib/lightgallery-angular.service.js +0 -14
  328. package/angular/9/esm2015/lightgallery-angular-9.js +0 -5
  329. package/angular/9/esm2015/public-api.js +0 -7
  330. package/angular/9/esm5/lib/lightgallery-angular.component.js +0 -228
  331. package/angular/9/esm5/lib/lightgallery-angular.module.js +0 -21
  332. package/angular/9/esm5/lib/lightgallery-angular.service.js +0 -17
  333. package/angular/9/esm5/lightgallery-angular-9.js +0 -5
  334. package/angular/9/esm5/public-api.js +0 -7
  335. package/angular/9/fesm2015/lightgallery-angular-9.js +0 -261
  336. package/angular/9/fesm2015/lightgallery-angular-9.js.map +0 -1
  337. package/angular/9/fesm5/lightgallery-angular-9.js +0 -268
  338. package/angular/9/fesm5/lightgallery-angular-9.js.map +0 -1
  339. package/angular/9/lib/lightgallery-angular.component.d.ts +0 -38
  340. package/angular/9/lib/lightgallery-angular.module.d.ts +0 -6
  341. package/angular/9/lib/lightgallery-angular.service.d.ts +0 -6
  342. package/angular/9/lightgallery-angular-9.d.ts +0 -5
  343. package/angular/9/package.json +0 -23
  344. package/angular/9/public-api.d.ts +0 -3
  345. package/angular/README.md +0 -24
  346. package/angular/esm2022/lib/lightgallery-angular.component.mjs +0 -218
  347. package/angular/esm2022/lib/lightgallery-angular.module.mjs +0 -18
  348. package/angular/esm2022/lib/lightgallery-angular.service.mjs +0 -15
  349. package/angular/esm2022/lightgallery-angular.mjs +0 -5
  350. package/angular/esm2022/public-api.mjs +0 -7
  351. package/angular/fesm2022/lightgallery-angular.mjs +0 -254
  352. package/angular/fesm2022/lightgallery-angular.mjs.map +0 -1
  353. package/angular/index.d.ts +0 -5
  354. package/angular/lib/lightgallery-angular.component.d.ts +0 -38
  355. package/angular/lib/lightgallery-angular.module.d.ts +0 -7
  356. package/angular/lib/lightgallery-angular.service.d.ts +0 -6
  357. package/angular/package.json +0 -25
  358. package/angular/public-api.d.ts +0 -3
  359. package/css/lg-fullscreen.css +0 -8
  360. package/css/lg-fullscreen.css.map +0 -1
  361. package/css/lg-share.css.map +0 -1
  362. package/css/lg-thumbnail.css.map +0 -1
  363. package/css/lg-transitions.css.map +0 -1
  364. package/css/lg-zoom.css.map +0 -1
  365. package/css/lightgallery-bundle.css.map +0 -1
  366. package/css/lightgallery-bundle.min.css +0 -1
  367. package/css/lightgallery-core.css.map +0 -1
  368. package/css/lightgallery.css.map +0 -1
  369. package/fonts/lg.svg +0 -54
  370. package/fonts/lg.ttf +0 -0
  371. package/fonts/lg.woff +0 -0
  372. package/fonts/lg.woff2 +0 -0
  373. package/lib/index.js +0 -8
  374. package/lib/index.js.map +0 -1
  375. package/lib/lg-events.js +0 -37
  376. package/lib/lg-events.js.map +0 -1
  377. package/lib/lg-plugin.js +0 -13
  378. package/lib/lg-plugin.js.map +0 -1
  379. package/lib/lg-settings.js +0 -83
  380. package/lib/lg-settings.js.map +0 -1
  381. package/lib/lg-utils.js +0 -328
  382. package/lib/lg-utils.js.map +0 -1
  383. package/lib/lgQuery.js +0 -385
  384. package/lib/lgQuery.js.map +0 -1
  385. package/lib/lightgallery.js +0 -1949
  386. package/lib/lightgallery.js.map +0 -1
  387. package/lib/plugins/autoplay/lg-autoplay-settings.js +0 -16
  388. package/lib/plugins/autoplay/lg-autoplay-settings.js.map +0 -1
  389. package/lib/plugins/autoplay/lg-autoplay.js +0 -184
  390. package/lib/plugins/autoplay/lg-autoplay.js.map +0 -1
  391. package/lib/plugins/comment/lg-comment-settings.js +0 -17
  392. package/lib/plugins/comment/lg-comment-settings.js.map +0 -1
  393. package/lib/plugins/comment/lg-comment.js +0 -140
  394. package/lib/plugins/comment/lg-comment.js.map +0 -1
  395. package/lib/plugins/fullscreen/lg-fullscreen-settings.js +0 -10
  396. package/lib/plugins/fullscreen/lg-fullscreen-settings.js.map +0 -1
  397. package/lib/plugins/fullscreen/lg-fullscreen.js +0 -108
  398. package/lib/plugins/fullscreen/lg-fullscreen.js.map +0 -1
  399. package/lib/plugins/hash/lg-hash-settings.js +0 -9
  400. package/lib/plugins/hash/lg-hash-settings.js.map +0 -1
  401. package/lib/plugins/hash/lg-hash.js +0 -139
  402. package/lib/plugins/hash/lg-hash.js.map +0 -1
  403. package/lib/plugins/mediumZoom/lg-medium-zoom-settings.js +0 -9
  404. package/lib/plugins/mediumZoom/lg-medium-zoom-settings.js.map +0 -1
  405. package/lib/plugins/mediumZoom/lg-medium-zoom.js +0 -73
  406. package/lib/plugins/mediumZoom/lg-medium-zoom.js.map +0 -1
  407. package/lib/plugins/pager/lg-pager-settings.js +0 -7
  408. package/lib/plugins/pager/lg-pager-settings.js.map +0 -1
  409. package/lib/plugins/pager/lg-pager.js +0 -82
  410. package/lib/plugins/pager/lg-pager.js.map +0 -1
  411. package/lib/plugins/relativeCaption/lg-relative-caption-settings.js +0 -7
  412. package/lib/plugins/relativeCaption/lg-relative-caption-settings.js.map +0 -1
  413. package/lib/plugins/relativeCaption/lg-relative-caption.js +0 -97
  414. package/lib/plugins/relativeCaption/lg-relative-caption.js.map +0 -1
  415. package/lib/plugins/rotate/lg-rotate-settings.js +0 -18
  416. package/lib/plugins/rotate/lg-rotate-settings.js.map +0 -1
  417. package/lib/plugins/rotate/lg-rotate.js +0 -206
  418. package/lib/plugins/rotate/lg-rotate.js.map +0 -1
  419. package/lib/plugins/share/lg-fb-share-utils.js +0 -10
  420. package/lib/plugins/share/lg-fb-share-utils.js.map +0 -1
  421. package/lib/plugins/share/lg-pinterest-share-utils.js +0 -17
  422. package/lib/plugins/share/lg-pinterest-share-utils.js.map +0 -1
  423. package/lib/plugins/share/lg-share-settings.js +0 -15
  424. package/lib/plugins/share/lg-share-settings.js.map +0 -1
  425. package/lib/plugins/share/lg-share.js +0 -130
  426. package/lib/plugins/share/lg-share.js.map +0 -1
  427. package/lib/plugins/share/lg-twitter-share-utils.js +0 -11
  428. package/lib/plugins/share/lg-twitter-share-utils.js.map +0 -1
  429. package/lib/plugins/share/types.js +0 -3
  430. package/lib/plugins/share/types.js.map +0 -1
  431. package/lib/plugins/thumbnail/lg-thumbnail-settings.js +0 -23
  432. package/lib/plugins/thumbnail/lg-thumbnail-settings.js.map +0 -1
  433. package/lib/plugins/thumbnail/lg-thumbnail.js +0 -414
  434. package/lib/plugins/thumbnail/lg-thumbnail.js.map +0 -1
  435. package/lib/plugins/video/lg-video-settings.js +0 -15
  436. package/lib/plugins/video/lg-video-settings.js.map +0 -1
  437. package/lib/plugins/video/lg-video-utils.js +0 -84
  438. package/lib/plugins/video/lg-video-utils.js.map +0 -1
  439. package/lib/plugins/video/lg-video.js +0 -411
  440. package/lib/plugins/video/lg-video.js.map +0 -1
  441. package/lib/plugins/video/types.js +0 -3
  442. package/lib/plugins/video/types.js.map +0 -1
  443. package/lib/plugins/vimeoThumbnail/lg-vimeo-thumbnail-settings.js +0 -8
  444. package/lib/plugins/vimeoThumbnail/lg-vimeo-thumbnail-settings.js.map +0 -1
  445. package/lib/plugins/vimeoThumbnail/lg-vimeo-thumbnail.js +0 -122
  446. package/lib/plugins/vimeoThumbnail/lg-vimeo-thumbnail.js.map +0 -1
  447. package/lib/plugins/zoom/lg-zoom-settings.js +0 -21
  448. package/lib/plugins/zoom/lg-zoom-settings.js.map +0 -1
  449. package/lib/plugins/zoom/lg-zoom.js +0 -909
  450. package/lib/plugins/zoom/lg-zoom.js.map +0 -1
  451. package/lib/types.js +0 -3
  452. package/lib/types.js.map +0 -1
  453. package/lightgallery-2.9.0.tgz +0 -0
  454. package/lightgallery.es5.js +0 -2786
  455. package/lightgallery.es5.js.map +0 -1
  456. package/lightgallery.min.js +0 -8
  457. package/lightgallery.umd.js +0 -2794
  458. package/lightgallery.umd.js.map +0 -1
  459. package/lit/custom-elements.json +0 -82
  460. package/lit/lightgallery.esm.js +0 -59
  461. package/lit/lightgallery.umd.js +0 -37
  462. package/lit/package.json +0 -8
  463. package/plugins/autoplay/lg-autoplay.es5.js +0 -250
  464. package/plugins/autoplay/lg-autoplay.es5.js.map +0 -1
  465. package/plugins/autoplay/lg-autoplay.min.js +0 -8
  466. package/plugins/autoplay/lg-autoplay.umd.js +0 -258
  467. package/plugins/autoplay/lg-autoplay.umd.js.map +0 -1
  468. package/plugins/autoplay/package.json +0 -7
  469. package/plugins/comment/lg-comment.es5.js +0 -205
  470. package/plugins/comment/lg-comment.es5.js.map +0 -1
  471. package/plugins/comment/lg-comment.min.js +0 -8
  472. package/plugins/comment/lg-comment.umd.js +0 -213
  473. package/plugins/comment/lg-comment.umd.js.map +0 -1
  474. package/plugins/comment/package.json +0 -7
  475. package/plugins/fullscreen/lg-fullscreen.es5.js +0 -135
  476. package/plugins/fullscreen/lg-fullscreen.es5.js.map +0 -1
  477. package/plugins/fullscreen/lg-fullscreen.min.js +0 -8
  478. package/plugins/fullscreen/lg-fullscreen.umd.js +0 -143
  479. package/plugins/fullscreen/lg-fullscreen.umd.js.map +0 -1
  480. package/plugins/fullscreen/package.json +0 -7
  481. package/plugins/hash/lg-hash-settings.d.ts +0 -16
  482. package/plugins/hash/lg-hash.es5.js +0 -198
  483. package/plugins/hash/lg-hash.es5.js.map +0 -1
  484. package/plugins/hash/lg-hash.min.js +0 -8
  485. package/plugins/hash/lg-hash.umd.js +0 -206
  486. package/plugins/hash/lg-hash.umd.js.map +0 -1
  487. package/plugins/hash/package.json +0 -7
  488. package/plugins/mediumZoom/lg-medium-zoom.es5.js +0 -132
  489. package/plugins/mediumZoom/lg-medium-zoom.es5.js.map +0 -1
  490. package/plugins/mediumZoom/lg-medium-zoom.min.js +0 -8
  491. package/plugins/mediumZoom/lg-medium-zoom.umd.js +0 -140
  492. package/plugins/mediumZoom/lg-medium-zoom.umd.js.map +0 -1
  493. package/plugins/mediumZoom/package.json +0 -7
  494. package/plugins/pager/lg-pager.es5.js +0 -139
  495. package/plugins/pager/lg-pager.es5.js.map +0 -1
  496. package/plugins/pager/lg-pager.min.js +0 -8
  497. package/plugins/pager/lg-pager.umd.js +0 -147
  498. package/plugins/pager/lg-pager.umd.js.map +0 -1
  499. package/plugins/pager/package.json +0 -7
  500. package/plugins/relativeCaption/lg-relative-caption.es5.js +0 -154
  501. package/plugins/relativeCaption/lg-relative-caption.es5.js.map +0 -1
  502. package/plugins/relativeCaption/lg-relative-caption.min.js +0 -8
  503. package/plugins/relativeCaption/lg-relative-caption.umd.js +0 -162
  504. package/plugins/relativeCaption/lg-relative-caption.umd.js.map +0 -1
  505. package/plugins/relativeCaption/package.json +0 -7
  506. package/plugins/rotate/lg-rotate.es5.js +0 -274
  507. package/plugins/rotate/lg-rotate.es5.js.map +0 -1
  508. package/plugins/rotate/lg-rotate.min.js +0 -8
  509. package/plugins/rotate/lg-rotate.umd.js +0 -282
  510. package/plugins/rotate/lg-rotate.umd.js.map +0 -1
  511. package/plugins/rotate/package.json +0 -7
  512. package/plugins/share/lg-share.d.ts +0 -15
  513. package/plugins/share/lg-share.es5.js +0 -219
  514. package/plugins/share/lg-share.es5.js.map +0 -1
  515. package/plugins/share/lg-share.min.js +0 -8
  516. package/plugins/share/lg-share.umd.js +0 -227
  517. package/plugins/share/lg-share.umd.js.map +0 -1
  518. package/plugins/share/lg-twitter-share-utils.d.ts +0 -2
  519. package/plugins/share/package.json +0 -7
  520. package/plugins/thumbnail/lg-thumbnail.d.ts +0 -48
  521. package/plugins/thumbnail/lg-thumbnail.es5.js +0 -487
  522. package/plugins/thumbnail/lg-thumbnail.es5.js.map +0 -1
  523. package/plugins/thumbnail/lg-thumbnail.min.js +0 -8
  524. package/plugins/thumbnail/lg-thumbnail.umd.js +0 -495
  525. package/plugins/thumbnail/lg-thumbnail.umd.js.map +0 -1
  526. package/plugins/thumbnail/package.json +0 -7
  527. package/plugins/video/lg-video-utils.d.ts +0 -10
  528. package/plugins/video/lg-video.es5.js +0 -545
  529. package/plugins/video/lg-video.es5.js.map +0 -1
  530. package/plugins/video/lg-video.min.js +0 -8
  531. package/plugins/video/lg-video.umd.js +0 -553
  532. package/plugins/video/lg-video.umd.js.map +0 -1
  533. package/plugins/video/package.json +0 -7
  534. package/plugins/vimeoThumbnail/lg-vimeo-thumbnail.es5.js +0 -182
  535. package/plugins/vimeoThumbnail/lg-vimeo-thumbnail.es5.js.map +0 -1
  536. package/plugins/vimeoThumbnail/lg-vimeo-thumbnail.min.js +0 -8
  537. package/plugins/vimeoThumbnail/lg-vimeo-thumbnail.umd.js +0 -190
  538. package/plugins/vimeoThumbnail/lg-vimeo-thumbnail.umd.js.map +0 -1
  539. package/plugins/vimeoThumbnail/package.json +0 -7
  540. package/plugins/zoom/lg-zoom.es5.js +0 -980
  541. package/plugins/zoom/lg-zoom.es5.js.map +0 -1
  542. package/plugins/zoom/lg-zoom.min.js +0 -8
  543. package/plugins/zoom/lg-zoom.umd.js +0 -988
  544. package/plugins/zoom/lg-zoom.umd.js.map +0 -1
  545. package/plugins/zoom/package.json +0 -7
  546. package/react/Lightgallery.d.ts +0 -33
  547. package/react/Lightgallery.es5.js +0 -2988
  548. package/react/Lightgallery.es5.js.map +0 -1
  549. package/react/Lightgallery.umd.js +0 -2994
  550. package/react/Lightgallery.umd.js.map +0 -1
  551. package/react/package.json +0 -7
  552. package/scss/_lg-fonts.scss +0 -27
  553. package/scss/lg-fullscreen.scss +0 -9
  554. package/vue/LightGallery.vue.d.ts +0 -37
  555. package/vue/LightGalleryVue.common.js +0 -9343
  556. package/vue/LightGalleryVue.common.js.map +0 -1
  557. package/vue/LightGalleryVue.umd.js +0 -9353
  558. package/vue/LightGalleryVue.umd.js.map +0 -1
  559. package/vue/LightGalleryVue.umd.min.js +0 -8
  560. package/vue/LightGalleryVue.umd.min.js.map +0 -1
  561. package/vue/package.json +0 -7
  562. /package/{css → dist/css}/lg-medium-zoom.css +0 -0
  563. /package/{css → dist/css}/lg-medium-zoom.css.map +0 -0
  564. /package/{css → dist/css}/lg-pager.css +0 -0
  565. /package/{css → dist/css}/lg-relative-caption.css +0 -0
  566. /package/{css → dist/css}/lg-relative-caption.css.map +0 -0
  567. /package/{css → dist/css}/lg-video.css +0 -0
  568. /package/{css → dist/css}/lg-video.css.map +0 -0
  569. /package/{images → dist/images}/loading.gif +0 -0
  570. /package/{scss → dist/scss}/_lg-mixins.scss +0 -0
  571. /package/{scss → dist/scss}/lg-medium-zoom.scss +0 -0
  572. /package/{scss → dist/scss}/lg-pager.scss +0 -0
  573. /package/{scss → dist/scss}/lg-relative-caption.scss +0 -0
  574. /package/{scss → dist/scss}/lg-transitions.scss +0 -0
  575. /package/{scss → dist/scss}/lg-video.scss +0 -0
  576. /package/{scss → dist/scss}/transitions/_index.scss +0 -0
  577. /package/{scss → dist/scss}/transitions/_lg-lollipop-rev.scss +0 -0
  578. /package/{scss → dist/scss}/transitions/_lg-lollipop.scss +0 -0
  579. /package/{scss → dist/scss}/transitions/_lg-rotate-rev.scss +0 -0
  580. /package/{scss → dist/scss}/transitions/_lg-rotate.scss +0 -0
  581. /package/{scss → dist/scss}/transitions/_lg-slide-skew-cross-rev.scss +0 -0
  582. /package/{scss → dist/scss}/transitions/_lg-slide-skew-cross.scss +0 -0
  583. /package/{scss → dist/scss}/transitions/_lg-slide-skew-only-rev.scss +0 -0
  584. /package/{scss → dist/scss}/transitions/_lg-slide-skew-only-y-rev.scss +0 -0
  585. /package/{scss → dist/scss}/transitions/_lg-slide-skew-only-y.scss +0 -0
  586. /package/{scss → dist/scss}/transitions/_lg-slide-skew-only.scss +0 -0
  587. /package/{scss → dist/scss}/transitions/_lg-slide-skew-rev.scss +0 -0
  588. /package/{scss → dist/scss}/transitions/_lg-slide-skew-ver-cross-rev.scss +0 -0
  589. /package/{scss → dist/scss}/transitions/_lg-slide-skew-ver-cross.scss +0 -0
  590. /package/{scss → dist/scss}/transitions/_lg-slide-skew-ver-rev.scss +0 -0
  591. /package/{scss → dist/scss}/transitions/_lg-slide-skew-ver.scss +0 -0
  592. /package/{scss → dist/scss}/transitions/_lg-slide-skew.scss +0 -0
  593. /package/{scss → dist/scss}/transitions/_lg-slide-vertical-growth.scss +0 -0
  594. /package/{scss → dist/scss}/transitions/_lg-slide-vertical.scss +0 -0
  595. /package/{scss → dist/scss}/transitions/_lg-tube.scss +0 -0
@@ -1,545 +0,0 @@
1
- /*!
2
- * lightgallery | 2.9.0 | October 1st 2025
3
- * http://www.lightgalleryjs.com/
4
- * Copyright (c) 2020 Sachin Neravath;
5
- * @license GPLv3
6
- */
7
-
8
- /*! *****************************************************************************
9
- Copyright (c) Microsoft Corporation.
10
-
11
- Permission to use, copy, modify, and/or distribute this software for any
12
- purpose with or without fee is hereby granted.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
15
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
16
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
17
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
18
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
19
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
20
- PERFORMANCE OF THIS SOFTWARE.
21
- ***************************************************************************** */
22
-
23
- var __assign = function() {
24
- __assign = Object.assign || function __assign(t) {
25
- for (var s, i = 1, n = arguments.length; i < n; i++) {
26
- s = arguments[i];
27
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
28
- }
29
- return t;
30
- };
31
- return __assign.apply(this, arguments);
32
- };
33
-
34
- var videoSettings = {
35
- autoplayFirstVideo: true,
36
- youTubePlayerParams: false,
37
- vimeoPlayerParams: false,
38
- wistiaPlayerParams: false,
39
- gotoNextSlideOnVideoEnd: true,
40
- autoplayVideoOnSlide: false,
41
- videojs: false,
42
- videojsTheme: '',
43
- videojsOptions: {},
44
- };
45
-
46
- /**
47
- * List of lightGallery events
48
- * All events should be documented here
49
- * Below interfaces are used to build the website documentations
50
- * */
51
- var lGEvents = {
52
- afterAppendSlide: 'lgAfterAppendSlide',
53
- init: 'lgInit',
54
- hasVideo: 'lgHasVideo',
55
- containerResize: 'lgContainerResize',
56
- updateSlides: 'lgUpdateSlides',
57
- afterAppendSubHtml: 'lgAfterAppendSubHtml',
58
- beforeOpen: 'lgBeforeOpen',
59
- afterOpen: 'lgAfterOpen',
60
- slideItemLoad: 'lgSlideItemLoad',
61
- beforeSlide: 'lgBeforeSlide',
62
- afterSlide: 'lgAfterSlide',
63
- posterClick: 'lgPosterClick',
64
- dragStart: 'lgDragStart',
65
- dragMove: 'lgDragMove',
66
- dragEnd: 'lgDragEnd',
67
- beforeNextSlide: 'lgBeforeNextSlide',
68
- beforePrevSlide: 'lgBeforePrevSlide',
69
- beforeClose: 'lgBeforeClose',
70
- afterClose: 'lgAfterClose',
71
- rotateLeft: 'lgRotateLeft',
72
- rotateRight: 'lgRotateRight',
73
- flipHorizontal: 'lgFlipHorizontal',
74
- flipVertical: 'lgFlipVertical',
75
- autoplay: 'lgAutoplay',
76
- autoplayStart: 'lgAutoplayStart',
77
- autoplayStop: 'lgAutoplayStop',
78
- };
79
-
80
- var param = function (obj) {
81
- return Object.keys(obj)
82
- .map(function (k) {
83
- return encodeURIComponent(k) + '=' + encodeURIComponent(obj[k]);
84
- })
85
- .join('&');
86
- };
87
- var paramsToObject = function (url) {
88
- var paramas = url
89
- .slice(1)
90
- .split('&')
91
- .map(function (p) { return p.split('='); })
92
- .reduce(function (obj, pair) {
93
- var _a = pair.map(decodeURIComponent), key = _a[0], value = _a[1];
94
- obj[key] = value;
95
- return obj;
96
- }, {});
97
- return paramas;
98
- };
99
- var getYouTubeParams = function (videoInfo, youTubePlayerParamsSettings) {
100
- if (!videoInfo.youtube)
101
- return '';
102
- var slideUrlParams = videoInfo.youtube[2]
103
- ? paramsToObject(videoInfo.youtube[2])
104
- : '';
105
- // For youtube first params gets priority if duplicates found
106
- var defaultYouTubePlayerParams = {
107
- wmode: 'opaque',
108
- autoplay: 0,
109
- mute: 1,
110
- enablejsapi: 1,
111
- };
112
- var playerParamsSettings = youTubePlayerParamsSettings || {};
113
- var youTubePlayerParams = __assign(__assign(__assign({}, defaultYouTubePlayerParams), playerParamsSettings), slideUrlParams);
114
- var youTubeParams = "?" + param(youTubePlayerParams);
115
- return youTubeParams;
116
- };
117
- var isYouTubeNoCookie = function (url) {
118
- return url.includes('youtube-nocookie.com');
119
- };
120
- var getVimeoURLParams = function (defaultParams, videoInfo) {
121
- if (!videoInfo || !videoInfo.vimeo)
122
- return '';
123
- var urlParams = videoInfo.vimeo[2] || '';
124
- var defaultVimeoPlayerParams = Object.assign({}, {
125
- autoplay: 0,
126
- muted: 1,
127
- }, defaultParams);
128
- var defaultPlayerParams = defaultVimeoPlayerParams &&
129
- Object.keys(defaultVimeoPlayerParams).length !== 0
130
- ? param(defaultVimeoPlayerParams)
131
- : '';
132
- // Support private video
133
- var urlWithHash = videoInfo.vimeo[0].split('/').pop() || '';
134
- var urlWithHashWithParams = urlWithHash.split('?')[0] || '';
135
- var hash = urlWithHashWithParams.split('#')[0];
136
- var isPrivate = videoInfo.vimeo[1] !== hash;
137
- if (isPrivate) {
138
- urlParams = urlParams.replace("/" + hash, '');
139
- }
140
- urlParams =
141
- urlParams[0] == '?' ? '&' + urlParams.slice(1) : urlParams || '';
142
- var privateUrlParams = isPrivate ? "h=" + hash : '';
143
- defaultPlayerParams = privateUrlParams
144
- ? "&" + defaultPlayerParams
145
- : defaultPlayerParams;
146
- var vimeoPlayerParams = "?" + privateUrlParams + defaultPlayerParams + urlParams;
147
- return vimeoPlayerParams;
148
- };
149
-
150
- /**
151
- * Video module for lightGallery
152
- * Supports HTML5, YouTube, Vimeo, wistia videos
153
- *
154
- *
155
- * @ref Wistia
156
- * https://wistia.com/support/integrations/wordpress(How to get url)
157
- * https://wistia.com/support/developers/embed-options#using-embed-options
158
- * https://wistia.com/support/developers/player-api
159
- * https://wistia.com/support/developers/construct-an-embed-code
160
- * http://jsfiddle.net/xvnm7xLm/
161
- * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video
162
- * https://wistia.com/support/embed-and-share/sharing-videos
163
- * https://private-sharing.wistia.com/medias/mwhrulrucj
164
- *
165
- * @ref Youtube
166
- * https://developers.google.com/youtube/player_parameters#enablejsapi
167
- * https://developers.google.com/youtube/iframe_api_reference
168
- * https://developer.chrome.com/blog/autoplay/#iframe-delegation
169
- *
170
- * @ref Vimeo
171
- * https://stackoverflow.com/questions/10488943/easy-way-to-get-vimeo-id-from-a-vimeo-url
172
- * https://vimeo.zendesk.com/hc/en-us/articles/360000121668-Starting-playback-at-a-specific-timecode
173
- * https://vimeo.zendesk.com/hc/en-us/articles/360001494447-Using-Player-Parameters
174
- */
175
- var Video = /** @class */ (function () {
176
- function Video(instance) {
177
- // get lightGallery core plugin instance
178
- this.core = instance;
179
- this.settings = __assign(__assign({}, videoSettings), this.core.settings);
180
- return this;
181
- }
182
- Video.prototype.init = function () {
183
- var _this = this;
184
- /**
185
- * Event triggered when video url found without poster
186
- * Append video HTML
187
- * Play if autoplayFirstVideo is true
188
- */
189
- this.core.LGel.on(lGEvents.hasVideo + ".video", this.onHasVideo.bind(this));
190
- this.core.LGel.on(lGEvents.posterClick + ".video", function () {
191
- var $el = _this.core.getSlideItem(_this.core.index);
192
- _this.loadVideoOnPosterClick($el);
193
- });
194
- this.core.LGel.on(lGEvents.slideItemLoad + ".video", this.onSlideItemLoad.bind(this));
195
- // @desc fired immediately before each slide transition.
196
- this.core.LGel.on(lGEvents.beforeSlide + ".video", this.onBeforeSlide.bind(this));
197
- // @desc fired immediately after each slide transition.
198
- this.core.LGel.on(lGEvents.afterSlide + ".video", this.onAfterSlide.bind(this));
199
- };
200
- /**
201
- * @desc Event triggered when a slide is completely loaded
202
- *
203
- * @param {Event} event - lightGalley custom event
204
- */
205
- Video.prototype.onSlideItemLoad = function (event) {
206
- var _this = this;
207
- var _a = event.detail, isFirstSlide = _a.isFirstSlide, index = _a.index;
208
- // Should check the active slide as well as user may have moved to different slide before the first slide is loaded
209
- if (this.settings.autoplayFirstVideo &&
210
- isFirstSlide &&
211
- index === this.core.index) {
212
- // Delay is just for the transition effect on video load
213
- setTimeout(function () {
214
- _this.loadAndPlayVideo(index);
215
- }, 200);
216
- }
217
- // Should not call on first slide. should check only if the slide is active
218
- if (!isFirstSlide &&
219
- this.settings.autoplayVideoOnSlide &&
220
- index === this.core.index) {
221
- this.loadAndPlayVideo(index);
222
- }
223
- };
224
- /**
225
- * @desc Event triggered when video url or poster found
226
- * Append video HTML is poster is not given
227
- * Play if autoplayFirstVideo is true
228
- *
229
- * @param {Event} event - Javascript Event object.
230
- */
231
- Video.prototype.onHasVideo = function (event) {
232
- var _a = event.detail, index = _a.index, src = _a.src, html5Video = _a.html5Video, hasPoster = _a.hasPoster;
233
- if (!hasPoster) {
234
- // All functions are called separately if poster exist in loadVideoOnPosterClick function
235
- this.appendVideos(this.core.getSlideItem(index), {
236
- src: src,
237
- addClass: 'lg-object',
238
- index: index,
239
- html5Video: html5Video,
240
- });
241
- // Automatically navigate to next slide once video reaches the end.
242
- this.gotoNextSlideOnVideoEnd(src, index);
243
- }
244
- };
245
- /**
246
- * @desc fired immediately before each slide transition.
247
- * Pause the previous video
248
- * Hide the download button if the slide contains YouTube, Vimeo, or Wistia videos.
249
- *
250
- * @param {Event} event - Javascript Event object.
251
- * @param {number} prevIndex - Previous index of the slide.
252
- * @param {number} index - Current index of the slide
253
- */
254
- Video.prototype.onBeforeSlide = function (event) {
255
- if (this.core.lGalleryOn) {
256
- var prevIndex = event.detail.prevIndex;
257
- this.pauseVideo(prevIndex);
258
- }
259
- };
260
- /**
261
- * @desc fired immediately after each slide transition.
262
- * Play video if autoplayVideoOnSlide option is enabled.
263
- *
264
- * @param {Event} event - Javascript Event object.
265
- * @param {number} prevIndex - Previous index of the slide.
266
- * @param {number} index - Current index of the slide
267
- * @todo should check on onSlideLoad as well if video is not loaded on after slide
268
- */
269
- Video.prototype.onAfterSlide = function (event) {
270
- var _this = this;
271
- var _a = event.detail, index = _a.index, prevIndex = _a.prevIndex;
272
- // Do not call on first slide
273
- var $slide = this.core.getSlideItem(index);
274
- if (this.settings.autoplayVideoOnSlide && index !== prevIndex) {
275
- if ($slide.hasClass('lg-complete')) {
276
- setTimeout(function () {
277
- _this.loadAndPlayVideo(index);
278
- }, 100);
279
- }
280
- }
281
- };
282
- Video.prototype.loadAndPlayVideo = function (index) {
283
- var $slide = this.core.getSlideItem(index);
284
- var currentGalleryItem = this.core.galleryItems[index];
285
- if (currentGalleryItem.poster) {
286
- this.loadVideoOnPosterClick($slide, true);
287
- }
288
- else {
289
- this.playVideo(index);
290
- }
291
- };
292
- /**
293
- * Play HTML5, Youtube, Vimeo or Wistia videos in a particular slide.
294
- * @param {number} index - Index of the slide
295
- */
296
- Video.prototype.playVideo = function (index) {
297
- this.controlVideo(index, 'play');
298
- };
299
- /**
300
- * Pause HTML5, Youtube, Vimeo or Wistia videos in a particular slide.
301
- * @param {number} index - Index of the slide
302
- */
303
- Video.prototype.pauseVideo = function (index) {
304
- this.controlVideo(index, 'pause');
305
- };
306
- Video.prototype.getVideoHtml = function (src, addClass, index, html5Video) {
307
- var video = '';
308
- var videoInfo = this.core.galleryItems[index]
309
- .__slideVideoInfo || {};
310
- var currentGalleryItem = this.core.galleryItems[index];
311
- var videoTitle = currentGalleryItem.title || currentGalleryItem.alt;
312
- videoTitle = videoTitle ? 'title="' + videoTitle + '"' : '';
313
- var commonIframeProps = "allowtransparency=\"true\"\n frameborder=\"0\"\n scrolling=\"no\"\n allowfullscreen\n mozallowfullscreen\n webkitallowfullscreen\n oallowfullscreen\n msallowfullscreen";
314
- if (videoInfo.youtube) {
315
- var videoId = 'lg-youtube' + index;
316
- var youTubeParams = getYouTubeParams(videoInfo, this.settings.youTubePlayerParams);
317
- var isYouTubeNoCookieURL = isYouTubeNoCookie(src);
318
- var youtubeURL = isYouTubeNoCookieURL
319
- ? '//www.youtube-nocookie.com/'
320
- : '//www.youtube.com/';
321
- video = "<iframe allow=\"autoplay\" id=" + videoId + " class=\"lg-video-object lg-youtube " + addClass + "\" " + videoTitle + " src=\"" + youtubeURL + "embed/" + (videoInfo.youtube[1] + youTubeParams) + "\" " + commonIframeProps + "></iframe>";
322
- }
323
- else if (videoInfo.vimeo) {
324
- var videoId = 'lg-vimeo' + index;
325
- var playerParams = getVimeoURLParams(this.settings.vimeoPlayerParams, videoInfo);
326
- video = "<iframe allow=\"autoplay\" id=" + videoId + " class=\"lg-video-object lg-vimeo " + addClass + "\" " + videoTitle + " src=\"//player.vimeo.com/video/" + (videoInfo.vimeo[1] + playerParams) + "\" " + commonIframeProps + "></iframe>";
327
- }
328
- else if (videoInfo.wistia) {
329
- var wistiaId = 'lg-wistia' + index;
330
- var playerParams = param(this.settings.wistiaPlayerParams);
331
- playerParams = playerParams ? '?' + playerParams : '';
332
- video = "<iframe allow=\"autoplay\" id=\"" + wistiaId + "\" src=\"//fast.wistia.net/embed/iframe/" + (videoInfo.wistia[4] + playerParams) + "\" " + videoTitle + " class=\"wistia_embed lg-video-object lg-wistia " + addClass + "\" name=\"wistia_embed\" " + commonIframeProps + "></iframe>";
333
- }
334
- else if (videoInfo.html5) {
335
- var html5VideoMarkup = '';
336
- for (var i = 0; i < html5Video.source.length; i++) {
337
- var type = html5Video.source[i].type;
338
- var typeAttr = type ? "type=\"" + type + "\"" : '';
339
- html5VideoMarkup += "<source src=\"" + html5Video.source[i].src + "\" " + typeAttr + ">";
340
- }
341
- if (html5Video.tracks) {
342
- var _loop_1 = function (i) {
343
- var trackAttributes = '';
344
- var track = html5Video.tracks[i];
345
- Object.keys(track || {}).forEach(function (key) {
346
- trackAttributes += key + "=\"" + track[key] + "\" ";
347
- });
348
- html5VideoMarkup += "<track " + trackAttributes + ">";
349
- };
350
- for (var i = 0; i < html5Video.tracks.length; i++) {
351
- _loop_1(i);
352
- }
353
- }
354
- var html5VideoAttrs_1 = '';
355
- var videoAttributes_1 = html5Video.attributes || {};
356
- Object.keys(videoAttributes_1 || {}).forEach(function (key) {
357
- html5VideoAttrs_1 += key + "=\"" + videoAttributes_1[key] + "\" ";
358
- });
359
- video = "<video class=\"lg-video-object lg-html5 " + (this.settings.videojs && this.settings.videojsTheme
360
- ? this.settings.videojsTheme + ' '
361
- : '') + " " + (this.settings.videojs ? ' video-js' : '') + "\" " + html5VideoAttrs_1 + ">\n " + html5VideoMarkup + "\n Your browser does not support HTML5 video.\n </video>";
362
- }
363
- return video;
364
- };
365
- /**
366
- * @desc - Append videos to the slide
367
- *
368
- * @param {HTMLElement} el - slide element
369
- * @param {Object} videoParams - Video parameters, Contains src, class, index, htmlVideo
370
- */
371
- Video.prototype.appendVideos = function (el, videoParams) {
372
- var _a;
373
- var videoHtml = this.getVideoHtml(videoParams.src, videoParams.addClass, videoParams.index, videoParams.html5Video);
374
- el.find('.lg-video-cont').append(videoHtml);
375
- var $videoElement = el.find('.lg-video-object').first();
376
- if (videoParams.html5Video) {
377
- $videoElement.on('mousedown.lg.video', function (e) {
378
- e.stopPropagation();
379
- });
380
- }
381
- if (this.settings.videojs && ((_a = this.core.galleryItems[videoParams.index].__slideVideoInfo) === null || _a === void 0 ? void 0 : _a.html5)) {
382
- try {
383
- return videojs($videoElement.get(), this.settings.videojsOptions);
384
- }
385
- catch (e) {
386
- console.error('lightGallery:- Make sure you have included videojs');
387
- }
388
- }
389
- };
390
- Video.prototype.gotoNextSlideOnVideoEnd = function (src, index) {
391
- var _this = this;
392
- var $videoElement = this.core
393
- .getSlideItem(index)
394
- .find('.lg-video-object')
395
- .first();
396
- var videoInfo = this.core.galleryItems[index].__slideVideoInfo || {};
397
- if (this.settings.gotoNextSlideOnVideoEnd) {
398
- if (videoInfo.html5) {
399
- $videoElement.on('ended', function () {
400
- _this.core.goToNextSlide();
401
- });
402
- }
403
- else if (videoInfo.vimeo) {
404
- try {
405
- // https://github.com/vimeo/player.js/#ended
406
- new Vimeo.Player($videoElement.get()).on('ended', function () {
407
- _this.core.goToNextSlide();
408
- });
409
- }
410
- catch (e) {
411
- console.error('lightGallery:- Make sure you have included //github.com/vimeo/player.js');
412
- }
413
- }
414
- else if (videoInfo.wistia) {
415
- try {
416
- window._wq = window._wq || [];
417
- // @todo Event is gettign triggered multiple times
418
- window._wq.push({
419
- id: $videoElement.attr('id'),
420
- onReady: function (video) {
421
- video.bind('end', function () {
422
- _this.core.goToNextSlide();
423
- });
424
- },
425
- });
426
- }
427
- catch (e) {
428
- console.error('lightGallery:- Make sure you have included //fast.wistia.com/assets/external/E-v1.js');
429
- }
430
- }
431
- }
432
- };
433
- Video.prototype.controlVideo = function (index, action) {
434
- var $videoElement = this.core
435
- .getSlideItem(index)
436
- .find('.lg-video-object')
437
- .first();
438
- var videoInfo = this.core.galleryItems[index].__slideVideoInfo || {};
439
- if (!$videoElement.get())
440
- return;
441
- if (videoInfo.youtube) {
442
- try {
443
- $videoElement.get().contentWindow.postMessage("{\"event\":\"command\",\"func\":\"" + action + "Video\",\"args\":\"\"}", '*');
444
- }
445
- catch (e) {
446
- console.error("lightGallery:- " + e);
447
- }
448
- }
449
- else if (videoInfo.vimeo) {
450
- try {
451
- new Vimeo.Player($videoElement.get())[action]();
452
- }
453
- catch (e) {
454
- console.error('lightGallery:- Make sure you have included //github.com/vimeo/player.js');
455
- }
456
- }
457
- else if (videoInfo.html5) {
458
- if (this.settings.videojs) {
459
- try {
460
- videojs($videoElement.get())[action]();
461
- }
462
- catch (e) {
463
- console.error('lightGallery:- Make sure you have included videojs');
464
- }
465
- }
466
- else {
467
- $videoElement.get()[action]();
468
- }
469
- }
470
- else if (videoInfo.wistia) {
471
- try {
472
- window._wq = window._wq || [];
473
- // @todo Find a way to destroy wistia player instance
474
- window._wq.push({
475
- id: $videoElement.attr('id'),
476
- onReady: function (video) {
477
- video[action]();
478
- },
479
- });
480
- }
481
- catch (e) {
482
- console.error('lightGallery:- Make sure you have included //fast.wistia.com/assets/external/E-v1.js');
483
- }
484
- }
485
- };
486
- Video.prototype.loadVideoOnPosterClick = function ($el, forcePlay) {
487
- var _this = this;
488
- // check slide has poster
489
- if (!$el.hasClass('lg-video-loaded')) {
490
- // check already video element present
491
- if (!$el.hasClass('lg-has-video')) {
492
- $el.addClass('lg-has-video');
493
- var _html = void 0;
494
- var _src = this.core.galleryItems[this.core.index].src;
495
- var video = this.core.galleryItems[this.core.index].video;
496
- if (video) {
497
- _html =
498
- typeof video === 'string' ? JSON.parse(video) : video;
499
- }
500
- var videoJsPlayer_1 = this.appendVideos($el, {
501
- src: _src,
502
- addClass: '',
503
- index: this.core.index,
504
- html5Video: _html,
505
- });
506
- this.gotoNextSlideOnVideoEnd(_src, this.core.index);
507
- var $tempImg = $el.find('.lg-object').first().get();
508
- // @todo make sure it is working
509
- $el.find('.lg-video-cont').first().append($tempImg);
510
- $el.addClass('lg-video-loading');
511
- videoJsPlayer_1 &&
512
- videoJsPlayer_1.ready(function () {
513
- videoJsPlayer_1.on('loadedmetadata', function () {
514
- _this.onVideoLoadAfterPosterClick($el, _this.core.index);
515
- });
516
- });
517
- $el.find('.lg-video-object')
518
- .first()
519
- .on('load.lg error.lg loadedmetadata.lg', function () {
520
- setTimeout(function () {
521
- _this.onVideoLoadAfterPosterClick($el, _this.core.index);
522
- }, 50);
523
- });
524
- }
525
- else {
526
- this.playVideo(this.core.index);
527
- }
528
- }
529
- else if (forcePlay) {
530
- this.playVideo(this.core.index);
531
- }
532
- };
533
- Video.prototype.onVideoLoadAfterPosterClick = function ($el, index) {
534
- $el.addClass('lg-video-loaded');
535
- this.playVideo(index);
536
- };
537
- Video.prototype.destroy = function () {
538
- this.core.LGel.off('.lg.video');
539
- this.core.LGel.off('.video');
540
- };
541
- return Video;
542
- }());
543
-
544
- export default Video;
545
- //# sourceMappingURL=lg-video.es5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lg-video.es5.js","sources":["../../../src/plugins/video/lg-video-settings.ts","../../../src/lg-events.ts","../../../src/plugins/video/lg-video-utils.ts","../../../src/plugins/video/lg-video.ts"],"sourcesContent":["import { PlayerParams } from './lg-video-utils';\n\nexport interface VideoSettings {\n /**\n * Enable/DIsable first video autoplay.\n * @description Autoplay has to be managed using this setting.\n * Autoplay in PlayerParams doesn't have any effect.\n */\n autoplayFirstVideo: boolean;\n\n /**\n * Change YouTube player parameters.\n * You can find the list of YouTube player parameters from the following link\n * <a href=\"https://developers.google.com/youtube/player_parameters\">YouTube player parameters</a>\n * @example\n * lightGallery(document.getElementById('lightGallery'), {\n * youTubePlayerParams: {\n * modestbranding : 1,\n * showinfo : 0,\n * controls : 0\n * }\n * })\n */\n youTubePlayerParams: any;\n\n /**\n * Change Vimeo player parameters.\n * You can find the list of vimeo player parameters from the following link\n * <a href=\"https://developer.vimeo.com/player/embedding#universal-parameters\">Vimeo player parameters</a>\n * @example\n * lightGallery(document.getElementById('lightGallery'), {\n * vimeoPlayerParams: {\n * byline : 0,\n * portrait : 0,\n * color : 'CCCCCC'\n * }\n * })\n */\n vimeoPlayerParams: PlayerParams;\n\n /**\n * Change Wistia player parameters.\n * You can find the list of Wistia player parameters from the following link\n * <a href=\"https://wistia.com/support/developers/embed-options#using-embed-options\">Vimeo player parameters</a>\n */\n wistiaPlayerParams: any;\n\n /**\n * Go to next slide when video is ended\n * Note - this doesn't work with YouTube videos at the moment\n */\n gotoNextSlideOnVideoEnd: boolean;\n\n /**\n * Autoplay video on slide change\n * @description Make sure you set preload:\"none\"\n */\n autoplayVideoOnSlide: boolean;\n\n /**\n * Enbale videojs custom video player\n * <div class=\"alert alert-info\" role=\"alert\">\n * <b>Dependency</b> - You need to include <a href=\"https://videojs.com/\">videoJs</a> on your document to enable videojs player\n * </div>\n */\n videojs: boolean;\n\n /**\n * Class name of the videojs theme\n * You need to include the theme stylesheet on your document. <a href=\"https://videojs.com/getting-started/#home-page-themes\" target=\"_blank\">More info</a>\n * @version V2.5.0\n */\n videojsTheme: string;\n\n /**\n * Videojs player options\n */\n videojsOptions: any;\n}\nexport const videoSettings: VideoSettings = {\n autoplayFirstVideo: true,\n youTubePlayerParams: false,\n vimeoPlayerParams: false,\n wistiaPlayerParams: false,\n gotoNextSlideOnVideoEnd: true,\n autoplayVideoOnSlide: false,\n videojs: false,\n videojsTheme: '',\n videojsOptions: {},\n};\n","import { LightGallery } from './lightgallery';\nimport { VideoSource } from './plugins/video/types';\n\n/**\n * List of lightGallery events\n * All events should be documented here\n * Below interfaces are used to build the website documentations\n * */\nexport const lGEvents: {\n [key: string]: string;\n} = {\n afterAppendSlide: 'lgAfterAppendSlide',\n init: 'lgInit',\n hasVideo: 'lgHasVideo',\n containerResize: 'lgContainerResize',\n updateSlides: 'lgUpdateSlides',\n afterAppendSubHtml: 'lgAfterAppendSubHtml',\n beforeOpen: 'lgBeforeOpen',\n afterOpen: 'lgAfterOpen',\n slideItemLoad: 'lgSlideItemLoad',\n beforeSlide: 'lgBeforeSlide',\n afterSlide: 'lgAfterSlide',\n posterClick: 'lgPosterClick',\n dragStart: 'lgDragStart',\n dragMove: 'lgDragMove',\n dragEnd: 'lgDragEnd',\n beforeNextSlide: 'lgBeforeNextSlide',\n beforePrevSlide: 'lgBeforePrevSlide',\n beforeClose: 'lgBeforeClose',\n afterClose: 'lgAfterClose',\n rotateLeft: 'lgRotateLeft',\n rotateRight: 'lgRotateRight',\n flipHorizontal: 'lgFlipHorizontal',\n flipVertical: 'lgFlipVertical',\n autoplay: 'lgAutoplay',\n autoplayStart: 'lgAutoplayStart',\n autoplayStop: 'lgAutoplayStop',\n};\n\n// Follow the below format for the event documentation\n// @method is the method name when event is used with Angular/React components\n\n/**\n * Fired only once when lightGallery is initialized\n * @name lgInit\n * @method onInit\n * @example\n * const lg = document.getElementById('custom-events-demo');\n * // Perform any action on lightGallery initialization.\n * // Init event returns the plugin instance that can be used to call any lightGalley public method\n * let pluginInstance = null;\n * lg.addEventListener('lgInit', (event) => {\n * pluginInstance = event.detail.instance;\n * });\n * lightGallery(lg);\n * @see <a href=\"/docs/methods\">Methods<a>\n */\nexport interface InitDetail {\n /**\n * lightGallery plugin instance\n */\n instance: LightGallery;\n}\n\n/**\n * Fired when the slide content has been inserted into it's slide container.\n * @name lgAfterAppendSlide\n * @method onAfterAppendSlide\n */\nexport interface AfterAppendSlideEventDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired immediately before opening the gallery\n * @name lgBeforeOpen\n * @method onBeforeOpen\n */\nexport interface BeforeOpenDetail {}\n\n/**\n * Fired immediately after opening the gallery\n * @name lgAfterOpen\n * @method onAfterOpen\n */\nexport interface AfterOpenDetail {}\n\n/**\n * Fired once the media inside the slide has been completely loaded .\n * @name lgSlideItemLoad\n * @method onSlideItemLoad\n */\nexport interface SlideItemLoadDetail {\n /**\n * Index of the slide\n */\n index: number;\n /**\n * For the first slide, lightGallery adds some delay for displaying the loaded slide item.\n * This delay is required for the transition effect when the slide item is displayed\n * Respect the delay when you use this event\n */\n delay: number;\n\n // Will be true for the first slide\n isFirstSlide: boolean;\n}\n\n/**\n * Fired immediately before each slide transition.\n * @name lgBeforeSlide\n * @method onBeforeSlide\n * @example\n * const lg = document.getElementById('custom-events-demo');\n * // Perform any action before each slide transition\n * lg.addEventListener('lgBeforeSlide', (event) => {\n * const { index, prevIndex } = event.detail;\n * alert(index, prevIndex);\n * });\n * lightGallery(lg);\n */\nexport interface BeforeSlideDetail {\n /**\n * Index of the previous slide\n */\n prevIndex: number;\n /**\n * Index of the slide\n */\n index: number;\n /**\n * true if slide function called via touch event or mouse drag\n */\n fromTouch: boolean;\n /**\n * true if slide function called via thumbnail click\n */\n fromThumb: boolean;\n}\n\n/**\n * Fired immediately after each slide transition.\n * @name lgAfterSlide\n * @method onAfterSlide\n */\nexport interface AfterSlideDetail {\n /**\n * Index of the previous slide\n */\n prevIndex: number;\n /**\n * Index of the slide\n */\n index: number;\n /**\n * true if slide function called via touch event or mouse drag\n */\n fromTouch: boolean;\n /**\n * true if slide function called via thumbnail click\n */\n fromThumb: boolean;\n}\n\n/**\n * Fired when the video poster is clicked.\n * @name lgPosterClick\n * @method onPosterClick\n */\nexport interface PosterClickDetail {}\n\n/**\n * Fired when the drag event to move to different slide starts.\n * @name lgDragStart\n * @method onDragStart\n */\nexport interface DragStartDetail {}\n\n/**\n * Fired periodically during the drag operation.\n * @name lgDragMove\n * @method onDragMove\n */\nexport interface DragMoveDetail {}\n\n/**\n * Fired when the user has finished the drag operation\n * @name lgDragEnd\n * @method onDragEnd\n */\nexport interface DragEndDetail {}\n\n/**\n * Fired immediately before the start of the close process.\n * @name lgBeforeClose\n * @method onBeforeClose\n */\nexport interface BeforeCloseDetail {}\n\n/**\n * Fired immediately once lightGallery is closed.\n * @name lgAfterClose\n * @method onAfterClose\n */\nexport interface AfterCloseDetail {\n /**\n * lightGallery plugin instance\n */\n instance: LightGallery;\n}\n\n/**\n * Fired immediately before each \"next\" slide transition\n * @name lgBeforeNextSlide\n * @method onBeforeNextSlide\n */\nexport interface BeforeNextSlideDetail {\n /**\n * Index of the slide\n */\n index: number;\n /**\n * true if slide function called via touch event or mouse drag\n */\n fromTouch: boolean;\n}\n\n/**\n * Fired immediately before each \"prev\" slide transition\n * @name lgBeforePrevSlide\n * @method onBeforePrevSlide\n */\nexport interface BeforePrevSlideDetail {\n /**\n * Index of the slide\n */\n index: number;\n /**\n * true if slide function called via touch event or mouse drag\n */\n fromTouch: boolean;\n}\n\n/**\n * Fired when the sub-html content (ex : title/ description) has been appended into the slide.\n * @name lgAfterAppendSubHtml\n * @method onAfterAppendSubHtml\n */\nexport interface AfterAppendSubHtmlDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the lightGallery container has been resized.\n * @name lgContainerResize\n * @method onContainerResize\n */\nexport interface ContainerResizeDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when lightGallery detects video slide\n * @name lgHasVideo\n * @method onHasVideo\n */\nexport interface HasVideoDetail {\n /**\n * Index of the slide,\n */\n index: number;\n /**\n * Video source\n */\n src: string;\n /**\n * HTML5 video source if available\n * <p>\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n * </p>\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","import { VideoInfo } from '../../types';\nexport type PlayerParams = Record<string, string | number | boolean> | boolean;\n\nexport type YouTubeParams = {\n [x: string]: string | number | boolean;\n};\n\nexport const param = (obj: YouTubeParams): string => {\n return Object.keys(obj)\n .map(function (k) {\n return encodeURIComponent(k) + '=' + encodeURIComponent(obj[k]);\n })\n .join('&');\n};\nexport const paramsToObject = (url: string): YouTubeParams => {\n const paramas = url\n .slice(1)\n .split('&')\n .map((p) => p.split('='))\n .reduce((obj: any, pair) => {\n const [key, value] = pair.map(decodeURIComponent);\n obj[key] = value;\n return obj;\n }, {});\n return paramas;\n};\n\nexport const getYouTubeParams = (\n videoInfo: VideoInfo,\n youTubePlayerParamsSettings: YouTubeParams | false,\n): string => {\n if (!videoInfo.youtube) return '';\n const slideUrlParams = videoInfo.youtube[2]\n ? paramsToObject(videoInfo.youtube[2])\n : '';\n\n // For youtube first params gets priority if duplicates found\n const defaultYouTubePlayerParams = {\n wmode: 'opaque',\n autoplay: 0,\n mute: 1,\n enablejsapi: 1,\n };\n\n const playerParamsSettings = youTubePlayerParamsSettings || {};\n\n const youTubePlayerParams = {\n ...defaultYouTubePlayerParams,\n ...playerParamsSettings,\n ...slideUrlParams,\n };\n\n const youTubeParams = `?${param(youTubePlayerParams)}`;\n return youTubeParams;\n};\n\nexport const isYouTubeNoCookie = (url: string): boolean => {\n return url.includes('youtube-nocookie.com');\n};\n\nexport const getVimeoURLParams = (\n defaultParams: PlayerParams,\n videoInfo?: VideoInfo,\n): string => {\n if (!videoInfo || !videoInfo.vimeo) return '';\n let urlParams = videoInfo.vimeo[2] || '';\n\n const defaultVimeoPlayerParams = Object.assign(\n {},\n {\n autoplay: 0,\n muted: 1,\n },\n defaultParams,\n );\n let defaultPlayerParams =\n defaultVimeoPlayerParams &&\n Object.keys(defaultVimeoPlayerParams).length !== 0\n ? param(defaultVimeoPlayerParams as any)\n : '';\n\n // Support private video\n const urlWithHash = videoInfo.vimeo[0].split('/').pop() || '';\n const urlWithHashWithParams = urlWithHash.split('?')[0] || '';\n const hash = urlWithHashWithParams.split('#')[0];\n\n const isPrivate = videoInfo.vimeo[1] !== hash;\n if (isPrivate) {\n urlParams = urlParams.replace(`/${hash}`, '');\n }\n\n urlParams =\n urlParams[0] == '?' ? '&' + urlParams.slice(1) : urlParams || '';\n const privateUrlParams = isPrivate ? `h=${hash}` : '';\n defaultPlayerParams = privateUrlParams\n ? `&${defaultPlayerParams}`\n : defaultPlayerParams;\n\n const vimeoPlayerParams = `?${privateUrlParams}${defaultPlayerParams}${urlParams}`;\n return vimeoPlayerParams;\n};\n","/**\n * Video module for lightGallery\n * Supports HTML5, YouTube, Vimeo, wistia videos\n *\n *\n * @ref Wistia\n * https://wistia.com/support/integrations/wordpress(How to get url)\n * https://wistia.com/support/developers/embed-options#using-embed-options\n * https://wistia.com/support/developers/player-api\n * https://wistia.com/support/developers/construct-an-embed-code\n * http://jsfiddle.net/xvnm7xLm/\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video\n * https://wistia.com/support/embed-and-share/sharing-videos\n * https://private-sharing.wistia.com/medias/mwhrulrucj\n *\n * @ref Youtube\n * https://developers.google.com/youtube/player_parameters#enablejsapi\n * https://developers.google.com/youtube/iframe_api_reference\n * https://developer.chrome.com/blog/autoplay/#iframe-delegation\n *\n * @ref Vimeo\n * https://stackoverflow.com/questions/10488943/easy-way-to-get-vimeo-id-from-a-vimeo-url\n * https://vimeo.zendesk.com/hc/en-us/articles/360000121668-Starting-playback-at-a-specific-timecode\n * https://vimeo.zendesk.com/hc/en-us/articles/360001494447-Using-Player-Parameters\n */\n\nimport { VideoSettings, videoSettings } from './lg-video-settings';\nimport { LightGallery } from '../../lightgallery';\nimport { lgQuery } from '../../lgQuery';\nimport {\n CustomEventAfterSlide,\n CustomEventHasVideo,\n CustomEventSlideItemLoad,\n VideoInfo,\n} from '../../types';\nimport { lGEvents } from '../../lg-events';\nimport { VideoSource } from './types';\nimport {\n getVimeoURLParams,\n getYouTubeParams,\n isYouTubeNoCookie,\n param,\n} from './lg-video-utils';\n\ndeclare let Vimeo: any;\ndeclare let videojs: any;\ndeclare global {\n interface Window {\n _wq: any;\n Vimeo: any;\n }\n}\nexport default class Video {\n private core: LightGallery;\n private settings: VideoSettings;\n constructor(instance: LightGallery) {\n // get lightGallery core plugin instance\n this.core = instance;\n this.settings = { ...videoSettings, ...this.core.settings };\n\n return this;\n }\n init() {\n /**\n * Event triggered when video url found without poster\n * Append video HTML\n * Play if autoplayFirstVideo is true\n */\n this.core.LGel.on(\n `${lGEvents.hasVideo}.video`,\n this.onHasVideo.bind(this),\n );\n\n this.core.LGel.on(`${lGEvents.posterClick}.video`, () => {\n const $el = this.core.getSlideItem(this.core.index);\n this.loadVideoOnPosterClick($el);\n });\n this.core.LGel.on(\n `${lGEvents.slideItemLoad}.video`,\n this.onSlideItemLoad.bind(this),\n );\n\n // @desc fired immediately before each slide transition.\n this.core.LGel.on(\n `${lGEvents.beforeSlide}.video`,\n this.onBeforeSlide.bind(this),\n );\n\n // @desc fired immediately after each slide transition.\n this.core.LGel.on(\n `${lGEvents.afterSlide}.video`,\n this.onAfterSlide.bind(this),\n );\n }\n\n /**\n * @desc Event triggered when a slide is completely loaded\n *\n * @param {Event} event - lightGalley custom event\n */\n onSlideItemLoad(event: CustomEventSlideItemLoad): void {\n const { isFirstSlide, index } = event.detail;\n\n // Should check the active slide as well as user may have moved to different slide before the first slide is loaded\n if (\n this.settings.autoplayFirstVideo &&\n isFirstSlide &&\n index === this.core.index\n ) {\n // Delay is just for the transition effect on video load\n setTimeout(() => {\n this.loadAndPlayVideo(index);\n }, 200);\n }\n\n // Should not call on first slide. should check only if the slide is active\n if (\n !isFirstSlide &&\n this.settings.autoplayVideoOnSlide &&\n index === this.core.index\n ) {\n this.loadAndPlayVideo(index);\n }\n }\n\n /**\n * @desc Event triggered when video url or poster found\n * Append video HTML is poster is not given\n * Play if autoplayFirstVideo is true\n *\n * @param {Event} event - Javascript Event object.\n */\n onHasVideo(event: CustomEventHasVideo): void {\n const { index, src, html5Video, hasPoster } = event.detail;\n if (!hasPoster) {\n // All functions are called separately if poster exist in loadVideoOnPosterClick function\n\n this.appendVideos(this.core.getSlideItem(index), {\n src,\n addClass: 'lg-object',\n index,\n html5Video,\n });\n\n // Automatically navigate to next slide once video reaches the end.\n this.gotoNextSlideOnVideoEnd(src, index);\n }\n }\n\n /**\n * @desc fired immediately before each slide transition.\n * Pause the previous video\n * Hide the download button if the slide contains YouTube, Vimeo, or Wistia videos.\n *\n * @param {Event} event - Javascript Event object.\n * @param {number} prevIndex - Previous index of the slide.\n * @param {number} index - Current index of the slide\n */\n onBeforeSlide(event: CustomEvent): void {\n if (this.core.lGalleryOn) {\n const { prevIndex } = event.detail;\n this.pauseVideo(prevIndex);\n }\n }\n\n /**\n * @desc fired immediately after each slide transition.\n * Play video if autoplayVideoOnSlide option is enabled.\n *\n * @param {Event} event - Javascript Event object.\n * @param {number} prevIndex - Previous index of the slide.\n * @param {number} index - Current index of the slide\n * @todo should check on onSlideLoad as well if video is not loaded on after slide\n */\n onAfterSlide(event: CustomEventAfterSlide): void {\n const { index, prevIndex } = event.detail;\n // Do not call on first slide\n const $slide = this.core.getSlideItem(index);\n if (this.settings.autoplayVideoOnSlide && index !== prevIndex) {\n if ($slide.hasClass('lg-complete')) {\n setTimeout(() => {\n this.loadAndPlayVideo(index);\n }, 100);\n }\n }\n }\n\n loadAndPlayVideo(index: number): void {\n const $slide = this.core.getSlideItem(index);\n const currentGalleryItem = this.core.galleryItems[index];\n if (currentGalleryItem.poster) {\n this.loadVideoOnPosterClick($slide, true);\n } else {\n this.playVideo(index);\n }\n }\n\n /**\n * Play HTML5, Youtube, Vimeo or Wistia videos in a particular slide.\n * @param {number} index - Index of the slide\n */\n playVideo(index: number) {\n this.controlVideo(index, 'play');\n }\n\n /**\n * Pause HTML5, Youtube, Vimeo or Wistia videos in a particular slide.\n * @param {number} index - Index of the slide\n */\n pauseVideo(index: number) {\n this.controlVideo(index, 'pause');\n }\n\n getVideoHtml(\n src: any,\n addClass: any,\n index: number,\n html5Video: VideoSource,\n ): string {\n let video = '';\n const videoInfo =\n this.core.galleryItems[(index as unknown) as number]\n .__slideVideoInfo || {};\n const currentGalleryItem = this.core.galleryItems[index];\n let videoTitle = currentGalleryItem.title || currentGalleryItem.alt;\n videoTitle = videoTitle ? 'title=\"' + videoTitle + '\"' : '';\n const commonIframeProps = `allowtransparency=\"true\"\n frameborder=\"0\"\n scrolling=\"no\"\n allowfullscreen\n mozallowfullscreen\n webkitallowfullscreen\n oallowfullscreen\n msallowfullscreen`;\n\n if (videoInfo.youtube) {\n const videoId = 'lg-youtube' + index;\n\n const youTubeParams = getYouTubeParams(\n videoInfo,\n this.settings.youTubePlayerParams,\n );\n\n const isYouTubeNoCookieURL = isYouTubeNoCookie(src);\n\n const youtubeURL = isYouTubeNoCookieURL\n ? '//www.youtube-nocookie.com/'\n : '//www.youtube.com/';\n\n video = `<iframe allow=\"autoplay\" id=${videoId} class=\"lg-video-object lg-youtube ${addClass}\" ${videoTitle} src=\"${youtubeURL}embed/${\n videoInfo.youtube[1] + youTubeParams\n }\" ${commonIframeProps}></iframe>`;\n } else if (videoInfo.vimeo) {\n const videoId = 'lg-vimeo' + index;\n const playerParams = getVimeoURLParams(\n this.settings.vimeoPlayerParams,\n videoInfo,\n );\n video = `<iframe allow=\"autoplay\" id=${videoId} class=\"lg-video-object lg-vimeo ${addClass}\" ${videoTitle} src=\"//player.vimeo.com/video/${\n videoInfo.vimeo[1] + playerParams\n }\" ${commonIframeProps}></iframe>`;\n } else if (videoInfo.wistia) {\n const wistiaId = 'lg-wistia' + index;\n let playerParams = param(this.settings.wistiaPlayerParams);\n playerParams = playerParams ? '?' + playerParams : '';\n video = `<iframe allow=\"autoplay\" id=\"${wistiaId}\" src=\"//fast.wistia.net/embed/iframe/${\n videoInfo.wistia[4] + playerParams\n }\" ${videoTitle} class=\"wistia_embed lg-video-object lg-wistia ${addClass}\" name=\"wistia_embed\" ${commonIframeProps}></iframe>`;\n } else if (videoInfo.html5) {\n let html5VideoMarkup = '';\n for (let i = 0; i < html5Video.source.length; i++) {\n const type = html5Video.source[i].type;\n const typeAttr = type ? `type=\"${type}\"` : '';\n html5VideoMarkup += `<source src=\"${html5Video.source[i].src}\" ${typeAttr}>`;\n }\n if (html5Video.tracks) {\n for (let i = 0; i < html5Video.tracks.length; i++) {\n let trackAttributes = '';\n const track = html5Video.tracks[i];\n Object.keys(track || {}).forEach(function (key) {\n trackAttributes += `${key}=\"${(track as any)[key]}\" `;\n });\n html5VideoMarkup += `<track ${trackAttributes}>`;\n }\n }\n\n let html5VideoAttrs = '';\n const videoAttributes = html5Video.attributes || {};\n Object.keys(videoAttributes || {}).forEach(function (key) {\n html5VideoAttrs += `${key}=\"${(videoAttributes as any)[key]}\" `;\n });\n video = `<video class=\"lg-video-object lg-html5 ${\n this.settings.videojs && this.settings.videojsTheme\n ? this.settings.videojsTheme + ' '\n : ''\n } ${this.settings.videojs ? ' video-js' : ''}\" ${html5VideoAttrs}>\n ${html5VideoMarkup}\n Your browser does not support HTML5 video.\n </video>`;\n }\n\n return video;\n }\n\n /**\n * @desc - Append videos to the slide\n *\n * @param {HTMLElement} el - slide element\n * @param {Object} videoParams - Video parameters, Contains src, class, index, htmlVideo\n */\n appendVideos(\n el: lgQuery,\n videoParams: {\n src: string;\n addClass: string;\n index: number;\n html5Video: any;\n },\n ): any {\n const videoHtml = this.getVideoHtml(\n videoParams.src,\n videoParams.addClass,\n videoParams.index,\n videoParams.html5Video,\n );\n el.find('.lg-video-cont').append(videoHtml);\n const $videoElement = el.find('.lg-video-object').first();\n if (videoParams.html5Video) {\n $videoElement.on('mousedown.lg.video', (e) => {\n e.stopPropagation();\n });\n }\n if (\n this.settings.videojs &&\n this.core.galleryItems[videoParams.index].__slideVideoInfo?.html5\n ) {\n try {\n return videojs(\n $videoElement.get(),\n this.settings.videojsOptions,\n );\n } catch (e) {\n console.error(\n 'lightGallery:- Make sure you have included videojs',\n );\n }\n }\n }\n\n gotoNextSlideOnVideoEnd(src: any, index: number) {\n const $videoElement = this.core\n .getSlideItem(index)\n .find('.lg-video-object')\n .first();\n const videoInfo = this.core.galleryItems[index].__slideVideoInfo || {};\n if (this.settings.gotoNextSlideOnVideoEnd) {\n if (videoInfo.html5) {\n $videoElement.on('ended', () => {\n this.core.goToNextSlide();\n });\n } else if (videoInfo.vimeo) {\n try {\n // https://github.com/vimeo/player.js/#ended\n new Vimeo.Player($videoElement.get()).on('ended', () => {\n this.core.goToNextSlide();\n });\n } catch (e) {\n console.error(\n 'lightGallery:- Make sure you have included //github.com/vimeo/player.js',\n );\n }\n } else if (videoInfo.wistia) {\n try {\n window._wq = window._wq || [];\n\n // @todo Event is gettign triggered multiple times\n window._wq.push({\n id: $videoElement.attr('id'),\n onReady: (video: {\n bind: (arg0: string, arg1: () => void) => void;\n }) => {\n video.bind('end', () => {\n this.core.goToNextSlide();\n });\n },\n });\n } catch (e) {\n console.error(\n 'lightGallery:- Make sure you have included //fast.wistia.com/assets/external/E-v1.js',\n );\n }\n }\n }\n }\n\n controlVideo(index: number, action: string) {\n const $videoElement = this.core\n .getSlideItem(index)\n .find('.lg-video-object')\n .first();\n const videoInfo = this.core.galleryItems[index].__slideVideoInfo || {};\n\n if (!$videoElement.get()) return;\n\n if (videoInfo.youtube) {\n try {\n ($videoElement.get() as any).contentWindow.postMessage(\n `{\"event\":\"command\",\"func\":\"${action}Video\",\"args\":\"\"}`,\n '*',\n );\n } catch (e) {\n console.error(`lightGallery:- ${e}`);\n }\n } else if (videoInfo.vimeo) {\n try {\n new Vimeo.Player($videoElement.get())[action]();\n } catch (e) {\n console.error(\n 'lightGallery:- Make sure you have included //github.com/vimeo/player.js',\n );\n }\n } else if (videoInfo.html5) {\n if (this.settings.videojs) {\n try {\n (videojs($videoElement.get()) as any)[action as any]();\n } catch (e) {\n console.error(\n 'lightGallery:- Make sure you have included videojs',\n );\n }\n } else {\n ($videoElement.get() as any)[action]();\n }\n } else if (videoInfo.wistia) {\n try {\n window._wq = window._wq || [];\n\n // @todo Find a way to destroy wistia player instance\n window._wq.push({\n id: $videoElement.attr('id'),\n onReady: (video: any) => {\n video[action]();\n },\n });\n } catch (e) {\n console.error(\n 'lightGallery:- Make sure you have included //fast.wistia.com/assets/external/E-v1.js',\n );\n }\n }\n }\n\n loadVideoOnPosterClick($el: lgQuery, forcePlay?: boolean): void {\n // check slide has poster\n if (!$el.hasClass('lg-video-loaded')) {\n // check already video element present\n if (!$el.hasClass('lg-has-video')) {\n $el.addClass('lg-has-video');\n\n let _html;\n\n const _src = this.core.galleryItems[this.core.index].src;\n const video = this.core.galleryItems[this.core.index].video;\n if (video) {\n _html =\n typeof video === 'string' ? JSON.parse(video) : video;\n }\n\n const videoJsPlayer = this.appendVideos($el, {\n src: _src as string,\n addClass: '',\n index: this.core.index,\n html5Video: _html,\n });\n\n this.gotoNextSlideOnVideoEnd(_src, this.core.index);\n\n const $tempImg = $el.find('.lg-object').first().get();\n\n // @todo make sure it is working\n $el.find('.lg-video-cont').first().append($tempImg);\n $el.addClass('lg-video-loading');\n\n videoJsPlayer &&\n videoJsPlayer.ready(() => {\n videoJsPlayer.on('loadedmetadata', () => {\n this.onVideoLoadAfterPosterClick(\n $el,\n this.core.index,\n );\n });\n });\n\n $el.find('.lg-video-object')\n .first()\n .on('load.lg error.lg loadedmetadata.lg', () => {\n setTimeout(() => {\n this.onVideoLoadAfterPosterClick(\n $el,\n this.core.index,\n );\n }, 50);\n });\n } else {\n this.playVideo(this.core.index);\n }\n } else if (forcePlay) {\n this.playVideo(this.core.index);\n }\n }\n onVideoLoadAfterPosterClick($el: lgQuery, index: number): void {\n $el.addClass('lg-video-loaded');\n this.playVideo(index);\n }\n destroy(): void {\n this.core.LGel.off('.lg.video');\n this.core.LGel.off('.video');\n }\n}\n"],"names":[],"mappings":"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"}