j1-template 2024.3.22 → 2024.3.23
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/{galeries.html → gallery_app.html} +4 -4
- data/assets/theme/bla +0 -0
- data/assets/theme/j1/adapter/js/amplitude.js +144 -52
- data/assets/theme/j1/adapter/js/gallery.js +1 -1
- data/assets/theme/j1/adapter/js/themes.js +41 -69
- data/assets/theme/j1/core/css/themes/unolight/bootstrap.css +19 -52
- data/assets/theme/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
- data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.js +466 -396
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/lg-transitions.css +984 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/lg-transitions.min.css +26 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/lightgallery-bundle.css +1627 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/lightgallery-bundle.min.css +25 -0
- data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/uno.css +1 -1
- data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/uno.min.css +1 -1
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/fonts/lg.svg +54 -0
- 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 +2782 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/lightgallery.min.js +26 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/parser/webvtt/LICENSE.md +44 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/parser/webvtt/README.md +37 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/parser/webvtt/parser.js +890 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/parser/webvtt/parser.min.js +8 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/j1/lg-video.1.js +585 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-autoplay.js +275 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-autoplay.min.js +26 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-comment.js +230 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-comment.min.js +26 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-fullscreen.js +160 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-fullscreen.min.js +26 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-hash.js +223 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-hash.min.js +27 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-medium-zoom.js +157 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-medium-zoom.min.js +26 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-pager.js +164 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-pager.min.js +26 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-rotate.js +299 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-rotate.min.js +26 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-share.js +244 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-share.min.js +27 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-thumbnail.js +509 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-thumbnail.min.js +26 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-video.js +909 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-video.min.js +26 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-vimeo-thumbnail.js +207 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-vimeo-thumbnail.min.js +26 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-zoom.js +999 -0
- data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-zoom.min.js +26 -0
- data/assets/theme/j1/modules/lightGallery/css/lg-transitions.css +3 -126
- data/assets/theme/j1/modules/lightGallery/css/lg-transitions.min.css +3 -10
- data/assets/theme/j1/modules/lightGallery/css/lightgallery-bundle.css +70 -237
- data/assets/theme/j1/modules/lightGallery/css/lightgallery-bundle.min.css +4 -10
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/animation-w.png +0 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/customize-w.png +0 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/dynamic-w.png +0 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/facebook-icon.svg +10 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/googleplus-icon.svg +30 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/html5-w.png +0 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/linked-in.png +0 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/module-w.png +0 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/play-button-hover.svg +94 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/play-button.png +0 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/play-button.svg +93 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/responsive-w.png +0 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/thumb-w.png +0 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/touch-w.png +0 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/twitter-icon.svg +15 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/twitter.png +0 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/video1-w.png +0 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/zoom-w.png +0 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/zoom.png +0 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/uno.css +276 -0
- data/assets/theme/j1/modules/lightGallery/css/theme/uno/uno.min.css +17 -0
- data/assets/theme/j1/modules/lightGallery/js/lightgallery.js +163 -120
- data/assets/theme/j1/modules/lightGallery/js/lightgallery.min.js +6 -6
- data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-thumbnail.0.js +495 -0
- data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-thumbnail.1.js +513 -0
- data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-video.0.js +553 -0
- data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-video.1.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-video.2.js +914 -0
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-autoplay.js +4 -4
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-autoplay.min.js +5 -5
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-comment.js +5 -5
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-comment.min.js +6 -6
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-fullscreen.js +4 -4
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-fullscreen.min.js +5 -5
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-hash.js +4 -4
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-hash.min.js +5 -6
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-medium-zoom.js +5 -5
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-medium-zoom.min.js +6 -6
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-pager.js +4 -4
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-pager.min.js +5 -5
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-relative-caption.js +179 -0
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-relative-caption.min.js +32 -0
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-rotate.js +4 -4
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-rotate.min.js +6 -6
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-share.js +4 -4
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-share.min.js +6 -7
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-thumbnail.js +27 -20
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-thumbnail.min.js +5 -5
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.js +77 -125
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.min.js +6 -6
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-vimeo-thumbnail.js +4 -4
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-vimeo-thumbnail.min.js +5 -5
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-zoom.js +11 -5
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-zoom.min.js +5 -5
- data/assets/theme/j1/modules/themeSwitcher/js/switcher.js +13 -12
- data/assets/theme/j1/modules/videoPlayer/tiktoc/README.md +1 -0
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/font/README.md +151 -0
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/font/VideoJS.svg +150 -0
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/city.css +147 -0
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/city.min.css +5 -0
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/fantasy.css +113 -0
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/fantasy.min.css +5 -0
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/forest.css +166 -0
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/forest.min.css +5 -0
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/sea.css +72 -0
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/sea.min.css +5 -0
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/uno.css +311 -0
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/uno.min.css +19 -0
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/videojs.css +1686 -0
- data/assets/theme/j1/modules/videojs/!v8.12.0/css/videojs.min.css +13 -0
- data/assets/theme/j1/modules/videojs/!v8.12.0/js/video.js +65226 -0
- data/assets/theme/j1/modules/videojs/!v8.12.0/js/video.min.js +55 -0
- data/assets/theme/j1/modules/videojs/assets/README.md +1 -0
- data/assets/theme/j1/modules/videojs/assets/icons/speedometer-medium.svg +35 -0
- data/assets/theme/j1/modules/videojs/css/font/VideoJS.ttf +0 -0
- data/assets/theme/j1/modules/videojs/css/font/VideoJS.woff +0 -0
- data/assets/theme/j1/modules/videojs/css/themes/uno.css +157 -22
- data/assets/theme/j1/modules/videojs/css/themes/uno.min.css +1 -1
- data/assets/theme/j1/modules/videojs/css/videojs.css +674 -316
- data/assets/theme/j1/modules/videojs/css/videojs.min.css +4 -3
- data/assets/theme/j1/modules/videojs/js/video.js +15893 -12288
- data/assets/theme/j1/modules/videojs/js/video.min.js +22 -23
- data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/!examples/index.html +31 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/LICENSE +19 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/README.md +69 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/css/aspect-ratio-panel.css +2 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/css/aspect-ratio-panel.min.css +2 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/js/aspect-ratio-panel.js +339 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/js/aspect-ratio-panel.min.js +2 -0
- data/assets/theme/j1/modules/videojs/{js/plugins/controls/autocaption → plugins/controls/autocaption/js}/autocaption.js +0 -5
- data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/!examples/index.html +29 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/LICENSE +19 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/README.md +90 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/js/videojs-persist.js +120 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/js/videojs-persist.min.js +2 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/!examples/index.html +37 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/LICENSE +19 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/README.md +61 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/js/playbackrate-adjuster.js +94 -0
- data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/js/playbackrate-adjuster.min.js +20 -0
- data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/skipbuttons/README.md +25 -11
- data/assets/theme/j1/modules/videojs/{css/plugins/controls → plugins/controls/zoom/css}/zoom.css +7 -6
- data/assets/theme/j1/modules/videojs/plugins/controls/zoom/css/zoom.min.css +22 -0
- data/assets/theme/j1/modules/videojs/{js/plugins/players/dm → plugins/players/dm/js}/dailymotion.js +1 -1
- data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.0.js +521 -0
- data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.1.js +605 -0
- data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.3.js +643 -0
- data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.4.js +583 -0
- data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.5.js +665 -0
- data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.6.js +642 -0
- data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.7.js +673 -0
- data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/api → plugins/players/vm/api/js}/vimeo.js +1 -1
- data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/api → plugins/players/vm/api/js}/vimeo.min.js +1 -1
- data/assets/theme/j1/modules/videojs/{js/plugins/players/vm → plugins/players/vm/js}/vimeo.js +4 -5
- data/assets/theme/j1/modules/videojs/plugins/players/vm/js/vimeo.min.js +28 -0
- data/assets/theme/j1/modules/videojs/plugins/players/wt/!unused/wistia.0.js +395 -0
- data/assets/theme/j1/modules/videojs/plugins/players/wt/!unused/wistia.1.js +401 -0
- 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/modules/amplitude_playlists.yml +16 -1
- data/lib/starter_web/_data/modules/defaults/gallery.yml +3 -3
- data/lib/starter_web/_data/modules/gallery.yml +83 -87
- data/lib/starter_web/_data/modules/navigator_menu.yml +3 -3
- data/lib/starter_web/_data/resources.yml +16 -12
- data/lib/starter_web/_data/templates/feed.xml +1 -1
- data/lib/starter_web/_plugins/asciidoctor/videojs-block.rb +50 -30
- data/lib/starter_web/_plugins/asciidoctor/youtube-block.rb +37 -23
- data/lib/starter_web/_plugins/index/lunr.rb +1 -1
- data/lib/starter_web/assets/video/poster/vimeo/fall_2011.jpg +0 -0
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/tools/tester/videojs_macro_tester.adoc +282 -0
- data/lib/starter_web/pages/public/tour/video_data.adoc +1 -0
- metadata +221 -106
- data/assets/data/swiper_app.2.html +0 -757
- data/assets/data/swiper_app.4.html +0 -769
- data/assets/theme/j1/modules/videojs/css/plugins/controls/skipbuttons.0.css +0 -32
- data/assets/theme/j1/modules/videojs/css/plugins/controls/skipbuttons.1.css +0 -31
- data/assets/theme/j1/modules/videojs/css/plugins/controls/zoom.min.css +0 -21
- data/assets/theme/j1/modules/videojs/js/plugins/players/vm/vimeo.min.js +0 -16
- data/assets/theme/j1/modules/videojs/js/plugins/players/wt/api/src/WistiaPlayer.ts +0 -1617
- data/lib/starter_web/assets/video/poster/vimeo/stay_colorful.jpg +0 -0
- /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/animation-w.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/customize-w.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/dynamic-w.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/facebook-icon.svg +0 -0
- /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/googleplus-icon.svg +0 -0
- /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/html5-w.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/linked-in.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/module-w.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/play-button-hover.svg +0 -0
- /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/play-button.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/play-button.svg +0 -0
- /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/responsive-w.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/thumb-w.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/touch-w.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/twitter-icon.svg +0 -0
- /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/twitter.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/video1-w.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/zoom-w.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/zoom.png +0 -0
- /data/assets/theme/j1/modules/lightGallery/{js → !v2.7.2/js}/plugins/j1/j1-video.js +0 -0
- /data/assets/theme/j1/modules/lightGallery/{js → !v2.7.2/js}/plugins/j1/j1-video.min.js +0 -0
- /data/assets/theme/j1/modules/videoPlayer/dailymotion/js/{!readme → README.md} +0 -0
- /data/assets/theme/j1/modules/videoPlayer/tiktoc/{js/player.min.js → player.min.js} +0 -0
- /data/assets/theme/j1/modules/videoPlayer/vimeo/js/{!readme → README.md} +0 -0
- /data/assets/theme/j1/modules/videoPlayer/wistia/js/{!readme → README.md} +0 -0
- /data/assets/theme/j1/modules/videojs/{css → !v8.12.0/css}/font/video-js-cdn.css +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/autocaption/LICENSE +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/autocaption/README.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/autocaption → plugins/controls/autocaption/js}/autocaption.min.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/hotkeys/examples → plugins/controls/hotkeys/!examples}/example.html +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/hotkeys/LICENSE.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/hotkeys/README.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/hotkeys → plugins/controls/hotkeys/js}/hotkeys.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/hotkeys → plugins/controls/hotkeys/js}/hotkeys.min.js +0 -0
- /data/assets/theme/j1/modules/videojs/{css/plugins/controls → plugins/controls/skipbuttons/css}/skipbuttons.css +0 -0
- /data/assets/theme/j1/modules/videojs/{css/plugins/controls → plugins/controls/skipbuttons/css}/skipbuttons.min.css +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/skipbuttons → plugins/controls/skipbuttons/js}/skipbuttons.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/skipbuttons → plugins/controls/skipbuttons/js}/skipbuttons.min.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/zoom/examples → plugins/controls/zoom/!examples}/index.html +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/zoom/examples → plugins/controls/zoom/!examples}/index.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/zoom/examples → plugins/controls/zoom/!examples}/styles.css +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/zoom/LICENSE.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/zoom/README.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/zoom → plugins/controls/zoom/js}/zoom.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/controls/zoom → plugins/controls/zoom/js}/zoom.min.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/dailymotion-controls.html +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/dailymotion-javascript.html +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/dailymotion-playlist.html +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/global-parameters.html +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/simple.html +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/switch.html +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/dm/LICENSE +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/doc → plugins/players/dm}/README.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/dm/api/LICENSE +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/api/doc → plugins/players/dm/api}/README.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/api → plugins/players/dm/api/js}/dailymotion.sdk.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/api → plugins/players/dm/api/js}/dailymotion.sdk.min.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/dm/icon/scalable/dailymotion.svg +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm → plugins/players/dm/js}/dailymotion.min.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/examples → plugins/players/vm/!examples}/index.html +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/examples → plugins/players/vm/!examples}/player/index.html +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/vm/LICENSE +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/doc → plugins/players/vm}/README.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/api/doc → plugins/players/vm/api}/README.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/vm/api/css/embed.player.css +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/vm/api/css/embed.player.uno.css +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/vm/api/css/player.css +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/wt/doc → plugins/players/wt}/README.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/wt/api/doc/Readme.txt → plugins/players/wt/api/README.md} +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/wt/api → plugins/players/wt/api/js}/wistia.min.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/wt → plugins/players/wt/js}/wistia.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/wt → plugins/players/wt/js}/wistia.min.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/global-parameters.html +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/simple.html +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/switch.html +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/youtube-controls.html +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/youtube-javascript.html +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/youtube-list.html +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/youtube-playlist.html +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/v3.0.0 → plugins/players/yt/!v3.0.0}/youtube.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/v3.0.0 → plugins/players/yt/!v3.0.0}/youtube.min.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/yt/LICENSE +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/doc → plugins/players/yt}/README.md +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/api → plugins/players/yt/api/js}/youtube.min.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt → plugins/players/yt/js}/youtube.js +0 -0
- /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt → plugins/players/yt/js}/youtube.min.js +0 -0
@@ -0,0 +1,8 @@
|
|
1
|
+
// https://github.com/w3c/webvtt.js
|
2
|
+
//
|
3
|
+
// Any copyright is dedicated to the Public Domain.
|
4
|
+
// http://creativecommons.org/publicdomain/zero/1.0/
|
5
|
+
|
6
|
+
// Not intended to be fast, but if you can make it faster, please help out!
|
7
|
+
//
|
8
|
+
!function(){var e={direction:"horizontal",snapToLines:!0,linePosition:"auto",lineAlign:"start",textPosition:"auto",positionAlign:"auto",size:100,alignment:"center"},t=function(t){t||(t={"&":"&","<":"<",">":">","&lrm":"","&rlm":""," ":" "}),this.entities=t,this.parse=function(a,s){a=a.replace(/\0/g,"�");var r=Date.now(),o=0,l=a.split(/\r\n|\r|\n/),f=!1,u=[],c=[],p=[];function d(e,t){p.push({message:e,line:o+1,col:t})}var m=l[o],g=m.length,h=0,v="WEBVTT".length;for("\ufeff"===m[0]&&(h=1,v+=1),(g<v||m.indexOf("WEBVTT")!==0+h||g>v&&" "!==m[v]&&"\t"!==m[v])&&d('No valid signature. (File needs to start with "WEBVTT".)'),o++;""!=l[o]&&null!=l[o];){if(d("No blank line after the signature."),-1!=l[o].indexOf("--\x3e")){f=!0;break}o++}for(;null!=l[o];){for(var b;!f&&""==l[o];)o++;if(!f&&null==l[o])break;b=Object.assign({},e,{id:"",startTime:0,endTime:0,pauseOnExit:!1,direction:"horizontal",snapToLines:!0,linePosition:"auto",lineAlign:"start",textPosition:"auto",positionAlign:"auto",size:100,alignment:"center",text:"",tree:null});var T=!0;if(-1==l[o].indexOf("--\x3e")){if(b.id=l[o],/^NOTE($|[ \t])/.test(b.id)){for(o++;""!=l[o]&&null!=l[o];)-1!=l[o].indexOf("--\x3e")&&d("Cannot have timestamp in a comment."),o++;continue}if(/^STYLE($|[ \t])/.test(b.id)){var x=[],y=!1;for(o++;""!=l[o]&&null!=l[o];)-1!=l[o].indexOf("--\x3e")&&(d("Cannot have timestamp in a style block."),y=!0),x.push(l[o]),o++;if(c.length){d("Style blocks cannot appear after the first cue.");continue}y||u.push(x.join("\n"));continue}if(""==l[++o]||null==l[o]){d("Cue identifier cannot be standalone.");continue}if(-1==l[o].indexOf("--\x3e")){T=!1,d("Cue identifier needs to be followed by timestamp.");continue}}f=!1;var w=new n(l[o],d),O=0;if(c.length>0&&(O=c[c.length-1].startTime),!T||w.parse(b,O)){for(o++;""!=l[o]&&null!=l[o];){if(-1!=l[o].indexOf("--\x3e")){d("Blank line missing before cue."),f=!0;break}""!=b.text&&(b.text+="\n"),b.text+=l[o],o++}var A=new i(b.text,d,s,t);b.tree=A.parse(b.startTime,b.endTime),c.push(b)}else for(b=null,o++;""!=l[o]&&null!=l[o];){if(-1!=l[o].indexOf("--\x3e")){f=!0;break}o++}}return c.sort(function(e,t){return e.startTime<t.startTime?-1:e.startTime>t.startTime?1:e.endTime>t.endTime?-1:e.endTime<t.endTime?1:0}),{cues:c,errors:p,time:Date.now()-r,styles:u}}},n=function(e,t){var n=/[\u0020\t\f]/,i=/[^\u0020\t\f]/,a=(e=e,0),s=function(e){t(e,a+1)};function r(t){for(;null!=e[a]&&t.test(e[a]);)a++}function o(t){for(var n="";null!=e[a]&&t.test(e[a]);)n+=e[a],a++;return n}function l(){var t,n,i,r,l="minutes";if(null!=e[a])if(/\d/.test(e[a]))if(((t=o(/\d/)).length>2||parseInt(t,10)>59)&&(l="hours"),":"==e[a])if(a++,2==(n=o(/\d/)).length){if("hours"==l||":"==e[a]){if(":"!=e[a])return void s("No seconds found or minutes is greater than 59.");if(a++,2!=(i=o(/\d/)).length)return void s("Must be exactly two digits.")}else{if(2!=t.length)return void s("Must be exactly two digits.");i=n,n=t,t="0"}if("."==e[a])if(a++,3==(r=o(/\d/)).length)if(parseInt(n,10)>59)s("You cannot have more than 59 minutes.");else{if(!(parseInt(i,10)>59))return 60*parseInt(t,10)*60+60*parseInt(n,10)+parseInt(i,10)+parseInt(r,10)/1e3;s("You cannot have more than 59 seconds.")}else s("Milliseconds must be given in three digits.");else s('No decimal separator (".") found.')}else s("Must be exactly two digits.");else s("No time unit separator found.");else s("Timestamp must start with a character in the range 0-9.");else s("No timestamp found.")}this.parse=function(t,o){if(r(n),t.startTime=l(),null!=t.startTime)if(t.startTime<o&&s("Start timestamp is not greater than or equal to start timestamp of previous cue."),i.test(e[a])&&s("Timestamp not separated from '--\x3e' by whitespace."),r(n),"-"==e[a])if("-"==e[++a])if(">"==e[++a]){if(a++,i.test(e[a])&&s("'--\x3e' not separated from timestamp by whitespace."),r(n),t.endTime=l(),null!=t.endTime)return t.endTime<=t.startTime&&s("End timestamp is not greater than start timestamp."),i.test(e[a])&&!1,r(n),function(e,t){for(var i=e.split(n),a=[],r=0;r<i.length;r++)if(""!=i[r]){var o=i[r].indexOf(":"),l=i[r].slice(0,o),f=i[r].slice(o+1);if(-1!=a.indexOf(l)&&s("Duplicate setting."),a.push(l),""==f)return void s("No value for setting defined.");if("vertical"==l){if("rl"!=f&&"lr"!=f){s("Writing direction can only be set to 'rl' or 'rl'.");continue}t.direction=f}else if("line"==l){if(/,/.test(f)){f=(d=f.split(","))[0];var u=d[1]}if(!/^[-\d](\d*)(\.\d+)?%?$/.test(f)){s("Line position takes a number or percentage.");continue}if(-1!=f.indexOf("-",1)){s("Line position can only have '-' at the start.");continue}if(-1!=f.indexOf("%")&&f.indexOf("%")!=f.length-1){s("Line position can only have '%' at the end.");continue}if("-"==f[0]&&"%"==f[f.length-1]){s("Line position cannot be a negative percentage.");continue}var c=f,p=!1;if("%"==f[f.length-1]&&(p=!0,c=f.slice(0,f.length-1),parseInt(f,10)>100)){s("Line position cannot be >100%.");continue}if(""===c||isNaN(c)||!isFinite(c)){s("Line position needs to be a number");continue}if(void 0!==u){if(!["start","center","end"].includes(u)){s("Line alignment needs to be one of start, center or end");continue}t.lineAlign=u}t.snapToLines=!p,t.linePosition=parseFloat(c),parseFloat(c).toString()!==c&&(t.nonSerializable=!0)}else if("position"==l){if(/,/.test(f)){var d;f=(d=f.split(","))[0];var m=d[1]}if("%"!=f[f.length-1]){s("Text position must be a percentage.");continue}if(parseInt(f,10)>100||parseInt(f,10)<0){s("Text position needs to be between 0 and 100%.");continue}if(""===(c=f.slice(0,f.length-1))||isNaN(c)||!isFinite(c)){s("Line position needs to be a number");continue}if(void 0!==m){if(!["line-left","center","line-right"].includes(m)){s("Position alignment needs to be one of line-left, center or line-right");continue}t.positionAlign=m}t.textPosition=parseFloat(c)}else if("size"==l){if("%"!=f[f.length-1]){s("Size must be a percentage.");continue}if(parseInt(f,10)>100){s("Size cannot be >100%.");continue}var g=f.slice(0,f.length-1);if(void 0===g||""===g||isNaN(g)){s("Size needs to be a number"),g=100;continue}if((g=parseFloat(g))<0||g>100){s("Size needs to be between 0 and 100%.");continue}t.size=g}else if("align"==l){var h=["start","center","end","left","right"];if(-1==h.indexOf(f)){s("Alignment can only be set to one of "+h.join(", ")+".");continue}t.alignment=f}else s("Invalid setting.")}}(e.substring(a),t),!0}else s("No valid timestamp separator found.");else s("No valid timestamp separator found.");else s("No valid timestamp separator found.")},this.parseTimestamp=function(){var t=l();if(null==e[a])return t;s("Timestamp must not have trailing characters.")}},i=function(e,t,i,a){this.entities=a;var s=this,r=(e=e,0),o=function(e){"metadata"!=i&&t(e,r+1)};function l(){for(var t="data",n="",i="",l=[];null!=e[r-1]||0==r;){var f=e[r];if("data"==t)if("&"==f)i=f,t="escape";else if("<"==f&&""==n)t="tag";else{if("<"==f||null==f)return["text",n];n+=f}else if("escape"==t){if("<"==f||null==f){let e;return o("Incorrect escape."),(e=i.match(/^&#([0-9]+)$/))?n+=String.fromCharCode(e[1]):s.entities[i]?n+=s.entities[i]:n+=i,["text",n]}if("&"==f)o("Incorrect escape."),n+=i,i=f;else if(/[a-z#0-9]/i.test(f))i+=f;else if(";"==f){let e;(e=i.match(/^&#(x?[0-9]+)$/))?n+=String.fromCharCode("0"+e[1]):s.entities[i+f]?n+=s.entities[i+f]:(e=Object.keys(a).find(e=>i.startsWith(e)))?n+=s.entities[e]+i.slice(e.length)+f:(o("Incorrect escape."),n+=i+";"),t="data"}else o("Incorrect escape."),n+=i+f,t="data"}else if("tag"==t)if("\t"==f||"\n"==f||"\f"==f||" "==f)t="start tag annotation";else if("."==f)t="start tag class";else if("/"==f)t="end tag";else if(/\d/.test(f))n=f,t="timestamp tag";else{if(">"==f||null==f)return">"==f&&r++,["start tag","",[],""];n=f,t="start tag"}else if("start tag"==t)if("\t"==f||"\f"==f||" "==f)t="start tag annotation";else if("\n"==f)i=f,t="start tag annotation";else if("."==f)t="start tag class";else{if(">"==f||null==f)return">"==f&&r++,["start tag",n,[],""];n+=f}else if("start tag class"==t)if("\t"==f||"\f"==f||" "==f)i&&l.push(i),i="",t="start tag annotation";else if("\n"==f)i&&l.push(i),i=f,t="start tag annotation";else if("."==f)i&&l.push(i),i="";else{if(">"==f||null==f)return">"==f&&r++,i&&l.push(i),["start tag",n,l,""];i+=f}else if("start tag annotation"==t){if(">"==f||null==f)return">"==f&&r++,["start tag",n,l,i=i.split(/[\u0020\t\f\r\n]+/).filter(function(e){if(e)return!0}).join(" ")];i+=f}else if("end tag"==t){if(">"==f||null==f)return">"==f&&r++,["end tag",n];n+=f}else if("timestamp tag"==t){if(">"==f||null==f)return">"==f&&r++,["timestamp",n];n+=f}else o("Never happens.");r++}}this.parse=function(t,a){var s={children:[]},f=s,u=[];function c(e){f.children.push({type:"object",name:e[1],classes:e[2],children:[],parent:f}),f=f.children[f.children.length-1]}function p(e){for(var t=f;t;){if(t.name==e)return!0;t=t.parent}}for(;null!=e[r];){var d=l();if("text"==d[0])f.children.push({type:"text",value:d[1],parent:f});else if("start tag"==d[0]){"chapters"==i&&o("Start tags not allowed in chapter title text.");var m=d[1];"v"!=m&&"lang"!=m&&""!=d[3]&&o("Only <v> and <lang> can have an annotation."),"c"==m||"i"==m||"b"==m||"u"==m||"ruby"==m?c(d):"rt"==m&&"ruby"==f.name?c(d):"v"==m?(p("v")&&o("<v> cannot be nested inside itself."),c(d),f.value=d[3],d[3]||o("<v> requires an annotation.")):"lang"==m?(c(d),f.value=d[3]):o("Incorrect start tag.")}else if("end tag"==d[0])"chapters"==i&&o("End tags not allowed in chapter title text."),d[1]==f.name?f=f.parent:"ruby"==d[1]&&"rt"==f.name?f=f.parent.parent:o("Incorrect end tag.");else if("timestamp"==d[0]){"chapters"==i&&o("Timestamp not allowed in chapter title text.");var g=new n(d[1],o).parseTimestamp();null!=g&&((g<=t||g>=a)&&o("Timestamp must be between start timestamp and end timestamp."),u.length>0&&u[u.length-1]>=g&&o("Timestamp must be greater than any previous timestamp."),f.children.push({type:"timestamp",value:g,parent:f}),u.push(g))}}for(;f.parent;)"v"!=f.name&&o("Required end tag missing."),f=f.parent;return function e(t){const n={...t};return t.children&&(n.children=t.children.map(e)),n.parent&&delete n.parent,n}(s)}},a=function(){function t(e){const t=("00"+1e3*(e-Math.floor(e)).toFixed(3)).slice(-3);let n=0,i=0,a=0;return e>=3600&&(n=Math.floor(e/3600)),i=Math.floor((e-3600*n)/60),a=Math.floor(e-3600*n-60*i),(n?n+":":"")+(""+i).padStart(2,"0")+":"+(""+a).padStart(2,"0")+"."+t}function n(n){return(void 0!==n.id?n.id+"\n":"")+t(n.startTime)+" --\x3e "+t(n.endTime)+function(t){var n="";const i=Object.keys(e).filter(n=>t[n]!==e[n]);return i.includes("direction")&&(n+=" vertical:"+t.direction),i.includes("alignment")&&(n+=" align:"+t.alignment),i.includes("size")&&(n+=" size:"+t.size+"%"),(i.includes("lineAlign")||i.includes("linePosition"))&&(n+=" line:"+t.linePosition+(t.snapToLines?"":"%")+(t.lineAlign&&t.lineAlign!=e.lineAlign?","+t.lineAlign:"")),(i.includes("textPosition")||i.includes("positionAlign"))&&(n+=" position:"+t.textPosition+"%"+(t.positionAlign&&t.positionAlign!==e.positionAlign?","+t.positionAlign:"")),n}(n)+"\n"+function e(n){for(var i="",a=0;a<n.length;a++){var s=n[a];if("text"==s.type)i+=s.value.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");else if("object"==s.type){if(i+="<"+s.name,s.classes)for(var r=0;r<s.classes.length;r++)i+="."+s.classes[r];s.value&&(i+=" "+s.value),i+=">",s.children&&(i+=e(s.children)),i+="</"+s.name+">"}else"timestamp"==s.type?i+="<"+t(s.value)+">":i+="<"+s.value+">"}return i}(n.tree.children)+"\n\n"}this.serialize=function(e,t){var i="WEBVTT\n\n";if(t)for(var a=0;a<t.length;a++)i+="STYLE\n"+t[a]+"\n\n";for(a=0;a<e.length;a++)i+=n(e[a]);return i}};function s(e){e.WebVTTParser=t,e.WebVTTCueTimingsAndSettingsParser=n,e.WebVTTCueTextParser=i,e.WebVTTSerializer=a}"undefined"!=typeof window&&s(window),"undefined"!=typeof exports&&s(exports)}();
|
@@ -0,0 +1,585 @@
|
|
1
|
+
/*
|
2
|
+
# -----------------------------------------------------------------------------
|
3
|
+
# ~/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.js
|
4
|
+
# Provides lightGallery JS code for the plugin lgVideo
|
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.lgVideo = 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 videoSettings = {
|
59
|
+
autoplayFirstVideo: true,
|
60
|
+
youTubePlayerParams: false,
|
61
|
+
vimeoPlayerParams: false,
|
62
|
+
wistiaPlayerParams: false,
|
63
|
+
dailymotionPlayerParams: false,
|
64
|
+
vkPlayerParams: false,
|
65
|
+
gotoNextSlideOnVideoEnd: true,
|
66
|
+
autoplayVideoOnSlide: false,
|
67
|
+
videojs: false,
|
68
|
+
videojsTheme: '',
|
69
|
+
videojsOptions: {},
|
70
|
+
};
|
71
|
+
|
72
|
+
/**
|
73
|
+
* List of lightGallery events
|
74
|
+
* All events should be documented here
|
75
|
+
* Below interfaces are used to build the website documentations
|
76
|
+
* */
|
77
|
+
var lGEvents = {
|
78
|
+
afterAppendSlide: 'lgAfterAppendSlide',
|
79
|
+
init: 'lgInit',
|
80
|
+
hasVideo: 'lgHasVideo',
|
81
|
+
containerResize: 'lgContainerResize',
|
82
|
+
updateSlides: 'lgUpdateSlides',
|
83
|
+
afterAppendSubHtml: 'lgAfterAppendSubHtml',
|
84
|
+
beforeOpen: 'lgBeforeOpen',
|
85
|
+
afterOpen: 'lgAfterOpen',
|
86
|
+
slideItemLoad: 'lgSlideItemLoad',
|
87
|
+
beforeSlide: 'lgBeforeSlide',
|
88
|
+
afterSlide: 'lgAfterSlide',
|
89
|
+
posterClick: 'lgPosterClick',
|
90
|
+
dragStart: 'lgDragStart',
|
91
|
+
dragMove: 'lgDragMove',
|
92
|
+
dragEnd: 'lgDragEnd',
|
93
|
+
beforeNextSlide: 'lgBeforeNextSlide',
|
94
|
+
beforePrevSlide: 'lgBeforePrevSlide',
|
95
|
+
beforeClose: 'lgBeforeClose',
|
96
|
+
afterClose: 'lgAfterClose',
|
97
|
+
rotateLeft: 'lgRotateLeft',
|
98
|
+
rotateRight: 'lgRotateRight',
|
99
|
+
flipHorizontal: 'lgFlipHorizontal',
|
100
|
+
flipVertical: 'lgFlipVertical',
|
101
|
+
autoplay: 'lgAutoplay',
|
102
|
+
autoplayStart: 'lgAutoplayStart',
|
103
|
+
autoplayStop: 'lgAutoplayStop',
|
104
|
+
};
|
105
|
+
|
106
|
+
var param = function (obj) {
|
107
|
+
return Object.keys(obj)
|
108
|
+
.map(function (k) {
|
109
|
+
return encodeURIComponent(k) + '=' + encodeURIComponent(obj[k]);
|
110
|
+
})
|
111
|
+
.join('&');
|
112
|
+
};
|
113
|
+
var paramsToObject = function (url) {
|
114
|
+
var paramas = url
|
115
|
+
.slice(1)
|
116
|
+
.split('&')
|
117
|
+
.map(function (p) { return p.split('='); })
|
118
|
+
.reduce(function (obj, pair) {
|
119
|
+
var _a = pair.map(decodeURIComponent), key = _a[0], value = _a[1];
|
120
|
+
obj[key] = value;
|
121
|
+
return obj;
|
122
|
+
}, {});
|
123
|
+
return paramas;
|
124
|
+
};
|
125
|
+
var getYouTubeParams = function (videoInfo, youTubePlayerParamsSettings) {
|
126
|
+
if (!videoInfo.youtube)
|
127
|
+
return '';
|
128
|
+
var slideUrlParams = videoInfo.youtube[2]
|
129
|
+
? paramsToObject(videoInfo.youtube[2])
|
130
|
+
: '';
|
131
|
+
// For youtube first params gets priority if duplicates found
|
132
|
+
var defaultYouTubePlayerParams = {
|
133
|
+
wmode: 'opaque',
|
134
|
+
autoplay: 1,
|
135
|
+
mute: 0,
|
136
|
+
enablejsapi: 1,
|
137
|
+
};
|
138
|
+
var playerParamsSettings = youTubePlayerParamsSettings || {};
|
139
|
+
var youTubePlayerParams = __assign(__assign(__assign({}, defaultYouTubePlayerParams), playerParamsSettings), slideUrlParams);
|
140
|
+
var youTubeParams = "?" + param(youTubePlayerParams);
|
141
|
+
return youTubeParams;
|
142
|
+
};
|
143
|
+
var isYouTubeNoCookie = function (url) {
|
144
|
+
return url.includes('youtube-nocookie.com');
|
145
|
+
};
|
146
|
+
var getVimeoURLParams = function (defaultParams, videoInfo) {
|
147
|
+
if (!videoInfo || !videoInfo.vimeo)
|
148
|
+
return '';
|
149
|
+
var urlParams = videoInfo.vimeo[2] || '';
|
150
|
+
var defaultPlayerParams = defaultParams && Object.keys(defaultParams).length !== 0
|
151
|
+
? '&' + param(defaultParams)
|
152
|
+
: '';
|
153
|
+
// Support private video
|
154
|
+
var urlWithHash = videoInfo.vimeo[0].split('/').pop() || '';
|
155
|
+
var urlWithHashWithParams = urlWithHash.split('?')[0] || '';
|
156
|
+
var hash = urlWithHashWithParams.split('#')[0];
|
157
|
+
var isPrivate = videoInfo.vimeo[1] !== hash;
|
158
|
+
if (isPrivate) {
|
159
|
+
urlParams = urlParams.replace("/" + hash, '');
|
160
|
+
}
|
161
|
+
urlParams =
|
162
|
+
urlParams[0] == '?' ? '&' + urlParams.slice(1) : urlParams || '';
|
163
|
+
// For vimeo last params gets priority if duplicates found
|
164
|
+
var vimeoPlayerParams = "?autoplay=0&muted=0" + (isPrivate ? "&h=" + hash : '') + defaultPlayerParams + urlParams;
|
165
|
+
return vimeoPlayerParams;
|
166
|
+
};
|
167
|
+
|
168
|
+
/**
|
169
|
+
* Video module for lightGallery
|
170
|
+
* Supports HTML5, YouTube, Vimeo, wistia videos
|
171
|
+
*
|
172
|
+
*
|
173
|
+
* @ref Wistia
|
174
|
+
* https://wistia.com/support/integrations/wordpress(How to get url)
|
175
|
+
* https://wistia.com/support/developers/embed-options#using-embed-options
|
176
|
+
* https://wistia.com/support/developers/player-api
|
177
|
+
* https://wistia.com/support/developers/construct-an-embed-code
|
178
|
+
* http://jsfiddle.net/xvnm7xLm/
|
179
|
+
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video
|
180
|
+
* https://wistia.com/support/embed-and-share/sharing-videos
|
181
|
+
* https://private-sharing.wistia.com/medias/mwhrulrucj
|
182
|
+
*
|
183
|
+
* @ref Youtube
|
184
|
+
* https://developers.google.com/youtube/player_parameters#enablejsapi
|
185
|
+
* https://developers.google.com/youtube/iframe_api_reference
|
186
|
+
* https://developer.chrome.com/blog/autoplay/#iframe-delegation
|
187
|
+
*
|
188
|
+
* @ref Vimeo
|
189
|
+
* https://stackoverflow.com/questions/10488943/easy-way-to-get-vimeo-id-from-a-vimeo-url
|
190
|
+
* https://vimeo.zendesk.com/hc/en-us/articles/360000121668-Starting-playback-at-a-specific-timecode
|
191
|
+
* https://vimeo.zendesk.com/hc/en-us/articles/360001494447-Using-Player-Parameters
|
192
|
+
*/
|
193
|
+
var Video = /** @class */ (function () {
|
194
|
+
function Video(instance) {
|
195
|
+
// get lightGallery core plugin instance
|
196
|
+
this.core = instance;
|
197
|
+
this.settings = __assign(__assign({}, videoSettings), this.core.settings);
|
198
|
+
return this;
|
199
|
+
}
|
200
|
+
|
201
|
+
Video.prototype.init = function () {
|
202
|
+
var _this = this;
|
203
|
+
/**
|
204
|
+
* Event triggered when video url found without poster
|
205
|
+
* Append video HTML
|
206
|
+
* Play if autoplayFirstVideo is true
|
207
|
+
*/
|
208
|
+
this.core.LGel.on(lGEvents.hasVideo + ".video", this.onHasVideo.bind(this));
|
209
|
+
this.core.LGel.on(lGEvents.posterClick + ".video", function () {
|
210
|
+
var $el = _this.core.getSlideItem(_this.core.index);
|
211
|
+
_this.loadVideoOnPosterClick($el);
|
212
|
+
});
|
213
|
+
this.core.LGel.on(lGEvents.slideItemLoad + ".video", this.onSlideItemLoad.bind(this));
|
214
|
+
// @desc fired immediately before each slide transition.
|
215
|
+
this.core.LGel.on(lGEvents.beforeSlide + ".video", this.onBeforeSlide.bind(this));
|
216
|
+
// @desc fired immediately after each slide transition.
|
217
|
+
this.core.LGel.on(lGEvents.afterSlide + ".video", this.onAfterSlide.bind(this));
|
218
|
+
};
|
219
|
+
|
220
|
+
/**
|
221
|
+
* @desc Event triggered when a slide is completely loaded
|
222
|
+
*
|
223
|
+
* @param {Event} event - lightGalley custom event
|
224
|
+
*/
|
225
|
+
Video.prototype.onSlideItemLoad = function (event) {
|
226
|
+
var _this = this;
|
227
|
+
var _a = event.detail, isFirstSlide = _a.isFirstSlide, index = _a.index;
|
228
|
+
// Should check the active slide as well as user may have moved to different slide before the first slide is loaded
|
229
|
+
if (this.settings.autoplayFirstVideo &&
|
230
|
+
isFirstSlide &&
|
231
|
+
index === this.core.index) {
|
232
|
+
// Delay is just for the transition effect on video load
|
233
|
+
setTimeout(function () {
|
234
|
+
_this.loadAndPlayVideo(index);
|
235
|
+
}, 200);
|
236
|
+
}
|
237
|
+
// Should not call on first slide. should check only if the slide is active
|
238
|
+
if (!isFirstSlide &&
|
239
|
+
this.settings.autoplayVideoOnSlide &&
|
240
|
+
index === this.core.index) {
|
241
|
+
this.loadAndPlayVideo(index);
|
242
|
+
}
|
243
|
+
};
|
244
|
+
|
245
|
+
/**
|
246
|
+
* @desc Event triggered when video url or poster found
|
247
|
+
* Append video HTML is poster is not given
|
248
|
+
* Play if autoplayFirstVideo is true
|
249
|
+
*
|
250
|
+
* @param {Event} event - Javascript Event object.
|
251
|
+
*/
|
252
|
+
Video.prototype.onHasVideo = function (event) {
|
253
|
+
var _a = event.detail, index = _a.index, src = _a.src, html5Video = _a.html5Video, hasPoster = _a.hasPoster;
|
254
|
+
if (!hasPoster) {
|
255
|
+
// All functions are called separately if poster exist in loadVideoOnPosterClick function
|
256
|
+
this.appendVideos(this.core.getSlideItem(index), {
|
257
|
+
src: src,
|
258
|
+
addClass: 'lg-object',
|
259
|
+
index: index,
|
260
|
+
html5Video: html5Video,
|
261
|
+
});
|
262
|
+
// Automatically navigate to next slide once video reaches the end.
|
263
|
+
this.gotoNextSlideOnVideoEnd(src, index);
|
264
|
+
}
|
265
|
+
};
|
266
|
+
|
267
|
+
/**
|
268
|
+
* @desc fired immediately before each slide transition.
|
269
|
+
* Pause the previous video
|
270
|
+
* Hide the download button if the slide contains YouTube, Vimeo, or Wistia videos.
|
271
|
+
*
|
272
|
+
* @param {Event} event - Javascript Event object.
|
273
|
+
* @param {number} prevIndex - Previous index of the slide.
|
274
|
+
* @param {number} index - Current index of the slide
|
275
|
+
*/
|
276
|
+
Video.prototype.onBeforeSlide = function (event) {
|
277
|
+
if (this.core.lGalleryOn) {
|
278
|
+
var prevIndex = event.detail.prevIndex;
|
279
|
+
this.pauseVideo(prevIndex);
|
280
|
+
}
|
281
|
+
};
|
282
|
+
|
283
|
+
/**
|
284
|
+
* @desc fired immediately after each slide transition.
|
285
|
+
* Play video if autoplayVideoOnSlide option is enabled.
|
286
|
+
*
|
287
|
+
* @param {Event} event - Javascript Event object.
|
288
|
+
* @param {number} prevIndex - Previous index of the slide.
|
289
|
+
* @param {number} index - Current index of the slide
|
290
|
+
* @todo should check on onSlideLoad as well if video is not loaded on after slide
|
291
|
+
*/
|
292
|
+
Video.prototype.onAfterSlide = function (event) {
|
293
|
+
var _this = this;
|
294
|
+
var _a = event.detail, index = _a.index, prevIndex = _a.prevIndex;
|
295
|
+
// Do not call on first slide
|
296
|
+
var $slide = this.core.getSlideItem(index);
|
297
|
+
if (this.settings.autoplayVideoOnSlide && index !== prevIndex) {
|
298
|
+
if ($slide.hasClass('lg-complete')) {
|
299
|
+
setTimeout(function () {
|
300
|
+
_this.loadAndPlayVideo(index);
|
301
|
+
}, 100);
|
302
|
+
}
|
303
|
+
}
|
304
|
+
};
|
305
|
+
|
306
|
+
Video.prototype.loadAndPlayVideo = function (index) {
|
307
|
+
var $slide = this.core.getSlideItem(index);
|
308
|
+
var currentGalleryItem = this.core.galleryItems[index];
|
309
|
+
if (currentGalleryItem.poster) {
|
310
|
+
this.loadVideoOnPosterClick($slide, true);
|
311
|
+
}
|
312
|
+
else {
|
313
|
+
this.playVideo(index);
|
314
|
+
}
|
315
|
+
};
|
316
|
+
/**
|
317
|
+
* Play HTML5, Youtube, Vimeo or Wistia videos in a particular slide.
|
318
|
+
* @param {number} index - Index of the slide
|
319
|
+
*/
|
320
|
+
Video.prototype.playVideo = function (index) {
|
321
|
+
this.controlVideo(index, 'play');
|
322
|
+
};
|
323
|
+
|
324
|
+
/**
|
325
|
+
* Pause HTML5, Youtube, Vimeo or Wistia videos in a particular slide.
|
326
|
+
* @param {number} index - Index of the slide
|
327
|
+
*/
|
328
|
+
Video.prototype.pauseVideo = function (index) {
|
329
|
+
this.controlVideo(index, 'pause');
|
330
|
+
};
|
331
|
+
|
332
|
+
Video.prototype.getVideoHtml = function (src, addClass, index, html5Video) {
|
333
|
+
var video = '';
|
334
|
+
var videoInfo = this.core.galleryItems[index]
|
335
|
+
.__slideVideoInfo || {};
|
336
|
+
var currentGalleryItem = this.core.galleryItems[index];
|
337
|
+
var videoTitle = currentGalleryItem.title || currentGalleryItem.alt;
|
338
|
+
videoTitle = videoTitle ? 'title="' + videoTitle + '"' : '';
|
339
|
+
var commonIframeProps = "allowtransparency=\"true\"\n frameborder=\"0\"\n scrolling=\"no\"\n allowfullscreen\n mozallowfullscreen\n webkitallowfullscreen\n oallowfullscreen\n msallowfullscreen";
|
340
|
+
if (videoInfo.youtube) {
|
341
|
+
var videoId = 'lg-youtube' + index;
|
342
|
+
var youTubeParams = getYouTubeParams(videoInfo, this.settings.youTubePlayerParams);
|
343
|
+
var isYouTubeNoCookieURL = isYouTubeNoCookie(src);
|
344
|
+
var youtubeURL = isYouTubeNoCookieURL
|
345
|
+
? '//www.youtube-nocookie.com/'
|
346
|
+
: '//www.youtube.com/';
|
347
|
+
video = "<iframe allow=\"autoplay\" id=" + videoId + " class=\"lg-video-object lg-youtube " + addClass + "\" " + videoTitle + " src=\"" + youtubeURL + "embed/" + (videoInfo.youtube[1] + youTubeParams) + "\" " + commonIframeProps + "></iframe>";
|
348
|
+
}
|
349
|
+
else if (videoInfo.vimeo) {
|
350
|
+
var videoId = 'lg-vimeo' + index;
|
351
|
+
var playerParams = getVimeoURLParams(this.settings.vimeoPlayerParams, videoInfo);
|
352
|
+
video = "<iframe allow=\"autoplay\" id=" + videoId + " class=\"lg-video-object lg-vimeo " + addClass + "\" " + videoTitle + " src=\"//player.vimeo.com/video/" + (videoInfo.vimeo[1] + playerParams) + "\" " + commonIframeProps + "></iframe>";
|
353
|
+
}
|
354
|
+
else if (videoInfo.wistia) {
|
355
|
+
var wistiaId = 'lg-wistia' + index;
|
356
|
+
var playerParams = param(this.settings.wistiaPlayerParams);
|
357
|
+
playerParams = playerParams ? '?' + playerParams : '';
|
358
|
+
video = "<iframe allow=\"autoplay\" id=\"" + wistiaId + "\" src=\"//fast.wistia.net/embed/iframe/" + (videoInfo.wistia[4] + playerParams) + "\" " + videoTitle + " class=\"wistia_embed lg-video-object lg-wistia " + addClass + "\" name=\"wistia_embed\" " + commonIframeProps + "></iframe>";
|
359
|
+
}
|
360
|
+
// jadams: added Dailymotion Player
|
361
|
+
else if (videoInfo.dailymotion) {
|
362
|
+
var dailymotionId = 'lg-dailymotion' + index;
|
363
|
+
var playerParams = param(this.settings.dailymotionPlayerParams);
|
364
|
+
playerParams = playerParams ? '?' + playerParams : '';
|
365
|
+
video = "<iframe allow=\"autoplay\" id=\"" + dailymotionId + "\" src=\"//www.dailymotion.com/embed/video/" + (videoInfo.dailymotion[1] + playerParams) + "\" " + videoTitle + " class=\"dailymotion_embed lg-video-object lg-dailymotion " + addClass + "\" name=\"dailymotion_embed\" " + commonIframeProps + "></iframe>"
|
366
|
+
}
|
367
|
+
else if (videoInfo.html5) {
|
368
|
+
var html5VideoMarkup = '';
|
369
|
+
for (var i = 0; i < html5Video.source.length; i++) {
|
370
|
+
html5VideoMarkup += "<source src=\"" + html5Video.source[i].src + "\" type=\"" + html5Video.source[i].type + "\">";
|
371
|
+
}
|
372
|
+
if (html5Video.tracks) {
|
373
|
+
var _loop_1 = function (i) {
|
374
|
+
var trackAttributes = '';
|
375
|
+
var track = html5Video.tracks[i];
|
376
|
+
Object.keys(track || {}).forEach(function (key) {
|
377
|
+
trackAttributes += key + "=\"" + track[key] + "\" ";
|
378
|
+
});
|
379
|
+
html5VideoMarkup += "<track " + trackAttributes + ">";
|
380
|
+
};
|
381
|
+
for (var i = 0; i < html5Video.tracks.length; i++) {
|
382
|
+
_loop_1(i);
|
383
|
+
}
|
384
|
+
}
|
385
|
+
var html5VideoAttrs_1 = '';
|
386
|
+
var videoAttributes_1 = html5Video.attributes || {};
|
387
|
+
Object.keys(videoAttributes_1 || {}).forEach(function (key) {
|
388
|
+
html5VideoAttrs_1 += key + "=\"" + videoAttributes_1[key] + "\" ";
|
389
|
+
});
|
390
|
+
video = "<video class=\"lg-video-object lg-html5 " + (this.settings.videojs && this.settings.videojsTheme
|
391
|
+
? this.settings.videojsTheme + ' '
|
392
|
+
: '') + " " + (this.settings.videojs ? ' video-js' : '') + "\" " + html5VideoAttrs_1 + ">\n " + html5VideoMarkup + "\n Your browser does not support HTML5 video.\n </video>";
|
393
|
+
}
|
394
|
+
return video;
|
395
|
+
};
|
396
|
+
|
397
|
+
/**
|
398
|
+
* @desc - Append videos to the slide
|
399
|
+
*
|
400
|
+
* @param {HTMLElement} el - slide element
|
401
|
+
* @param {Object} videoParams - Video parameters, Contains src, class, index, htmlVideo
|
402
|
+
*/
|
403
|
+
Video.prototype.appendVideos = function (el, videoParams) {
|
404
|
+
var _a;
|
405
|
+
var videoHtml = this.getVideoHtml(videoParams.src, videoParams.addClass, videoParams.index, videoParams.html5Video);
|
406
|
+
el.find('.lg-video-cont').append(videoHtml);
|
407
|
+
var $videoElement = el.find('.lg-video-object').first();
|
408
|
+
if (videoParams.html5Video) {
|
409
|
+
$videoElement.on('mousedown.lg.video', function (e) {
|
410
|
+
e.stopPropagation();
|
411
|
+
});
|
412
|
+
}
|
413
|
+
if (this.settings.videojs && ((_a = this.core.galleryItems[videoParams.index].__slideVideoInfo) === null || _a === void 0 ? void 0 : _a.html5)) {
|
414
|
+
try {
|
415
|
+
return videojs($videoElement.get(), this.settings.videojsOptions);
|
416
|
+
}
|
417
|
+
catch (e) {
|
418
|
+
console.warn('lightGallery: Make sure you have included videojs');
|
419
|
+
}
|
420
|
+
}
|
421
|
+
};
|
422
|
+
|
423
|
+
Video.prototype.gotoNextSlideOnVideoEnd = function (src, index) {
|
424
|
+
var _this = this;
|
425
|
+
var $videoElement = this.core
|
426
|
+
.getSlideItem(index)
|
427
|
+
.find('.lg-video-object')
|
428
|
+
.first();
|
429
|
+
var videoInfo = this.core.galleryItems[index].__slideVideoInfo || {};
|
430
|
+
if (this.settings.gotoNextSlideOnVideoEnd) {
|
431
|
+
if (videoInfo.html5) {
|
432
|
+
$videoElement.on('ended', function () {
|
433
|
+
_this.core.goToNextSlide();
|
434
|
+
});
|
435
|
+
}
|
436
|
+
else if (videoInfo.vimeo) {
|
437
|
+
try {
|
438
|
+
// https://github.com/vimeo/player.js/#ended
|
439
|
+
new Vimeo.Player($videoElement.get()).on('ended', function () {
|
440
|
+
_this.core.goToNextSlide();
|
441
|
+
});
|
442
|
+
}
|
443
|
+
catch (e) {
|
444
|
+
// jadams:
|
445
|
+
console.warn('lightGallery: Make sure you have included //github.com/vimeo/player.js');
|
446
|
+
}
|
447
|
+
}
|
448
|
+
else if (videoInfo.wistia) {
|
449
|
+
try {
|
450
|
+
window._wq = window._wq || [];
|
451
|
+
// @todo Event is gettign triggered multiple times
|
452
|
+
window._wq.push({
|
453
|
+
id: $videoElement.attr('id'),
|
454
|
+
onReady: function (video) {
|
455
|
+
video.bind('end', function () {
|
456
|
+
_this.core.goToNextSlide();
|
457
|
+
});
|
458
|
+
},
|
459
|
+
});
|
460
|
+
}
|
461
|
+
catch (e) {
|
462
|
+
// jadams:
|
463
|
+
console.warn('lightGallery: Make sure you have included //fast.wistia.com/assets/external/E-v1.js');
|
464
|
+
}
|
465
|
+
}
|
466
|
+
}
|
467
|
+
};
|
468
|
+
|
469
|
+
Video.prototype.controlVideo = function (index, action) {
|
470
|
+
var $videoElement = this.core
|
471
|
+
.getSlideItem(index)
|
472
|
+
.find('.lg-video-object')
|
473
|
+
.first();
|
474
|
+
var videoInfo = this.core.galleryItems[index].__slideVideoInfo || {};
|
475
|
+
if (!$videoElement.get())
|
476
|
+
return;
|
477
|
+
if (videoInfo.youtube) {
|
478
|
+
try {
|
479
|
+
$videoElement.get().contentWindow.postMessage("{\"event\":\"command\",\"func\":\"" + action + "Video\",\"args\":\"\"}", '*');
|
480
|
+
}
|
481
|
+
catch (e) {
|
482
|
+
console.error("lightGallery:- " + e);
|
483
|
+
}
|
484
|
+
}
|
485
|
+
else if (videoInfo.vimeo) {
|
486
|
+
try {
|
487
|
+
new Vimeo.Player($videoElement.get())[action]();
|
488
|
+
}
|
489
|
+
catch (e) {
|
490
|
+
console.warn('lightGallery: Make sure you have included //github.com/vimeo/player.js');
|
491
|
+
}
|
492
|
+
}
|
493
|
+
else if (videoInfo.html5) {
|
494
|
+
if (this.settings.videojs) {
|
495
|
+
try {
|
496
|
+
videojs($videoElement.get())[action]();
|
497
|
+
}
|
498
|
+
catch (e) {
|
499
|
+
console.warn('lightGallery: Make sure you have included videojs');
|
500
|
+
}
|
501
|
+
}
|
502
|
+
else {
|
503
|
+
$videoElement.get()[action]();
|
504
|
+
}
|
505
|
+
}
|
506
|
+
else if (videoInfo.wistia) {
|
507
|
+
try {
|
508
|
+
window._wq = window._wq || [];
|
509
|
+
// @todo Find a way to destroy wistia player instance
|
510
|
+
window._wq.push({
|
511
|
+
id: $videoElement.attr('id'),
|
512
|
+
onReady: function (video) {
|
513
|
+
video[action]();
|
514
|
+
},
|
515
|
+
});
|
516
|
+
}
|
517
|
+
catch (e) {
|
518
|
+
console.warn('lightGallery: Make sure you have included //fast.wistia.com/assets/external/E-v1.js');
|
519
|
+
}
|
520
|
+
}
|
521
|
+
};
|
522
|
+
|
523
|
+
Video.prototype.loadVideoOnPosterClick = function ($el, forcePlay) {
|
524
|
+
var _this = this;
|
525
|
+
// check slide has poster
|
526
|
+
if (!$el.hasClass('lg-video-loaded')) {
|
527
|
+
// check already video element present
|
528
|
+
if (!$el.hasClass('lg-has-video')) {
|
529
|
+
$el.addClass('lg-has-video');
|
530
|
+
var _html = void 0;
|
531
|
+
var _src = this.core.galleryItems[this.core.index].src;
|
532
|
+
var video = this.core.galleryItems[this.core.index].video;
|
533
|
+
if (video) {
|
534
|
+
_html =
|
535
|
+
typeof video === 'string' ? JSON.parse(video) : video;
|
536
|
+
}
|
537
|
+
var videoJsPlayer_1 = this.appendVideos($el, {
|
538
|
+
src: _src,
|
539
|
+
addClass: '',
|
540
|
+
index: this.core.index,
|
541
|
+
html5Video: _html,
|
542
|
+
});
|
543
|
+
this.gotoNextSlideOnVideoEnd(_src, this.core.index);
|
544
|
+
var $tempImg = $el.find('.lg-object').first().get();
|
545
|
+
// @todo make sure it is working
|
546
|
+
$el.find('.lg-video-cont').first().append($tempImg);
|
547
|
+
$el.addClass('lg-video-loading');
|
548
|
+
videoJsPlayer_1 &&
|
549
|
+
videoJsPlayer_1.ready(function () {
|
550
|
+
videoJsPlayer_1.on('loadedmetadata', function () {
|
551
|
+
_this.onVideoLoadAfterPosterClick($el, _this.core.index);
|
552
|
+
});
|
553
|
+
});
|
554
|
+
$el.find('.lg-video-object')
|
555
|
+
.first()
|
556
|
+
.on('load.lg error.lg loadedmetadata.lg', function () {
|
557
|
+
setTimeout(function () {
|
558
|
+
_this.onVideoLoadAfterPosterClick($el, _this.core.index);
|
559
|
+
}, 50);
|
560
|
+
});
|
561
|
+
}
|
562
|
+
else {
|
563
|
+
this.playVideo(this.core.index);
|
564
|
+
}
|
565
|
+
}
|
566
|
+
else if (forcePlay) {
|
567
|
+
this.playVideo(this.core.index);
|
568
|
+
}
|
569
|
+
};
|
570
|
+
|
571
|
+
Video.prototype.onVideoLoadAfterPosterClick = function ($el, index) {
|
572
|
+
$el.addClass('lg-video-loaded');
|
573
|
+
this.playVideo(index);
|
574
|
+
};
|
575
|
+
|
576
|
+
Video.prototype.destroy = function () {
|
577
|
+
this.core.LGel.off('.lg.video');
|
578
|
+
this.core.LGel.off('.video');
|
579
|
+
};
|
580
|
+
return Video;
|
581
|
+
}());
|
582
|
+
|
583
|
+
return Video;
|
584
|
+
|
585
|
+
})));
|