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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0de83c8644954a64d439a97054ca2e8ddfc9e35bccf5ba4c5e62731b2c9bd3db
4
- data.tar.gz: be8c05d3ff902d257fca78d250fa86eb5c4c5ca96fe1aacc51d9902856eafb50
3
+ metadata.gz: 6141ac199fa5a1b26bf95b79ce6331ab0540d21bf798dc4dd24ba20681e0cf7a
4
+ data.tar.gz: a0a0f968cfb9e35d625f8053565664ebd6a3c21877d13e0b605867689506084e
5
5
  SHA512:
6
- metadata.gz: 2edd13fc4e637fc1323a1b0de4f0839f5bf449935f4392a94c7050a3d0250200dd30a9b46141482720e9fcaf3c126a2a71877fcef523ab30d18d3d5522f20262
7
- data.tar.gz: 541a069d76c5ea146d5a79a8a072218f72d3839b5787bf8d671df3a9d8c0cdb773d5355255de0ccb6bce72c43b6727651578a86c0e2e26f7362d8a0a9d09db09
6
+ metadata.gz: fc3395b6e8c711907410661fe0905ac981a38435433a24039fa3c58a2d794e34cc076854a7b90399abe0a5dc6443ca54304b181d53f05e2922f1c58827e4f0bc
7
+ data.tar.gz: 23cd6e32cc93dc356a6321e9a98d332d46f818ee531c9098fbcea273bbbf5845d69ae09292faaf19548c1065da4817a28db0eef7125d163258d6dd515a77fa98
@@ -167,7 +167,7 @@ exclude_from_search: true
167
167
  <!-- START {{video.type}} video -->
168
168
  <a
169
169
  href="#"
170
- class="lg-item"
170
+ class="lg-item lg-uno-video-icon speak2me-ignore"
171
171
  data-lg-size="{{video.size}}"
172
172
  data-pinterest-text="{{video.pinterest_prefix}} {{video.name}} at {{video.source}}"
173
173
  data-tweet-text="{{video.tweet_prefix}} {{video.name}} at {{video.source}}"
@@ -195,7 +195,7 @@ exclude_from_search: true
195
195
  <!-- START {{video.type}} video -->
196
196
  <a
197
197
  href="#"
198
- class="lg-item speak2me-ignore"
198
+ class="lg-item lg-uno-video-icon speak2me-ignore"
199
199
  data-lg-size="{{video.size}}"
200
200
  data-pinterest-text="{{video.pinterest_prefix}} {{video.name}} at {{video.source}}"
201
201
  data-tweet-text="{{video.tweet_prefix}} {{video.name}} at {{video.source}}"
@@ -219,7 +219,7 @@ exclude_from_search: true
219
219
  }'>
220
220
 
221
221
  <img
222
- class="speak2me-ignore"
222
+ class="{{gallery.image_styles}}"
223
223
  src="{{gallery.image_base_path}}/{{video.poster_image}}"
224
224
  alt="{{alt|strip|strip_newlines}}"
225
225
  aria-label="{{alt|strip|strip_newlines}}">
@@ -251,4 +251,4 @@ exclude_from_search: true
251
251
 
252
252
  {% comment %} Reset page cache
253
253
  -------------------------------------------------------------------------------- {% endcomment %}
