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