j1-template 2024.3.21 → 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 (383) hide show
  1. checksums.yaml +4 -4
  2. data/assets/data/amplitude_app.html +60 -51
  3. data/assets/data/{galeries.html → gallery_app.html} +4 -4
  4. data/assets/theme/bla +0 -0
  5. data/assets/theme/j1/adapter/js/advertising.js +40 -38
  6. data/assets/theme/j1/adapter/js/algolia.js +13 -11
  7. data/assets/theme/j1/adapter/js/amplitude.js +628 -380
  8. data/assets/theme/j1/adapter/js/analytics.js +19 -17
  9. data/assets/theme/j1/adapter/js/asciidoctor.js +10 -8
  10. data/assets/theme/j1/adapter/js/attic.js +24 -22
  11. data/assets/theme/j1/adapter/js/bmd.js +10 -8
  12. data/assets/theme/j1/adapter/js/carousel.js +12 -9
  13. data/assets/theme/j1/adapter/js/chatbot.js +106 -104
  14. data/assets/theme/j1/adapter/js/clipboard.js +16 -14
  15. data/assets/theme/j1/adapter/js/comments.js +24 -22
  16. data/assets/theme/j1/adapter/js/cookieConsent.js +5 -1
  17. data/assets/theme/j1/adapter/js/customFunctions.js +12 -10
  18. data/assets/theme/j1/adapter/js/customModule.js +10 -8
  19. data/assets/theme/j1/adapter/js/docsearch.js +33 -31
  20. data/assets/theme/j1/adapter/js/dropdowns.js +16 -14
  21. data/assets/theme/j1/adapter/js/fab.js +34 -32
  22. data/assets/theme/j1/adapter/js/gallery.js +22 -20
  23. data/assets/theme/j1/adapter/js/gemini.js +66 -64
  24. data/assets/theme/j1/adapter/js/iconPicker.js +31 -29
  25. data/assets/theme/j1/adapter/js/iconPickerPage.js +11 -9
  26. data/assets/theme/j1/adapter/js/iframer.js +17 -15
  27. data/assets/theme/j1/adapter/js/j1.js +146 -143
  28. data/assets/theme/j1/adapter/js/lazyLoader.js +33 -31
  29. data/assets/theme/j1/adapter/js/lightbox.js +9 -7
  30. data/assets/theme/j1/adapter/js/logger.js +11 -9
  31. data/assets/theme/j1/adapter/js/lunr.js +37 -35
  32. data/assets/theme/j1/adapter/js/masonry.js +23 -21
  33. data/assets/theme/j1/adapter/js/masterslider.js +31 -29
  34. data/assets/theme/j1/adapter/js/mmenu.js +25 -23
  35. data/assets/theme/j1/adapter/js/navigator.js +43 -41
  36. data/assets/theme/j1/adapter/js/particles.js +12 -10
  37. data/assets/theme/j1/adapter/js/rangeSlider.js +21 -19
  38. data/assets/theme/j1/adapter/js/rouge.js +10 -8
  39. data/assets/theme/j1/adapter/js/rtable.js +14 -12
  40. data/assets/theme/j1/adapter/js/rtextResizer.js +10 -8
  41. data/assets/theme/j1/adapter/js/scroller.js +15 -13
  42. data/assets/theme/j1/adapter/js/slick.js +18 -16
  43. data/assets/theme/j1/adapter/js/slimSelect.js +30 -28
  44. data/assets/theme/j1/adapter/js/speak2me.js +25 -23
  45. data/assets/theme/j1/adapter/js/swiper.js +13 -11
  46. data/assets/theme/j1/adapter/js/themeToggler.js +11 -9
  47. data/assets/theme/j1/adapter/js/themes.js +60 -86
  48. data/assets/theme/j1/adapter/js/toccer.js +13 -11
  49. data/assets/theme/j1/adapter/js/translator.js +19 -16
  50. data/assets/theme/j1/adapter/js/videojs.js +9 -7
  51. data/assets/theme/j1/adapter/js/waves.js +18 -16
  52. data/assets/theme/j1/core/css/themes/unolight/bootstrap.css +19 -52
  53. data/assets/theme/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  54. data/assets/theme/j1/core/js/template.js +11180 -10968
  55. data/assets/theme/j1/core/js/template.min.js +13 -18
  56. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.css +10 -4
  57. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.min.css +1 -1
  58. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/compact.css +15 -8
  59. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/compact.min.css +2 -1
  60. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.css +35 -14
  61. data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.min.css +1 -1
  62. data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.js +817 -695
  63. data/assets/theme/j1/modules/backstretch/js/backstretch.js +2 -2
  64. data/assets/theme/j1/modules/backstretch/js/backstretch.min.js +1 -1
  65. data/assets/theme/j1/modules/cookieConsent/js/cookieConsent.js +11 -11
  66. data/assets/theme/j1/modules/cookieConsent/js/cookieConsent.min.js +2 -1
  67. data/assets/theme/j1/modules/dropdowns/js/dropdowns.js +2 -2
  68. data/assets/theme/j1/modules/dropdowns/js/dropdowns.min.js +1 -1
  69. data/assets/theme/j1/modules/fab/js/fab.js +2 -2
  70. data/assets/theme/j1/modules/fab/js/fab.min.js +1 -1
  71. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/lg-transitions.css +984 -0
  72. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/lg-transitions.min.css +26 -0
  73. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/lightgallery-bundle.css +1627 -0
  74. data/assets/theme/j1/modules/lightGallery/!v2.7.2/css/lightgallery-bundle.min.css +25 -0
  75. data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/uno.css +1 -1
  76. data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/uno.min.css +1 -1
  77. data/assets/theme/j1/modules/lightGallery/!v2.7.2/fonts/lg.svg +54 -0
  78. data/assets/theme/j1/modules/lightGallery/!v2.7.2/fonts/lg.ttf +0 -0
  79. data/assets/theme/j1/modules/lightGallery/!v2.7.2/fonts/lg.woff +0 -0
  80. data/assets/theme/j1/modules/lightGallery/!v2.7.2/fonts/lg.woff2 +0 -0
  81. data/assets/theme/j1/modules/lightGallery/!v2.7.2/images/loading.gif +0 -0
  82. data/assets/theme/j1/modules/lightGallery/!v2.7.2/img/loading.gif +0 -0
  83. data/assets/theme/j1/modules/lightGallery/!v2.7.2/img/video-play.png +0 -0
  84. data/assets/theme/j1/modules/lightGallery/!v2.7.2/img/vimeo-play.png +0 -0
  85. data/assets/theme/j1/modules/lightGallery/!v2.7.2/img/youtube-play.png +0 -0
  86. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/lightgallery.js +2782 -0
  87. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/lightgallery.min.js +26 -0
  88. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/parser/webvtt/LICENSE.md +44 -0
  89. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/parser/webvtt/README.md +37 -0
  90. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/parser/webvtt/parser.js +890 -0
  91. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/parser/webvtt/parser.min.js +8 -0
  92. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/j1/lg-video.1.js +585 -0
  93. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-autoplay.js +275 -0
  94. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-autoplay.min.js +26 -0
  95. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-comment.js +230 -0
  96. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-comment.min.js +26 -0
  97. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-fullscreen.js +160 -0
  98. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-fullscreen.min.js +26 -0
  99. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-hash.js +223 -0
  100. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-hash.min.js +27 -0
  101. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-medium-zoom.js +157 -0
  102. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-medium-zoom.min.js +26 -0
  103. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-pager.js +164 -0
  104. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-pager.min.js +26 -0
  105. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-rotate.js +299 -0
  106. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-rotate.min.js +26 -0
  107. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-share.js +244 -0
  108. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-share.min.js +27 -0
  109. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-thumbnail.js +509 -0
  110. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-thumbnail.min.js +26 -0
  111. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-video.js +909 -0
  112. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-video.min.js +26 -0
  113. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-vimeo-thumbnail.js +207 -0
  114. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-vimeo-thumbnail.min.js +26 -0
  115. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-zoom.js +999 -0
  116. data/assets/theme/j1/modules/lightGallery/!v2.7.2/js/plugins/lg-zoom.min.js +26 -0
  117. data/assets/theme/j1/modules/lightGallery/css/lg-transitions.css +3 -126
  118. data/assets/theme/j1/modules/lightGallery/css/lg-transitions.min.css +3 -10
  119. data/assets/theme/j1/modules/lightGallery/css/lightgallery-bundle.css +70 -237
  120. data/assets/theme/j1/modules/lightGallery/css/lightgallery-bundle.min.css +4 -10
  121. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/animation-w.png +0 -0
  122. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/customize-w.png +0 -0
  123. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/dynamic-w.png +0 -0
  124. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/facebook-icon.svg +10 -0
  125. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/googleplus-icon.svg +30 -0
  126. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/html5-w.png +0 -0
  127. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/linked-in.png +0 -0
  128. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/module-w.png +0 -0
  129. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/play-button-hover.svg +94 -0
  130. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/play-button.png +0 -0
  131. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/play-button.svg +93 -0
  132. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/responsive-w.png +0 -0
  133. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/thumb-w.png +0 -0
  134. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/touch-w.png +0 -0
  135. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/twitter-icon.svg +15 -0
  136. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/twitter.png +0 -0
  137. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/video1-w.png +0 -0
  138. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/zoom-w.png +0 -0
  139. data/assets/theme/j1/modules/lightGallery/css/theme/uno/icons/zoom.png +0 -0
  140. data/assets/theme/j1/modules/lightGallery/css/theme/uno/uno.css +276 -0
  141. data/assets/theme/j1/modules/lightGallery/css/theme/uno/uno.min.css +17 -0
  142. data/assets/theme/j1/modules/lightGallery/js/lightgallery.js +163 -120
  143. data/assets/theme/j1/modules/lightGallery/js/lightgallery.min.js +6 -6
  144. data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-thumbnail.0.js +495 -0
  145. data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-thumbnail.1.js +513 -0
  146. data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-video.0.js +553 -0
  147. data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-video.1.js +1 -1
  148. data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-video.2.js +914 -0
  149. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-autoplay.js +4 -4
  150. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-autoplay.min.js +5 -5
  151. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-comment.js +5 -5
  152. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-comment.min.js +6 -6
  153. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-fullscreen.js +4 -4
  154. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-fullscreen.min.js +5 -5
  155. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-hash.js +4 -4
  156. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-hash.min.js +5 -6
  157. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-medium-zoom.js +5 -5
  158. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-medium-zoom.min.js +6 -6
  159. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-pager.js +4 -4
  160. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-pager.min.js +5 -5
  161. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-relative-caption.js +179 -0
  162. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-relative-caption.min.js +32 -0
  163. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-rotate.js +4 -4
  164. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-rotate.min.js +6 -6
  165. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-share.js +4 -4
  166. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-share.min.js +6 -7
  167. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-thumbnail.js +27 -20
  168. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-thumbnail.min.js +5 -5
  169. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.js +77 -125
  170. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.min.js +6 -6
  171. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-vimeo-thumbnail.js +4 -4
  172. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-vimeo-thumbnail.min.js +5 -5
  173. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-zoom.js +11 -5
  174. data/assets/theme/j1/modules/lightGallery/js/plugins/lg-zoom.min.js +5 -5
  175. data/assets/theme/j1/modules/lunr/js/j1.js +1 -1
  176. data/assets/theme/j1/modules/lunr/js/j1.min.js +2 -1
  177. data/assets/theme/j1/modules/rtable/js/rtable.js +2 -2
  178. data/assets/theme/j1/modules/rtable/js/rtable.min.js +2 -1
  179. data/assets/theme/j1/modules/scroller/js/scroller.js +31 -29
  180. data/assets/theme/j1/modules/scroller/js/scroller.min.js +2 -1
  181. data/assets/theme/j1/modules/themeSwitcher/js/switcher.js +38 -37
  182. data/assets/theme/j1/modules/themeSwitcher/js/switcher.min.js +2 -1
  183. data/assets/theme/j1/modules/translator/js/translator.js +17 -17
  184. data/assets/theme/j1/modules/translator/js/translator.min.js +1 -1
  185. data/assets/theme/j1/modules/videoPlayer/tiktoc/README.md +1 -0
  186. data/assets/theme/j1/modules/videojs/!v8.12.0/css/font/README.md +151 -0
  187. data/assets/theme/j1/modules/videojs/!v8.12.0/css/font/VideoJS.svg +150 -0
  188. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/city.css +147 -0
  189. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/city.min.css +5 -0
  190. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/fantasy.css +113 -0
  191. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/fantasy.min.css +5 -0
  192. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/forest.css +166 -0
  193. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/forest.min.css +5 -0
  194. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/sea.css +72 -0
  195. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/sea.min.css +5 -0
  196. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/uno.css +311 -0
  197. data/assets/theme/j1/modules/videojs/!v8.12.0/css/themes/uno.min.css +19 -0
  198. data/assets/theme/j1/modules/videojs/!v8.12.0/css/videojs.css +1686 -0
  199. data/assets/theme/j1/modules/videojs/!v8.12.0/css/videojs.min.css +13 -0
  200. data/assets/theme/j1/modules/videojs/!v8.12.0/js/video.js +65226 -0
  201. data/assets/theme/j1/modules/videojs/!v8.12.0/js/video.min.js +55 -0
  202. data/assets/theme/j1/modules/videojs/assets/README.md +1 -0
  203. data/assets/theme/j1/modules/videojs/assets/icons/speedometer-medium.svg +35 -0
  204. data/assets/theme/j1/modules/videojs/css/font/VideoJS.ttf +0 -0
  205. data/assets/theme/j1/modules/videojs/css/font/VideoJS.woff +0 -0
  206. data/assets/theme/j1/modules/videojs/css/themes/uno.css +157 -22
  207. data/assets/theme/j1/modules/videojs/css/themes/uno.min.css +1 -1
  208. data/assets/theme/j1/modules/videojs/css/videojs.css +674 -316
  209. data/assets/theme/j1/modules/videojs/css/videojs.min.css +4 -3
  210. data/assets/theme/j1/modules/videojs/js/video.js +15893 -12288
  211. data/assets/theme/j1/modules/videojs/js/video.min.js +22 -23
  212. data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/!examples/index.html +31 -0
  213. data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/LICENSE +19 -0
  214. data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/README.md +69 -0
  215. data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/css/aspect-ratio-panel.css +2 -0
  216. data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/css/aspect-ratio-panel.min.css +2 -0
  217. data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/js/aspect-ratio-panel.js +339 -0
  218. data/assets/theme/j1/modules/videojs/plugins/controls/aspect-ratio-panel/js/aspect-ratio-panel.min.js +2 -0
  219. data/assets/theme/j1/modules/videojs/{js/plugins/controls/autocaption → plugins/controls/autocaption/js}/autocaption.js +0 -5
  220. data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/!examples/index.html +29 -0
  221. data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/LICENSE +19 -0
  222. data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/README.md +90 -0
  223. data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/js/videojs-persist.js +120 -0
  224. data/assets/theme/j1/modules/videojs/plugins/controls/persist-settings/js/videojs-persist.min.js +2 -0
  225. data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/!examples/index.html +37 -0
  226. data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/LICENSE +19 -0
  227. data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/README.md +61 -0
  228. data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/js/playbackrate-adjuster.js +94 -0
  229. data/assets/theme/j1/modules/videojs/plugins/controls/playbackrate-adjuster/js/playbackrate-adjuster.min.js +20 -0
  230. data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/skipbuttons/README.md +25 -11
  231. data/assets/theme/j1/modules/videojs/{css/plugins/controls → plugins/controls/zoom/css}/zoom.css +7 -6
  232. data/assets/theme/j1/modules/videojs/plugins/controls/zoom/css/zoom.min.css +22 -0
  233. data/assets/theme/j1/modules/videojs/{js/plugins/players/dm → plugins/players/dm/js}/dailymotion.js +11 -9
  234. data/assets/theme/j1/modules/videojs/plugins/players/dm/js/dailymotion.min.js +19 -0
  235. data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.0.js +521 -0
  236. data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.1.js +605 -0
  237. data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.3.js +643 -0
  238. data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.4.js +583 -0
  239. data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.5.js +665 -0
  240. data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.6.js +642 -0
  241. data/assets/theme/j1/modules/videojs/plugins/players/vm/!unused/vimeo.7.js +673 -0
  242. data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/api → plugins/players/vm/api/js}/vimeo.js +1 -1
  243. data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/api → plugins/players/vm/api/js}/vimeo.min.js +1 -1
  244. data/assets/theme/j1/modules/videojs/{js/plugins/players/vm → plugins/players/vm/js}/vimeo.js +13 -12
  245. data/assets/theme/j1/modules/videojs/plugins/players/vm/js/vimeo.min.js +28 -0
  246. data/assets/theme/j1/modules/videojs/plugins/players/wt/!unused/wistia.0.js +395 -0
  247. data/assets/theme/j1/modules/videojs/plugins/players/wt/!unused/wistia.1.js +401 -0
  248. data/assets/theme/j1/modules/videojs/{js/plugins/players/wt → plugins/players/wt/js}/wistia.js +13 -11
  249. data/assets/theme/j1/modules/videojs/plugins/players/wt/js/wistia.min.js +21 -0
  250. data/assets/theme/j1/modules/videojs/{js/plugins/players/yt → plugins/players/yt/js}/youtube.js +10 -8
  251. data/assets/theme/j1/modules/videojs/plugins/players/yt/js/youtube.min.js +21 -0
  252. data/lib/j1/version.rb +1 -1
  253. data/lib/starter_web/README.md +5 -5
  254. data/lib/starter_web/_config.yml +1 -1
  255. data/lib/starter_web/_data/modules/amplitude_playlists.yml +140 -80
  256. data/lib/starter_web/_data/modules/defaults/amplitude.yml +5 -3
  257. data/lib/starter_web/_data/modules/defaults/gallery.yml +3 -3
  258. data/lib/starter_web/_data/modules/gallery.yml +83 -87
  259. data/lib/starter_web/_data/modules/navigator_menu.yml +3 -3
  260. data/lib/starter_web/_data/resources.yml +16 -12
  261. data/lib/starter_web/_data/templates/feed.xml +1 -1
  262. data/lib/starter_web/_plugins/asciidoctor/videojs-block.rb +50 -22
  263. data/lib/starter_web/_plugins/asciidoctor/youtube-block.rb +37 -16
  264. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  265. data/lib/starter_web/assets/audio/album/emancipator/Alligator.mp3 +0 -0
  266. data/lib/starter_web/assets/audio/album/emancipator/DabCity.mp3 +0 -0
  267. data/lib/starter_web/assets/audio/album/emancipator/SeaToSky.mp3 +0 -0
  268. data/lib/starter_web/assets/audio/album/emancipator/TimeForSpace.mp3 +0 -0
  269. data/lib/starter_web/assets/audio/cover/emancipator/alligator.jpg +0 -0
  270. data/lib/starter_web/assets/audio/cover/emancipator/anthem.jpg +0 -0
  271. data/lib/starter_web/assets/audio/cover/emancipator/dab-city.jpg +0 -0
  272. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn.jpg +0 -0
  273. data/lib/starter_web/assets/audio/cover/emancipator/safe-in-the-steep-cliffs.jpg +0 -0
  274. data/lib/starter_web/assets/audio/cover/emancipator/sea-to-sky.jpg +0 -0
  275. data/lib/starter_web/assets/audio/cover/emancipator/soon-it-will-be-cold-enough.jpg +0 -0
  276. data/lib/starter_web/assets/audio/cover/emancipator/tine-for-space.jpg +0 -0
  277. data/lib/starter_web/assets/video/poster/vimeo/fall_2011.jpg +0 -0
  278. data/lib/starter_web/package.json +1 -1
  279. data/lib/starter_web/pages/public/tools/tester/videojs_macro_tester.adoc +282 -0
  280. data/lib/starter_web/pages/public/tour/audio_data.adoc +11 -6
  281. data/lib/starter_web/pages/public/tour/video_data.adoc +1 -0
  282. metadata +238 -115
  283. data/assets/data/swiper_app.2.html +0 -757
  284. data/assets/data/swiper_app.4.html +0 -769
  285. data/assets/theme/j1/modules/videojs/css/plugins/controls/skipbuttons.0.css +0 -32
  286. data/assets/theme/j1/modules/videojs/css/plugins/controls/skipbuttons.1.css +0 -31
  287. data/assets/theme/j1/modules/videojs/css/plugins/controls/zoom.min.css +0 -21
  288. data/assets/theme/j1/modules/videojs/js/plugins/players/dm/dailymotion.min.js +0 -19
  289. data/assets/theme/j1/modules/videojs/js/plugins/players/vm/vimeo.min.js +0 -16
  290. data/assets/theme/j1/modules/videojs/js/plugins/players/wt/api/src/WistiaPlayer.ts +0 -1617
  291. data/assets/theme/j1/modules/videojs/js/plugins/players/wt/wistia.min.js +0 -21
  292. data/assets/theme/j1/modules/videojs/js/plugins/players/yt/youtube.min.js +0 -21
  293. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/anthem.jpg +0 -0
  294. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/from-dusk-to-dawn.jpg +0 -0
  295. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/safe-in-the-steep-cliffs.jpg +0 -0
  296. data/lib/starter_web/assets/audio/cover/emancipator/from-dusk-to-dawn/soon-it-will-be-cold-enough.jpg +0 -0
  297. data/lib/starter_web/assets/video/poster/vimeo/stay_colorful.jpg +0 -0
  298. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/animation-w.png +0 -0
  299. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/customize-w.png +0 -0
  300. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/dynamic-w.png +0 -0
  301. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/facebook-icon.svg +0 -0
  302. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/googleplus-icon.svg +0 -0
  303. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/html5-w.png +0 -0
  304. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/linked-in.png +0 -0
  305. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/module-w.png +0 -0
  306. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/play-button-hover.svg +0 -0
  307. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/play-button.png +0 -0
  308. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/play-button.svg +0 -0
  309. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/responsive-w.png +0 -0
  310. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/thumb-w.png +0 -0
  311. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/touch-w.png +0 -0
  312. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/twitter-icon.svg +0 -0
  313. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/twitter.png +0 -0
  314. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/video1-w.png +0 -0
  315. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/zoom-w.png +0 -0
  316. /data/assets/theme/j1/modules/lightGallery/{css → !v2.7.2/css}/themes/uno/icons/zoom.png +0 -0
  317. /data/assets/theme/j1/modules/lightGallery/{js → !v2.7.2/js}/plugins/j1/j1-video.js +0 -0
  318. /data/assets/theme/j1/modules/lightGallery/{js → !v2.7.2/js}/plugins/j1/j1-video.min.js +0 -0
  319. /data/assets/theme/j1/modules/videoPlayer/dailymotion/js/{!readme → README.md} +0 -0
  320. /data/assets/theme/j1/modules/videoPlayer/tiktoc/{js/player.min.js → player.min.js} +0 -0
  321. /data/assets/theme/j1/modules/videoPlayer/vimeo/js/{!readme → README.md} +0 -0
  322. /data/assets/theme/j1/modules/videoPlayer/wistia/js/{!readme → README.md} +0 -0
  323. /data/assets/theme/j1/modules/videojs/{css → !v8.12.0/css}/font/video-js-cdn.css +0 -0
  324. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/autocaption/LICENSE +0 -0
  325. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/autocaption/README.md +0 -0
  326. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/autocaption → plugins/controls/autocaption/js}/autocaption.min.js +0 -0
  327. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/hotkeys/examples → plugins/controls/hotkeys/!examples}/example.html +0 -0
  328. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/hotkeys/LICENSE.md +0 -0
  329. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/hotkeys/README.md +0 -0
  330. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/hotkeys → plugins/controls/hotkeys/js}/hotkeys.js +0 -0
  331. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/hotkeys → plugins/controls/hotkeys/js}/hotkeys.min.js +0 -0
  332. /data/assets/theme/j1/modules/videojs/{css/plugins/controls → plugins/controls/skipbuttons/css}/skipbuttons.css +0 -0
  333. /data/assets/theme/j1/modules/videojs/{css/plugins/controls → plugins/controls/skipbuttons/css}/skipbuttons.min.css +0 -0
  334. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/skipbuttons → plugins/controls/skipbuttons/js}/skipbuttons.js +0 -0
  335. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/skipbuttons → plugins/controls/skipbuttons/js}/skipbuttons.min.js +0 -0
  336. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/zoom/examples → plugins/controls/zoom/!examples}/index.html +0 -0
  337. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/zoom/examples → plugins/controls/zoom/!examples}/index.js +0 -0
  338. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/zoom/examples → plugins/controls/zoom/!examples}/styles.css +0 -0
  339. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/zoom/LICENSE.md +0 -0
  340. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/controls/zoom/README.md +0 -0
  341. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/zoom → plugins/controls/zoom/js}/zoom.js +0 -0
  342. /data/assets/theme/j1/modules/videojs/{js/plugins/controls/zoom → plugins/controls/zoom/js}/zoom.min.js +0 -0
  343. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/dailymotion-controls.html +0 -0
  344. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/dailymotion-javascript.html +0 -0
  345. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/dailymotion-playlist.html +0 -0
  346. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/global-parameters.html +0 -0
  347. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/simple.html +0 -0
  348. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/examples → plugins/players/dm/!examples}/switch.html +0 -0
  349. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/dm/LICENSE +0 -0
  350. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/doc → plugins/players/dm}/README.md +0 -0
  351. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/dm/api/LICENSE +0 -0
  352. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/api/doc → plugins/players/dm/api}/README.md +0 -0
  353. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/api → plugins/players/dm/api/js}/dailymotion.sdk.js +0 -0
  354. /data/assets/theme/j1/modules/videojs/{js/plugins/players/dm/api → plugins/players/dm/api/js}/dailymotion.sdk.min.js +0 -0
  355. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/dm/icon/scalable/dailymotion.svg +0 -0
  356. /data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/examples → plugins/players/vm/!examples}/index.html +0 -0
  357. /data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/examples → plugins/players/vm/!examples}/player/index.html +0 -0
  358. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/vm/LICENSE +0 -0
  359. /data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/doc → plugins/players/vm}/README.md +0 -0
  360. /data/assets/theme/j1/modules/videojs/{js/plugins/players/vm/api/doc → plugins/players/vm/api}/README.md +0 -0
  361. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/vm/api/css/embed.player.css +0 -0
  362. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/vm/api/css/embed.player.uno.css +0 -0
  363. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/vm/api/css/player.css +0 -0
  364. /data/assets/theme/j1/modules/videojs/{js/plugins/players/wt/doc → plugins/players/wt}/README.md +0 -0
  365. /data/assets/theme/j1/modules/videojs/{js/plugins/players/wt/api/doc/Readme.txt → plugins/players/wt/api/README.md} +0 -0
  366. /data/assets/theme/j1/modules/videojs/{js/plugins/players/wt/api → plugins/players/wt/api/js}/wistia.min.js +0 -0
  367. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/global-parameters.html +0 -0
  368. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/simple.html +0 -0
  369. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/switch.html +0 -0
  370. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/youtube-controls.html +0 -0
  371. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/youtube-javascript.html +0 -0
  372. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/youtube-list.html +0 -0
  373. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/examples → plugins/players/yt/!examples}/youtube-playlist.html +0 -0
  374. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/v3.0.0 → plugins/players/yt/!v3.0.0}/youtube.js +0 -0
  375. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/v3.0.0 → plugins/players/yt/!v3.0.0}/youtube.min.js +0 -0
  376. /data/assets/theme/j1/modules/videojs/{js/plugins → plugins}/players/yt/LICENSE +0 -0
  377. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/doc → plugins/players/yt}/README.md +0 -0
  378. /data/assets/theme/j1/modules/videojs/{js/plugins/players/yt/api → plugins/players/yt/api/js}/youtube.min.js +0 -0
  379. /data/lib/starter_web/assets/audio/album/emancipator/{from-dusk-to-dawn → !info}/!sound.links.txt +0 -0
  380. /data/lib/starter_web/assets/audio/album/emancipator/{from-dusk-to-dawn/Anthem.mp3 → Anthem.mp3} +0 -0
  381. /data/lib/starter_web/assets/audio/album/emancipator/{from-dusk-to-dawn/DuskToDawn.mp3 → DuskToDawn.mp3} +0 -0
  382. /data/lib/starter_web/assets/audio/album/emancipator/{from-dusk-to-dawn/FirstSnow.mp3 → FirstSnow.mp3} +0 -0
  383. /data/lib/starter_web/assets/audio/album/emancipator/{from-dusk-to-dawn/SafeInTheSteepCliffs.mp3 → SafeInTheSteepCliffs.mp3} +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: