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