lightgallery 2.9.0 → 3.0.0-beta.3

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 (619) 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 +3797 -0
  33. package/dist/lightgallery.es5.js.map +1 -0
  34. package/dist/lightgallery.min.js +1 -0
  35. package/dist/lightgallery.umd.js +3800 -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/dist/types/headless/announce.d.ts +22 -0
  152. package/dist/types/headless/emitter.d.ts +14 -0
  153. package/dist/types/headless/gestures.d.ts +128 -0
  154. package/dist/types/headless/hash-driver.d.ts +77 -0
  155. package/dist/types/headless/icons.d.ts +56 -0
  156. package/dist/types/headless/index.d.ts +34 -0
  157. package/dist/types/headless/items.d.ts +92 -0
  158. package/dist/types/headless/justified-layout.d.ts +71 -0
  159. package/dist/types/headless/license.d.ts +35 -0
  160. package/dist/types/headless/origin-crop.d.ts +135 -0
  161. package/dist/types/headless/origin.d.ts +65 -0
  162. package/dist/types/headless/plugin-slices.d.ts +64 -0
  163. package/dist/types/headless/preload.d.ts +36 -0
  164. package/dist/types/headless/responsive.d.ts +90 -0
  165. package/dist/types/headless/settings.d.ts +268 -0
  166. package/dist/types/headless/share-urls.d.ts +60 -0
  167. package/dist/types/headless/spring.d.ts +42 -0
  168. package/dist/types/headless/state.d.ts +63 -0
  169. package/dist/types/headless/thumb-math.d.ts +85 -0
  170. package/dist/types/headless/toolbar-overflow.d.ts +61 -0
  171. package/dist/types/headless/transition.d.ts +33 -0
  172. package/dist/types/headless/velocity.d.ts +31 -0
  173. package/dist/types/headless/video-urls.d.ts +64 -0
  174. package/dist/types/headless/zoom-math.d.ts +89 -0
  175. package/{index.d.ts → dist/types/index.d.ts} +9 -4
  176. package/{lg-events.d.ts → dist/types/lg-events.d.ts} +300 -300
  177. package/dist/types/lg-icons.d.ts +27 -0
  178. package/{lg-plugin.d.ts → dist/types/lg-plugin.d.ts} +7 -7
  179. package/{lg-settings.d.ts → dist/types/lg-settings.d.ts} +549 -425
  180. package/dist/types/lg-spring-runner.d.ts +14 -0
  181. package/dist/types/lg-toolbar-overflow.d.ts +36 -0
  182. package/{lg-utils.d.ts → dist/types/lg-utils.d.ts} +236 -228
  183. package/{lgQuery.d.ts → dist/types/lgQuery.d.ts} +56 -56
  184. package/{lightgallery.d.ts → dist/types/lightgallery.d.ts} +384 -305
  185. package/{plugins → dist/types/plugins}/autoplay/lg-autoplay-settings.d.ts +41 -38
  186. package/{plugins → dist/types/plugins}/autoplay/lg-autoplay.d.ts +22 -22
  187. package/{plugins → dist/types/plugins}/comment/lg-comment-settings.d.ts +36 -33
  188. package/{plugins → dist/types/plugins}/comment/lg-comment.d.ts +25 -25
  189. package/{plugins → dist/types/plugins}/fullscreen/lg-fullscreen-settings.d.ts +17 -14
  190. package/{plugins → dist/types/plugins}/fullscreen/lg-fullscreen.d.ts +16 -16
  191. package/dist/types/plugins/hash/lg-hash-settings.d.ts +28 -0
  192. package/{plugins → dist/types/plugins}/hash/lg-hash.d.ts +25 -23
  193. package/dist/types/plugins/justified/lg-justified-settings.d.ts +42 -0
  194. package/dist/types/plugins/justified/lg-justified.d.ts +55 -0
  195. package/{plugins → dist/types/plugins}/mediumZoom/lg-medium-zoom-settings.d.ts +16 -16
  196. package/{plugins → dist/types/plugins}/mediumZoom/lg-medium-zoom.d.ts +12 -12
  197. package/dist/types/plugins/originCrop/lg-origin-crop-settings.d.ts +12 -0
  198. package/dist/types/plugins/originCrop/lg-origin-crop.d.ts +79 -0
  199. package/{plugins → dist/types/plugins}/pager/lg-pager-settings.d.ts +7 -7
  200. package/{plugins → dist/types/plugins}/pager/lg-pager.d.ts +13 -13
  201. package/{plugins → dist/types/plugins}/relativeCaption/lg-relative-caption-settings.d.ts +7 -7
  202. package/{plugins → dist/types/plugins}/relativeCaption/lg-relative-caption.d.ts +14 -14
  203. package/{plugins → dist/types/plugins}/rotate/lg-rotate-settings.d.ts +47 -45
  204. package/{plugins → dist/types/plugins}/rotate/lg-rotate.d.ts +25 -24
  205. package/{plugins → dist/types/plugins}/share/lg-fb-share-utils.d.ts +2 -2
  206. package/{plugins → dist/types/plugins}/share/lg-pinterest-share-utils.d.ts +2 -2
  207. package/{plugins → dist/types/plugins}/share/lg-share-settings.d.ts +71 -56
  208. package/dist/types/plugins/share/lg-share.d.ts +33 -0
  209. package/dist/types/plugins/share/lg-twitter-share-utils.d.ts +4 -0
  210. package/{plugins → dist/types/plugins}/share/types.d.ts +6 -6
  211. package/{plugins → dist/types/plugins}/thumbnail/lg-thumbnail-settings.d.ts +85 -70
  212. package/dist/types/plugins/thumbnail/lg-thumbnail.d.ts +88 -0
  213. package/{plugins → dist/types/plugins}/video/lg-video-settings.d.ts +94 -71
  214. package/{plugins → dist/types/plugins}/video/lg-video.d.ts +116 -104
  215. package/{plugins → dist/types/plugins}/video/types.d.ts +8 -8
  216. package/{plugins → dist/types/plugins}/vimeoThumbnail/lg-vimeo-thumbnail-settings.d.ts +11 -11
  217. package/{plugins → dist/types/plugins}/vimeoThumbnail/lg-vimeo-thumbnail.d.ts +14 -14
  218. package/{plugins → dist/types/plugins}/zoom/lg-zoom-settings.d.ts +54 -51
  219. package/{plugins → dist/types/plugins}/zoom/lg-zoom.d.ts +145 -108
  220. package/{types.d.ts → dist/types/types.d.ts} +40 -40
  221. package/package.json +222 -8
  222. package/angular/10/README.md +0 -24
  223. package/angular/10/bundles/lightgallery-angular-10.umd.js +0 -289
  224. package/angular/10/bundles/lightgallery-angular-10.umd.js.map +0 -1
  225. package/angular/10/bundles/lightgallery-angular-10.umd.min.js +0 -2
  226. package/angular/10/bundles/lightgallery-angular-10.umd.min.js.map +0 -1
  227. package/angular/10/esm2015/lib/lightgallery-angular.component.js +0 -225
  228. package/angular/10/esm2015/lib/lightgallery-angular.module.js +0 -17
  229. package/angular/10/esm2015/lib/lightgallery-angular.service.js +0 -14
  230. package/angular/10/esm2015/lightgallery-angular-10.js +0 -5
  231. package/angular/10/esm2015/public-api.js +0 -7
  232. package/angular/10/fesm2015/lightgallery-angular-10.js +0 -261
  233. package/angular/10/fesm2015/lightgallery-angular-10.js.map +0 -1
  234. package/angular/10/lib/lightgallery-angular.component.d.ts +0 -39
  235. package/angular/10/lib/lightgallery-angular.component.d.ts.map +0 -1
  236. package/angular/10/lib/lightgallery-angular.module.d.ts +0 -7
  237. package/angular/10/lib/lightgallery-angular.module.d.ts.map +0 -1
  238. package/angular/10/lib/lightgallery-angular.service.d.ts +0 -7
  239. package/angular/10/lib/lightgallery-angular.service.d.ts.map +0 -1
  240. package/angular/10/lightgallery-angular-10.d.ts +0 -6
  241. package/angular/10/lightgallery-angular-10.d.ts.map +0 -1
  242. package/angular/10/package.json +0 -21
  243. package/angular/10/public-api.d.ts +0 -4
  244. package/angular/10/public-api.d.ts.map +0 -1
  245. package/angular/11/README.md +0 -24
  246. package/angular/11/bundles/lightgallery-angular-11.umd.js +0 -290
  247. package/angular/11/bundles/lightgallery-angular-11.umd.js.map +0 -1
  248. package/angular/11/bundles/lightgallery-angular-11.umd.min.js +0 -2
  249. package/angular/11/bundles/lightgallery-angular-11.umd.min.js.map +0 -1
  250. package/angular/11/esm2015/lib/lightgallery-angular.component.js +0 -225
  251. package/angular/11/esm2015/lib/lightgallery-angular.module.js +0 -18
  252. package/angular/11/esm2015/lib/lightgallery-angular.service.js +0 -14
  253. package/angular/11/esm2015/lightgallery-angular-11.js +0 -5
  254. package/angular/11/esm2015/public-api.js +0 -7
  255. package/angular/11/fesm2015/lightgallery-angular-11.js +0 -262
  256. package/angular/11/fesm2015/lightgallery-angular-11.js.map +0 -1
  257. package/angular/11/lib/lightgallery-angular.component.d.ts +0 -39
  258. package/angular/11/lib/lightgallery-angular.component.d.ts.map +0 -1
  259. package/angular/11/lib/lightgallery-angular.module.d.ts +0 -8
  260. package/angular/11/lib/lightgallery-angular.module.d.ts.map +0 -1
  261. package/angular/11/lib/lightgallery-angular.service.d.ts +0 -7
  262. package/angular/11/lib/lightgallery-angular.service.d.ts.map +0 -1
  263. package/angular/11/lightgallery-angular-11.d.ts +0 -6
  264. package/angular/11/lightgallery-angular-11.d.ts.map +0 -1
  265. package/angular/11/package.json +0 -21
  266. package/angular/11/public-api.d.ts +0 -4
  267. package/angular/11/public-api.d.ts.map +0 -1
  268. package/angular/12/README.md +0 -24
  269. package/angular/12/bundles/lightgallery-angular-12.umd.js +0 -296
  270. package/angular/12/bundles/lightgallery-angular-12.umd.js.map +0 -1
  271. package/angular/12/esm2015/lib/lightgallery-angular.component.js +0 -221
  272. package/angular/12/esm2015/lib/lightgallery-angular.module.js +0 -17
  273. package/angular/12/esm2015/lib/lightgallery-angular.service.js +0 -14
  274. package/angular/12/esm2015/lightgallery-angular-12.js +0 -5
  275. package/angular/12/esm2015/public-api.js +0 -7
  276. package/angular/12/fesm2015/lightgallery-angular-12.js +0 -258
  277. package/angular/12/fesm2015/lightgallery-angular-12.js.map +0 -1
  278. package/angular/12/lib/lightgallery-angular.component.d.ts +0 -38
  279. package/angular/12/lib/lightgallery-angular.module.d.ts +0 -7
  280. package/angular/12/lib/lightgallery-angular.service.d.ts +0 -6
  281. package/angular/12/lightgallery-angular-12.d.ts +0 -5
  282. package/angular/12/package.json +0 -18
  283. package/angular/12/public-api.d.ts +0 -3
  284. package/angular/13/README.md +0 -24
  285. package/angular/13/esm2020/lib/lightgallery-angular.component.mjs +0 -221
  286. package/angular/13/esm2020/lib/lightgallery-angular.module.mjs +0 -17
  287. package/angular/13/esm2020/lib/lightgallery-angular.service.mjs +0 -14
  288. package/angular/13/esm2020/lightgallery-angular-13.mjs +0 -5
  289. package/angular/13/esm2020/public-api.mjs +0 -7
  290. package/angular/13/fesm2015/lightgallery-angular-13.mjs +0 -258
  291. package/angular/13/fesm2015/lightgallery-angular-13.mjs.map +0 -1
  292. package/angular/13/fesm2020/lightgallery-angular-13.mjs +0 -258
  293. package/angular/13/fesm2020/lightgallery-angular-13.mjs.map +0 -1
  294. package/angular/13/lib/lightgallery-angular.component.d.ts +0 -38
  295. package/angular/13/lib/lightgallery-angular.module.d.ts +0 -7
  296. package/angular/13/lib/lightgallery-angular.service.d.ts +0 -6
  297. package/angular/13/lightgallery-angular-13.d.ts +0 -5
  298. package/angular/13/package.json +0 -31
  299. package/angular/13/public-api.d.ts +0 -3
  300. package/angular/14/README.md +0 -24
  301. package/angular/14/esm2020/lib/lightgallery-angular.component.mjs +0 -217
  302. package/angular/14/esm2020/lib/lightgallery-angular.module.mjs +0 -17
  303. package/angular/14/esm2020/lib/lightgallery-angular.service.mjs +0 -14
  304. package/angular/14/esm2020/lightgallery-angular-14.mjs +0 -5
  305. package/angular/14/esm2020/public-api.mjs +0 -7
  306. package/angular/14/fesm2015/lightgallery-angular-14.mjs +0 -254
  307. package/angular/14/fesm2015/lightgallery-angular-14.mjs.map +0 -1
  308. package/angular/14/fesm2020/lightgallery-angular-14.mjs +0 -254
  309. package/angular/14/fesm2020/lightgallery-angular-14.mjs.map +0 -1
  310. package/angular/14/index.d.ts +0 -5
  311. package/angular/14/lib/lightgallery-angular.component.d.ts +0 -38
  312. package/angular/14/lib/lightgallery-angular.module.d.ts +0 -7
  313. package/angular/14/lib/lightgallery-angular.service.d.ts +0 -6
  314. package/angular/14/package.json +0 -31
  315. package/angular/14/public-api.d.ts +0 -3
  316. package/angular/15/README.md +0 -24
  317. package/angular/15/esm2022/lib/lightgallery-angular.component.mjs +0 -218
  318. package/angular/15/esm2022/lib/lightgallery-angular.module.mjs +0 -18
  319. package/angular/15/esm2022/lib/lightgallery-angular.service.mjs +0 -15
  320. package/angular/15/esm2022/lightgallery-angular-15.mjs +0 -5
  321. package/angular/15/esm2022/public-api.mjs +0 -7
  322. package/angular/15/fesm2022/lightgallery-angular-15.mjs +0 -254
  323. package/angular/15/fesm2022/lightgallery-angular-15.mjs.map +0 -1
  324. package/angular/15/index.d.ts +0 -5
  325. package/angular/15/lib/lightgallery-angular.component.d.ts +0 -38
  326. package/angular/15/lib/lightgallery-angular.module.d.ts +0 -7
  327. package/angular/15/lib/lightgallery-angular.service.d.ts +0 -6
  328. package/angular/15/package.json +0 -25
  329. package/angular/15/public-api.d.ts +0 -3
  330. package/angular/16/README.md +0 -24
  331. package/angular/16/esm2022/lib/lightgallery-angular.component.mjs +0 -218
  332. package/angular/16/esm2022/lib/lightgallery-angular.module.mjs +0 -18
  333. package/angular/16/esm2022/lib/lightgallery-angular.service.mjs +0 -15
  334. package/angular/16/esm2022/lightgallery-angular-16.mjs +0 -5
  335. package/angular/16/esm2022/public-api.mjs +0 -7
  336. package/angular/16/fesm2022/lightgallery-angular-16.mjs +0 -254
  337. package/angular/16/fesm2022/lightgallery-angular-16.mjs.map +0 -1
  338. package/angular/16/index.d.ts +0 -5
  339. package/angular/16/lib/lightgallery-angular.component.d.ts +0 -38
  340. package/angular/16/lib/lightgallery-angular.module.d.ts +0 -7
  341. package/angular/16/lib/lightgallery-angular.service.d.ts +0 -6
  342. package/angular/16/package.json +0 -25
  343. package/angular/16/public-api.d.ts +0 -3
  344. package/angular/9/README.md +0 -24
  345. package/angular/9/bundles/lightgallery-angular-9.umd.js +0 -271
  346. package/angular/9/bundles/lightgallery-angular-9.umd.js.map +0 -1
  347. package/angular/9/bundles/lightgallery-angular-9.umd.min.js +0 -2
  348. package/angular/9/bundles/lightgallery-angular-9.umd.min.js.map +0 -1
  349. package/angular/9/esm2015/lib/lightgallery-angular.component.js +0 -225
  350. package/angular/9/esm2015/lib/lightgallery-angular.module.js +0 -17
  351. package/angular/9/esm2015/lib/lightgallery-angular.service.js +0 -14
  352. package/angular/9/esm2015/lightgallery-angular-9.js +0 -5
  353. package/angular/9/esm2015/public-api.js +0 -7
  354. package/angular/9/esm5/lib/lightgallery-angular.component.js +0 -228
  355. package/angular/9/esm5/lib/lightgallery-angular.module.js +0 -21
  356. package/angular/9/esm5/lib/lightgallery-angular.service.js +0 -17
  357. package/angular/9/esm5/lightgallery-angular-9.js +0 -5
  358. package/angular/9/esm5/public-api.js +0 -7
  359. package/angular/9/fesm2015/lightgallery-angular-9.js +0 -261
  360. package/angular/9/fesm2015/lightgallery-angular-9.js.map +0 -1
  361. package/angular/9/fesm5/lightgallery-angular-9.js +0 -268
  362. package/angular/9/fesm5/lightgallery-angular-9.js.map +0 -1
  363. package/angular/9/lib/lightgallery-angular.component.d.ts +0 -38
  364. package/angular/9/lib/lightgallery-angular.module.d.ts +0 -6
  365. package/angular/9/lib/lightgallery-angular.service.d.ts +0 -6
  366. package/angular/9/lightgallery-angular-9.d.ts +0 -5
  367. package/angular/9/package.json +0 -23
  368. package/angular/9/public-api.d.ts +0 -3
  369. package/angular/README.md +0 -24
  370. package/angular/esm2022/lib/lightgallery-angular.component.mjs +0 -218
  371. package/angular/esm2022/lib/lightgallery-angular.module.mjs +0 -18
  372. package/angular/esm2022/lib/lightgallery-angular.service.mjs +0 -15
  373. package/angular/esm2022/lightgallery-angular.mjs +0 -5
  374. package/angular/esm2022/public-api.mjs +0 -7
  375. package/angular/fesm2022/lightgallery-angular.mjs +0 -254
  376. package/angular/fesm2022/lightgallery-angular.mjs.map +0 -1
  377. package/angular/index.d.ts +0 -5
  378. package/angular/lib/lightgallery-angular.component.d.ts +0 -38
  379. package/angular/lib/lightgallery-angular.module.d.ts +0 -7
  380. package/angular/lib/lightgallery-angular.service.d.ts +0 -6
  381. package/angular/package.json +0 -25
  382. package/angular/public-api.d.ts +0 -3
  383. package/css/lg-fullscreen.css +0 -8
  384. package/css/lg-fullscreen.css.map +0 -1
  385. package/css/lg-share.css.map +0 -1
  386. package/css/lg-thumbnail.css.map +0 -1
  387. package/css/lg-transitions.css.map +0 -1
  388. package/css/lg-zoom.css.map +0 -1
  389. package/css/lightgallery-bundle.css.map +0 -1
  390. package/css/lightgallery-bundle.min.css +0 -1
  391. package/css/lightgallery-core.css.map +0 -1
  392. package/css/lightgallery.css.map +0 -1
  393. package/fonts/lg.svg +0 -54
  394. package/fonts/lg.ttf +0 -0
  395. package/fonts/lg.woff +0 -0
  396. package/fonts/lg.woff2 +0 -0
  397. package/lib/index.js +0 -8
  398. package/lib/index.js.map +0 -1
  399. package/lib/lg-events.js +0 -37
  400. package/lib/lg-events.js.map +0 -1
  401. package/lib/lg-plugin.js +0 -13
  402. package/lib/lg-plugin.js.map +0 -1
  403. package/lib/lg-settings.js +0 -83
  404. package/lib/lg-settings.js.map +0 -1
  405. package/lib/lg-utils.js +0 -328
  406. package/lib/lg-utils.js.map +0 -1
  407. package/lib/lgQuery.js +0 -385
  408. package/lib/lgQuery.js.map +0 -1
  409. package/lib/lightgallery.js +0 -1949
  410. package/lib/lightgallery.js.map +0 -1
  411. package/lib/plugins/autoplay/lg-autoplay-settings.js +0 -16
  412. package/lib/plugins/autoplay/lg-autoplay-settings.js.map +0 -1
  413. package/lib/plugins/autoplay/lg-autoplay.js +0 -184
  414. package/lib/plugins/autoplay/lg-autoplay.js.map +0 -1
  415. package/lib/plugins/comment/lg-comment-settings.js +0 -17
  416. package/lib/plugins/comment/lg-comment-settings.js.map +0 -1
  417. package/lib/plugins/comment/lg-comment.js +0 -140
  418. package/lib/plugins/comment/lg-comment.js.map +0 -1
  419. package/lib/plugins/fullscreen/lg-fullscreen-settings.js +0 -10
  420. package/lib/plugins/fullscreen/lg-fullscreen-settings.js.map +0 -1
  421. package/lib/plugins/fullscreen/lg-fullscreen.js +0 -108
  422. package/lib/plugins/fullscreen/lg-fullscreen.js.map +0 -1
  423. package/lib/plugins/hash/lg-hash-settings.js +0 -9
  424. package/lib/plugins/hash/lg-hash-settings.js.map +0 -1
  425. package/lib/plugins/hash/lg-hash.js +0 -139
  426. package/lib/plugins/hash/lg-hash.js.map +0 -1
  427. package/lib/plugins/mediumZoom/lg-medium-zoom-settings.js +0 -9
  428. package/lib/plugins/mediumZoom/lg-medium-zoom-settings.js.map +0 -1
  429. package/lib/plugins/mediumZoom/lg-medium-zoom.js +0 -73
  430. package/lib/plugins/mediumZoom/lg-medium-zoom.js.map +0 -1
  431. package/lib/plugins/pager/lg-pager-settings.js +0 -7
  432. package/lib/plugins/pager/lg-pager-settings.js.map +0 -1
  433. package/lib/plugins/pager/lg-pager.js +0 -82
  434. package/lib/plugins/pager/lg-pager.js.map +0 -1
  435. package/lib/plugins/relativeCaption/lg-relative-caption-settings.js +0 -7
  436. package/lib/plugins/relativeCaption/lg-relative-caption-settings.js.map +0 -1
  437. package/lib/plugins/relativeCaption/lg-relative-caption.js +0 -97
  438. package/lib/plugins/relativeCaption/lg-relative-caption.js.map +0 -1
  439. package/lib/plugins/rotate/lg-rotate-settings.js +0 -18
  440. package/lib/plugins/rotate/lg-rotate-settings.js.map +0 -1
  441. package/lib/plugins/rotate/lg-rotate.js +0 -206
  442. package/lib/plugins/rotate/lg-rotate.js.map +0 -1
  443. package/lib/plugins/share/lg-fb-share-utils.js +0 -10
  444. package/lib/plugins/share/lg-fb-share-utils.js.map +0 -1
  445. package/lib/plugins/share/lg-pinterest-share-utils.js +0 -17
  446. package/lib/plugins/share/lg-pinterest-share-utils.js.map +0 -1
  447. package/lib/plugins/share/lg-share-settings.js +0 -15
  448. package/lib/plugins/share/lg-share-settings.js.map +0 -1
  449. package/lib/plugins/share/lg-share.js +0 -130
  450. package/lib/plugins/share/lg-share.js.map +0 -1
  451. package/lib/plugins/share/lg-twitter-share-utils.js +0 -11
  452. package/lib/plugins/share/lg-twitter-share-utils.js.map +0 -1
  453. package/lib/plugins/share/types.js +0 -3
  454. package/lib/plugins/share/types.js.map +0 -1
  455. package/lib/plugins/thumbnail/lg-thumbnail-settings.js +0 -23
  456. package/lib/plugins/thumbnail/lg-thumbnail-settings.js.map +0 -1
  457. package/lib/plugins/thumbnail/lg-thumbnail.js +0 -414
  458. package/lib/plugins/thumbnail/lg-thumbnail.js.map +0 -1
  459. package/lib/plugins/video/lg-video-settings.js +0 -15
  460. package/lib/plugins/video/lg-video-settings.js.map +0 -1
  461. package/lib/plugins/video/lg-video-utils.js +0 -84
  462. package/lib/plugins/video/lg-video-utils.js.map +0 -1
  463. package/lib/plugins/video/lg-video.js +0 -411
  464. package/lib/plugins/video/lg-video.js.map +0 -1
  465. package/lib/plugins/video/types.js +0 -3
  466. package/lib/plugins/video/types.js.map +0 -1
  467. package/lib/plugins/vimeoThumbnail/lg-vimeo-thumbnail-settings.js +0 -8
  468. package/lib/plugins/vimeoThumbnail/lg-vimeo-thumbnail-settings.js.map +0 -1
  469. package/lib/plugins/vimeoThumbnail/lg-vimeo-thumbnail.js +0 -122
  470. package/lib/plugins/vimeoThumbnail/lg-vimeo-thumbnail.js.map +0 -1
  471. package/lib/plugins/zoom/lg-zoom-settings.js +0 -21
  472. package/lib/plugins/zoom/lg-zoom-settings.js.map +0 -1
  473. package/lib/plugins/zoom/lg-zoom.js +0 -909
  474. package/lib/plugins/zoom/lg-zoom.js.map +0 -1
  475. package/lib/types.js +0 -3
  476. package/lib/types.js.map +0 -1
  477. package/lightgallery-2.9.0.tgz +0 -0
  478. package/lightgallery.es5.js +0 -2786
  479. package/lightgallery.es5.js.map +0 -1
  480. package/lightgallery.min.js +0 -8
  481. package/lightgallery.umd.js +0 -2794
  482. package/lightgallery.umd.js.map +0 -1
  483. package/lit/custom-elements.json +0 -82
  484. package/lit/lightgallery.esm.js +0 -59
  485. package/lit/lightgallery.umd.js +0 -37
  486. package/lit/package.json +0 -8
  487. package/plugins/autoplay/lg-autoplay.es5.js +0 -250
  488. package/plugins/autoplay/lg-autoplay.es5.js.map +0 -1
  489. package/plugins/autoplay/lg-autoplay.min.js +0 -8
  490. package/plugins/autoplay/lg-autoplay.umd.js +0 -258
  491. package/plugins/autoplay/lg-autoplay.umd.js.map +0 -1
  492. package/plugins/autoplay/package.json +0 -7
  493. package/plugins/comment/lg-comment.es5.js +0 -205
  494. package/plugins/comment/lg-comment.es5.js.map +0 -1
  495. package/plugins/comment/lg-comment.min.js +0 -8
  496. package/plugins/comment/lg-comment.umd.js +0 -213
  497. package/plugins/comment/lg-comment.umd.js.map +0 -1
  498. package/plugins/comment/package.json +0 -7
  499. package/plugins/fullscreen/lg-fullscreen.es5.js +0 -135
  500. package/plugins/fullscreen/lg-fullscreen.es5.js.map +0 -1
  501. package/plugins/fullscreen/lg-fullscreen.min.js +0 -8
  502. package/plugins/fullscreen/lg-fullscreen.umd.js +0 -143
  503. package/plugins/fullscreen/lg-fullscreen.umd.js.map +0 -1
  504. package/plugins/fullscreen/package.json +0 -7
  505. package/plugins/hash/lg-hash-settings.d.ts +0 -16
  506. package/plugins/hash/lg-hash.es5.js +0 -198
  507. package/plugins/hash/lg-hash.es5.js.map +0 -1
  508. package/plugins/hash/lg-hash.min.js +0 -8
  509. package/plugins/hash/lg-hash.umd.js +0 -206
  510. package/plugins/hash/lg-hash.umd.js.map +0 -1
  511. package/plugins/hash/package.json +0 -7
  512. package/plugins/mediumZoom/lg-medium-zoom.es5.js +0 -132
  513. package/plugins/mediumZoom/lg-medium-zoom.es5.js.map +0 -1
  514. package/plugins/mediumZoom/lg-medium-zoom.min.js +0 -8
  515. package/plugins/mediumZoom/lg-medium-zoom.umd.js +0 -140
  516. package/plugins/mediumZoom/lg-medium-zoom.umd.js.map +0 -1
  517. package/plugins/mediumZoom/package.json +0 -7
  518. package/plugins/pager/lg-pager.es5.js +0 -139
  519. package/plugins/pager/lg-pager.es5.js.map +0 -1
  520. package/plugins/pager/lg-pager.min.js +0 -8
  521. package/plugins/pager/lg-pager.umd.js +0 -147
  522. package/plugins/pager/lg-pager.umd.js.map +0 -1
  523. package/plugins/pager/package.json +0 -7
  524. package/plugins/relativeCaption/lg-relative-caption.es5.js +0 -154
  525. package/plugins/relativeCaption/lg-relative-caption.es5.js.map +0 -1
  526. package/plugins/relativeCaption/lg-relative-caption.min.js +0 -8
  527. package/plugins/relativeCaption/lg-relative-caption.umd.js +0 -162
  528. package/plugins/relativeCaption/lg-relative-caption.umd.js.map +0 -1
  529. package/plugins/relativeCaption/package.json +0 -7
  530. package/plugins/rotate/lg-rotate.es5.js +0 -274
  531. package/plugins/rotate/lg-rotate.es5.js.map +0 -1
  532. package/plugins/rotate/lg-rotate.min.js +0 -8
  533. package/plugins/rotate/lg-rotate.umd.js +0 -282
  534. package/plugins/rotate/lg-rotate.umd.js.map +0 -1
  535. package/plugins/rotate/package.json +0 -7
  536. package/plugins/share/lg-share.d.ts +0 -15
  537. package/plugins/share/lg-share.es5.js +0 -219
  538. package/plugins/share/lg-share.es5.js.map +0 -1
  539. package/plugins/share/lg-share.min.js +0 -8
  540. package/plugins/share/lg-share.umd.js +0 -227
  541. package/plugins/share/lg-share.umd.js.map +0 -1
  542. package/plugins/share/lg-twitter-share-utils.d.ts +0 -2
  543. package/plugins/share/package.json +0 -7
  544. package/plugins/thumbnail/lg-thumbnail.d.ts +0 -48
  545. package/plugins/thumbnail/lg-thumbnail.es5.js +0 -487
  546. package/plugins/thumbnail/lg-thumbnail.es5.js.map +0 -1
  547. package/plugins/thumbnail/lg-thumbnail.min.js +0 -8
  548. package/plugins/thumbnail/lg-thumbnail.umd.js +0 -495
  549. package/plugins/thumbnail/lg-thumbnail.umd.js.map +0 -1
  550. package/plugins/thumbnail/package.json +0 -7
  551. package/plugins/video/lg-video-utils.d.ts +0 -10
  552. package/plugins/video/lg-video.es5.js +0 -545
  553. package/plugins/video/lg-video.es5.js.map +0 -1
  554. package/plugins/video/lg-video.min.js +0 -8
  555. package/plugins/video/lg-video.umd.js +0 -553
  556. package/plugins/video/lg-video.umd.js.map +0 -1
  557. package/plugins/video/package.json +0 -7
  558. package/plugins/vimeoThumbnail/lg-vimeo-thumbnail.es5.js +0 -182
  559. package/plugins/vimeoThumbnail/lg-vimeo-thumbnail.es5.js.map +0 -1
  560. package/plugins/vimeoThumbnail/lg-vimeo-thumbnail.min.js +0 -8
  561. package/plugins/vimeoThumbnail/lg-vimeo-thumbnail.umd.js +0 -190
  562. package/plugins/vimeoThumbnail/lg-vimeo-thumbnail.umd.js.map +0 -1
  563. package/plugins/vimeoThumbnail/package.json +0 -7
  564. package/plugins/zoom/lg-zoom.es5.js +0 -980
  565. package/plugins/zoom/lg-zoom.es5.js.map +0 -1
  566. package/plugins/zoom/lg-zoom.min.js +0 -8
  567. package/plugins/zoom/lg-zoom.umd.js +0 -988
  568. package/plugins/zoom/lg-zoom.umd.js.map +0 -1
  569. package/plugins/zoom/package.json +0 -7
  570. package/react/Lightgallery.d.ts +0 -33
  571. package/react/Lightgallery.es5.js +0 -2988
  572. package/react/Lightgallery.es5.js.map +0 -1
  573. package/react/Lightgallery.umd.js +0 -2994
  574. package/react/Lightgallery.umd.js.map +0 -1
  575. package/react/package.json +0 -7
  576. package/scss/_lg-fonts.scss +0 -27
  577. package/scss/lg-fullscreen.scss +0 -9
  578. package/vue/LightGallery.vue.d.ts +0 -37
  579. package/vue/LightGalleryVue.common.js +0 -9343
  580. package/vue/LightGalleryVue.common.js.map +0 -1
  581. package/vue/LightGalleryVue.umd.js +0 -9353
  582. package/vue/LightGalleryVue.umd.js.map +0 -1
  583. package/vue/LightGalleryVue.umd.min.js +0 -8
  584. package/vue/LightGalleryVue.umd.min.js.map +0 -1
  585. package/vue/package.json +0 -7
  586. /package/{css → dist/css}/lg-medium-zoom.css +0 -0
  587. /package/{css → dist/css}/lg-medium-zoom.css.map +0 -0
  588. /package/{css → dist/css}/lg-pager.css +0 -0
  589. /package/{css → dist/css}/lg-relative-caption.css +0 -0
  590. /package/{css → dist/css}/lg-relative-caption.css.map +0 -0
  591. /package/{css → dist/css}/lg-video.css +0 -0
  592. /package/{css → dist/css}/lg-video.css.map +0 -0
  593. /package/{images → dist/images}/loading.gif +0 -0
  594. /package/{scss → dist/scss}/_lg-mixins.scss +0 -0
  595. /package/{scss → dist/scss}/lg-medium-zoom.scss +0 -0
  596. /package/{scss → dist/scss}/lg-pager.scss +0 -0
  597. /package/{scss → dist/scss}/lg-relative-caption.scss +0 -0
  598. /package/{scss → dist/scss}/lg-transitions.scss +0 -0
  599. /package/{scss → dist/scss}/lg-video.scss +0 -0
  600. /package/{scss → dist/scss}/transitions/_index.scss +0 -0
  601. /package/{scss → dist/scss}/transitions/_lg-lollipop-rev.scss +0 -0
  602. /package/{scss → dist/scss}/transitions/_lg-lollipop.scss +0 -0
  603. /package/{scss → dist/scss}/transitions/_lg-rotate-rev.scss +0 -0
  604. /package/{scss → dist/scss}/transitions/_lg-rotate.scss +0 -0
  605. /package/{scss → dist/scss}/transitions/_lg-slide-skew-cross-rev.scss +0 -0
  606. /package/{scss → dist/scss}/transitions/_lg-slide-skew-cross.scss +0 -0
  607. /package/{scss → dist/scss}/transitions/_lg-slide-skew-only-rev.scss +0 -0
  608. /package/{scss → dist/scss}/transitions/_lg-slide-skew-only-y-rev.scss +0 -0
  609. /package/{scss → dist/scss}/transitions/_lg-slide-skew-only-y.scss +0 -0
  610. /package/{scss → dist/scss}/transitions/_lg-slide-skew-only.scss +0 -0
  611. /package/{scss → dist/scss}/transitions/_lg-slide-skew-rev.scss +0 -0
  612. /package/{scss → dist/scss}/transitions/_lg-slide-skew-ver-cross-rev.scss +0 -0
  613. /package/{scss → dist/scss}/transitions/_lg-slide-skew-ver-cross.scss +0 -0
  614. /package/{scss → dist/scss}/transitions/_lg-slide-skew-ver-rev.scss +0 -0
  615. /package/{scss → dist/scss}/transitions/_lg-slide-skew-ver.scss +0 -0
  616. /package/{scss → dist/scss}/transitions/_lg-slide-skew.scss +0 -0
  617. /package/{scss → dist/scss}/transitions/_lg-slide-vertical-growth.scss +0 -0
  618. /package/{scss → dist/scss}/transitions/_lg-slide-vertical.scss +0 -0
  619. /package/{scss → dist/scss}/transitions/_lg-tube.scss +0 -0
