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.
Files changed (287) hide show
  1. checksums.yaml +4 -4
  2. data/assets/data/{galeries.html → gallery_app.html} +4 -4
  3. data/assets/theme/bla +0 -0
  4. data/assets/theme/j1/adapter/js/amplitude.js +144 -52
  5. data/assets/theme/j1/adapter/js/gallery.js +1 -1
  6. data/assets/theme/j1/adapter/js/themes.js +41 -69
  7. data/assets/theme/j1/core/css/themes/unolight/bootstrap.css +19 -52
  8. data/assets/theme/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  9. data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.js +466 -396
  10. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/lg-transitions.css +984 -0
  11. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/lg-transitions.min.css +26 -0
  12. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/lightgallery-bundle.css +1627 -0
  13. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/lightgallery-bundle.min.css +25 -0
  14. data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/uno.css +1 -1
  15. data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/uno.min.css +1 -1
  16. data/assets/theme/j1/modules/lightGallery/!v2.7.2/fonts/lg.svg +54 -0
  17. data/assets/theme/j1/modules/lightGallery/!v2.7.2/fonts/lg.ttf +0 -0
  18. data/assets/theme/j1/modules/lightGallery/!v2.7.2/fonts/lg.woff +0 -0
  19. data/assets/theme/j1/modules/lightGallery/!v2.7.2/fonts/lg.woff2 +0 -0
  20. data/assets/theme/j1/modules/lightGallery/!v2.7.2/images/loading.gif +0 -0
  21. data/assets/theme/j1/modules/lightGallery/!v2.7.2/img/loading.gif +0 -0
  22. data/assets/theme/j1/modules/lightGallery/!v2.7.2/img/video-play.png +0 -0
  23. data/assets/theme/j1/modules/lightGallery/!v2.7.2/img/vimeo-play.png +0 -0
  24. data/assets/theme/j1/modules/lightGallery/!v2.7.2/img/youtube-play.png +0 -0
  25. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/lightgallery.js +2782 -0
  26. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/lightgallery.min.js +26 -0
  27. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/parser/webvtt/LICENSE.md +44 -0
  28. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/parser/webvtt/README.md +37 -0
  29. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/parser/webvtt/parser.js +890 -0
  30. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/parser/webvtt/parser.min.js +8 -0
  31. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/j1/lg-video.1.js +585 -0
  32. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-autoplay.js +275 -0
  33. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-autoplay.min.js +26 -0
  34. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-comment.js +230 -0
  35. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-comment.min.js +26 -0
  36. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-fullscreen.js +160 -0
  37. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-fullscreen.min.js +26 -0
  38. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-hash.js +223 -0
  39. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-hash.min.js +27 -0
  40. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-medium-zoom.js +157 -0
  41. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-medium-zoom.min.js +26 -0
  42. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-pager.js +164 -0
  43. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-pager.min.js +26 -0
  44. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-rotate.js +299 -0
  45. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-rotate.min.js +26 -0
  46. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-share.js +244 -0
  47. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-share.min.js +27 -0
  48. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-thumbnail.js +509 -0
  49. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-thumbnail.min.js +26 -0
  50. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-video.js +909 -0
  51. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-video.min.js +26 -0
  52. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-vimeo-thumbnail.js +207 -0
  53. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-vimeo-thumbnail.min.js +26 -0
  54. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-zoom.js +999 -0
  55. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-zoom.min.js +26 -0
  56. data/assets/theme/j1/modules/lightGallery/css/lg-transitions.css +3 -126
  57. data/assets/theme/j1/modules/lightGallery/css/lg-transitions.min.css +3 -10
  58. data/assets/theme/j1/modules/lightGallery/css/lightgallery-bundle.css +70 -237
  59. data/assets/theme/j1/modules/lightGallery/css/lightgallery-bundle.min.css +4 -10
  60. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/animation-w.png +0 -0
  61. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/customize-w.png +0 -0
  62. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/dynamic-w.png +0 -0
  63. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/facebook-icon.svg +10 -0
  64. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/googleplus-icon.svg +30 -0
  65. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/html5-w.png +0 -0
  66. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/linked-in.png +0 -0
  67. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/module-w.png +0 -0
  68. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/play-button-hover.svg +94 -0
  69. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/play-button.png +0 -0
  70. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/play-button.svg +93 -0
  71. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/responsive-w.png +0 -0
  72. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/thumb-w.png +0 -0
  73. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/touch-w.png +0 -0
  74. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/twitter-icon.svg +15 -0
  75. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/twitter.png +0 -0
  76. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/video1-w.png +0 -0
  77. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/zoom-w.png +0 -0
  78. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/zoom.png +0 -0
  79. data/assets/theme/j1/modules/lightGallery/css/theme/uno/uno.css +276 -0
  80. data/assets/theme/j1/modules/lightGallery/css/theme/uno/uno.min.css +17 -0
  81. data/assets/theme/j1/modules/lightGallery/js/lightgallery.js +163 -120
  82. data/assets/theme/j1/modules/lightGallery/js/lightgallery.min.js +6 -6
  83. data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-thumbnail.0.js +495 -0
  84. data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-thumbnail.1.js +513 -0
  85. data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-video.0.js +553 -0
  86. data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-video.1.js +1 -1
  87. data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-video.2.js +914 -0
  88. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-autoplay.js +4 -4
  89. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-autoplay.min.js +5 -5
  90. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-comment.js +5 -5
  91. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-comment.min.js +6 -6
  92. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-fullscreen.js +4 -4
  93. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-fullscreen.min.js +5 -5
  94. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-hash.js +4 -4
  95. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-hash.min.js +5 -6
  96. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-medium-zoom.js +5 -5
  97. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-medium-zoom.min.js +6 -6
  98. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-pager.js +4 -4
  99. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-pager.min.js +5 -5
  100. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-relative-caption.js +179 -0
  101. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-relative-caption.min.js +32 -0
  102. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-rotate.js +4 -4
  103. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-rotate.min.js +6 -6
  104. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-share.js +4 -4
  105. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-share.min.js +6 -7
  106. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-thumbnail.js +27 -20
  107. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-thumbnail.min.js +5 -5
  108. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.js +77 -125
  109. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.min.js +6 -6
  110. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-vimeo-thumbnail.js +4 -4
  111. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-vimeo-thumbnail.min.js +5 -5
  112. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-zoom.js +11 -5
  113. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-zoom.min.js +5 -5
  114. data/assets/theme/j1/modules/themeSwitcher/js/switcher.js +13 -12
  115. data/assets/theme/j1/modules/videoPlayer/tiktoc/README.md +1 -0
  116. data/assets/theme/j1/modules/videojs/!v8.12.0/css/font/README.md +151 -0
  117. data/assets/theme/j1/modules/videojs/!v8.12.0/css/font/VideoJS.svg +150 -0
  118. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/city.css +147 -0
  119. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/city.min.css +5 -0
  120. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/fantasy.css +113 -0
  121. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/fantasy.min.css +5 -0
  122. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/forest.css +166 -0
  123. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/forest.min.css +5 -0
  124. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/sea.css +72 -0
  125. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/sea.min.css +5 -0
  126. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/uno.css +311 -0
  127. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/uno.min.css +19 -0
  128. data/assets/theme/j1/modules/videojs/!v8.12.0/css/videojs.css +1686 -0
  129. data/assets/theme/j1/modules/videojs/!v8.12.0/css/videojs.min.css +13 -0
  130. data/assets/theme/j1/modules/videojs/!v8.12.0/js/video.js +65226 -0
  131. data/assets/theme/j1/modules/videojs/!v8.12.0/js/video.min.js +55 -0
  132. data/assets/theme/j1/modules/videojs/assets/README.md +1 -0
  133. data/assets/theme/j1/modules/videojs/assets/icons/speedometer-medium.svg +35 -0
  134. data/assets/theme/j1/modules/videojs/css/font/VideoJS.ttf +0 -0
  135. data/assets/theme/j1/modules/videojs/css/font/VideoJS.woff +0 -0
  136. data/assets/theme/j1/modules/videojs/css/themes/uno.css +157 -22
  137. data/assets/theme/j1/modules/videojs/css/themes/uno.min.css +1 -1
  138. data/assets/theme/j1/modules/videojs/css/videojs.css +674 -316
  139. data/assets/theme/j1/modules/videojs/css/videojs.min.css +4 -3
  140. data/assets/theme/j1/modules/videojs/js/video.js +15893 -12288
  141. data/assets/theme/j1/modules/videojs/js/video.min.js +22 -23
  142. data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/!examples/index.html +31 -0
  143. data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/LICENSE +19 -0
  144. data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/README.md +69 -0
  145. data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/css/aspect-ratio-panel.css +2 -0
  146. data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/css/aspect-ratio-panel.min.css +2 -0
  147. data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/js/aspect-ratio-panel.js +339 -0
  148. data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/js/aspect-ratio-panel.min.js +2 -0
  149. data/assets/theme/j1/modules/videojs/{js/plugins/controls/autocaption → plugins/controls/autocaption/js}/autocaption.js +0 -5
  150. data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/!examples/index.html +29 -0
  151. data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/LICENSE +19 -0
  152. data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/README.md +90 -0
  153. data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/js/videojs-persist.js +120 -0
  154. data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/js/videojs-persist.min.js +2 -0
  155. data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/!examples/index.html +37 -0
  156. data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/LICENSE +19 -0
  157. data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/README.md +61 -0
  158. data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/js/playbackrate-adjuster.js +94 -0
  159. data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/js/playbackrate-adjuster.min.js +20 -0
  160. data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/skipbuttons/README.md +25 -11
  161. data/assets/theme/j1/modules/videojs/{css/plugins/controls → plugins/controls/zoom/css}/zoom.css +7 -6
  162. data/assets/theme/j1/modules/videojs/plugins/controls/zoom/css/zoom.min.css +22 -0
  163. data/assets/theme/j1/modules/videojs/{js/plugins/players/dm → plugins/players/dm/js}/dailymotion.js +1 -1
  164. data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.0.js +521 -0
  165. data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.1.js +605 -0
  166. data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.3.js +643 -0
  167. data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.4.js +583 -0
  168. data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.5.js +665 -0
  169. data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.6.js +642 -0
  170. data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.7.js +673 -0
  171. data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/api → plugins/players/vm/api/js}/vimeo.js +1 -1
  172. data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/api → plugins/players/vm/api/js}/vimeo.min.js +1 -1
  173. data/assets/theme/j1/modules/videojs/{js/plugins/players/vm → plugins/players/vm/js}/vimeo.js +4 -5
  174. data/assets/theme/j1/modules/videojs/plugins/players/vm/js/vimeo.min.js +28 -0
  175. data/assets/theme/j1/modules/videojs/plugins/players/wt/!unused/wistia.0.js +395 -0
  176. data/assets/theme/j1/modules/videojs/plugins/players/wt/!unused/wistia.1.js +401 -0
  177. data/lib/j1/version.rb +1 -1
  178. data/lib/starter_web/README.md +5 -5
  179. data/lib/starter_web/_config.yml +1 -1
  180. data/lib/starter_web/_data/modules/amplitude_playlists.yml +16 -1
  181. data/lib/starter_web/_data/modules/defaults/gallery.yml +3 -3
  182. data/lib/starter_web/_data/modules/gallery.yml +83 -87
  183. data/lib/starter_web/_data/modules/navigator_menu.yml +3 -3
  184. data/lib/starter_web/_data/resources.yml +16 -12
  185. data/lib/starter_web/_data/templates/feed.xml +1 -1
  186. data/lib/starter_web/_plugins/asciidoctor/videojs-block.rb +50 -30
  187. data/lib/starter_web/_plugins/asciidoctor/youtube-block.rb +37 -23
  188. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  189. data/lib/starter_web/assets/video/poster/vimeo/fall_2011.jpg +0 -0
  190. data/lib/starter_web/package.json +1 -1
  191. data/lib/starter_web/pages/public/tools/tester/videojs_macro_tester.adoc +282 -0
  192. data/lib/starter_web/pages/public/tour/video_data.adoc +1 -0
  193. metadata +221 -106
  194. data/assets/data/swiper_app.2.html +0 -757
  195. data/assets/data/swiper_app.4.html +0 -769
  196. data/assets/theme/j1/modules/videojs/css/plugins/controls/skipbuttons.0.css +0 -32
  197. data/assets/theme/j1/modules/videojs/css/plugins/controls/skipbuttons.1.css +0 -31
  198. data/assets/theme/j1/modules/videojs/css/plugins/controls/zoom.min.css +0 -21
  199. data/assets/theme/j1/modules/videojs/js/plugins/players/vm/vimeo.min.js +0 -16
  200. data/assets/theme/j1/modules/videojs/js/plugins/players/wt/api/src/WistiaPlayer.ts +0 -1617
  201. data/lib/starter_web/assets/video/poster/vimeo/stay_colorful.jpg +0 -0
  202. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/animation-w.png +0 -0
  203. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/customize-w.png +0 -0
  204. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/dynamic-w.png +0 -0
  205. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/facebook-icon.svg +0 -0
  206. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/googleplus-icon.svg +0 -0
  207. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/html5-w.png +0 -0
  208. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/linked-in.png +0 -0
  209. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/module-w.png +0 -0
  210. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/play-button-hover.svg +0 -0
  211. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/play-button.png +0 -0
  212. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/play-button.svg +0 -0
  213. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/responsive-w.png +0 -0
  214. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/thumb-w.png +0 -0
  215. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/touch-w.png +0 -0
  216. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/twitter-icon.svg +0 -0
  217. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/twitter.png +0 -0
  218. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/video1-w.png +0 -0
  219. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/zoom-w.png +0 -0
  220. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/zoom.png +0 -0
  221. /data/assets/theme/j1/modules/lightGallery/{js → !v2.7.2/js}/plugins/j1/j1-video.js +0 -0
  222. /data/assets/theme/j1/modules/lightGallery/{js → !v2.7.2/js}/plugins/j1/j1-video.min.js +0 -0
  223. /data/assets/theme/j1/modules/videoPlayer/dailymotion/js/{!readme → README.md} +0 -0
  224. /data/assets/theme/j1/modules/videoPlayer/tiktoc/{js/player.min.js → player.min.js} +0 -0
  225. /data/assets/theme/j1/modules/videoPlayer/vimeo/js/{!readme → README.md} +0 -0
  226. /data/assets/theme/j1/modules/videoPlayer/wistia/js/{!readme → README.md} +0 -0
  227. /data/assets/theme/j1/modules/videojs/{css → !v8.12.0/css}/font/video-js-cdn.css +0 -0
  228. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/autocaption/LICENSE +0 -0
  229. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/autocaption/README.md +0 -0
  230. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/autocaption → plugins/controls/autocaption/js}/autocaption.min.js +0 -0
  231. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/hotkeys/examples → plugins/controls/hotkeys/!examples}/example.html +0 -0
  232. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/hotkeys/LICENSE.md +0 -0
  233. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/hotkeys/README.md +0 -0
  234. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/hotkeys → plugins/controls/hotkeys/js}/hotkeys.js +0 -0
  235. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/hotkeys → plugins/controls/hotkeys/js}/hotkeys.min.js +0 -0
  236. /data/assets/theme/j1/modules/videojs/{css/plugins/controls → plugins/controls/skipbuttons/css}/skipbuttons.css +0 -0
  237. /data/assets/theme/j1/modules/videojs/{css/plugins/controls → plugins/controls/skipbuttons/css}/skipbuttons.min.css +0 -0
  238. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/skipbuttons → plugins/controls/skipbuttons/js}/skipbuttons.js +0 -0
  239. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/skipbuttons → plugins/controls/skipbuttons/js}/skipbuttons.min.js +0 -0
  240. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/zoom/examples → plugins/controls/zoom/!examples}/index.html +0 -0
  241. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/zoom/examples → plugins/controls/zoom/!examples}/index.js +0 -0
  242. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/zoom/examples → plugins/controls/zoom/!examples}/styles.css +0 -0
  243. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/zoom/LICENSE.md +0 -0
  244. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/zoom/README.md +0 -0
  245. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/zoom → plugins/controls/zoom/js}/zoom.js +0 -0
  246. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/zoom → plugins/controls/zoom/js}/zoom.min.js +0 -0
  247. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/dailymotion-controls.html +0 -0
  248. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/dailymotion-javascript.html +0 -0
  249. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/dailymotion-playlist.html +0 -0
  250. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/global-parameters.html +0 -0
  251. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/simple.html +0 -0
  252. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/switch.html +0 -0
  253. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/dm/LICENSE +0 -0
  254. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/doc → plugins/players/dm}/README.md +0 -0
  255. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/dm/api/LICENSE +0 -0
  256. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/api/doc → plugins/players/dm/api}/README.md +0 -0
  257. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/api → plugins/players/dm/api/js}/dailymotion.sdk.js +0 -0
  258. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/api → plugins/players/dm/api/js}/dailymotion.sdk.min.js +0 -0
  259. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/dm/icon/scalable/dailymotion.svg +0 -0
  260. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm → plugins/players/dm/js}/dailymotion.min.js +0 -0
  261. /data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/examples → plugins/players/vm/!examples}/index.html +0 -0
  262. /data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/examples → plugins/players/vm/!examples}/player/index.html +0 -0
  263. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/vm/LICENSE +0 -0
  264. /data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/doc → plugins/players/vm}/README.md +0 -0
  265. /data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/api/doc → plugins/players/vm/api}/README.md +0 -0
  266. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/vm/api/css/embed.player.css +0 -0
  267. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/vm/api/css/embed.player.uno.css +0 -0
  268. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/vm/api/css/player.css +0 -0
  269. /data/assets/theme/j1/modules/videojs/{js/plugins/players/wt/doc → plugins/players/wt}/README.md +0 -0
  270. /data/assets/theme/j1/modules/videojs/{js/plugins/players/wt/api/doc/Readme.txt → plugins/players/wt/api/README.md} +0 -0
  271. /data/assets/theme/j1/modules/videojs/{js/plugins/players/wt/api → plugins/players/wt/api/js}/wistia.min.js +0 -0
  272. /data/assets/theme/j1/modules/videojs/{js/plugins/players/wt → plugins/players/wt/js}/wistia.js +0 -0
  273. /data/assets/theme/j1/modules/videojs/{js/plugins/players/wt → plugins/players/wt/js}/wistia.min.js +0 -0
  274. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/global-parameters.html +0 -0
  275. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/simple.html +0 -0
  276. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/switch.html +0 -0
  277. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/youtube-controls.html +0 -0
  278. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/youtube-javascript.html +0 -0
  279. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/youtube-list.html +0 -0
  280. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/youtube-playlist.html +0 -0
  281. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/v3.0.0 → plugins/players/yt/!v3.0.0}/youtube.js +0 -0
  282. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/v3.0.0 → plugins/players/yt/!v3.0.0}/youtube.min.js +0 -0
  283. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/yt/LICENSE +0 -0
  284. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/doc → plugins/players/yt}/README.md +0 -0
  285. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/api → plugins/players/yt/api/js}/youtube.min.js +0 -0
  286. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt → plugins/players/yt/js}/youtube.js +0 -0
  287. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt → plugins/players/yt/js}/youtube.min.js +0 -0