254
- {%- assign cache = false -%}
254
+ {%- assign cache = false -%}
data/assets/theme/bla ADDED
File without changes
@@ -120,6 +120,24 @@ j1.adapter.amplitude = ((j1, window) => {
120
120
  // ----------------------------------
121
121
  const requiredForATP = false;
122
122
 
123
+ var AUDIO_ERROR = {
124
+ SUCCESSFUL: 0,
125
+ ABORTED: 1,
126
+ NETWORK_ERROR: 2,
127
+ DECODE_ERROR: 3,
128
+ SRC_NOT_SUPPORTED: 4,
129
+ GENERIC_ERROR: 5
130
+ };
131
+
132
+ var AUDIO_ERROR_NAMES = {
133
+ 0: "successful",
134
+ 1: "aborted",
135
+ 2: "network error",
136
+ 3: "decode error",
137
+ 4: "not supported",
138
+ 5: "generic error",
139
+ };
140
+
123
141
  const AT_PLAYER_STATE = {
124
142
  ENDED: 0,
125
143
  PLAYING: 1,
@@ -140,7 +158,7 @@ j1.adapter.amplitude = ((j1, window) => {
140
158
  6: "changed",
141
159
  };
142
160
 
143
- var playLists = {};
161
+ // var playLists = {};
144
162
  var playersUILoaded = { state: false };
145
163
  var apiInitialized = { state: false };
146
164
  var playerCounter = 0;
@@ -154,8 +172,6 @@ j1.adapter.amplitude = ((j1, window) => {
154
172
  var amplitudePlayerState;
155
173
  var amplitudeDefaults;
156
174
  var amplitudePlayers
157
- var amplitudePlaylists
158
- var amplitudeOptions;
159
175
 
160
176
  var ytPlayer;
161
177
  var ytpPlaybackRate
@@ -244,15 +260,33 @@ j1.adapter.amplitude = ((j1, window) => {
244
260
  // -----------------------------------------------------------------------
245
261
  // global variable settings
246
262
  // -----------------------------------------------------------------------
247
- amplitudeDefaults = $.extend({}, {{amplitude_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
248
- amplitudePlayers = $.extend({}, {{amplitude_players | replace: 'nil', 'null' | replace: '=>', ':' }});
249
- amplitudePlaylists = $.extend({}, {{amplitude_playlists | replace: 'nil', 'null' | replace: '=>', ':' }});
250
- amplitudeOptions = $.extend(true, {}, amplitudeDefaults, amplitudePlayers, amplitudePlaylists);
263
+ amplitudeDefaults = $.extend({}, {{amplitude_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
264
+ amplitudePlayers = $.extend({}, {{amplitude_players | replace: 'nil', 'null' | replace: '=>', ':' }});
251
265
 
252
- // save AJS player setiings for later use (e.g. the AJS plugins)
253
- // j1.adapter.amplitude['amplitudeDefaults'] = amplitudeDefaults;
254
- // j1.adapter.amplitude['amplitudeSettings'] = amplitudeSettings;
255
- // j1.adapter.amplitude['amplitudeOptions'] = amplitudeOptions;
266
+ // set AmplitudeJS data for later use (e.g events)
267
+ // -----------------------------------------------------------------------
268
+ j1.modules.amplitudejs = {};
269
+ j1.modules.amplitudejs.songIndex = false;
270
+ j1.modules.amplitudejs.defaults = amplitudeDefaults;
271
+ j1.modules.amplitudejs.players = amplitudePlayers || {};
272
+ j1.modules.amplitudejs.data = {};
273
+ j1.modules.amplitudejs.data.activePlayer = 'not_set';
274
+ j1.modules.amplitudejs.data.playerSongElementHeigth = playerSongElementHeigthDesktop;
275
+ j1.modules.amplitudejs.data.atp = {};
276
+ j1.modules.amplitudejs.data.ytp = {};
277
+
278
+ // set INITIAL AmplitudeJS data
279
+ // -----------------------------------------------------------------------
280
+ j1.modules.amplitudejs.data.atp.activeIndex = false;
281
+ j1.modules.amplitudejs.data.atp.playlist = false
282
+ j1.modules.amplitudejs.data.atp.apiError = false;
283
+ j1.modules.amplitudejs.data.atp.apiReady = false ;
284
+ j1.modules.amplitudejs.data.atp.playlist = false;
285
+ j1.modules.amplitudejs.data.atp.players = {};
286
+ j1.modules.amplitudejs.data.ytp.apiError = false;
287
+ j1.modules.amplitudejs.data.ytp.apiReady = false;
288
+ j1.modules.amplitudejs.data.ytp.players = {};
289
+ j1.modules.amplitudejs.data.ytp.plugin = false;
256
290
 
257
291
  // -----------------------------------------------------------------------
258
292
  // control|logging settings
@@ -260,13 +294,15 @@ j1.adapter.amplitude = ((j1, window) => {
260
294
  _this = j1.adapter.amplitude;
261
295
  logger = log4javascript.getLogger('j1.adapter.amplitude');
262
296
 
263
- // prepare data element for later use
297
+ // save amplitudejs data for later use (e.g. events)
298
+ // -----------------------------------------------------------------------
264
299
  j1.adapter.amplitude.data = {};
265
300
  j1.adapter.amplitude.data.atpGlobals = {};
266
301
  j1.adapter.amplitude.data.ytpGlobals = {};
267
302
  j1.adapter.amplitude.data.ytPlayers = {};
268
303
 
269
- // (initial) YT player data for later use (e.g. events)
304
+ // initial amplitudejs data
305
+ // -----------------------------------------------------------------------
270
306
  j1.adapter.amplitude.data.playerSongElementHeigth = playerSongElementHeigthDesktop;
271
307
  j1.adapter.amplitude.data.activePlayer = 'not_set';
272
308
  j1.adapter.amplitude.data.atpGlobals.activePlayerType = 'not_set';
@@ -585,15 +621,14 @@ j1.adapter.amplitude = ((j1, window) => {
585
621
  },
586
622
  callbacks: {
587
623
  initialized: function() {
588
- var amplitudeConfig = Amplitude.getConfig();
589
- logger.info('initialze API: finished');
590
- // indicate api successfully initialized
591
- apiInitialized.state = true;
624
+ onInitialized();
592
625
  },
593
- onInitError: function() {
594
- // indicate api failed on initialization
595
- apiInitialized.state = false;
596
- console.error('Amplitude API failed on initialization');
626
+ error: function(event) {
627
+ if (event === undefined) {
628
+ onAudioError(0);
629
+ } else {
630
+ onAudioError(event);
631
+ }
597
632
  },
598
633
  play: function() {
599
634
  // make sure the player is playing
@@ -702,7 +737,7 @@ j1.adapter.amplitude = ((j1, window) => {
702
737
  // transition will be
703
738
  const iterationSteps = {
704
739
  'default': 150,
705
- 'slow': 250,
740
+ 'slow': 250,
706
741
  'slower': 350,
707
742
  'slowest': 500
708
743
  };
@@ -759,7 +794,7 @@ j1.adapter.amplitude = ((j1, window) => {
759
794
  // transition will be
760
795
  const iterationSteps = {
761
796
  'default': 150,
762
- 'slow': 250,
797
+ 'slow': 250,
763
798
  'slower': 350,
764
799
  'slowest': 500
765
800
  };
@@ -775,7 +810,12 @@ j1.adapter.amplitude = ((j1, window) => {
775
810
  var songEndTS = songMetaData.end;
776
811
  var playlist = songMetaData.playlist;
777
812
  var songIndex = songMetaData.index;
778
- var trackID = songIndex + 1;
813
+ var trackID = songIndex + 1;
814
+
815
+ // save AT player data for later use (e.g. events)
816
+ // ---------------------------------------------------------------------
817
+ j1.modules.amplitudejs.data.atp.activeIndex = songIndex;
818
+ j1.modules.amplitudejs.data.atp.playlist = playlist;
779
819
 
780
820
  if (volumeSlider !== null) {
781
821
  const fadeOutInterval = setInterval(() => {
@@ -817,6 +857,11 @@ j1.adapter.amplitude = ((j1, window) => {
817
857
  songIndex = songMetaData.index;
818
858
  trackID = songIndex + 1;
819
859
 
860
+ // save AT player data for later use (e.g. events)
861
+ // ---------------------------------------------------------------------
862
+ j1.modules.amplitudejs.data.atp.activeIndex = songIndex;
863
+ j1.modules.amplitudejs.data.atp.playlist = playlist;
864
+
820
865
  isDev && logger.warn(`DO NOTHING on StateChange for playlist: ${playlist} at trackID|state: ${trackID}|${AT_PLAYER_STATE_NAMES[state]}`);
821
866
 
822
867
  } // END doNothingOnStateChange
@@ -827,21 +872,25 @@ j1.adapter.amplitude = ((j1, window) => {
827
872
  // wrraper to process the ACTIVE player on state PLAYING
828
873
  // -----------------------------------------------------------------------
829
874
  function processOnStateChangePlaying(state) {
830
- var songMetaData, songIndex, playList, trackID;
875
+ var songMetaData, songIndex, playlist, trackID;
831
876
 
832
877
  songMetaData = Amplitude.getActiveSongMetadata();
833
878
  songIndex = songMetaData.index;
834
- playList = Amplitude.getActivePlaylist();
879
+ playlist = Amplitude.getActivePlaylist();
835
880
  trackID = songIndex + 1;
836
881
 
837
- logger.debug(`PLAY audio on ATP at playlist|trackID: ${playList}|${trackID}`);
838
- // logger.debug(`PLAY audio on processOnStateChangePlaying for playlist \'${playList}\' at trackID|state: ${trackID}|${AT_PLAYER_STATE_NAMES[state]}`);
882
+ // save AT player data for later use (e.g. events)
883
+ // ---------------------------------------------------------------------
884
+ j1.modules.amplitudejs.data.atp.activeIndex = songIndex;
885
+ j1.modules.amplitudejs.data.atp.playlist = playlist;
886
+
887
+ logger.debug(`PLAY audio on AT Player at playlist|trackID: ${playlist}|${trackID}`);
839
888
 
840
889
  // save player GLOBAL data for later use (e.g. events)
841
890
  j1.adapter.amplitude.data.activePlayer = 'atp';
842
891
 
843
892
  // set song (manually) active at index in playlist
844
- _this.setSongActive(playList, songIndex);
893
+ _this.setSongActive(playlist, songIndex);
845
894
 
846
895
  // stop active YT players
847
896
  // ---------------------------------------------------------------------
@@ -870,6 +919,28 @@ j1.adapter.amplitude = ((j1, window) => {
870
919
 
871
920
  }; // END processOnStateChangePlaying
872
921
 
922
+ // -----------------------------------------------------------------------
923
+ // onInitialized
924
+ //
925
+ // Errors fired by the YT API
926
+ // -----------------------------------------------------------------------
927
+ function onInitialized() {
928
+ // indicate api failed on initialization
929
+ apiInitialized.state = true;
930
+ j1.modules.amplitudejs.data.atp.apiReady = apiInitialized.state;
931
+ } // END onInitialized
932
+
933
+ // -----------------------------------------------------------------------
934
+ // onAudioError
935
+ //
936
+ // Errors fired by the YT API
937
+ // -----------------------------------------------------------------------
938
+ function onAudioError(event) {
939
+ if (event > 0) {
940
+ logger.warn(`Audio API error occured: ${AUDIO_ERROR_NAMES[event]}`);
941
+ }
942
+ } // END onAudioError
943
+
873
944
  // -----------------------------------------------------------------------
874
945
  // onPlayerStateChange
875
946
  //
@@ -976,9 +1047,9 @@ j1.adapter.amplitude = ((j1, window) => {
976
1047
  if (xhrDataLoaded && playerExistsInPage) {
977
1048
  var playerID = '{{player.id}}';
978
1049
  var playerType = '{{player.type}}';
979
- var playList = '{{player.playlist}}';
980
- var playListName = '{{player.playlist.name}}';
981
- var playListTitle = '{{player.playlist.title}}';
1050
+ var playlist = '{{player.playlist}}';
1051
+ var playlistName = '{{player.playlist.name}}';
1052
+ var playlistTitle = '{{player.playlist.title}}';
982
1053
 
983
1054
  logger.debug('initialize audio player instance on id: {{player.id}}');
984
1055
 
@@ -1011,7 +1082,7 @@ j1.adapter.amplitude = ((j1, window) => {
1011
1082
  // do nothing (managed by plugin)
1012
1083
  } else {
1013
1084
  // var currentPlaylist = compactPlayerPlayPauseButton[i].dataset.amplitudePlaylist;
1014
- // if (currentPlaylist === playListName) {
1085
+ // if (currentPlaylist === playlistName) {
1015
1086
  if (miniPlayerPlayPauseButton[i].id === 'mini_player_play_pause_{{player.id}}') {
1016
1087
  miniPlayerPlayPauseButton[i].addEventListener('click', function(event) {
1017
1088
  var ytpPlayer;
@@ -1056,9 +1127,9 @@ j1.adapter.amplitude = ((j1, window) => {
1056
1127
 
1057
1128
  // show|hide scrollbar in playlist (compact player)
1058
1129
  // -------------------------------------------------------
1059
- const songsInPlaylist = Amplitude.getSongsInPlaylist(playListName);
1130
+ const songsInPlaylist = Amplitude.getSongsInPlaylist(playlistName);
1060
1131
  if (songsInPlaylist.length <= playerScrollerSongElementMin) {
1061
- const titleListCompactPlayer = document.getElementById('compact_player_title_list_' + playListName);
1132
+ const titleListCompactPlayer = document.getElementById('compact_player_title_list_' + playlistName);
1062
1133
  if (titleListCompactPlayer !== null) {
1063
1134
  titleListCompactPlayer.classList.add('hide-scrollbar');
1064
1135
  }
@@ -1189,7 +1260,7 @@ j1.adapter.amplitude = ((j1, window) => {
1189
1260
  // do nothing (managed by plugin)
1190
1261
  } else {
1191
1262
  // var currentPlaylist = compactPlayerPlayPauseButton[i].dataset.amplitudePlaylist;
1192
- // if (currentPlaylist === playListName) {
1263
+ // if (currentPlaylist === playlistName) {
1193
1264
  if (compactPlayerPlayPauseButton[i].id === 'compact_player_play_pause_{{player.id}}' || compactPlayerPlayPauseButton[i].id === 'compact_player_list_play_pause_{{player.id}}') {
1194
1265
  compactPlayerPlayPauseButton[i].addEventListener('click', function(event) {
1195
1266
  var ytpPlayer;
@@ -1312,7 +1383,7 @@ j1.adapter.amplitude = ((j1, window) => {
1312
1383
  if (document.getElementById('{{player.id}}') !== null) {
1313
1384
  // var playlist = '{{player.id}}_yt';
1314
1385
  var playlistInfo = {{player.playlist | replace: 'nil', 'null' | replace: '=>', ':'}};
1315
- var playList = playlistInfo.name;
1386
+ var playlist = playlistInfo.name;
1316
1387
 
1317
1388
  {% comment %} PREPARED event listener for LATER use
1318
1389
  ----------------------------------------------------------
@@ -1324,7 +1395,7 @@ j1.adapter.amplitude = ((j1, window) => {
1324
1395
  // do nothing for YTP (managed by plugin)
1325
1396
  } else {
1326
1397
  var currentPlaylist = largePlayerSongContainer[i].dataset.amplitudePlaylist;
1327
- if (currentPlaylist === playList) {
1398
+ if (currentPlaylist === playlist) {
1328
1399
  // if (largePlayerSongContainer[i].id === 'large-player-play-pause_{{player.id}}' || largePlayerSongContainer[i].id === 'large-player-play-pause_{{player.id}}') {
1329
1400
  largePlayerSongContainer[i].addEventListener('click', function(event) {
1330
1401
  var ytpPlayer, ytpPlayerState, ytpPlayerState, atpPlayerState,
@@ -1383,7 +1454,7 @@ j1.adapter.amplitude = ((j1, window) => {
1383
1454
  // do nothing for YTP (managed by plugin)
1384
1455
  } else {
1385
1456
  var currentPlaylist = largePlayerPlayPauseButton[i].dataset.amplitudePlaylist;
1386
- if (currentPlaylist === playList) {
1457
+ if (currentPlaylist === playlist) {
1387
1458
  largePlayerPlayPauseButton[i].addEventListener('click', function(event) {
1388
1459
  var ytpPlayer, ytpPlayerState, playlist, metaData, playerState;
1389
1460
 
@@ -1571,9 +1642,9 @@ j1.adapter.amplitude = ((j1, window) => {
1571
1642
 
1572
1643
  // show|hide scrollbar in playlist
1573
1644
  // -----------------------------------------------------
1574
- const songsInPlaylist = Amplitude.getSongsInPlaylist(playListName);
1645
+ const songsInPlaylist = Amplitude.getSongsInPlaylist(playlistName);
1575
1646
  if (songsInPlaylist.length <= playerScrollerSongElementMin) {
1576
- const titleListLargePlayer = document.getElementById('large_player_title_list_' + playListName);
1647
+ const titleListLargePlayer = document.getElementById('large_player_title_list_' + playlistName);
1577
1648
  if (titleListLargePlayer !== null) {
1578
1649
  titleListLargePlayer.classList.add('hide-scrollbar');
1579
1650
  }
@@ -1852,6 +1923,11 @@ j1.adapter.amplitude = ((j1, window) => {
1852
1923
  return;
1853
1924
  }
1854
1925
 
1926
+ // save AT player data for later use (e.g. events)
1927
+ // -----------------------------------------------------------------------
1928
+ j1.modules.amplitudejs.data.atp.activeIndex = songIndex;
1929
+ j1.modules.amplitudejs.data.atp.playlist = playlist;
1930
+
1855
1931
  // COMPACT players (WIP)
1856
1932
  // -----------------------------------------------------------------------
1857
1933
  // playerSongElementHeigthCompact = 74.00;
@@ -1966,8 +2042,9 @@ j1.adapter.amplitude = ((j1, window) => {
1966
2042
  ytPlayerState = YT_PLAYER_STATE_NAMES[playerState];
1967
2043
 
1968
2044
  // stop YT players running in parallel
1969
- // ---------------------------------------------------------------------
1970
- if (ytPlayerState === 'playing' || ytPlayerState === 'paused' || ytPlayerState === 'buffering') {
2045
+ // ---------------------------------------------------------------------
2046
+ var isValidPlayerState = /playing|paused|buffering/.test(ytPlayerState);
2047
+ if (isValidPlayerState) {
1971
2048
  logger.debug(`STOP YT player on id: ${playerID}`);
1972
2049
  ytPlayer.stopVideo();
1973
2050
  }
@@ -1995,20 +2072,25 @@ j1.adapter.amplitude = ((j1, window) => {
1995
2072
  // process audio for configured START position
1996
2073
  // -------------------------------------------------------------------------
1997
2074
  atpProcessAudioStartPosition: () => {
1998
- var songMetaData, songIndex, playList,
2075
+ var songMetaData, songIndex, playlist,
1999
2076
  songStartSec, songStartTS, trackID;
2000
2077
 
2001
2078
  songMetaData = Amplitude.getActiveSongMetadata();
2002
2079
  songIndex = songMetaData.index;
2003
2080
  songStartTS = songMetaData.start;
2004
2081
  songStartSec = _this.timestamp2seconds(songStartTS);
2005
- playList = Amplitude.getActivePlaylist();
2082
+ playlist = Amplitude.getActivePlaylist();
2006
2083
  trackID = songIndex + 1;
2007
2084
 
2008
2085
  if (!songStartSec) {
2009
2086
  return;
2010
2087
  }
2011
2088
 
2089
+ // save AT player data for later use (e.g. events)
2090
+ // -----------------------------------------------------------------------
2091
+ j1.modules.amplitudejs.data.atp.activeIndex = songIndex;
2092
+ j1.modules.amplitudejs.data.atp.playlist = playlist;
2093
+
2012
2094
  var checkIsFading = setInterval (() => {
2013
2095
  if (!isFadingIn) {
2014
2096
  var currentAudioTime = Amplitude.getSongPlayedSeconds();
@@ -2019,13 +2101,13 @@ j1.adapter.amplitude = ((j1, window) => {
2019
2101
  // NOTE: use setSongPlayedPercentage for seeking to NOT
2020
2102
  // generation any addition state changes like stopped
2021
2103
  // or playing
2022
- logger.debug('seek audio in on playlist: ' + playList + ' at|to trackID|timestamp: ' + trackID + '|' + songStartTS);
2104
+ logger.debug('seek audio in on playlist: ' + playlist + ' at|to trackID|timestamp: ' + trackID + '|' + songStartTS);
2023
2105
  Amplitude.setSongPlayedPercentage((songStartSec / songDurationSec) * 100);
2024
2106
 
2025
2107
  // fade-in audio (if enabled)
2026
2108
  var fadeAudioIn = (songMetaData.audio_fade_in === 'true') ? true : false;
2027
2109
  if (fadeAudioIn) {
2028
- logger.debug('faden audio in on playlist: ' + playList + ' at|to trackID|timestamp: ' + trackID + '|' + songStartTS);
2110
+ logger.debug('faden audio in on playlist: ' + playlist + ' at|to trackID|timestamp: ' + trackID + '|' + songStartTS);
2029
2111
  atpFadeInAudio({ playerID: playerID });
2030
2112
  } // END if fadeAudio
2031
2113
 
@@ -2042,7 +2124,7 @@ j1.adapter.amplitude = ((j1, window) => {
2042
2124
  // process audio for configured END position
2043
2125
  // -------------------------------------------------------------------------
2044
2126
  atpProcessAudioEndPosition: () => {
2045
- var songMetaData, songIndex, playList,
2127
+ var songMetaData, songIndex, playlist,
2046
2128
  songStartSec, songStartTS, songEndSec, songEndTS,
2047
2129
  trackID;
2048
2130
 
@@ -2052,9 +2134,14 @@ j1.adapter.amplitude = ((j1, window) => {
2052
2134
  songStartSec = _this.timestamp2seconds(songStartTS);
2053
2135
  songEndTS = songMetaData.end;
2054
2136
  songEndSec = _this.timestamp2seconds(songEndTS);
2055
- playList = Amplitude.getActivePlaylist();
2137
+ playlist = Amplitude.getActivePlaylist();
2056
2138
  trackID = songIndex + 1;
2057
2139
 
2140
+ // save AT player data for later use (e.g. events)
2141
+ // -----------------------------------------------------------------------
2142
+ j1.modules.amplitudejs.data.atp.activeIndex = songIndex;
2143
+ j1.modules.amplitudejs.data.atp.playlist = playlist;
2144
+
2058
2145
  if (songEndSec > songStartSec) {
2059
2146
  var checkIsOnVideoEnd = setInterval(() => {
2060
2147
  if (!isFadingOut) {
@@ -2070,13 +2157,13 @@ j1.adapter.amplitude = ((j1, window) => {
2070
2157
  // use setSongPlayedPercentage for seeking to NOT
2071
2158
  // generation any addition state changes like stopped
2072
2159
  // or playing
2073
- logger.debug('seek audio to end on playlist: ' + playList + ' at trackID|timestamp: ' + trackID + '|' + songEndTS);
2160
+ logger.debug('seek audio to end on playlist: ' + playlist + ' at trackID|timestamp: ' + trackID + '|' + songEndTS);
2074
2161
  Amplitude.setSongPlayedPercentage(99.99);
2075
2162
 
2076
2163
  // fade-out audio (if enabled)
2077
2164
  var fadeAudioOut = (songMetaData.audio_fade_out === 'true') ? true : false;
2078
2165
  if (fadeAudioOut) {
2079
- logger.debug('fade audio out on playlist: ' + playList + ' at|to trackID|timestamp: ' + trackID + '|' + songEndTS);
2166
+ logger.debug('fade audio out on playlist: ' + playlist + ' at|to trackID|timestamp: ' + trackID + '|' + songEndTS);
2080
2167
  atpFadeAudioOut({ playerID: playerID });
2081
2168
  } // END if fadeAudio
2082
2169
 
@@ -2099,7 +2186,7 @@ j1.adapter.amplitude = ((j1, window) => {
2099
2186
  songIndex = currentIndex;
2100
2187
 
2101
2188
  // clear ALL active song containers
2102
- // -------------------------------------------------------------------------
2189
+ // -----------------------------------------------------------------------
2103
2190
  songContainers = document.getElementsByClassName("amplitude-song-container");
2104
2191
  for (var i=0; i<songContainers.length; i++) {
2105
2192
  songContainers[i].classList.remove("amplitude-active-song-container");
@@ -2113,6 +2200,11 @@ j1.adapter.amplitude = ((j1, window) => {
2113
2200
  playlist = songContainers[i].getAttribute("data-amplitude-playlist");
2114
2201
  if (playlist === currentPlayList) {
2115
2202
  songContainers[i].classList.add("amplitude-active-song-container");
2203
+
2204
+ // save AT player data for later use (e.g. events)
2205
+ // -----------------------------------------------------------------
2206
+ j1.modules.amplitudejs.data.atp.activeIndex = songIndex;
2207
+ j1.modules.amplitudejs.data.atp.playlist = playlist;
2116
2208
  }
2117
2209
  }
2118
2210
  }
@@ -62,7 +62,7 @@ regenerate: true
62
62
  # https://github.com/miromannino/Justified-Gallery
63
63
  #
64
64
  # Copyright (C) 2020 Miro Mannino
65
- # Copyright (C) 2023 Sachin Neravath
65
+ # Copyright (C) 2025 Sachin Neravath
66
66
  # Copyright (C) 2023-2025 Juergen Adams
67
67
  #
68
68
  # J1 Template is licensed under the MIT License.
@@ -267,44 +267,6 @@ j1.adapter.themes = (function (j1, window) {
267
267
 
268
268
  logger.info('cookie ' + cookie_names.user_state + ' successfully loaded after: ' + interval_count * 25 + ' ms');
269
269
 
270
- // load previously selected theme from cookie (preferred)
271
- // if (user_state.theme_css !== '') {
272
- // user_state.theme_name = default_theme_name;
273
- // user_state.theme_css = default_theme_css;
274
- // user_state.theme_author = default_theme_author;
275
- // user_state.theme_author_url = default_theme_author_url;
276
-
277
- // cookie_written = j1.writeCookie({
278
- // name: cookie_names.user_state,
279
- // data: user_state,
280
- // secure: secure,
281
- // expires: 365
282
- // });
283
-
284
- // if (!cookie_written) {
285
- // logger.error('failed to write cookie: ' + cookie_names.user_consent);
286
- // }
287
- // } // END load previously selected theme
288
-
289
- // load default theme (j1_config and NO theme given with (user_state) cookie
290
- // if (user_state.theme_css === '' && default_theme_css.theme_css !== '') {
291
- // user_state.theme_name = default_theme_name;
292
- // user_state.theme_css = default_theme_css;
293
- // user_state.theme_author = default_theme_author;
294
- // user_state.theme_author_url = default_theme_author_url;
295
-
296
- // cookie_written = j1.writeCookie({
297
- // name: cookie_names.user_state,
298
- // data: user_state,
299
- // secure: secure,
300
- // expires: 365
301
- // });
302
-
303
- // if (!cookie_written) {
304
- // logger.error('failed to write cookie: ' + cookie_names.user_consent);
305
- // }
306
- // } // END load default theme
307
-
308
270
  // load default theme if NO theme given with (user_state) cookie
309
271
  if (user_state.theme_css === '') {
310
272
  user_state.theme_name = default_theme_name;
@@ -322,41 +284,51 @@ j1.adapter.themes = (function (j1, window) {
322
284
  if (!cookie_written) {
323
285
  logger.error('failed to write cookie: ' + cookie_names.user_consent);
324
286
  }
325
- } // END oad default theme
287
+ } // END load default theme
326
288
 
327
289
  // set the theme switcher state
328
290
  user_state.theme_switcher = themesOptions.enabled;
329
291
  if (themesOptions.enabled) {
330
- // enable BS ThemeSwitcher
331
- logger.info('themes detected as: ' + themesOptions.enabled);
332
- logger.info('remote themes are being initialized');
333
-
334
- /* eslint-disable */
335
- // load list of remote themes
336
- $('#remote_themes').ThemeSwitcher.defaults = {
337
- debug: themesOptions.debug,
338
- saveToCookie: themesOptions.saveToCookie,
339
- cssThemeLink: themesOptions.cssThemeLink,
340
- cookieThemeName: themesOptions.cookieThemeName,
341
- cookieDefaultThemeName: themesOptions.cookieDefaultThemeName,
342
- cookieThemeCss: themesOptions.cookieThemeCss,
343
- cookieThemeExtensionCss: themesOptions.cookieThemeExtensionCss,
344
- cookieExpiration: themesOptions.cookieExpiration,
345
- cookiePath: themesOptions.cookiePath,
346
- defaultCssFile: themesOptions.defaultCssFile,
347
- bootswatchApiUrl: themesOptions.bootswatchApiUrl,
348
- bootswatchApiVersion: themesOptions.bootswatchApiVersion,
349
- loadFromBootswatch: themesOptions.loadFromBootswatch,
350
- localFeed: themesOptions.localThemes,
351
- excludeBootswatch: themesOptions.excludeBootswatch,
352
- includeBootswatch: themesOptions.includeBootswatch,
353
- skipIncludeBootswatch: themesOptions.skipIncludeBootswatch
354
- };
355
- /* eslint-enable */
356
- } else {
357
- logger.debug('themes detected as: disabled');
358
- logger.debug('no remote themes are available');
359
- } // END if themesOptions enabled
292
+ // enable BS ThemeSwitcher
293
+ logger.info('themes detected as: ' + themesOptions.enabled);
294
+ logger.info('remote themes are being initialized');
295
+
296
+ // validate if theme api json can be loaded
297
+ var bootswatchApiJson = `${themesOptions.bootswatchApiUrl}/${themesOptions.bootswatchApiVersion}.json`;
298
+ urlExists(bootswatchApiJson, function(success) {
299
+ // load theme
300
+ if (success) {
301
+ logger.debug('LOAD remote themes from: ' + bootswatchApiJson);
302
+ // continue processing if ap json is available
303
+ /* eslint-disable */
304
+ // load list of remote themes (api json file)
305
+ $('#remote_themes').ThemeSwitcher.defaults = {
306
+ debug: themesOptions.debug,
307
+ saveToCookie: themesOptions.saveToCookie,
308
+ cssThemeLink: themesOptions.cssThemeLink,
309
+ cookieThemeName: themesOptions.cookieThemeName,
310
+ cookieDefaultThemeName: themesOptions.cookieDefaultThemeName,
311
+ cookieThemeCss: themesOptions.cookieThemeCss,
312
+ cookieThemeExtensionCss: themesOptions.cookieThemeExtensionCss,
313
+ cookieExpiration: themesOptions.cookieExpiration,
314
+ cookiePath: themesOptions.cookiePath,
315
+ defaultCssFile: themesOptions.defaultCssFile,
316
+ bootswatchApiUrl: themesOptions.bootswatchApiUrl,
317
+ bootswatchApiVersion: themesOptions.bootswatchApiVersion,
318
+ loadFromBootswatch: themesOptions.loadFromBootswatch,
319
+ localFeed: themesOptions.localThemes,
320
+ excludeBootswatch: themesOptions.excludeBootswatch,
321
+ includeBootswatch: themesOptions.includeBootswatch,
322
+ skipIncludeBootswatch: themesOptions.skipIncludeBootswatch
323
+ };
324
+ /* eslint-enable */
325
+ } else {
326
+ // failed to load oad list of remote themes (api json file)
327
+ // TODO: create fallback strategy
328
+ logger.error('failed to LOAD remote themes from: ' + bootswatchApiJson);
329
+ } // END if success
330
+ }); // END urlExists
331
+ } // END if themesOptions.enabled
360
332
 
361
333
  // validate theme to be loaded
362
334
  urlExists(user_state.theme_css, function(success) {