@@ -0,0 +1,795 @@
1
+ (function(global, factory) {
2
+ typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, global.lgThumbnail = factory());
3
+ })(this, function() {
4
+ "use strict";/*!
5
+ * lightgallery | 3.0.0-beta.3 | October 1st 2026
6
+ * http://www.lightgalleryjs.com/
7
+ * Copyright (c) 2020 Sachin Neravath;
8
+ * @license GPLv3
9
+ */
10
+
11
+ const SPRING_SETTLE_DAMPING = 1;
12
+ const SPRING_NATURAL_FREQUENCY = 12;
13
+ const DECELERATION_RATE = 0.995;
14
+ function project(velocity, decelerationRate = DECELERATION_RATE) {
15
+ return velocity * decelerationRate / (1 - decelerationRate);
16
+ }
17
+ function stepSpring(state, target, dtMs, {
18
+ dampingRatio = SPRING_SETTLE_DAMPING,
19
+ naturalFrequency = SPRING_NATURAL_FREQUENCY
20
+ } = {}) {
21
+ const t = dtMs / 1e3;
22
+ const w0 = naturalFrequency;
23
+ const zeta = Math.min(dampingRatio, 1);
24
+ const x0 = state.position - target;
25
+ const v0 = state.velocity * 1e3;
26
+ const decay = Math.exp(-zeta * w0 * t);
27
+ let x;
28
+ let v;
29
+ if (zeta < 1) {
30
+ const wd = w0 * Math.sqrt(1 - zeta * zeta);
31
+ const a = x0;
32
+ const b = (v0 + zeta * w0 * x0) / wd;
33
+ const cos = Math.cos(wd * t);
34
+ const sin = Math.sin(wd * t);
35
+ x = decay * (a * cos + b * sin);
36
+ v = decay * ((b * wd - zeta * w0 * a) * cos - (a * wd + zeta * w0 * b) * sin);
37
+ } else {
38
+ const b = v0 + w0 * x0;
39
+ x = decay * (x0 + b * t);
40
+ v = decay * (b - w0 * (x0 + b * t));
41
+ }
42
+ return { position: target + x, velocity: v / 1e3 };
43
+ }
44
+ function isSpringSettled(state, target, restDelta = 0.3, restVelocity = 0.012) {
45
+ return Math.abs(state.position - target) < restDelta && Math.abs(state.velocity) < restVelocity;
46
+ }
47
+ const SLIDE_EDGE_FRICTION = 0.35;
48
+ const thumbnailDefaultIcons = {
49
+ toggleThumbnails: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" fill="currentColor"><path transform="translate(0, 960) scale(1, -1)" d="M682 84.667v172h172v-172h-172zM682 340.667v172h172v-172h-172zM426 596.667v172h172v-172h-172zM682 768.667h172v-172h-172v172zM426 340.667v172h172v-172h-172zM170 340.667v172h172v-172h-172zM170 84.667v172h172v-172h-172zM426 84.667v172h172v-172h-172zM170 596.667v172h172v-172h-172z"/></svg>'
50
+ };
51
+ var __defProp$1 = Object.defineProperty;
52
+ var __defProps$1 = Object.defineProperties;
53
+ var __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;
54
+ var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
55
+ var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
56
+ var __propIsEnum$1 = Object.prototype.propertyIsEnumerable;
57
+ var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
58
+ var __spreadValues$1 = (a, b) => {
59
+ for (var prop in b || (b = {}))
60
+ if (__hasOwnProp$1.call(b, prop))
61
+ __defNormalProp$1(a, prop, b[prop]);
62
+ if (__getOwnPropSymbols$1)
63
+ for (var prop of __getOwnPropSymbols$1(b)) {
64
+ if (__propIsEnum$1.call(b, prop))
65
+ __defNormalProp$1(a, prop, b[prop]);
66
+ }
67
+ return a;
68
+ };
69
+ var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));
70
+ var __objRest = (source, exclude) => {
71
+ var target = {};
72
+ for (var prop in source)
73
+ if (__hasOwnProp$1.call(source, prop) && exclude.indexOf(prop) < 0)
74
+ target[prop] = source[prop];
75
+ if (source != null && __getOwnPropSymbols$1)
76
+ for (var prop of __getOwnPropSymbols$1(source)) {
77
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$1.call(source, prop))
78
+ target[prop] = source[prop];
79
+ }
80
+ return target;
81
+ };
82
+ function getElasticThumbTranslate(raw, totalWidth, stripWidth, friction = SLIDE_EDGE_FRICTION) {
83
+ const max = Math.max(0, totalWidth - stripWidth);
84
+ if (raw < 0) {
85
+ return raw * friction;
86
+ }
87
+ if (raw > max) {
88
+ return max + (raw - max) * friction;
89
+ }
90
+ return raw;
91
+ }
92
+ function getThumbTotalWidth(count, thumbWidth, thumbMargin) {
93
+ return count * (thumbWidth + thumbMargin);
94
+ }
95
+ function clampThumbTranslate(translate, totalWidth, stripWidth) {
96
+ const max = Math.max(0, totalWidth - stripWidth);
97
+ return Math.min(Math.max(translate, 0), max);
98
+ }
99
+ function getThumbWindow(options) {
100
+ const { translate, stripWidth, thumbWidth, thumbMargin, count } = options;
101
+ const unit = thumbWidth + thumbMargin;
102
+ if (count <= 0 || unit <= 0) {
103
+ return { start: 0, end: -1, leadingPad: 0, trailingPad: 0 };
104
+ }
105
+ const overscan = options.overscan === "auto" || options.overscan === void 0 ? Math.max(1, Math.ceil(stripWidth / unit)) : Math.max(0, options.overscan);
106
+ const clampedTranslate = clampThumbTranslate(
107
+ translate,
108
+ getThumbTotalWidth(count, thumbWidth, thumbMargin),
109
+ stripWidth
110
+ );
111
+ const firstVisible = Math.floor(clampedTranslate / unit);
112
+ const lastVisible = Math.ceil((clampedTranslate + stripWidth) / unit) - 1;
113
+ const start = Math.max(0, firstVisible - overscan);
114
+ const end = Math.min(count - 1, lastVisible + overscan);
115
+ return {
116
+ start,
117
+ end,
118
+ leadingPad: start * unit,
119
+ trailingPad: (count - 1 - end) * unit
120
+ };
121
+ }
122
+ function getThumbCorridorWindow(options) {
123
+ const _a = options, { from, to } = _a, geometry = __objRest(_a, ["from", "to"]);
124
+ const a = getThumbWindow(__spreadProps$1(__spreadValues$1({}, geometry), { translate: from }));
125
+ const b = getThumbWindow(__spreadProps$1(__spreadValues$1({}, geometry), { translate: to }));
126
+ const start = Math.min(a.start, b.start);
127
+ const end = Math.max(a.end, b.end);
128
+ const unit = options.thumbWidth + options.thumbMargin;
129
+ if (end < start) {
130
+ return { start: 0, end: -1, leadingPad: 0, trailingPad: 0 };
131
+ }
132
+ return {
133
+ start,
134
+ end,
135
+ leadingPad: start * unit,
136
+ trailingPad: (options.count - 1 - end) * unit
137
+ };
138
+ }
139
+ function getScrubThumbIndex(translate, totalWidth, stripWidth, count) {
140
+ const max = totalWidth - stripWidth;
141
+ if (count <= 1 || max <= 0) {
142
+ return 0;
143
+ }
144
+ const clamped = clampThumbTranslate(translate, totalWidth, stripWidth);
145
+ return Math.round(clamped / max * (count - 1));
146
+ }
147
+ function getActiveThumbTranslate(index, thumbWidth, thumbMargin, stripWidth, totalWidth, pagerPosition, direction = "ltr") {
148
+ const logicalPosition = direction === "rtl" && pagerPosition !== "middle" ? pagerPosition === "left" ? "right" : "left" : pagerPosition;
149
+ let position = 0;
150
+ switch (logicalPosition) {
151
+ case "left":
152
+ position = 0;
153
+ break;
154
+ case "middle":
155
+ position = stripWidth / 2 - thumbWidth / 2;
156
+ break;
157
+ case "right":
158
+ position = stripWidth - thumbWidth;
159
+ }
160
+ const translate = (thumbWidth + thumbMargin) * index - 1 - position;
161
+ return clampThumbTranslate(translate, totalWidth, stripWidth);
162
+ }
163
+ const VELOCITY_WINDOW_MS = 100;
164
+ const MIN_DISPLACEMENT = 1;
165
+ const MIN_WINDOW_SPAN_MS = 5;
166
+ function pushVelocitySample(samples, sample, windowMs = VELOCITY_WINDOW_MS) {
167
+ return [...samples.filter((s) => sample.t - s.t <= windowMs), sample];
168
+ }
169
+ function getWindowedVelocity(samples, releaseTime, windowMs = VELOCITY_WINDOW_MS) {
170
+ const recent = samples.filter((s) => releaseTime - s.t <= windowMs);
171
+ if (recent.length < 2) {
172
+ return { x: 0, y: 0 };
173
+ }
174
+ const first = recent[0];
175
+ const last = recent[recent.length - 1];
176
+ const dt = last.t - first.t;
177
+ if (dt < MIN_WINDOW_SPAN_MS) {
178
+ return { x: 0, y: 0 };
179
+ }
180
+ const dx = last.x - first.x;
181
+ const dy = last.y - first.y;
182
+ return {
183
+ x: Math.abs(dx) > MIN_DISPLACEMENT ? dx / dt : 0,
184
+ y: Math.abs(dy) > MIN_DISPLACEMENT ? dy / dt : 0
185
+ };
186
+ }
187
+ const MAX_FRAME_MS = 64;
188
+ function runSprings(tracks, onFrame, onDone) {
189
+ let raf = 0;
190
+ let last = Date.now();
191
+ const states = tracks.map((t) => ({
192
+ position: t.from,
193
+ velocity: t.velocity
194
+ }));
195
+ const frame = () => {
196
+ const now = Date.now();
197
+ const dt = Math.min(Math.max(now - last, 0), MAX_FRAME_MS);
198
+ last = now;
199
+ let settled = true;
200
+ tracks.forEach((t, i) => {
201
+ states[i] = stepSpring(states[i], t.target, dt, t);
202
+ if (!isSpringSettled(states[i], t.target)) {
203
+ settled = false;
204
+ }
205
+ });
206
+ if (settled) {
207
+ onFrame(tracks.map((t) => t.target));
208
+ onDone == null ? void 0 : onDone();
209
+ return;
210
+ }
211
+ onFrame(states.map((s) => s.position));
212
+ raf = requestAnimationFrame(frame);
213
+ };
214
+ raf = requestAnimationFrame(frame);
215
+ return () => cancelAnimationFrame(raf);
216
+ }
217
+ const thumbnailsSettings = {
218
+ thumbnail: true,
219
+ animateThumb: true,
220
+ currentPagerPosition: "middle",
221
+ alignThumbnails: "middle",
222
+ thumbWidth: 100,
223
+ thumbHeight: "80px",
224
+ thumbMargin: 5,
225
+ appendThumbnailsTo: ".lg-components",
226
+ toggleThumb: false,
227
+ enableThumbDrag: true,
228
+ enableThumbSwipe: true,
229
+ thumbnailSwipeThreshold: 10,
230
+ scrubThumbnails: false,
231
+ loadYouTubeThumbnail: true,
232
+ youTubeThumbSize: 1
233
+ };
234
+ const lGEvents = {
235
+ containerResize: "lgContainerResize",
236
+ updateSlides: "lgUpdateSlides",
237
+ beforeOpen: "lgBeforeOpen",
238
+ afterOpen: "lgAfterOpen",
239
+ beforeSlide: "lgBeforeSlide"
240
+ };
241
+ var __defProp = Object.defineProperty;
242
+ var __defProps = Object.defineProperties;
243
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
244
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
245
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
246
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
247
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
248
+ var __spreadValues = (a, b) => {
249
+ for (var prop in b || (b = {}))
250
+ if (__hasOwnProp.call(b, prop))
251
+ __defNormalProp(a, prop, b[prop]);
252
+ if (__getOwnPropSymbols)
253
+ for (var prop of __getOwnPropSymbols(b)) {
254
+ if (__propIsEnum.call(b, prop))
255
+ __defNormalProp(a, prop, b[prop]);
256
+ }
257
+ return a;
258
+ };
259
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
260
+ class Thumbnail {
261
+ constructor(instance, $LG) {
262
+ this.thumbOuterWidth = 0;
263
+ this.thumbTotalWidth = 0;
264
+ this.translateX = 0;
265
+ this.thumbClickable = false;
266
+ this.instantThumb = false;
267
+ this.dragSamples = [];
268
+ this.liveTranslateX = 0;
269
+ this.scrubActive = false;
270
+ this.scrubIndex = -1;
271
+ this.core = instance;
272
+ this.$LG = $LG;
273
+ return this;
274
+ }
275
+ init() {
276
+ this.core.registerDefaultIcons(thumbnailDefaultIcons);
277
+ this.settings = __spreadValues(__spreadValues({}, thumbnailsSettings), this.core.settings);
278
+ this.thumbOuterWidth = 0;
279
+ this.thumbTotalWidth = getThumbTotalWidth(
280
+ this.core.galleryItems.length,
281
+ this.settings.thumbWidth,
282
+ this.settings.thumbMargin
283
+ );
284
+ this.translateX = 0;
285
+ this.setAnimateThumbStyles();
286
+ if (!this.core.settings.allowMediaOverlap) {
287
+ this.settings.toggleThumb = false;
288
+ }
289
+ if (this.settings.thumbnail) {
290
+ this.build();
291
+ if (this.settings.animateThumb) {
292
+ if (this.settings.enableThumbDrag) {
293
+ this.enableThumbDrag();
294
+ }
295
+ if (this.settings.enableThumbSwipe) {
296
+ this.enableThumbSwipe();
297
+ }
298
+ this.thumbClickable = false;
299
+ } else {
300
+ this.thumbClickable = true;
301
+ }
302
+ this.toggleThumbBar();
303
+ this.thumbKeyPress();
304
+ }
305
+ }
306
+ build() {
307
+ this.setThumbMarkup();
308
+ this.manageActiveClassOnSlideChange();
309
+ this.$lgThumb.first().on("click.lg touchend.lg", (e) => {
310
+ const $target = this.$LG(e.target);
311
+ if (!$target.hasAttribute("data-lg-item-id")) {
312
+ return;
313
+ }
314
+ setTimeout(() => {
315
+ if (this.thumbClickable && !this.core.lgBusy) {
316
+ const index = parseInt($target.attr("data-lg-item-id"));
317
+ this.core.slide(index, false, true, false);
318
+ }
319
+ }, 50);
320
+ });
321
+ this.core.LGel.on(`${lGEvents.beforeSlide}.thumb`, (event) => {
322
+ if (this.scrubActive) {
323
+ return;
324
+ }
325
+ const { index } = event.detail;
326
+ this.animateThumb(index);
327
+ });
328
+ this.core.LGel.on(`${lGEvents.beforeOpen}.thumb`, () => {
329
+ this.thumbOuterWidth = this.core.outer.get().offsetWidth;
330
+ this.instantThumb = true;
331
+ });
332
+ this.core.LGel.on(`${lGEvents.afterOpen}.thumb`, () => {
333
+ this.instantThumb = false;
334
+ });
335
+ this.core.LGel.on(`${lGEvents.updateSlides}.thumb`, () => {
336
+ this.rebuildThumbnails();
337
+ });
338
+ this.core.LGel.on(`${lGEvents.containerResize}.thumb`, () => {
339
+ if (!this.core.lgOpened) return;
340
+ setTimeout(() => {
341
+ this.thumbOuterWidth = this.core.outer.get().offsetWidth;
342
+ this.animateThumb(this.core.index);
343
+ this.thumbOuterWidth = this.core.outer.get().offsetWidth;
344
+ }, 50);
345
+ });
346
+ }
347
+ setThumbMarkup() {
348
+ let thumbOuterClassNames = "lg-thumb-outer ";
349
+ if (this.settings.alignThumbnails) {
350
+ thumbOuterClassNames += `lg-thumb-align-${this.settings.alignThumbnails}`;
351
+ }
352
+ const html = `<div class="${thumbOuterClassNames}">
353
+ <div class="lg-thumb lg-group">
354
+ </div>
355
+ </div>`;
356
+ this.core.outer.addClass("lg-has-thumb");
357
+ if (this.settings.appendThumbnailsTo === ".lg-components") {
358
+ this.core.$lgComponents.append(html);
359
+ } else {
360
+ this.core.outer.append(html);
361
+ }
362
+ this.$thumbOuter = this.core.outer.find(".lg-thumb-outer").first();
363
+ this.$lgThumb = this.core.outer.find(".lg-thumb").first();
364
+ if (this.settings.animateThumb) {
365
+ this.core.outer.find(".lg-thumb").css("transition-duration", this.core.settings.speed + "ms").css("width", this.thumbTotalWidth + "px").css("position", "relative");
366
+ }
367
+ this.renderThumbItems();
368
+ }
369
+ enableThumbDrag() {
370
+ let thumbDragUtils = {
371
+ cords: {
372
+ startX: 0,
373
+ endX: 0
374
+ },
375
+ isMoved: false,
376
+ newTranslateX: 0,
377
+ startTime: /* @__PURE__ */ new Date(),
378
+ endTime: /* @__PURE__ */ new Date(),
379
+ touchMoveTime: 0
380
+ };
381
+ let isDragging = false;
382
+ this.$thumbOuter.addClass("lg-grab");
383
+ this.core.outer.find(".lg-thumb").first().on("mousedown.lg.thumb", (e) => {
384
+ if (this.thumbTotalWidth > this.thumbOuterWidth) {
385
+ e.preventDefault();
386
+ this.onThumbDragStart(e.pageX);
387
+ thumbDragUtils.cords.startX = e.pageX;
388
+ thumbDragUtils.startTime = /* @__PURE__ */ new Date();
389
+ this.thumbClickable = false;
390
+ isDragging = true;
391
+ this.core.outer.get().scrollLeft += 1;
392
+ this.core.outer.get().scrollLeft -= 1;
393
+ this.$thumbOuter.removeClass("lg-grab").addClass("lg-grabbing");
394
+ }
395
+ });
396
+ this.$LG(window).on(
397
+ `mousemove.lg.thumb.global${this.core.lgId}`,
398
+ (e) => {
399
+ if (!this.core.lgOpened) return;
400
+ if (isDragging) {
401
+ thumbDragUtils.cords.endX = e.pageX;
402
+ thumbDragUtils = this.onThumbTouchMove(thumbDragUtils);
403
+ }
404
+ }
405
+ );
406
+ this.$LG(window).on(`mouseup.lg.thumb.global${this.core.lgId}`, () => {
407
+ if (!this.core.lgOpened) return;
408
+ if (thumbDragUtils.isMoved) {
409
+ thumbDragUtils = this.onThumbTouchEnd(thumbDragUtils);
410
+ } else {
411
+ this.thumbClickable = true;
412
+ this.endScrub();
413
+ }
414
+ if (isDragging) {
415
+ isDragging = false;
416
+ this.$thumbOuter.removeClass("lg-grabbing").addClass("lg-grab");
417
+ }
418
+ });
419
+ }
420
+ enableThumbSwipe() {
421
+ let thumbDragUtils = {
422
+ cords: {
423
+ startX: 0,
424
+ endX: 0
425
+ },
426
+ isMoved: false,
427
+ newTranslateX: 0,
428
+ startTime: /* @__PURE__ */ new Date(),
429
+ endTime: /* @__PURE__ */ new Date(),
430
+ touchMoveTime: 0
431
+ };
432
+ this.$lgThumb.on("touchstart.lg", (e) => {
433
+ if (this.thumbTotalWidth > this.thumbOuterWidth) {
434
+ e.preventDefault();
435
+ this.onThumbDragStart(e.targetTouches[0].pageX);
436
+ thumbDragUtils.cords.startX = e.targetTouches[0].pageX;
437
+ this.thumbClickable = false;
438
+ thumbDragUtils.startTime = /* @__PURE__ */ new Date();
439
+ }
440
+ });
441
+ this.$lgThumb.on("touchmove.lg", (e) => {
442
+ if (this.thumbTotalWidth > this.thumbOuterWidth) {
443
+ e.preventDefault();
444
+ thumbDragUtils.cords.endX = e.targetTouches[0].pageX;
445
+ thumbDragUtils = this.onThumbTouchMove(thumbDragUtils);
446
+ }
447
+ });
448
+ this.$lgThumb.on("touchend.lg", () => {
449
+ if (thumbDragUtils.isMoved) {
450
+ thumbDragUtils = this.onThumbTouchEnd(thumbDragUtils);
451
+ } else {
452
+ this.thumbClickable = true;
453
+ this.endScrub();
454
+ }
455
+ });
456
+ }
457
+ // Rebuild thumbnails
458
+ rebuildThumbnails() {
459
+ this.$thumbOuter.addClass("lg-rebuilding-thumbnails");
460
+ setTimeout(() => {
461
+ this.thumbTotalWidth = getThumbTotalWidth(
462
+ this.core.galleryItems.length,
463
+ this.settings.thumbWidth,
464
+ this.settings.thumbMargin
465
+ );
466
+ this.$lgThumb.css("width", this.thumbTotalWidth + "px");
467
+ this.$lgThumb.empty();
468
+ this.renderThumbItems();
469
+ this.animateThumb(this.core.index);
470
+ }, 50);
471
+ setTimeout(() => {
472
+ this.$thumbOuter.removeClass("lg-rebuilding-thumbnails");
473
+ }, 200);
474
+ }
475
+ // @ts-check
476
+ setTranslate(value) {
477
+ const x = this.isRtl() ? value : -value;
478
+ this.$lgThumb.css("transform", "translate3d(" + x + "px, 0px, 0px)");
479
+ }
480
+ isRtl() {
481
+ return this.core.settings.direction === "rtl";
482
+ }
483
+ getPossibleTransformX(left) {
484
+ return clampThumbTranslate(
485
+ left,
486
+ this.thumbTotalWidth,
487
+ this.thumbOuterWidth
488
+ );
489
+ }
490
+ animateThumb(index) {
491
+ if (this.cancelThumbSpring) {
492
+ this.cancelThumbSpring();
493
+ this.cancelThumbSpring = void 0;
494
+ }
495
+ this.$lgThumb.css(
496
+ "transition-duration",
497
+ this.instantThumb ? "0ms" : this.core.settings.speed + "ms"
498
+ );
499
+ if (this.settings.animateThumb) {
500
+ this.translateX = getActiveThumbTranslate(
501
+ index,
502
+ this.settings.thumbWidth,
503
+ this.settings.thumbMargin,
504
+ this.thumbOuterWidth,
505
+ this.thumbTotalWidth,
506
+ this.settings.currentPagerPosition,
507
+ this.isRtl() ? "rtl" : "ltr"
508
+ );
509
+ this.liveTranslateX = this.translateX;
510
+ this.setTranslate(this.translateX);
511
+ if (this.isThumbWindowed()) {
512
+ this.renderThumbItems(index);
513
+ }
514
+ }
515
+ }
516
+ canScrub() {
517
+ return this.settings.scrubThumbnails && this.settings.animateThumb;
518
+ }
519
+ /**
520
+ * A scrub session starts on the first actual strip movement and
521
+ * ends when the release glide settles (or the plugin dies). While
522
+ * it runs: slide transitions are visually off (`lg-thumb-scrubbing`
523
+ * CSS), the core's transition timers collapse (`speed` 0) so the
524
+ * landed slide's content loads without the navigation lag, and the
525
+ * strip's own slide-change re-centering stands down.
526
+ */
527
+ beginScrub() {
528
+ if (this.scrubActive) {
529
+ return;
530
+ }
531
+ this.scrubActive = true;
532
+ this.scrubIndex = this.core.index;
533
+ this.scrubSavedSpeed = this.core.settings.speed;
534
+ this.core.settings.speed = 0;
535
+ this.core.outer.addClass("lg-thumb-scrubbing");
536
+ }
537
+ endScrub() {
538
+ if (!this.scrubActive) {
539
+ return;
540
+ }
541
+ this.scrubActive = false;
542
+ this.scrubIndex = -1;
543
+ if (this.scrubSavedSpeed !== void 0) {
544
+ this.core.settings.speed = this.scrubSavedSpeed;
545
+ this.scrubSavedSpeed = void 0;
546
+ }
547
+ this.core.outer.removeClass("lg-thumb-scrubbing");
548
+ }
549
+ /** Live translate → slide, on drag frames and glide frames alike. */
550
+ scrubTo(translate) {
551
+ const index = getScrubThumbIndex(
552
+ translate,
553
+ this.thumbTotalWidth,
554
+ this.thumbOuterWidth,
555
+ this.core.galleryItems.length
556
+ );
557
+ if (index === this.scrubIndex) {
558
+ return;
559
+ }
560
+ this.scrubIndex = index;
561
+ this.core.lgBusy = false;
562
+ this.core.slide(index, true, true, false);
563
+ }
564
+ /**
565
+ * Drag-start seam (plan 010 physics): a press mid-glide takes over
566
+ * from the live position, and the velocity window restarts.
567
+ */
568
+ onThumbDragStart(pageX) {
569
+ if (this.cancelThumbSpring) {
570
+ this.cancelThumbSpring();
571
+ this.cancelThumbSpring = void 0;
572
+ this.translateX = this.liveTranslateX;
573
+ }
574
+ this.liveTranslateX = this.translateX;
575
+ this.dragSamples = pushVelocitySample([], {
576
+ x: pageX,
577
+ y: 0,
578
+ t: Date.now()
579
+ });
580
+ }
581
+ onThumbTouchMove(thumbDragUtils) {
582
+ thumbDragUtils.isMoved = true;
583
+ thumbDragUtils.touchMoveTime = (/* @__PURE__ */ new Date()).valueOf();
584
+ this.dragSamples = pushVelocitySample(this.dragSamples, {
585
+ x: thumbDragUtils.cords.endX,
586
+ y: 0,
587
+ t: Date.now()
588
+ });
589
+ const dragDelta = thumbDragUtils.cords.endX - thumbDragUtils.cords.startX;
590
+ thumbDragUtils.newTranslateX = getElasticThumbTranslate(
591
+ this.translateX + (this.isRtl() ? dragDelta : -dragDelta),
592
+ this.thumbTotalWidth,
593
+ this.thumbOuterWidth
594
+ );
595
+ this.liveTranslateX = thumbDragUtils.newTranslateX;
596
+ this.setTranslate(thumbDragUtils.newTranslateX);
597
+ this.$thumbOuter.addClass("lg-dragging");
598
+ if (this.canScrub()) {
599
+ this.beginScrub();
600
+ this.scrubTo(this.liveTranslateX);
601
+ }
602
+ if (this.isThumbWindowed() && this.renderedThumbWindow) {
603
+ const rendered = this.renderedThumbWindow;
604
+ if (this.liveTranslateX < rendered.leadingPad || this.liveTranslateX + this.thumbOuterWidth > this.thumbTotalWidth - rendered.trailingPad) {
605
+ this.renderThumbItems(this.core.index, {
606
+ from: this.liveTranslateX,
607
+ to: this.liveTranslateX
608
+ });
609
+ }
610
+ }
611
+ return thumbDragUtils;
612
+ }
613
+ onThumbTouchEnd(thumbDragUtils) {
614
+ thumbDragUtils.isMoved = false;
615
+ thumbDragUtils.endTime = /* @__PURE__ */ new Date();
616
+ this.$thumbOuter.removeClass("lg-dragging");
617
+ const pointerVelocityX = getWindowedVelocity(
618
+ this.dragSamples,
619
+ Date.now()
620
+ ).x;
621
+ const translateVelocity = this.isRtl() ? pointerVelocityX : -pointerVelocityX;
622
+ const from = this.liveTranslateX;
623
+ const target = this.getPossibleTransformX(
624
+ from + project(translateVelocity)
625
+ );
626
+ this.$lgThumb.css("transition-duration", "0ms");
627
+ if (this.isThumbWindowed()) {
628
+ this.renderThumbItems(this.core.index, { from, to: target });
629
+ }
630
+ this.cancelThumbSpring = runSprings(
631
+ [{ from, velocity: translateVelocity, target }],
632
+ ([value]) => {
633
+ this.liveTranslateX = value;
634
+ this.setTranslate(value);
635
+ if (this.scrubActive) {
636
+ this.scrubTo(value);
637
+ }
638
+ },
639
+ () => {
640
+ this.cancelThumbSpring = void 0;
641
+ this.translateX = target;
642
+ this.endScrub();
643
+ this.$lgThumb.css(
644
+ "transition-duration",
645
+ this.core.settings.speed + "ms"
646
+ );
647
+ if (this.isThumbWindowed()) {
648
+ this.renderThumbItems();
649
+ }
650
+ }
651
+ );
652
+ if (Math.abs(thumbDragUtils.cords.endX - thumbDragUtils.cords.startX) < this.settings.thumbnailSwipeThreshold) {
653
+ this.thumbClickable = true;
654
+ }
655
+ return thumbDragUtils;
656
+ }
657
+ getThumbHtml(thumb, index, alt) {
658
+ const slideVideoInfo = this.core.galleryItems[index].__slideVideoInfo || {};
659
+ let thumbImg;
660
+ if (slideVideoInfo.youtube) {
661
+ if (this.settings.loadYouTubeThumbnail) {
662
+ thumbImg = "//img.youtube.com/vi/" + slideVideoInfo.youtube[1] + "/" + this.settings.youTubeThumbSize + ".jpg";
663
+ } else {
664
+ thumbImg = thumb;
665
+ }
666
+ } else {
667
+ thumbImg = thumb;
668
+ }
669
+ const div = document.createElement("div");
670
+ div.setAttribute("data-lg-item-id", index + "");
671
+ div.className = `lg-thumb-item ${index === this.core.index ? "active" : ""}`;
672
+ const marginSide = this.isRtl() ? "margin-left" : "margin-right";
673
+ div.style.cssText = `width: ${this.settings.thumbWidth}px; height: ${this.settings.thumbHeight}; ${marginSide}: ${this.settings.thumbMargin}px;`;
674
+ const img = document.createElement("img");
675
+ img.alt = alt || "";
676
+ img.setAttribute("data-lg-item-id", index + "");
677
+ img.src = thumbImg;
678
+ div.appendChild(img);
679
+ return div;
680
+ }
681
+ /**
682
+ * True when the strip renders only a window of thumbs
683
+ * (virtualization.thumbs, plan 010).
684
+ */
685
+ isThumbWindowed() {
686
+ var _a;
687
+ return ((_a = this.core.settings.virtualization) == null ? void 0 : _a.thumbs) !== void 0;
688
+ }
689
+ /**
690
+ * (Re)build the strip contents. Classic mode appends every thumb once;
691
+ * windowed mode renders the visible range plus overscan with spacers
692
+ * preserving the strip geometry, and re-runs at commit points only
693
+ * (open, slide change, drag release, resize, updateSlides), never per
694
+ * pointer move.
695
+ */
696
+ renderThumbItems(activeIndex = this.core.index, corridor) {
697
+ var _a;
698
+ const items = this.core.galleryItems;
699
+ if (!this.isThumbWindowed()) {
700
+ this.setThumbItemHtml(items);
701
+ return;
702
+ }
703
+ const geometry = {
704
+ stripWidth: this.thumbOuterWidth,
705
+ thumbWidth: this.settings.thumbWidth,
706
+ thumbMargin: this.settings.thumbMargin,
707
+ count: items.length,
708
+ overscan: (_a = this.core.settings.virtualization) == null ? void 0 : _a.thumbs
709
+ };
710
+ const thumbWindow = corridor ? getThumbCorridorWindow(__spreadValues(__spreadValues({}, geometry), corridor)) : getThumbWindow(__spreadProps(__spreadValues({}, geometry), { translate: this.translateX }));
711
+ this.renderedThumbWindow = thumbWindow;
712
+ this.$lgThumb.empty();
713
+ if (thumbWindow.leadingPad > 0) {
714
+ this.$lgThumb.append(
715
+ `<div class="lg-thumb-spacer" aria-hidden="true" style="width: ${thumbWindow.leadingPad}px;"></div>`
716
+ );
717
+ }
718
+ for (let i = thumbWindow.start; i <= thumbWindow.end; i++) {
719
+ const thumb = this.getThumbHtml(items[i].thumb, i, items[i].alt);
720
+ if (i === activeIndex) {
721
+ thumb.classList.add("active");
722
+ }
723
+ this.$lgThumb.append(thumb);
724
+ }
725
+ if (thumbWindow.trailingPad > 0) {
726
+ this.$lgThumb.append(
727
+ `<div class="lg-thumb-spacer" aria-hidden="true" style="width: ${thumbWindow.trailingPad}px;"></div>`
728
+ );
729
+ }
730
+ }
731
+ setThumbItemHtml(items) {
732
+ for (let i = 0; i < items.length; i++) {
733
+ const thumb = this.getThumbHtml(items[i].thumb, i, items[i].alt);
734
+ this.$lgThumb.append(thumb);
735
+ }
736
+ }
737
+ setAnimateThumbStyles() {
738
+ if (this.settings.animateThumb) {
739
+ this.core.outer.addClass("lg-animate-thumb");
740
+ }
741
+ }
742
+ // Manage thumbnail active calss
743
+ manageActiveClassOnSlideChange() {
744
+ this.core.LGel.on(
745
+ `${lGEvents.beforeSlide}.thumb`,
746
+ (event) => {
747
+ const { index } = event.detail;
748
+ this.core.outer.find(".lg-thumb-item").removeClass("active");
749
+ this.core.outer.find(`.lg-thumb-item[data-lg-item-id="${index}"]`).addClass("active");
750
+ }
751
+ );
752
+ }
753
+ // Toggle thumbnail bar
754
+ toggleThumbBar() {
755
+ var _a, _b;
756
+ if (this.settings.toggleThumb) {
757
+ this.core.outer.addClass("lg-can-toggle");
758
+ this.core.$toolbar.append(
759
+ '<button type="button" aria-label="' + ((_b = (_a = this.settings.thumbnailPluginStrings) == null ? void 0 : _a.toggleThumbnails) != null ? _b : this.core.settings.strings.toggleThumbnails) + '" class="lg-toggle-thumb lg-icon"></button>'
760
+ );
761
+ this.core.outer.find(".lg-toggle-thumb").first().on("click.lg", () => {
762
+ this.core.outer.toggleClass("lg-components-open");
763
+ });
764
+ }
765
+ }
766
+ thumbKeyPress() {
767
+ this.$LG(window).on(`keydown.lg.thumb.global${this.core.lgId}`, (e) => {
768
+ if (!this.core.lgOpened || !this.settings.toggleThumb) return;
769
+ if (e.keyCode === 38) {
770
+ e.preventDefault();
771
+ this.core.outer.addClass("lg-components-open");
772
+ } else if (e.keyCode === 40) {
773
+ e.preventDefault();
774
+ this.core.outer.removeClass("lg-components-open");
775
+ }
776
+ });
777
+ }
778
+ destroy() {
779
+ this.endScrub();
780
+ if (this.cancelThumbSpring) {
781
+ this.cancelThumbSpring();
782
+ this.cancelThumbSpring = void 0;
783
+ }
784
+ if (this.settings.thumbnail) {
785
+ this.$LG(window).off(`.lg.thumb.global${this.core.lgId}`);
786
+ this.core.LGel.off(".lg.thumb");
787
+ this.core.LGel.off(".thumb");
788
+ this.$thumbOuter.remove();
789
+ this.core.outer.removeClass("lg-has-thumb");
790
+ }
791
+ }
792
+ }
793
+ return Thumbnail;
794
+ });
795
+ //# sourceMappingURL=lg-thumbnail.umd.js.map