@@ -0,0 +1,665 @@
1
+ /*
2
+ # -----------------------------------------------------------------------------
3
+ # ~/assets/theme/j1/modules/videojs/js/vimeo/vimeo.js
4
+ # Provides Vimeo Playback Technology (Tech) for Video.js V8 and newer
5
+ #
6
+ # Product/Info:
7
+ # http://jekyll.one
8
+ #
9
+ # Copyright (C) 2023-2025 Juergen Adams
10
+ #
11
+ # J1 Theme is licensed under MIT License.
12
+ # See: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE
13
+ # -----------------------------------------------------------------------------
14
+ */
15
+
16
+ /* global define, VM */
17
+ (function (root, factory) {
18
+ if(typeof exports==='object' && typeof module!=='undefined') {
19
+ var videojs = require('video.js');
20
+ module.exports = factory(videojs.default || videojs);
21
+ } else if(typeof define === 'function' && define.amd) {
22
+ define(['videojs'], function(videojs){
23
+ return (root.Vimeo = factory(videojs));
24
+ });
25
+ } else {
26
+ root.Vimeo = factory(root.videojs);
27
+ }
28
+ }(this, function(videojs) {
29
+ 'use strict';
30
+
31
+ var logger = log4javascript.getLogger('videoJS.plugin.vimeo');
32
+ var isOnMobile = videojs.browser.IS_IOS || videojs.browser.IS_ANDROID;
33
+ var Tech = videojs.getTech('Tech');
34
+ var cssInjected = false;
35
+ var vjsControlbar = false;
36
+
37
+ var vjsPlayer;
38
+ var vjsBigPlayButtons;
39
+
40
+ var startTimeModule;
41
+ var endTimeModule;
42
+
43
+ class Vimeo extends Tech {
44
+
45
+ /**
46
+ * Vimeo - Wrapper for Video Player API
47
+ *
48
+ * @param {Object=} options Object of option names and values
49
+ * @param {Function=} ready Ready callback function
50
+ * @extends Tech
51
+ * @class Vimeo
52
+ */
53
+ constructor(options, ready) {
54
+ super(options, ready);
55
+
56
+ // jadams: VJS controlbar
57
+ if (vjsControlbar) {
58
+ var divElement = document.getElementById(options.playerId);
59
+ divElement.classList.remove("vjs-controls-disabled");
60
+ divElement.classList.add("vjs-controls-enabled");
61
+ divElement.classList.remove("vjs-user-inactive");
62
+ divElement.classList.add("vjs-user-active");
63
+ } // END if vjsControlbar
64
+
65
+ this.setPoster(options.poster);
66
+
67
+ // Set the vjs-vimeo class on the player PARENT node.
68
+ // When not set, yet so we have to wait a tick
69
+ var vm = this;
70
+ setTimeout(function() {
71
+ if (this.el_) {
72
+ this.el_.parentNode.className += ' vjs-vimeo';
73
+
74
+ if (isOnMobile) {
75
+ this.el_.parentNode.className += ' vjs-vimeo-mobile';
76
+ }
77
+
78
+ if (Vimeo.isSdkReady) {
79
+ vm.initVMPlayer();
80
+ } else {
81
+ Vimeo.sdkReadyQueue.push(vm);
82
+ }
83
+ }
84
+ }.bind(this));
85
+
86
+ } // END constructor
87
+
88
+ initVMPlayer() {
89
+ // initial vmPlayer settings
90
+ var vimeoOptions = {
91
+ url: this.options_.source.src,
92
+ byline: false,
93
+ controls: false,
94
+ portrait: false,
95
+ title: false,
96
+ pip: false,
97
+ vimeo_logo: false,
98
+ // dnt: false,
99
+ // transparent: false,
100
+ // keyboard: false,
101
+ };
102
+
103
+ // jadams: VJS controlbar
104
+ if (vjsControlbar) {
105
+ vimeoOptions.controls = false;
106
+ } else {
107
+ vimeoOptions.controls = true;
108
+ } // END if vjsControlbar
109
+
110
+ if (this.options_.autoplay) {
111
+ vimeoOptions.autoplay = true;
112
+ }
113
+ if (this.options_.height) {
114
+ vimeoOptions.height = this.options_.height;
115
+ }
116
+ if (this.options_.width) {
117
+ vimeoOptions.width = this.options_.width;
118
+ }
119
+ if (this.options_.maxheight) {
120
+ vimeoOptions.maxheight = this.options_.maxheight;
121
+ }
122
+ if (this.options_.maxwidth) {
123
+ vimeoOptions.maxwidth = this.options_.maxwidth;
124
+ }
125
+ if (this.options_.loop) {
126
+ vimeoOptions.loop = this.options_.loop;
127
+ }
128
+ if (this.options_.color) {
129
+ // vimeo is the only API on earth to reject hex color with leading #
130
+ vimeoOptions.color = this.options_.color.replace(/^#/, '');
131
+ }
132
+
133
+ this.vmPlayer = new VM.Player(this.el(), vimeoOptions);
134
+ this.initVimeoState();
135
+
136
+ // setup API events
137
+ var apiEvents = [
138
+ 'play', 'playing', 'pause', 'ended', 'loaded',
139
+ 'timeupdate', 'progress', 'seeking', 'seeked',
140
+ 'ready'
141
+ ];
142
+ apiEvents.forEach(e => {
143
+ this.vmPlayer.on(e, (progress) => {
144
+ if (this._vimeoState.progress.duration !== progress.duration) {
145
+ this.trigger('durationchange');
146
+ }
147
+ this._vimeoState.progress = progress;
148
+ this.trigger(e);
149
+ });
150
+
151
+ this.vmPlayer.on(e, (ready) => {
152
+ this.vmPlayer.getVideoEmbedCode()
153
+ .then (function(embedCode) {
154
+ var code = embedCode;
155
+ })
156
+ .catch(function(error) {
157
+ console.err('Vimeo API: an error occurred');
158
+ });
159
+ }); // END on ready
160
+
161
+ this.vmPlayer.on(e, (timeupdate) => {
162
+ if (this._vimeoState.progress.duration !== progress.duration) {
163
+ this.trigger('durationchange');
164
+ }
165
+ this._vimeoState.progress = progress;
166
+ this.trigger(e);
167
+ });
168
+
169
+ this.vmPlayer.on('pause', () => this._vimeoState.playing = false);
170
+
171
+ this.vmPlayer.on('play', () => {
172
+ this._vimeoState.playing = true;
173
+ this._vimeoState.ended = false;
174
+ });
175
+ }); // END forEach apiEvents
176
+
177
+ this.vmPlayer.on('ended', () => {
178
+ this._vimeoState.playing = false;
179
+ this._vimeoState.ended = true;
180
+ });
181
+
182
+ this.vmPlayer.on('volumechange', (v) => {
183
+ this._vimeoState.volume = v;
184
+ });
185
+
186
+ this.vmPlayer.on('error', (e) => {
187
+ this.trigger('error', e);
188
+ });
189
+ // END API events
190
+
191
+ this.triggerReady();
192
+ logger.debug('\n' + 'created ' + this.name_ + ' player on ID: ' + this.el_.firstChild.id);
193
+ } // END initVMPlayer
194
+
195
+ initVimeoState() {
196
+ var state = this._vimeoState = {
197
+ ended: false,
198
+ playing: false,
199
+ muted: false,
200
+ volume: 0,
201
+ progress: {
202
+ seconds: 0,
203
+ percent: 0,
204
+ duration: 0
205
+ }
206
+ };
207
+
208
+ this.vmPlayer.getCurrentTime().then(time => state.progress.seconds = time);
209
+ this.vmPlayer.getDuration().then(time => state.progress.duration = time);
210
+ this.vmPlayer.getPaused().then(paused => state.playing = !paused);
211
+ this.vmPlayer.getVolume().then(volume => state.volume = volume);
212
+
213
+ // jadams: workaround SHOW vjsBigPlayButton
214
+ if (vjsControlbar) {
215
+ // native VJS player
216
+ // do nothing
217
+ } else {
218
+ // SHOW vjsBigPlayButton for Vimeo NATIVE players
219
+ vjsPlayer = videojs(this.options_.playerId);
220
+ vjsBigPlayButtons = document.getElementsByClassName('vjs-big-play-button');
221
+
222
+ for (var i = 0; i < vjsBigPlayButtons.length; i++) {
223
+ var button = vjsBigPlayButtons[i];
224
+ if (!button.parentElement.player.controls_) {
225
+ vjsPlayer.player_.el_.classList.remove("vjs-controls-disabled");
226
+ }
227
+ } // END for vjsBigPlayButtons
228
+ } // END
229
+
230
+ } // END initVimeoState
231
+
232
+ createEl() {
233
+ vjsPlayer = videojs(this.options_.playerId);
234
+
235
+ var div = document.createElement('div');
236
+ div.setAttribute('id', this.options_.techId);
237
+ div.setAttribute('style', 'width:100%; height:100%; top:0; left:0; position:absolute');
238
+ div.setAttribute('class', 'vjs-tech');
239
+
240
+ var techWrapper = document.createElement('div');
241
+ techWrapper.setAttribute('class', 'vjs-tech-wrapper');
242
+ techWrapper.appendChild(div);
243
+
244
+ var techOverlay = document.createElement('div');
245
+ techOverlay.setAttribute('class', 'vjs-tech-overlay');
246
+ techOverlay.setAttribute('style', 'cursor: pointer; position:absolute; z-index: 1; top:0; left:0; width:100%; height:100%');
247
+ techWrapper.appendChild(techOverlay);
248
+
249
+ if (vjsControlbar) {
250
+ // workaround TOGGLE play|pause for Vimmo Tech (click on video)
251
+ techOverlay.addEventListener('click', (event) => {
252
+ if (this._vimeoState.playing) {
253
+ this.vmPlayer.pause();
254
+ this.trigger('pause');
255
+ this._vimeoState.playing = false;
256
+ } else {
257
+ this.vmPlayer.play();
258
+ this.trigger('play');
259
+ this._vimeoState.playing = true;
260
+ }
261
+ }); // END EventListener 'click'
262
+ } else {
263
+ // workaround PLAY for Vimmo Tech (click on video)
264
+ techOverlay.addEventListener('click', (event) => {
265
+ if (!this._vimeoState.playing) {
266
+ vjsPlayer.player_.el_.classList.add("vjs-controls-disabled");
267
+ this.vmPlayer.play();
268
+ this.trigger('play');
269
+ this._vimeoState.playing = true;
270
+ } else {
271
+ // errror in flow
272
+ } // END if NOT playing
273
+ // remove techOverlay as it is only required on initial page
274
+ techOverlay.remove();
275
+ }, {once: true}); // END EventListener 'click' ONCE
276
+ } // END if vjsControlbar
277
+
278
+ return techWrapper;
279
+ } // END createEl
280
+
281
+ controls() {
282
+ return true;
283
+ } // END controls
284
+
285
+ supportsFullScreen() {
286
+ return true;
287
+ } // END supportsFullScreen
288
+
289
+ src() {
290
+ return this.options_.source;
291
+ } // END src
292
+
293
+ currentSrc() {
294
+ return this.options_.source.src;
295
+ } // END currentSrc
296
+
297
+ volume() {
298
+ // return this._vimeoState.volume;
299
+ this.vmPlayer.getVolume().then((volume) => {
300
+ // volume = the volume level of the player
301
+ return volume;
302
+ }).catch(function(error) {
303
+ // an error occurred
304
+ });
305
+ } // END volume
306
+
307
+ setVolume(volume) {
308
+ // return this.vmPlayer.setVolume(volume);
309
+
310
+ this.vmPlayer.setVolume(volume).then((volume) => {
311
+ // volume was set
312
+ this.trigger('volumechange');
313
+ return volume;
314
+ }).catch(function(error) {
315
+ switch (error.name) {
316
+ case 'RangeError':
317
+ // the volume was less than 0 or greater than 1
318
+ break;
319
+ default:
320
+ // some other error occurred
321
+ break;
322
+ }
323
+ });
324
+ } // END setVolume
325
+
326
+ muted() {
327
+ var player = videojs(this.options_.playerId);
328
+ this.vmPlayer.getMuted().then((muted) => {
329
+ // muted = whether muted is turned on or not
330
+ // if (muted) {
331
+ // player.muted(true);
332
+ // }
333
+ return muted;
334
+ }).catch(function(error) {
335
+ // an error occurred
336
+ });
337
+ } // END muted
338
+
339
+ setMuted(mute) {
340
+ var player = videojs(this.options_.playerId);
341
+ var isMuted = !this._vimeoState.muted; // toggle mute state
342
+ var _this = this;
343
+
344
+ this.vmPlayer.setMuted(isMuted).then((muted) => {
345
+ _this._vimeoState.muted = muted;
346
+ // if (muted) {
347
+ // player.muted(true);
348
+ // }
349
+ return muted;
350
+ }).catch(function(error) {
351
+ // an error occurred
352
+ });
353
+ } // END setMuted
354
+
355
+ buffered() {
356
+ const progress = this._vimeoState.progress;
357
+ return videojs.time.createTimeRanges(0, progress.percent * progress.duration);
358
+ } // END buffered
359
+
360
+ paused() {
361
+ return !this._vimeoState.playing;
362
+ } // END paused
363
+
364
+ pause() {
365
+ this.vmPlayer.pause();
366
+ this._vimeoState.playing = false;
367
+ } // END pause
368
+
369
+ play() {
370
+ vjsPlayer.player_.el_.classList.add("vjs-controls-disabled");
371
+ this.vmPlayer.play();
372
+ this._vimeoState.playing = true;
373
+ } // END play
374
+
375
+ ended() {
376
+ return this._vimeoState.ended;
377
+ } // END ended
378
+
379
+
380
+ // currentTime() {
381
+ // return this._vimeoState.progress.seconds;
382
+ // } // END
383
+ //
384
+ // setCurrentTime(time) {
385
+ // // this.vmPlayer.setCurrentTime(time);
386
+ // this.vmPlayer.setCurrentTime(30.456).then(function(seconds) {
387
+ // // seconds = the actual time that the player seeked to
388
+ // var currentTime = seconds
389
+ // }).catch(function(error) {
390
+ // switch (error.name) {
391
+ // case 'RangeError':
392
+ // // the time was less than 0 or greater than the video’s duration
393
+ // break;
394
+ // default:
395
+ // // some other error occurred
396
+ // break;
397
+ // }
398
+ // });
399
+ // } // END setCurrentTime
400
+
401
+ // currentTime() {
402
+ // var currentTime = this.vmPlayer ? this.vmPlayer.getCurrentTime() : 0;
403
+ // return currentTime;
404
+ // }
405
+
406
+ currentTime() {
407
+ this.vmPlayer.getCurrentTime().then((seconds) => {
408
+ // seconds = the current playback position
409
+ return seconds;
410
+ }).catch(function(error) {
411
+ // an error occurred
412
+ });
413
+ } // END currentTime
414
+
415
+ setCurrentTime(seconds) {
416
+ if (this.lastState === vmPlayer.getPaused()) {
417
+ this.timeBeforeSeek = this.currentTime();
418
+ }
419
+
420
+ if (!this.isSeeking) {
421
+ this.wasPausedBeforeSeek = this.paused();
422
+ }
423
+
424
+ this.vmPlayer.seekTo(seconds, true);
425
+ this.trigger('timeupdate');
426
+ this.trigger('seeking');
427
+ this.isSeeking = true;
428
+
429
+ // A seek event during pause does not return an event to trigger a seeked event,
430
+ // so run an interval timer to look for the currentTime to change
431
+ if (this.lastState === vmPlayer.getPaused() && this.timeBeforeSeek !== seconds) {
432
+ clearInterval(this.checkSeekedInPauseInterval);
433
+ this.checkSeekedInPauseInterval = setInterval(function() {
434
+ if (this.lastState !== vmPlayer.getPaused() || !this.isSeeking) {
435
+ // If something changed while we were waiting for the currentTime to change,
436
+ // clear the interval timer
437
+ clearInterval(this.checkSeekedInPauseInterval);
438
+ } else if (this.currentTime() !== this.timeBeforeSeek) {
439
+ this.trigger('timeupdate');
440
+ this.onSeeked();
441
+ }
442
+ }.bind(this), 250);
443
+ }
444
+ } // END setCurrentTime
445
+
446
+ seeking() {
447
+ return this.isSeeking;
448
+ } // END seeking
449
+
450
+ // jadams, 2023-10-01: videojs.createTimeRange() deprecated in VideoJS 9
451
+ //
452
+ seekable() {
453
+ if(!this.vmPlayer) {
454
+ // return videojs.createTimeRange();
455
+ return videojs.time.createTimeRanges();
456
+ }
457
+ // return videojs.createTimeRange(0, this.vmPlayer.getDuration());
458
+ return videojs.time.createTimeRanges(0, this.vmPlayer.getDuration());
459
+ } // END seekable
460
+
461
+ onSeeked() {
462
+ clearInterval(this.checkSeekedInPauseInterval);
463
+ this.isSeeking = false;
464
+
465
+ if (this.wasPausedBeforeSeek) {
466
+ this.pause();
467
+ }
468
+
469
+ this.trigger('seeked');
470
+ } // END onSeeked
471
+
472
+ playbackRate() {
473
+ return this.vmPlayer ? this.vmPlayer.getPlaybackRate() : 1;
474
+ } // END playbackRate
475
+
476
+ setPlaybackRate(suggestedRate) {
477
+ if (!this.vmPlayer) {
478
+ return;
479
+ }
480
+
481
+ this.vmPlayer.setPlaybackRate(suggestedRate);
482
+ } // END setPlaybackRate
483
+
484
+ // duration() {
485
+ // var duration = this.vmPlayer ? this.vmPlayer.getDuration() : 0;
486
+ // return duration;
487
+ // }
488
+
489
+ // duration() {
490
+ // return this._vimeoState.progress.duration;
491
+ // } // END
492
+
493
+ duration() {
494
+ this.vmPlayer.getDuration().then((duration) => {
495
+ // duration = the duration of the video in seconds
496
+ return duration;
497
+ }).catch(function(error) {
498
+ // an error occurred
499
+ });
500
+ } // END duration
501
+
502
+ } // END class Vimeo
503
+
504
+ Vimeo.prototype.featuresTimeupdateEvents = true;
505
+
506
+ Vimeo.isSupported = () => {
507
+ return true;
508
+ };
509
+
510
+ // Add Source Handler pattern functions to this tech
511
+ Tech.withSourceHandlers(Vimeo);
512
+
513
+ Vimeo.nativeSourceHandler = {};
514
+
515
+ /**
516
+ * Check if Vimeo can play the given videotype
517
+ * @param {String} type The mimetype to check
518
+ * @return {String} 'maybe', or '' (empty string)
519
+ */
520
+ Vimeo.nativeSourceHandler.canPlayType = (source) => {
521
+ if (source === 'video/vimeo') {
522
+ return 'maybe';
523
+ }
524
+ };
525
+
526
+ /*
527
+ * Check Vimeo can handle the source natively
528
+ *
529
+ * @param {Object} source The source object
530
+ * @return {String} 'maybe', or '' (empty string)
531
+ * @note: Copied over from YouTube — not sure this is relevant
532
+ */
533
+ Vimeo.nativeSourceHandler.canHandleSource = (source) => {
534
+ if (source.type) {
535
+ return Vimeo.nativeSourceHandler.canPlayType(source.type);
536
+ } else if (source.src) {
537
+ return Vimeo.nativeSourceHandler.canPlayType(source.src);
538
+ }
539
+ };
540
+
541
+ // @note: Copied over from YouTube — not sure this is relevant
542
+ Vimeo.nativeSourceHandler.handleSource = (source, tech) => {
543
+ tech.src(source.src);
544
+ };
545
+
546
+ // @note: Copied over from YouTube — not sure this is relevant
547
+ Vimeo.nativeSourceHandler.dispose = () => {};
548
+
549
+ Vimeo.registerSourceHandler(Vimeo.nativeSourceHandler);
550
+
551
+ // Include the version number
552
+ Vimeo.VERSION = '1.0.0';
553
+
554
+ Vimeo.sdkReadyQueue = [];
555
+
556
+ // Since the iframe can't be touched using Vimeo's way of embedding,
557
+ // let's add a new styling rule to have the same style as `vjs-tech`
558
+ //
559
+ function injectCss() {
560
+ if (cssInjected) {
561
+ return;
562
+ }
563
+ cssInjected = true;
564
+
565
+ const css = `
566
+ .vjs-vimeo iframe {
567
+ position: absolute;
568
+ top: 0;
569
+ left: 0;
570
+ width: 100%;
571
+ height: 100%;
572
+ }
573
+ .vjs-vimeo-mobile .vjs-big-play-button { display: none; }
574
+ `;
575
+
576
+ const head = document.head || document.getElementsByTagName('head')[0];
577
+ const style = document.createElement('style');
578
+ style.type = 'text/css';
579
+
580
+ if (style.styleSheet) {
581
+ style.styleSheet.cssText = css;
582
+ } else {
583
+ style.appendChild(document.createTextNode(css));
584
+ }
585
+
586
+ logger.debug('\n' + 'added additional CSS styles');
587
+ head.appendChild(style);
588
+ } // END injectCss
589
+
590
+ function apiLoaded() {
591
+ Vimeo.isSdkReady = true;
592
+
593
+ for (var i = 0; i < Vimeo.sdkReadyQueue.length; ++i) {
594
+ Vimeo.sdkReadyQueue[i].initVMPlayer();
595
+ }
596
+ logger.debug('\n' + 'created all players from queue: #' + i);
597
+
598
+ endTimeModule = Date.now();
599
+ logger.debug('\n' + 'initializing plugin: finished');
600
+ logger.debug('\n' + 'plugin initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
601
+ } // END apiLoaded
602
+
603
+ function loadScript(src, callback) {
604
+ var loaded = false;
605
+ var tag = document.createElement('script');
606
+ var firstScriptTag = document.getElementsByTagName('script')[0];
607
+
608
+ if (!firstScriptTag) {
609
+ // when loaded in jest without jsdom setup it doesn't get any element.
610
+ // In jest it doesn't really make sense to do anything, because no
611
+ // one is watching dailymotion in jest
612
+ return;
613
+ }
614
+
615
+ firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
616
+ tag.onload = function () {
617
+ if (!loaded) {
618
+ loaded = true;
619
+ callback();
620
+ }
621
+ };
622
+
623
+ tag.onreadystatechange = () => {
624
+ if (!loaded && (this.readyState === 'complete' || this.readyState === 'loaded')) {
625
+ loaded = true;
626
+ callback();
627
+ }
628
+ };
629
+
630
+ tag.src = src;
631
+ } // END loadScript
632
+
633
+ // initialize plugin if page ready
634
+ // -------------------------------------------------------------------------
635
+ var dependencies_met_page_ready = setInterval (() => {
636
+ var pageState = $('#content').css("display");
637
+ var pageVisible = (pageState === 'block') ? true : false;
638
+ var j1CoreFinished = (j1.getState() === 'finished') ? true : false;
639
+ var atticFinished = (j1.adapter.attic.getState() == 'finished') ? true : false;
640
+
641
+ if (j1CoreFinished && pageVisible && atticFinished) {
642
+ startTimeModule = Date.now();
643
+
644
+ logger.debug('\n' + 'initializing plugin: started');
645
+ logger.debug('\n' + 'version of videoJS detected: ' + videojs.VERSION);
646
+
647
+ // load script loaded from local because of NemeSpace conflicts (Vimeo -> VM)
648
+ loadScript('/assets/theme/j1/modules/videojs/js/plugins/vm/api/vimeo.js', apiLoaded);
649
+ // loadScript('https://player.vimeo.com/api/player.js', apiLoaded);
650
+
651
+ injectCss();
652
+
653
+ clearInterval(dependencies_met_page_ready);
654
+ } // END pageVisible
655
+ }, 10); // END dependencies_met_page_ready
656
+
657
+
658
+ // Check VJS versions to register Wistia TECH
659
+ if (typeof videojs.registerTech !== 'undefined') {
660
+ videojs.registerTech('Vimeo', Vimeo);
661
+ } else {
662
+ console.error('\n' + 'invalid version of videoJS detected: ' + videojs.VERSION);
663
+ }
664
+
665
+ }));