j1-template 2024.3.23 → 2024.3.24
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.
- checksums.yaml +4 -4
- data/assets/data/gallery_app.html +102 -14
- data/assets/theme/j1/adapter/js/gallery.js +13 -2
- data/assets/theme/j1/core/css/themes/unolight/bootstrap.css +29 -0
- data/assets/theme/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
- data/assets/theme/j1/core/css/vendor.css +1 -1
- data/assets/theme/j1/core/css/vendor.min.css +1 -1
- data/assets/theme/j1/modules/lightGallery/js/lightgallery.js +36 -17
- data/assets/theme/j1/modules/lightGallery/js/lightgallery.min.js +1 -8
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.js +423 -297
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.min.js +1 -8
- data/assets/theme/j1/modules/rtable/css/theme/uno/rtable.css +11 -1
- data/assets/theme/j1/modules/videojs/css/themes/uno.css +41 -29
- data/assets/theme/j1/modules/videojs/css/themes/uno.min.css +1 -1
- data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/!examples/index.html +4 -9
- data/assets/theme/j1/modules/videojs/plugins/controls/hotkeys/!examples/example.html +1 -1
- data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/!examples/index.html +3 -7
- data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/!examples/index.html +3 -8
- data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/dailymotion-controls.html +4 -4
- data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/dailymotion-javascript.html +3 -3
- data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/dailymotion-playlist.html +3 -3
- data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/global-parameters.html +3 -3
- data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/simple.html +15 -4
- data/assets/theme/j1/modules/videojs/plugins/players/dm/!examples/switch.html +3 -3
- data/assets/theme/j1/modules/videojs/plugins/players/vm/!examples/index.html +3 -3
- data/assets/theme/j1/modules/videojs/plugins/players/vm/!examples/player/index.html +3 -3
- data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/global-parameters.html +5 -5
- data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/simple.html +5 -5
- data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/switch.html +5 -5
- data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/youtube-controls.html +5 -5
- data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/youtube-javascript.html +5 -5
- data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/youtube-list.html +5 -5
- data/assets/theme/j1/modules/videojs/plugins/players/yt/!examples/youtube-playlist.html +5 -5
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/README.md +5 -5
- data/lib/starter_web/_config.yml +1 -1
- data/lib/starter_web/_data/blocks/banner.yml +2 -2
- data/lib/starter_web/_data/modules/attics.yml +11 -0
- data/lib/starter_web/_data/modules/carousel.yml +1 -1
- data/lib/starter_web/_data/modules/defaults/masonry.yml +115 -22
- data/lib/starter_web/_data/modules/gallery.yml +163 -215
- data/lib/starter_web/_data/modules/masonry.yml +6 -0
- data/lib/starter_web/_data/templates/feed.xml +1 -1
- data/lib/starter_web/_includes/attributes.asciidoc +7 -0
- data/lib/starter_web/_plugins/index/lunr.rb +1 -1
- data/lib/starter_web/assets/image/module/attic/1920x1280/alexander-redl.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/alexander-shatov.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/alexey-ruban.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/andrea-badino.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/bootstrap-modal.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/bp-miller.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/brad-neathery.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/brigitta-schneiter.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/build-with-gemini.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/clem-onojeghuo.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/crawford-jolly.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/eleni-afiontzi.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/fly-d.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/guillaume-bolduc.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/ideas-start-here-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/isaac-davis.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/j1-content-mockup-2.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/j1-content-mockup-3.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/j1-starter-mockup-1.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/john-schnobrich-2.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/josep-martins.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/josh-liu.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/kelly-sikkemal.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/kira-auf-der-heide.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/kristopher-roller.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/markus-spiske.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/martin-sanchez.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/material_symbols.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/matthaeus.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/melanie-deziel.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/milad-fakurian.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/mohammad-rahmani.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/nasa.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/quino-al-2.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/stories-ink-tattoo-care.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/towfiqu-barbhuiya.jpg +0 -0
- data/lib/starter_web/assets/image/page/tour/bootswatch-themes.jpg +0 -0
- data/lib/starter_web/index.html +3 -2
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/panels/intro_panel/_includes/attributes.asciidoc +1 -1
- data/lib/starter_web/pages/public/tools/previewer/preview_bootstrap_theme.adoc +5 -5
- data/lib/starter_web/pages/public/tools/tester/app_tester_amplitudejs_yt.adoc +7 -3
- data/lib/starter_web/pages/public/tools/tester/app_tester_swiperjs.adoc +7 -3
- data/lib/starter_web/pages/public/tools/tester/videojs_macro_tester.adoc +18 -3
- data/lib/starter_web/pages/public/tour/_includes/attributes.asciidoc +1 -2
- data/lib/starter_web/pages/public/tour/_includes/documents/themes_bootstrap.asciidoc +1 -1
- data/lib/starter_web/pages/public/tour/asciidoc_extensions.adoc +7 -3
- data/lib/starter_web/pages/public/tour/bootstrap_themes.adoc +62 -7
- data/lib/starter_web/pages/public/tour/icon_fonts.adoc +4 -8
- data/lib/starter_web/pages/public/tour/modal_extentions.adoc +2 -2
- data/lib/starter_web/pages/public/tour/responsive_tables.adoc +21 -15
- data/lib/starter_web/pages/public/tour/typography.adoc +5 -5
- data/lib/starter_web/pages/public/tour/video_data.adoc +24 -5
- metadata +11 -102
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/lg-transitions.css +0 -984
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/lg-transitions.min.css +0 -26
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/lightgallery-bundle.css +0 -1627
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/lightgallery-bundle.min.css +0 -25
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/animation-w.png +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/customize-w.png +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/dynamic-w.png +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/facebook-icon.svg +0 -10
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/googleplus-icon.svg +0 -30
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/html5-w.png +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/linked-in.png +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/module-w.png +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/play-button-hover.svg +0 -94
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/play-button.png +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/play-button.svg +0 -93
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/responsive-w.png +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/thumb-w.png +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/touch-w.png +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/twitter-icon.svg +0 -15
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/twitter.png +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/video1-w.png +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/zoom-w.png +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/icons/zoom.png +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/uno.css +0 -140
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/themes/uno/uno.min.css +0 -19
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/fonts/lg.svg +0 -54
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/fonts/lg.ttf +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/fonts/lg.woff +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/fonts/lg.woff2 +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/images/loading.gif +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/img/loading.gif +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/img/video-play.png +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/img/vimeo-play.png +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/img/youtube-play.png +0 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/lightgallery.js +0 -2782
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/lightgallery.min.js +0 -26
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/parser/webvtt/LICENSE.md +0 -44
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/parser/webvtt/README.md +0 -37
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/parser/webvtt/parser.js +0 -890
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/parser/webvtt/parser.min.js +0 -8
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/j1/j1-video.js +0 -402
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/j1/j1-video.min.js +0 -7
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/j1/lg-video.1.js +0 -585
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-autoplay.js +0 -275
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-autoplay.min.js +0 -26
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-comment.js +0 -230
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-comment.min.js +0 -26
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-fullscreen.js +0 -160
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-fullscreen.min.js +0 -26
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-hash.js +0 -223
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-hash.min.js +0 -27
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-medium-zoom.js +0 -157
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-medium-zoom.min.js +0 -26
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-pager.js +0 -164
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-pager.min.js +0 -26
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-rotate.js +0 -299
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-rotate.min.js +0 -26
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-share.js +0 -244
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-share.min.js +0 -27
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-thumbnail.js +0 -509
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-thumbnail.min.js +0 -26
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-video.js +0 -909
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-video.min.js +0 -26
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-vimeo-thumbnail.js +0 -207
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-vimeo-thumbnail.min.js +0 -26
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-zoom.js +0 -999
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-zoom.min.js +0 -26
- data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-thumbnail.0.js +0 -495
- data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-thumbnail.1.js +0 -513
- data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-video.0.js +0 -553
- data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-video.1.js +0 -585
- data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-video.2.js +0 -914
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/font/README.md +0 -151
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/font/VideoJS.svg +0 -150
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/font/video-js-cdn.css +0 -2012
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/city.css +0 -147
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/city.min.css +0 -5
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/fantasy.css +0 -113
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/fantasy.min.css +0 -5
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/forest.css +0 -166
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/forest.min.css +0 -5
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/sea.css +0 -72
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/sea.min.css +0 -5
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/uno.css +0 -311
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/uno.min.css +0 -19
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/videojs.css +0 -1686
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/videojs.min.css +0 -13
- data/assets/theme/j1/modules/videojs/!v8.12.0/js/video.js +0 -65226
- data/assets/theme/j1/modules/videojs/!v8.12.0/js/video.min.js +0 -55
- data/lib/starter_web/_data/modules/gallery_app.yml +0 -1002
- data/lib/starter_web/_data/modules/gallery_playlists.yml +0 -534
- data/lib/starter_web/assets/image/module/attic/1920x1280/alina-grubnyak.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/bruno-figueiredo.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/harpal-singh.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/hayden-mills-2.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/j1-content-mockup-1.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/recha-oktaviani.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/1920x1280/tiny_desk.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/ideas-start-here-1920x1280-bw.jpg +0 -0
- data/lib/starter_web/assets/image/module/attic/ideas-start-here-1920x1280.jpg +0 -0
@@ -1,509 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
# -----------------------------------------------------------------------------
|
3
|
-
# ~/assets/theme/j1/modules/lightGallery/js/plugins/lg-thumbnail.js
|
4
|
-
# Provides lightGallery JS code for the plugin lgThumbnail
|
5
|
-
#
|
6
|
-
# Product/Info:
|
7
|
-
# https://jekyll.one
|
8
|
-
#
|
9
|
-
# Copyright (C) 2025 Sachin Neravath
|
10
|
-
# Copyright (C) 2023-2025 Juergen Adams
|
11
|
-
#
|
12
|
-
# J1 Template is licensed under the MIT License.
|
13
|
-
# See: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE
|
14
|
-
# lightGallery is licensed under the GPLv3 license
|
15
|
-
# See: https://github.com/sachinchoolur/lightGallery/blob/master/LICENSE
|
16
|
-
# -----------------------------------------------------------------------------
|
17
|
-
*/
|
18
|
-
|
19
|
-
/*!
|
20
|
-
* lightgallery | 2.7.2 | September 20th 2023
|
21
|
-
* http://www.lightgalleryjs.com/
|
22
|
-
* Copyright (c) 2020 Sachin Neravath;
|
23
|
-
* @license GPLv3
|
24
|
-
*/
|
25
|
-
|
26
|
-
(function (global, factory) {
|
27
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
28
|
-
typeof define === 'function' && define.amd ? define(factory) :
|
29
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgThumbnail = factory());
|
30
|
-
}(this, (function () { 'use strict';
|
31
|
-
|
32
|
-
/*! *****************************************************************************
|
33
|
-
Copyright (c) Microsoft Corporation.
|
34
|
-
|
35
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
36
|
-
purpose with or without fee is hereby granted.
|
37
|
-
|
38
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
39
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
40
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
41
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
42
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
43
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
44
|
-
PERFORMANCE OF THIS SOFTWARE.
|
45
|
-
***************************************************************************** */
|
46
|
-
|
47
|
-
var __assign = function() {
|
48
|
-
__assign = Object.assign || function __assign(t) {
|
49
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
50
|
-
s = arguments[i];
|
51
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
52
|
-
}
|
53
|
-
return t;
|
54
|
-
};
|
55
|
-
return __assign.apply(this, arguments);
|
56
|
-
};
|
57
|
-
|
58
|
-
var thumbnailsSettings = {
|
59
|
-
thumbnail: true,
|
60
|
-
animateThumb: true,
|
61
|
-
currentPagerPosition: 'middle',
|
62
|
-
alignThumbnails: 'middle',
|
63
|
-
thumbWidth: 100,
|
64
|
-
thumbHeight: '80px',
|
65
|
-
thumbMargin: 5,
|
66
|
-
appendThumbnailsTo: '.lg-components',
|
67
|
-
toggleThumb: false,
|
68
|
-
enableThumbDrag: true,
|
69
|
-
enableThumbSwipe: true,
|
70
|
-
thumbnailSwipeThreshold: 10,
|
71
|
-
loadYouTubeThumbnail: true,
|
72
|
-
youTubeThumbSize: 1,
|
73
|
-
thumbnailPluginStrings: {
|
74
|
-
toggleThumbnails: 'Toggle thumbnails',
|
75
|
-
},
|
76
|
-
};
|
77
|
-
|
78
|
-
/**
|
79
|
-
* List of lightGallery events
|
80
|
-
* All events should be documented here
|
81
|
-
* Below interfaces are used to build the website documentations
|
82
|
-
* */
|
83
|
-
var lGEvents = {
|
84
|
-
afterAppendSlide: 'lgAfterAppendSlide',
|
85
|
-
init: 'lgInit',
|
86
|
-
hasVideo: 'lgHasVideo',
|
87
|
-
containerResize: 'lgContainerResize',
|
88
|
-
updateSlides: 'lgUpdateSlides',
|
89
|
-
afterAppendSubHtml: 'lgAfterAppendSubHtml',
|
90
|
-
beforeOpen: 'lgBeforeOpen',
|
91
|
-
afterOpen: 'lgAfterOpen',
|
92
|
-
slideItemLoad: 'lgSlideItemLoad',
|
93
|
-
beforeSlide: 'lgBeforeSlide',
|
94
|
-
afterSlide: 'lgAfterSlide',
|
95
|
-
posterClick: 'lgPosterClick',
|
96
|
-
dragStart: 'lgDragStart',
|
97
|
-
dragMove: 'lgDragMove',
|
98
|
-
dragEnd: 'lgDragEnd',
|
99
|
-
beforeNextSlide: 'lgBeforeNextSlide',
|
100
|
-
beforePrevSlide: 'lgBeforePrevSlide',
|
101
|
-
beforeClose: 'lgBeforeClose',
|
102
|
-
afterClose: 'lgAfterClose',
|
103
|
-
rotateLeft: 'lgRotateLeft',
|
104
|
-
rotateRight: 'lgRotateRight',
|
105
|
-
flipHorizontal: 'lgFlipHorizontal',
|
106
|
-
flipVertical: 'lgFlipVertical',
|
107
|
-
autoplay: 'lgAutoplay',
|
108
|
-
autoplayStart: 'lgAutoplayStart',
|
109
|
-
autoplayStop: 'lgAutoplayStop',
|
110
|
-
};
|
111
|
-
|
112
|
-
var Thumbnail = /** @class */ (function () {
|
113
|
-
function Thumbnail(instance, $LG) {
|
114
|
-
this.thumbOuterWidth = 0;
|
115
|
-
this.thumbTotalWidth = 0;
|
116
|
-
this.translateX = 0;
|
117
|
-
this.thumbClickable = false;
|
118
|
-
// get lightGallery core plugin instance
|
119
|
-
this.core = instance;
|
120
|
-
this.$LG = $LG;
|
121
|
-
return this;
|
122
|
-
}
|
123
|
-
Thumbnail.prototype.init = function () {
|
124
|
-
// extend module default settings with lightGallery core settings
|
125
|
-
this.settings = __assign(__assign({}, thumbnailsSettings), this.core.settings);
|
126
|
-
this.thumbOuterWidth = 0;
|
127
|
-
this.thumbTotalWidth =
|
128
|
-
this.core.galleryItems.length *
|
129
|
-
(this.settings.thumbWidth + this.settings.thumbMargin);
|
130
|
-
// Thumbnail animation value
|
131
|
-
this.translateX = 0;
|
132
|
-
this.setAnimateThumbStyles();
|
133
|
-
if (!this.core.settings.allowMediaOverlap) {
|
134
|
-
this.settings.toggleThumb = false;
|
135
|
-
}
|
136
|
-
if (this.settings.thumbnail) {
|
137
|
-
this.build();
|
138
|
-
if (this.settings.animateThumb) {
|
139
|
-
if (this.settings.enableThumbDrag) {
|
140
|
-
this.enableThumbDrag();
|
141
|
-
}
|
142
|
-
if (this.settings.enableThumbSwipe) {
|
143
|
-
this.enableThumbSwipe();
|
144
|
-
}
|
145
|
-
this.thumbClickable = false;
|
146
|
-
}
|
147
|
-
else {
|
148
|
-
this.thumbClickable = true;
|
149
|
-
}
|
150
|
-
this.toggleThumbBar();
|
151
|
-
this.thumbKeyPress();
|
152
|
-
}
|
153
|
-
};
|
154
|
-
Thumbnail.prototype.build = function () {
|
155
|
-
var _this = this;
|
156
|
-
this.setThumbMarkup();
|
157
|
-
this.manageActiveClassOnSlideChange();
|
158
|
-
this.$lgThumb.first().on('click.lg touchend.lg', function (e) {
|
159
|
-
var $target = _this.$LG(e.target);
|
160
|
-
if (!$target.hasAttribute('data-lg-item-id')) {
|
161
|
-
return;
|
162
|
-
}
|
163
|
-
setTimeout(function () {
|
164
|
-
// In IE9 and bellow touch does not support
|
165
|
-
// Go to slide if browser does not support css transitions
|
166
|
-
if (_this.thumbClickable && !_this.core.lgBusy) {
|
167
|
-
var index = parseInt($target.attr('data-lg-item-id'));
|
168
|
-
_this.core.slide(index, false, true, false);
|
169
|
-
}
|
170
|
-
}, 50);
|
171
|
-
});
|
172
|
-
this.core.LGel.on(lGEvents.beforeSlide + ".thumb", function (event) {
|
173
|
-
var index = event.detail.index;
|
174
|
-
_this.animateThumb(index);
|
175
|
-
});
|
176
|
-
this.core.LGel.on(lGEvents.beforeOpen + ".thumb", function () {
|
177
|
-
_this.thumbOuterWidth = _this.core.outer.get().offsetWidth;
|
178
|
-
});
|
179
|
-
this.core.LGel.on(lGEvents.updateSlides + ".thumb", function () {
|
180
|
-
_this.rebuildThumbnails();
|
181
|
-
});
|
182
|
-
this.core.LGel.on(lGEvents.containerResize + ".thumb", function () {
|
183
|
-
if (!_this.core.lgOpened)
|
184
|
-
return;
|
185
|
-
setTimeout(function () {
|
186
|
-
_this.thumbOuterWidth = _this.core.outer.get().offsetWidth;
|
187
|
-
_this.animateThumb(_this.core.index);
|
188
|
-
_this.thumbOuterWidth = _this.core.outer.get().offsetWidth;
|
189
|
-
}, 50);
|
190
|
-
});
|
191
|
-
};
|
192
|
-
Thumbnail.prototype.setThumbMarkup = function () {
|
193
|
-
var thumbOuterClassNames = 'lg-thumb-outer ';
|
194
|
-
if (this.settings.alignThumbnails) {
|
195
|
-
thumbOuterClassNames += "lg-thumb-align-" + this.settings.alignThumbnails;
|
196
|
-
}
|
197
|
-
var html = "<div class=\"" + thumbOuterClassNames + "\">\n <div class=\"lg-thumb lg-group\">\n </div>\n </div>";
|
198
|
-
this.core.outer.addClass('lg-has-thumb');
|
199
|
-
if (this.settings.appendThumbnailsTo === '.lg-components') {
|
200
|
-
this.core.$lgComponents.append(html);
|
201
|
-
}
|
202
|
-
else {
|
203
|
-
this.core.outer.append(html);
|
204
|
-
}
|
205
|
-
this.$thumbOuter = this.core.outer.find('.lg-thumb-outer').first();
|
206
|
-
this.$lgThumb = this.core.outer.find('.lg-thumb').first();
|
207
|
-
if (this.settings.animateThumb) {
|
208
|
-
this.core.outer
|
209
|
-
.find('.lg-thumb')
|
210
|
-
.css('transition-duration', this.core.settings.speed + 'ms')
|
211
|
-
.css('width', this.thumbTotalWidth + 'px')
|
212
|
-
.css('position', 'relative');
|
213
|
-
}
|
214
|
-
this.setThumbItemHtml(this.core.galleryItems);
|
215
|
-
};
|
216
|
-
Thumbnail.prototype.enableThumbDrag = function () {
|
217
|
-
var _this = this;
|
218
|
-
var thumbDragUtils = {
|
219
|
-
cords: {
|
220
|
-
startX: 0,
|
221
|
-
endX: 0,
|
222
|
-
},
|
223
|
-
isMoved: false,
|
224
|
-
newTranslateX: 0,
|
225
|
-
startTime: new Date(),
|
226
|
-
endTime: new Date(),
|
227
|
-
touchMoveTime: 0,
|
228
|
-
};
|
229
|
-
var isDragging = false;
|
230
|
-
this.$thumbOuter.addClass('lg-grab');
|
231
|
-
this.core.outer
|
232
|
-
.find('.lg-thumb')
|
233
|
-
.first()
|
234
|
-
.on('mousedown.lg.thumb', function (e) {
|
235
|
-
if (_this.thumbTotalWidth > _this.thumbOuterWidth) {
|
236
|
-
// execute only on .lg-object
|
237
|
-
e.preventDefault();
|
238
|
-
thumbDragUtils.cords.startX = e.pageX;
|
239
|
-
thumbDragUtils.startTime = new Date();
|
240
|
-
_this.thumbClickable = false;
|
241
|
-
isDragging = true;
|
242
|
-
// ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723
|
243
|
-
_this.core.outer.get().scrollLeft += 1;
|
244
|
-
_this.core.outer.get().scrollLeft -= 1;
|
245
|
-
// *
|
246
|
-
_this.$thumbOuter
|
247
|
-
.removeClass('lg-grab')
|
248
|
-
.addClass('lg-grabbing');
|
249
|
-
}
|
250
|
-
});
|
251
|
-
this.$LG(window).on("mousemove.lg.thumb.global" + this.core.lgId, function (e) {
|
252
|
-
if (!_this.core.lgOpened)
|
253
|
-
return;
|
254
|
-
if (isDragging) {
|
255
|
-
thumbDragUtils.cords.endX = e.pageX;
|
256
|
-
thumbDragUtils = _this.onThumbTouchMove(thumbDragUtils);
|
257
|
-
}
|
258
|
-
});
|
259
|
-
this.$LG(window).on("mouseup.lg.thumb.global" + this.core.lgId, function () {
|
260
|
-
if (!_this.core.lgOpened)
|
261
|
-
return;
|
262
|
-
if (thumbDragUtils.isMoved) {
|
263
|
-
thumbDragUtils = _this.onThumbTouchEnd(thumbDragUtils);
|
264
|
-
}
|
265
|
-
else {
|
266
|
-
_this.thumbClickable = true;
|
267
|
-
}
|
268
|
-
if (isDragging) {
|
269
|
-
isDragging = false;
|
270
|
-
_this.$thumbOuter.removeClass('lg-grabbing').addClass('lg-grab');
|
271
|
-
}
|
272
|
-
});
|
273
|
-
};
|
274
|
-
Thumbnail.prototype.enableThumbSwipe = function () {
|
275
|
-
var _this = this;
|
276
|
-
var thumbDragUtils = {
|
277
|
-
cords: {
|
278
|
-
startX: 0,
|
279
|
-
endX: 0,
|
280
|
-
},
|
281
|
-
isMoved: false,
|
282
|
-
newTranslateX: 0,
|
283
|
-
startTime: new Date(),
|
284
|
-
endTime: new Date(),
|
285
|
-
touchMoveTime: 0,
|
286
|
-
};
|
287
|
-
this.$lgThumb.on('touchstart.lg', function (e) {
|
288
|
-
if (_this.thumbTotalWidth > _this.thumbOuterWidth) {
|
289
|
-
e.preventDefault();
|
290
|
-
thumbDragUtils.cords.startX = e.targetTouches[0].pageX;
|
291
|
-
_this.thumbClickable = false;
|
292
|
-
thumbDragUtils.startTime = new Date();
|
293
|
-
}
|
294
|
-
});
|
295
|
-
this.$lgThumb.on('touchmove.lg', function (e) {
|
296
|
-
if (_this.thumbTotalWidth > _this.thumbOuterWidth) {
|
297
|
-
e.preventDefault();
|
298
|
-
thumbDragUtils.cords.endX = e.targetTouches[0].pageX;
|
299
|
-
thumbDragUtils = _this.onThumbTouchMove(thumbDragUtils);
|
300
|
-
}
|
301
|
-
});
|
302
|
-
this.$lgThumb.on('touchend.lg', function () {
|
303
|
-
if (thumbDragUtils.isMoved) {
|
304
|
-
thumbDragUtils = _this.onThumbTouchEnd(thumbDragUtils);
|
305
|
-
}
|
306
|
-
else {
|
307
|
-
_this.thumbClickable = true;
|
308
|
-
}
|
309
|
-
});
|
310
|
-
};
|
311
|
-
// Rebuild thumbnails
|
312
|
-
Thumbnail.prototype.rebuildThumbnails = function () {
|
313
|
-
var _this = this;
|
314
|
-
// Remove transitions
|
315
|
-
this.$thumbOuter.addClass('lg-rebuilding-thumbnails');
|
316
|
-
setTimeout(function () {
|
317
|
-
_this.thumbTotalWidth =
|
318
|
-
_this.core.galleryItems.length *
|
319
|
-
(_this.settings.thumbWidth + _this.settings.thumbMargin);
|
320
|
-
_this.$lgThumb.css('width', _this.thumbTotalWidth + 'px');
|
321
|
-
_this.$lgThumb.empty();
|
322
|
-
_this.setThumbItemHtml(_this.core.galleryItems);
|
323
|
-
_this.animateThumb(_this.core.index);
|
324
|
-
}, 50);
|
325
|
-
setTimeout(function () {
|
326
|
-
_this.$thumbOuter.removeClass('lg-rebuilding-thumbnails');
|
327
|
-
}, 200);
|
328
|
-
};
|
329
|
-
// @ts-check
|
330
|
-
Thumbnail.prototype.setTranslate = function (value) {
|
331
|
-
this.$lgThumb.css('transform', 'translate3d(-' + value + 'px, 0px, 0px)');
|
332
|
-
};
|
333
|
-
Thumbnail.prototype.getPossibleTransformX = function (left) {
|
334
|
-
if (left > this.thumbTotalWidth - this.thumbOuterWidth) {
|
335
|
-
left = this.thumbTotalWidth - this.thumbOuterWidth;
|
336
|
-
}
|
337
|
-
if (left < 0) {
|
338
|
-
left = 0;
|
339
|
-
}
|
340
|
-
return left;
|
341
|
-
};
|
342
|
-
Thumbnail.prototype.animateThumb = function (index) {
|
343
|
-
this.$lgThumb.css('transition-duration', this.core.settings.speed + 'ms');
|
344
|
-
if (this.settings.animateThumb) {
|
345
|
-
var position = 0;
|
346
|
-
switch (this.settings.currentPagerPosition) {
|
347
|
-
case 'left':
|
348
|
-
position = 0;
|
349
|
-
break;
|
350
|
-
case 'middle':
|
351
|
-
position =
|
352
|
-
this.thumbOuterWidth / 2 - this.settings.thumbWidth / 2;
|
353
|
-
break;
|
354
|
-
case 'right':
|
355
|
-
position = this.thumbOuterWidth - this.settings.thumbWidth;
|
356
|
-
}
|
357
|
-
this.translateX =
|
358
|
-
(this.settings.thumbWidth + this.settings.thumbMargin) * index -
|
359
|
-
1 -
|
360
|
-
position;
|
361
|
-
if (this.translateX > this.thumbTotalWidth - this.thumbOuterWidth) {
|
362
|
-
this.translateX = this.thumbTotalWidth - this.thumbOuterWidth;
|
363
|
-
}
|
364
|
-
if (this.translateX < 0) {
|
365
|
-
this.translateX = 0;
|
366
|
-
}
|
367
|
-
this.setTranslate(this.translateX);
|
368
|
-
}
|
369
|
-
};
|
370
|
-
Thumbnail.prototype.onThumbTouchMove = function (thumbDragUtils) {
|
371
|
-
thumbDragUtils.newTranslateX = this.translateX;
|
372
|
-
thumbDragUtils.isMoved = true;
|
373
|
-
thumbDragUtils.touchMoveTime = new Date().valueOf();
|
374
|
-
thumbDragUtils.newTranslateX -=
|
375
|
-
thumbDragUtils.cords.endX - thumbDragUtils.cords.startX;
|
376
|
-
thumbDragUtils.newTranslateX = this.getPossibleTransformX(thumbDragUtils.newTranslateX);
|
377
|
-
// move current slide
|
378
|
-
this.setTranslate(thumbDragUtils.newTranslateX);
|
379
|
-
this.$thumbOuter.addClass('lg-dragging');
|
380
|
-
return thumbDragUtils;
|
381
|
-
};
|
382
|
-
Thumbnail.prototype.onThumbTouchEnd = function (thumbDragUtils) {
|
383
|
-
thumbDragUtils.isMoved = false;
|
384
|
-
thumbDragUtils.endTime = new Date();
|
385
|
-
this.$thumbOuter.removeClass('lg-dragging');
|
386
|
-
var touchDuration = thumbDragUtils.endTime.valueOf() -
|
387
|
-
thumbDragUtils.startTime.valueOf();
|
388
|
-
var distanceXnew = thumbDragUtils.cords.endX - thumbDragUtils.cords.startX;
|
389
|
-
var speedX = Math.abs(distanceXnew) / touchDuration;
|
390
|
-
// Some magical numbers
|
391
|
-
// Can be improved
|
392
|
-
if (speedX > 0.15 &&
|
393
|
-
thumbDragUtils.endTime.valueOf() - thumbDragUtils.touchMoveTime < 30) {
|
394
|
-
speedX += 1;
|
395
|
-
if (speedX > 2) {
|
396
|
-
speedX += 1;
|
397
|
-
}
|
398
|
-
speedX =
|
399
|
-
speedX +
|
400
|
-
speedX * (Math.abs(distanceXnew) / this.thumbOuterWidth);
|
401
|
-
this.$lgThumb.css('transition-duration', Math.min(speedX - 1, 2) + 'settings');
|
402
|
-
distanceXnew = distanceXnew * speedX;
|
403
|
-
this.translateX = this.getPossibleTransformX(this.translateX - distanceXnew);
|
404
|
-
this.setTranslate(this.translateX);
|
405
|
-
}
|
406
|
-
else {
|
407
|
-
this.translateX = thumbDragUtils.newTranslateX;
|
408
|
-
}
|
409
|
-
if (Math.abs(thumbDragUtils.cords.endX - thumbDragUtils.cords.startX) <
|
410
|
-
this.settings.thumbnailSwipeThreshold) {
|
411
|
-
this.thumbClickable = true;
|
412
|
-
}
|
413
|
-
return thumbDragUtils;
|
414
|
-
};
|
415
|
-
Thumbnail.prototype.getThumbHtml = function (thumb, index, alt) {
|
416
|
-
var slideVideoInfo = this.core.galleryItems[index].__slideVideoInfo || {};
|
417
|
-
var thumbImg;
|
418
|
-
if (slideVideoInfo.youtube) {
|
419
|
-
if (this.settings.loadYouTubeThumbnail) {
|
420
|
-
thumbImg =
|
421
|
-
'//img.youtube.com/vi/' +
|
422
|
-
slideVideoInfo.youtube[1] +
|
423
|
-
'/' +
|
424
|
-
this.settings.youTubeThumbSize +
|
425
|
-
'.jpg';
|
426
|
-
}
|
427
|
-
else {
|
428
|
-
thumbImg = thumb;
|
429
|
-
}
|
430
|
-
}
|
431
|
-
else {
|
432
|
-
thumbImg = thumb;
|
433
|
-
}
|
434
|
-
var altAttr = alt ? 'alt="' + alt + '"' : '';
|
435
|
-
return "<div data-lg-item-id=\"" + index + "\" class=\"lg-thumb-item " + (index === this.core.index ? ' active' : '') + "\"\n style=\"width:" + this.settings.thumbWidth + "px; height: " + this.settings.thumbHeight + ";\n margin-right: " + this.settings.thumbMargin + "px;\">\n <img " + altAttr + " data-lg-item-id=\"" + index + "\" src=\"" + thumbImg + "\" />\n </div>";
|
436
|
-
};
|
437
|
-
Thumbnail.prototype.getThumbItemHtml = function (items) {
|
438
|
-
var thumbList = '';
|
439
|
-
for (var i = 0; i < items.length; i++) {
|
440
|
-
thumbList += this.getThumbHtml(items[i].thumb, i, items[i].alt);
|
441
|
-
}
|
442
|
-
return thumbList;
|
443
|
-
};
|
444
|
-
Thumbnail.prototype.setThumbItemHtml = function (items) {
|
445
|
-
var thumbList = this.getThumbItemHtml(items);
|
446
|
-
this.$lgThumb.html(thumbList);
|
447
|
-
};
|
448
|
-
Thumbnail.prototype.setAnimateThumbStyles = function () {
|
449
|
-
if (this.settings.animateThumb) {
|
450
|
-
this.core.outer.addClass('lg-animate-thumb');
|
451
|
-
}
|
452
|
-
};
|
453
|
-
// Manage thumbnail active calss
|
454
|
-
Thumbnail.prototype.manageActiveClassOnSlideChange = function () {
|
455
|
-
var _this = this;
|
456
|
-
// manage active class for thumbnail
|
457
|
-
this.core.LGel.on(lGEvents.beforeSlide + ".thumb", function (event) {
|
458
|
-
var $thumb = _this.core.outer.find('.lg-thumb-item');
|
459
|
-
var index = event.detail.index;
|
460
|
-
$thumb.removeClass('active');
|
461
|
-
$thumb.eq(index).addClass('active');
|
462
|
-
});
|
463
|
-
};
|
464
|
-
// Toggle thumbnail bar
|
465
|
-
Thumbnail.prototype.toggleThumbBar = function () {
|
466
|
-
var _this = this;
|
467
|
-
if (this.settings.toggleThumb) {
|
468
|
-
this.core.outer.addClass('lg-can-toggle');
|
469
|
-
this.core.$toolbar.append('<button type="button" aria-label="' +
|
470
|
-
this.settings.thumbnailPluginStrings['toggleThumbnails'] +
|
471
|
-
'" class="lg-toggle-thumb lg-icon"></button>');
|
472
|
-
this.core.outer
|
473
|
-
.find('.lg-toggle-thumb')
|
474
|
-
.first()
|
475
|
-
.on('click.lg', function () {
|
476
|
-
_this.core.outer.toggleClass('lg-components-open');
|
477
|
-
});
|
478
|
-
}
|
479
|
-
};
|
480
|
-
Thumbnail.prototype.thumbKeyPress = function () {
|
481
|
-
var _this = this;
|
482
|
-
this.$LG(window).on("keydown.lg.thumb.global" + this.core.lgId, function (e) {
|
483
|
-
if (!_this.core.lgOpened || !_this.settings.toggleThumb)
|
484
|
-
return;
|
485
|
-
if (e.keyCode === 38) {
|
486
|
-
e.preventDefault();
|
487
|
-
_this.core.outer.addClass('lg-components-open');
|
488
|
-
}
|
489
|
-
else if (e.keyCode === 40) {
|
490
|
-
e.preventDefault();
|
491
|
-
_this.core.outer.removeClass('lg-components-open');
|
492
|
-
}
|
493
|
-
});
|
494
|
-
};
|
495
|
-
Thumbnail.prototype.destroy = function () {
|
496
|
-
if (this.settings.thumbnail) {
|
497
|
-
this.$LG(window).off(".lg.thumb.global" + this.core.lgId);
|
498
|
-
this.core.LGel.off('.lg.thumb');
|
499
|
-
this.core.LGel.off('.thumb');
|
500
|
-
this.$thumbOuter.remove();
|
501
|
-
this.core.outer.removeClass('lg-has-thumb');
|
502
|
-
}
|
503
|
-
};
|
504
|
-
return Thumbnail;
|
505
|
-
}());
|
506
|
-
|
507
|
-
return Thumbnail;
|
508
|
-
|
509
|
-
})));
|
@@ -1,26 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
# -----------------------------------------------------------------------------
|
3
|
-
# ~/assets/theme/j1/modules/lightGallery/js/plugins/lg-thumbnail.min.js
|
4
|
-
# Provides lightGallery JS code for the plugin lgThumbnail
|
5
|
-
#
|
6
|
-
# Product/Info:
|
7
|
-
# https://jekyll.one
|
8
|
-
#
|
9
|
-
# Copyright (C) 2025 Sachin Neravath
|
10
|
-
# Copyright (C) 2023-2025 Juergen Adams
|
11
|
-
#
|
12
|
-
# J1 Template is licensed under the MIT License.
|
13
|
-
# See: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE
|
14
|
-
# lightGallery is licensed under the GPLv3 license
|
15
|
-
# See: https://github.com/sachinchoolur/lightGallery/blob/master/LICENSE
|
16
|
-
# -----------------------------------------------------------------------------
|
17
|
-
*/
|
18
|
-
|
19
|
-
/**
|
20
|
-
* lightgallery | 2.7.2 | September 20th 2023
|
21
|
-
* http://www.lightgalleryjs.com/
|
22
|
-
* Copyright (c) 2020 Sachin Neravath;
|
23
|
-
* @license GPLv3
|
24
|
-
*/
|
25
|
-
|
26
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).lgThumbnail=e()}(this,(function(){"use strict";var t=function(){return(t=Object.assign||function(t){for(var e,i=1,s=arguments.length;i<s;i++)for(var h in e=arguments[i])Object.prototype.hasOwnProperty.call(e,h)&&(t[h]=e[h]);return t}).apply(this,arguments)},e={thumbnail:!0,animateThumb:!0,currentPagerPosition:"middle",alignThumbnails:"middle",thumbWidth:100,thumbHeight:"80px",thumbMargin:5,appendThumbnailsTo:".lg-components",toggleThumb:!1,enableThumbDrag:!0,enableThumbSwipe:!0,thumbnailSwipeThreshold:10,loadYouTubeThumbnail:!0,youTubeThumbSize:1,thumbnailPluginStrings:{toggleThumbnails:"Toggle thumbnails"}},i="lgContainerResize",s="lgUpdateSlides",h="lgBeforeOpen",n="lgBeforeSlide";return function(){function o(t,e){return this.thumbOuterWidth=0,this.thumbTotalWidth=0,this.translateX=0,this.thumbClickable=!1,this.core=t,this.$LG=e,this}return o.prototype.init=function(){this.settings=t(t({},e),this.core.settings),this.thumbOuterWidth=0,this.thumbTotalWidth=this.core.galleryItems.length*(this.settings.thumbWidth+this.settings.thumbMargin),this.translateX=0,this.setAnimateThumbStyles(),this.core.settings.allowMediaOverlap||(this.settings.toggleThumb=!1),this.settings.thumbnail&&(this.build(),this.settings.animateThumb?(this.settings.enableThumbDrag&&this.enableThumbDrag(),this.settings.enableThumbSwipe&&this.enableThumbSwipe(),this.thumbClickable=!1):this.thumbClickable=!0,this.toggleThumbBar(),this.thumbKeyPress())},o.prototype.build=function(){var t=this;this.setThumbMarkup(),this.manageActiveClassOnSlideChange(),this.$lgThumb.first().on("click.lg touchend.lg",(function(e){var i=t.$LG(e.target);i.hasAttribute("data-lg-item-id")&&setTimeout((function(){if(t.thumbClickable&&!t.core.lgBusy){var e=parseInt(i.attr("data-lg-item-id"));t.core.slide(e,!1,!0,!1)}}),50)})),this.core.LGel.on(n+".thumb",(function(e){var i=e.detail.index;t.animateThumb(i)})),this.core.LGel.on(h+".thumb",(function(){t.thumbOuterWidth=t.core.outer.get().offsetWidth})),this.core.LGel.on(s+".thumb",(function(){t.rebuildThumbnails()})),this.core.LGel.on(i+".thumb",(function(){t.core.lgOpened&&setTimeout((function(){t.thumbOuterWidth=t.core.outer.get().offsetWidth,t.animateThumb(t.core.index),t.thumbOuterWidth=t.core.outer.get().offsetWidth}),50)}))},o.prototype.setThumbMarkup=function(){var t="lg-thumb-outer ";this.settings.alignThumbnails&&(t+="lg-thumb-align-"+this.settings.alignThumbnails);var e='<div class="'+t+'">\n <div class="lg-thumb lg-group">\n </div>\n </div>';this.core.outer.addClass("lg-has-thumb"),".lg-components"===this.settings.appendThumbnailsTo?this.core.$lgComponents.append(e):this.core.outer.append(e),this.$thumbOuter=this.core.outer.find(".lg-thumb-outer").first(),this.$lgThumb=this.core.outer.find(".lg-thumb").first(),this.settings.animateThumb&&this.core.outer.find(".lg-thumb").css("transition-duration",this.core.settings.speed+"ms").css("width",this.thumbTotalWidth+"px").css("position","relative"),this.setThumbItemHtml(this.core.galleryItems)},o.prototype.enableThumbDrag=function(){var t=this,e={cords:{startX:0,endX:0},isMoved:!1,newTranslateX:0,startTime:new Date,endTime:new Date,touchMoveTime:0},i=!1;this.$thumbOuter.addClass("lg-grab"),this.core.outer.find(".lg-thumb").first().on("mousedown.lg.thumb",(function(s){t.thumbTotalWidth>t.thumbOuterWidth&&(s.preventDefault(),e.cords.startX=s.pageX,e.startTime=new Date,t.thumbClickable=!1,i=!0,t.core.outer.get().scrollLeft+=1,t.core.outer.get().scrollLeft-=1,t.$thumbOuter.removeClass("lg-grab").addClass("lg-grabbing"))})),this.$LG(window).on("mousemove.lg.thumb.global"+this.core.lgId,(function(s){t.core.lgOpened&&i&&(e.cords.endX=s.pageX,e=t.onThumbTouchMove(e))})),this.$LG(window).on("mouseup.lg.thumb.global"+this.core.lgId,(function(){t.core.lgOpened&&(e.isMoved?e=t.onThumbTouchEnd(e):t.thumbClickable=!0,i&&(i=!1,t.$thumbOuter.removeClass("lg-grabbing").addClass("lg-grab")))}))},o.prototype.enableThumbSwipe=function(){var t=this,e={cords:{startX:0,endX:0},isMoved:!1,newTranslateX:0,startTime:new Date,endTime:new Date,touchMoveTime:0};this.$lgThumb.on("touchstart.lg",(function(i){t.thumbTotalWidth>t.thumbOuterWidth&&(i.preventDefault(),e.cords.startX=i.targetTouches[0].pageX,t.thumbClickable=!1,e.startTime=new Date)})),this.$lgThumb.on("touchmove.lg",(function(i){t.thumbTotalWidth>t.thumbOuterWidth&&(i.preventDefault(),e.cords.endX=i.targetTouches[0].pageX,e=t.onThumbTouchMove(e))})),this.$lgThumb.on("touchend.lg",(function(){e.isMoved?e=t.onThumbTouchEnd(e):t.thumbClickable=!0}))},o.prototype.rebuildThumbnails=function(){var t=this;this.$thumbOuter.addClass("lg-rebuilding-thumbnails"),setTimeout((function(){t.thumbTotalWidth=t.core.galleryItems.length*(t.settings.thumbWidth+t.settings.thumbMargin),t.$lgThumb.css("width",t.thumbTotalWidth+"px"),t.$lgThumb.empty(),t.setThumbItemHtml(t.core.galleryItems),t.animateThumb(t.core.index)}),50),setTimeout((function(){t.$thumbOuter.removeClass("lg-rebuilding-thumbnails")}),200)},o.prototype.setTranslate=function(t){this.$lgThumb.css("transform","translate3d(-"+t+"px, 0px, 0px)")},o.prototype.getPossibleTransformX=function(t){return t>this.thumbTotalWidth-this.thumbOuterWidth&&(t=this.thumbTotalWidth-this.thumbOuterWidth),t<0&&(t=0),t},o.prototype.animateThumb=function(t){if(this.$lgThumb.css("transition-duration",this.core.settings.speed+"ms"),this.settings.animateThumb){var e=0;switch(this.settings.currentPagerPosition){case"left":e=0;break;case"middle":e=this.thumbOuterWidth/2-this.settings.thumbWidth/2;break;case"right":e=this.thumbOuterWidth-this.settings.thumbWidth}this.translateX=(this.settings.thumbWidth+this.settings.thumbMargin)*t-1-e,this.translateX>this.thumbTotalWidth-this.thumbOuterWidth&&(this.translateX=this.thumbTotalWidth-this.thumbOuterWidth),this.translateX<0&&(this.translateX=0),this.setTranslate(this.translateX)}},o.prototype.onThumbTouchMove=function(t){return t.newTranslateX=this.translateX,t.isMoved=!0,t.touchMoveTime=(new Date).valueOf(),t.newTranslateX-=t.cords.endX-t.cords.startX,t.newTranslateX=this.getPossibleTransformX(t.newTranslateX),this.setTranslate(t.newTranslateX),this.$thumbOuter.addClass("lg-dragging"),t},o.prototype.onThumbTouchEnd=function(t){t.isMoved=!1,t.endTime=new Date,this.$thumbOuter.removeClass("lg-dragging");var e=t.endTime.valueOf()-t.startTime.valueOf(),i=t.cords.endX-t.cords.startX,s=Math.abs(i)/e;return s>.15&&t.endTime.valueOf()-t.touchMoveTime<30?((s+=1)>2&&(s+=1),s+=s*(Math.abs(i)/this.thumbOuterWidth),this.$lgThumb.css("transition-duration",Math.min(s-1,2)+"settings"),i*=s,this.translateX=this.getPossibleTransformX(this.translateX-i),this.setTranslate(this.translateX)):this.translateX=t.newTranslateX,Math.abs(t.cords.endX-t.cords.startX)<this.settings.thumbnailSwipeThreshold&&(this.thumbClickable=!0),t},o.prototype.getThumbHtml=function(t,e,i){var s,h=this.core.galleryItems[e].__slideVideoInfo||{};s=h.youtube&&this.settings.loadYouTubeThumbnail?"//img.youtube.com/vi/"+h.youtube[1]+"/"+this.settings.youTubeThumbSize+".jpg":t;var n=i?'alt="'+i+'"':"";return'<div data-lg-item-id="'+e+'" class="lg-thumb-item '+(e===this.core.index?" active":"")+'"\n style="width:'+this.settings.thumbWidth+"px; height: "+this.settings.thumbHeight+";\n margin-right: "+this.settings.thumbMargin+'px;">\n <img '+n+' data-lg-item-id="'+e+'" src="'+s+'" />\n </div>'},o.prototype.getThumbItemHtml=function(t){for(var e="",i=0;i<t.length;i++)e+=this.getThumbHtml(t[i].thumb,i,t[i].alt);return e},o.prototype.setThumbItemHtml=function(t){var e=this.getThumbItemHtml(t);this.$lgThumb.html(e)},o.prototype.setAnimateThumbStyles=function(){this.settings.animateThumb&&this.core.outer.addClass("lg-animate-thumb")},o.prototype.manageActiveClassOnSlideChange=function(){var t=this;this.core.LGel.on(n+".thumb",(function(e){var i=t.core.outer.find(".lg-thumb-item"),s=e.detail.index;i.removeClass("active"),i.eq(s).addClass("active")}))},o.prototype.toggleThumbBar=function(){var t=this;this.settings.toggleThumb&&(this.core.outer.addClass("lg-can-toggle"),this.core.$toolbar.append('<button type="button" aria-label="'+this.settings.thumbnailPluginStrings.toggleThumbnails+'" class="lg-toggle-thumb lg-icon"></button>'),this.core.outer.find(".lg-toggle-thumb").first().on("click.lg",(function(){t.core.outer.toggleClass("lg-components-open")})))},o.prototype.thumbKeyPress=function(){var t=this;this.$LG(window).on("keydown.lg.thumb.global"+this.core.lgId,(function(e){t.core.lgOpened&&t.settings.toggleThumb&&(38===e.keyCode?(e.preventDefault(),t.core.outer.addClass("lg-components-open")):40===e.keyCode&&(e.preventDefault(),t.core.outer.removeClass("lg-components-open")))}))},o.prototype.destroy=function(){this.settings.thumbnail&&(this.$LG(window).off(".lg.thumb.global"+this.core.lgId),this.core.LGel.off(".lg.thumb"),this.core.LGel.off(".thumb"),this.$thumbOuter.remove(),this.core.outer.removeClass("lg-has-thumb"))},o}()}));
|