@streamscloud/embeddable 15.1.0 → 16.0.1

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 (368) hide show
  1. package/dist/ads/ad-card/cmp.ad-card.svelte +18 -29
  2. package/dist/ads/ad-card/cmp.ad-card.svelte.d.ts +0 -2
  3. package/dist/core/graphql.d.ts +1 -1
  4. package/dist/core/graphql.js +4 -9
  5. package/dist/core/media/index.d.ts +0 -2
  6. package/dist/core/media/index.js +0 -2
  7. package/dist/external-api/data-providers/internal-short-video-player-items-provider.d.ts +1 -1
  8. package/dist/external-api/data-providers/internal-short-video-player-items-provider.js +2 -2
  9. package/dist/external-api/data-providers/internal-streams-player-data-provider.js +2 -2
  10. package/dist/external-api/media-page/index.d.ts +1 -1
  11. package/dist/external-api/short-videos-player/index.d.ts +1 -1
  12. package/dist/external-api/streams-player/index.d.ts +1 -1
  13. package/dist/media-center/media-center/cmp.media-center-proxy.svelte +4 -4
  14. package/dist/media-center/media-center/discover/community-features-localization.d.ts +4 -6
  15. package/dist/media-center/media-center/discover/community-features-localization.js +12 -10
  16. package/dist/media-center/media-center/discover/community-features.svelte +10 -21
  17. package/dist/media-center/media-center/discover/community-features.svelte.d.ts +0 -2
  18. package/dist/media-center/media-center/discover/discover-header.svelte +14 -25
  19. package/dist/media-center/media-center/discover/discover-view-handler.svelte.d.ts +1 -1
  20. package/dist/media-center/media-center/discover/discover-view-handler.svelte.js +1 -1
  21. package/dist/media-center/media-center/discover/discover-view-localization.d.ts +2 -5
  22. package/dist/media-center/media-center/discover/discover-view-localization.js +6 -8
  23. package/dist/media-center/media-center/discover/discover-view.svelte +6 -19
  24. package/dist/media-center/media-center/footer/media-center-footer.svelte +7 -18
  25. package/dist/media-center/media-center/handlers/media-center-settings-handler.svelte.d.ts +1 -1
  26. package/dist/media-center/media-center/header/media-center-header-localization.d.ts +2 -4
  27. package/dist/media-center/media-center/header/media-center-header-localization.js +12 -12
  28. package/dist/media-center/media-center/header/media-center-header-mobile.svelte +8 -19
  29. package/dist/media-center/media-center/header/media-center-header-mobile.svelte.d.ts +0 -2
  30. package/dist/media-center/media-center/header/media-center-header.svelte +12 -23
  31. package/dist/media-center/media-center/media-center-context.svelte.d.ts +1 -1
  32. package/dist/media-center/media-center/media-center-context.svelte.js +1 -1
  33. package/dist/media-center/media-center/media-center-settings.svelte.d.ts +1 -1
  34. package/dist/media-center/media-center/media-center-view.svelte +4 -15
  35. package/dist/media-center/media-center/menu/category-following-wrapper.svelte +5 -16
  36. package/dist/media-center/media-center/menu/menu-localization.d.ts +5 -8
  37. package/dist/media-center/media-center/menu/menu-localization.js +15 -14
  38. package/dist/media-center/media-center/menu/menu.svelte +15 -26
  39. package/dist/media-center/media-center/moments/cmp.moments-circle.svelte +6 -17
  40. package/dist/media-center/media-center/moments/moments-feed-handler.svelte.d.ts +1 -1
  41. package/dist/media-center/media-center/moments/moments-feed-handler.svelte.js +1 -1
  42. package/dist/media-center/media-center/moments/moments-state.svelte.d.ts +1 -1
  43. package/dist/media-center/media-center/posts-feed/feed-providers-generator.d.ts +1 -1
  44. package/dist/media-center/media-center/posts-feed/feed-providers-generator.js +2 -2
  45. package/dist/media-center/media-center/posts-feed/posts-feed-handler.svelte.d.ts +2 -2
  46. package/dist/media-center/media-center/posts-feed/posts-feed-handler.svelte.js +2 -2
  47. package/dist/media-center/media-center/streams-feed/feed-providers-generator.js +2 -2
  48. package/dist/media-center/media-center/streams-feed/streams-feed-handler.svelte.d.ts +1 -1
  49. package/dist/media-center/media-center/streams-feed/streams-feed-handler.svelte.js +1 -1
  50. package/dist/media-center/media-center/streams-in-category/streams-in-category-panel.svelte +1 -12
  51. package/dist/media-center/media-center/types.d.ts +2 -2
  52. package/dist/media-page/index.d.ts +2 -2
  53. package/dist/posts/attachments/cmp.attachments.svelte +2 -15
  54. package/dist/posts/attachments/cmp.attachments.svelte.d.ts +0 -2
  55. package/dist/posts/controls/post-actions-handler.svelte.d.ts +1 -1
  56. package/dist/posts/controls/post-actions-handler.svelte.js +2 -3
  57. package/dist/posts/post-viewer/attachments-horizontal.svelte +10 -21
  58. package/dist/posts/post-viewer/cmp.post-viewer.svelte +7 -18
  59. package/dist/posts/post-viewer/cmp.post-viewer.svelte.d.ts +1 -3
  60. package/dist/posts/post-viewer/heading.svelte +8 -20
  61. package/dist/posts/post-viewer/media/post-media.svelte +11 -22
  62. package/dist/posts/post-viewer/media/post-media.svelte.d.ts +0 -2
  63. package/dist/posts/post-viewer/post-texts.svelte +6 -17
  64. package/dist/posts/post-viewer/post-viewer-localization.d.ts +2 -5
  65. package/dist/posts/post-viewer/post-viewer-localization.js +6 -8
  66. package/dist/posts/posts-player/cmp.posts-player.svelte.d.ts +2 -2
  67. package/dist/posts/posts-player/index.d.ts +1 -1
  68. package/dist/posts/posts-player/posts-player-proxy.svelte +5 -1
  69. package/dist/posts/posts-player/posts-player-proxy.svelte.d.ts +2 -2
  70. package/dist/posts/posts-player/posts-player-view.svelte +34 -30
  71. package/dist/posts/posts-player/types.d.ts +2 -2
  72. package/dist/products/price-helper.js +1 -1
  73. package/dist/products/product-card/cmp.product-card.svelte +16 -30
  74. package/dist/products/product-card/cmp.product-card.svelte.d.ts +0 -2
  75. package/dist/products/product-card/product-card-localization.d.ts +1 -3
  76. package/dist/products/product-card/product-card-localization.js +3 -4
  77. package/dist/short-videos/short-video-card/cmp.short-video-card.svelte +19 -35
  78. package/dist/short-videos/short-video-card/cmp.short-video-card.svelte.d.ts +0 -2
  79. package/dist/short-videos/short-video-card/localization.d.ts +1 -3
  80. package/dist/short-videos/short-video-card/localization.js +3 -4
  81. package/dist/streams/layout/cmp.layout.svelte +3 -14
  82. package/dist/streams/layout/cmp.slot-content.svelte +5 -16
  83. package/dist/streams/layout/cmp.slot-content.svelte.d.ts +0 -2
  84. package/dist/streams/layout/cmp.slot.svelte +1 -12
  85. package/dist/streams/layout/element-views/cmp.annotation-stream-element.svelte +2 -2
  86. package/dist/streams/layout/element-views/cmp.container-stream-element.svelte +2 -3
  87. package/dist/streams/layout/element-views/cmp.container-stream-element.svelte.d.ts +0 -2
  88. package/dist/streams/layout/element-views/cmp.image-ref-stream-element.svelte +1 -12
  89. package/dist/streams/layout/element-views/cmp.images-stream-element.svelte +3 -14
  90. package/dist/streams/layout/element-views/cmp.price-stream-element.svelte +2 -2
  91. package/dist/streams/layout/element-views/cmp.price-stream-element.svelte.d.ts +0 -2
  92. package/dist/streams/layout/element-views/cmp.products-slider-stream-element.svelte +4 -9
  93. package/dist/streams/layout/element-views/cmp.products-slider-stream-element.svelte.d.ts +0 -2
  94. package/dist/streams/layout/element-views/cmp.short-video-stream-element.svelte +1 -4
  95. package/dist/streams/layout/element-views/cmp.short-video-stream-element.svelte.d.ts +0 -2
  96. package/dist/streams/layout/element-views/cmp.spacer-stream-element.svelte +3 -14
  97. package/dist/streams/layout/element-views/cmp.stock-stream-element.svelte +3 -14
  98. package/dist/streams/layout/element-views/cmp.stock-stream-element.svelte.d.ts +0 -2
  99. package/dist/streams/layout/element-views/cmp.stream-element.svelte +7 -8
  100. package/dist/streams/layout/element-views/cmp.stream-element.svelte.d.ts +0 -2
  101. package/dist/streams/layout/element-views/cmp.text-ref-stream-element.svelte +5 -5
  102. package/dist/streams/layout/element-views/cmp.text-ref-stream-element.svelte.d.ts +0 -2
  103. package/dist/streams/layout/element-views/cmp.text-stream-element.svelte +5 -5
  104. package/dist/streams/layout/element-views/cmp.text-stream-element.svelte.d.ts +0 -2
  105. package/dist/streams/layout/element-views/cmp.web-view-stream-element.svelte +1 -12
  106. package/dist/streams/layout/element-views/price-element-view.svelte +7 -18
  107. package/dist/streams/layout/element-views/price-stream-element-localization.d.ts +2 -5
  108. package/dist/streams/layout/element-views/price-stream-element-localization.js +6 -8
  109. package/dist/streams/layout/element-views/stock-stream-element-localization.d.ts +1 -3
  110. package/dist/streams/layout/element-views/stock-stream-element-localization.js +3 -4
  111. package/dist/streams/layout/index.d.ts +1 -1
  112. package/dist/streams/layout/index.js +1 -1
  113. package/dist/streams/layout/serializer.svelte.js +5 -6
  114. package/dist/streams/layout/styles-transformer.d.ts +3 -3
  115. package/dist/streams/layout/styles-transformer.js +1 -1
  116. package/dist/streams/stream-card/cmp.stream-card.svelte +6 -20
  117. package/dist/streams/stream-page-viewer/cmp.stream-page-viewer.svelte +6 -19
  118. package/dist/streams/stream-page-viewer/cmp.stream-page-viewer.svelte.d.ts +1 -3
  119. package/dist/streams/streams-player/cmp.streams-player.svelte.d.ts +1 -1
  120. package/dist/streams/streams-player/index.d.ts +1 -1
  121. package/dist/streams/streams-player/stream-overview.svelte +5 -16
  122. package/dist/streams/streams-player/stream-player-localization.d.ts +1 -4
  123. package/dist/streams/streams-player/stream-player-localization.js +3 -6
  124. package/dist/streams/streams-player/streams-player-buffer.svelte.d.ts +1 -1
  125. package/dist/streams/streams-player/streams-player-buffer.svelte.js +1 -1
  126. package/dist/streams/streams-player/streams-player-proxy.svelte +5 -1
  127. package/dist/streams/streams-player/streams-player-proxy.svelte.d.ts +1 -1
  128. package/dist/streams/streams-player/streams-player-view.svelte +71 -79
  129. package/dist/streams/streams-player/types.d.ts +1 -1
  130. package/dist/ui/media-item-view/cmp.media-item-view.svelte +5 -16
  131. package/dist/ui/media-items-gallery/cmp.media-items-gallery.svelte +2 -16
  132. package/dist/ui/media-items-gallery/types.js +2 -1
  133. package/dist/ui/player/player/cmp.player.svelte +19 -28
  134. package/dist/ui/player/player/cmp.player.svelte.d.ts +1 -1
  135. package/dist/ui/player/player/controls-and-attachments.svelte +16 -32
  136. package/dist/ui/player/player/controls-and-attachments.svelte.d.ts +1 -1
  137. package/dist/ui/player/player/overview-panel.svelte +27 -36
  138. package/dist/ui/player/player/player-config.svelte.d.ts +4 -4
  139. package/dist/ui/player/player/player-config.svelte.js +3 -3
  140. package/dist/ui/player/player/player-settings.svelte.d.ts +1 -1
  141. package/dist/ui/player/progress/cmp.chunks-progress.svelte +1 -12
  142. package/dist/ui/shadow-dom/cmp.shadow-root.svelte +9 -14
  143. package/dist/ui/shadow-dom/cmp.shadow-root.svelte.d.ts +2 -0
  144. package/dist/ui/shadow-dom/colors.scss +2 -2
  145. package/dist/ui/shadow-dom/shadow-root-service.js +2 -2
  146. package/package.json +13 -25
  147. package/dist/core/actions/horizontal-wheel-scroll.d.ts +0 -5
  148. package/dist/core/actions/horizontal-wheel-scroll.js +0 -20
  149. package/dist/core/actions/index.d.ts +0 -2
  150. package/dist/core/actions/index.js +0 -2
  151. package/dist/core/actions/swallow-touch.d.ts +0 -2
  152. package/dist/core/actions/swallow-touch.js +0 -17
  153. package/dist/core/browser.d.ts +0 -1
  154. package/dist/core/browser.js +0 -1
  155. package/dist/core/continuation-token.d.ts +0 -11
  156. package/dist/core/continuation-token.js +0 -35
  157. package/dist/core/cursor-result.d.ts +0 -9
  158. package/dist/core/cursor-result.js +0 -1
  159. package/dist/core/data-loaders/cursor-data-loader.svelte.d.ts +0 -14
  160. package/dist/core/data-loaders/cursor-data-loader.svelte.js +0 -35
  161. package/dist/core/data-loaders/data-loader.d.ts +0 -4
  162. package/dist/core/data-loaders/data-loader.js +0 -1
  163. package/dist/core/data-loaders/index.d.ts +0 -2
  164. package/dist/core/data-loaders/index.js +0 -1
  165. package/dist/core/deferred.d.ts +0 -6
  166. package/dist/core/deferred.js +0 -13
  167. package/dist/core/document.event-handlers.d.ts +0 -2
  168. package/dist/core/document.event-handlers.js +0 -8
  169. package/dist/core/image-preloader.d.ts +0 -1
  170. package/dist/core/image-preloader.js +0 -10
  171. package/dist/core/locale.d.ts +0 -4
  172. package/dist/core/locale.js +0 -1
  173. package/dist/core/media/image-helper.d.ts +0 -10
  174. package/dist/core/media/image-helper.js +0 -30
  175. package/dist/core/media/images-size-detector.service.d.ts +0 -6
  176. package/dist/core/media/images-size-detector.service.js +0 -15
  177. package/dist/core/toastr.d.ts +0 -1
  178. package/dist/core/toastr.js +0 -26
  179. package/dist/core/transitions/index.d.ts +0 -1
  180. package/dist/core/transitions/index.js +0 -1
  181. package/dist/core/transitions/slide-horizontally.d.ts +0 -7
  182. package/dist/core/transitions/slide-horizontally.js +0 -55
  183. package/dist/core/utils/array-helper.d.ts +0 -23
  184. package/dist/core/utils/array-helper.js +0 -148
  185. package/dist/core/utils/compact-number.d.ts +0 -8
  186. package/dist/core/utils/compact-number.js +0 -48
  187. package/dist/core/utils/date-helper.d.ts +0 -29
  188. package/dist/core/utils/date-helper.js +0 -146
  189. package/dist/core/utils/dom-helper.d.ts +0 -12
  190. package/dist/core/utils/dom-helper.js +0 -76
  191. package/dist/core/utils/html-helper.d.ts +0 -42
  192. package/dist/core/utils/html-helper.js +0 -104
  193. package/dist/core/utils/index.d.ts +0 -3
  194. package/dist/core/utils/index.js +0 -3
  195. package/dist/core/utils/number-helper.d.ts +0 -6
  196. package/dist/core/utils/number-helper.js +0 -28
  197. package/dist/core/utils/string-generator.d.ts +0 -2
  198. package/dist/core/utils/string-generator.js +0 -15
  199. package/dist/core/utils/string-helper.d.ts +0 -10
  200. package/dist/core/utils/string-helper.js +0 -53
  201. package/dist/core/utils/url-helper.d.ts +0 -3
  202. package/dist/core/utils/url-helper.js +0 -13
  203. package/dist/core/utils/utils.d.ts +0 -29
  204. package/dist/core/utils/utils.js +0 -104
  205. package/dist/streams/layout/element-views/short-video-stream-element-localization.d.ts +0 -5
  206. package/dist/streams/layout/element-views/short-video-stream-element-localization.js +0 -7
  207. package/dist/streams/stream-page-viewer/stream-page-viewer-localization.d.ts +0 -5
  208. package/dist/streams/stream-page-viewer/stream-page-viewer-localization.js +0 -7
  209. package/dist/ui/button/cmp.button.svelte +0 -10
  210. package/dist/ui/button/cmp.button.svelte.d.ts +0 -16
  211. package/dist/ui/button/cmp.options-button.svelte +0 -123
  212. package/dist/ui/button/cmp.options-button.svelte.d.ts +0 -20
  213. package/dist/ui/button/index.d.ts +0 -3
  214. package/dist/ui/button/index.js +0 -3
  215. package/dist/ui/button/resources/button-base.svelte +0 -84
  216. package/dist/ui/button/resources/button-base.svelte.d.ts +0 -13
  217. package/dist/ui/button/resources/button-theme.svelte +0 -53
  218. package/dist/ui/button/resources/button-theme.svelte.d.ts +0 -10
  219. package/dist/ui/button/resources/button-types.d.ts +0 -20
  220. package/dist/ui/button/resources/button-types.js +0 -22
  221. package/dist/ui/card-actions/card-action-container.d.ts +0 -2
  222. package/dist/ui/card-actions/card-action-container.js +0 -17
  223. package/dist/ui/card-actions/cmp.card-action.svelte +0 -28
  224. package/dist/ui/card-actions/cmp.card-action.svelte.d.ts +0 -10
  225. package/dist/ui/card-actions/cmp.card-actions.svelte +0 -71
  226. package/dist/ui/card-actions/cmp.card-actions.svelte.d.ts +0 -9
  227. package/dist/ui/card-actions/index.d.ts +0 -4
  228. package/dist/ui/card-actions/index.js +0 -3
  229. package/dist/ui/card-actions/types.d.ts +0 -9
  230. package/dist/ui/card-actions/types.js +0 -1
  231. package/dist/ui/dropdown/cmp.dropdown.svelte +0 -184
  232. package/dist/ui/dropdown/cmp.dropdown.svelte.d.ts +0 -23
  233. package/dist/ui/dropdown/dropdown-ignore.d.ts +0 -6
  234. package/dist/ui/dropdown/dropdown-ignore.js +0 -11
  235. package/dist/ui/dropdown/index.d.ts +0 -3
  236. package/dist/ui/dropdown/index.js +0 -2
  237. package/dist/ui/dynamic-component/cmp.dynamic-component.svelte +0 -5
  238. package/dist/ui/dynamic-component/cmp.dynamic-component.svelte.d.ts +0 -7
  239. package/dist/ui/dynamic-component/index.d.ts +0 -2
  240. package/dist/ui/dynamic-component/index.js +0 -2
  241. package/dist/ui/dynamic-component/types.svelte.d.ts +0 -11
  242. package/dist/ui/dynamic-component/types.svelte.js +0 -13
  243. package/dist/ui/icon/cmp.icon.svelte +0 -75
  244. package/dist/ui/icon/cmp.icon.svelte.d.ts +0 -8
  245. package/dist/ui/icon/index.d.ts +0 -2
  246. package/dist/ui/icon/index.js +0 -2
  247. package/dist/ui/icon/types.d.ts +0 -9
  248. package/dist/ui/icon/types.js +0 -10
  249. package/dist/ui/image/cmp.image-round.svelte +0 -41
  250. package/dist/ui/image/cmp.image-round.svelte.d.ts +0 -11
  251. package/dist/ui/image/cmp.image-rounded.svelte +0 -64
  252. package/dist/ui/image/cmp.image-rounded.svelte.d.ts +0 -11
  253. package/dist/ui/image/cmp.image-stub.svelte +0 -31
  254. package/dist/ui/image/cmp.image-stub.svelte.d.ts +0 -18
  255. package/dist/ui/image/cmp.image.svelte +0 -79
  256. package/dist/ui/image/cmp.image.svelte.d.ts +0 -13
  257. package/dist/ui/image/image-state.d.ts +0 -6
  258. package/dist/ui/image/image-state.js +0 -17
  259. package/dist/ui/image/index.d.ts +0 -4
  260. package/dist/ui/image/index.js +0 -4
  261. package/dist/ui/infinite-scrolling/cmp.infinite-scrolling.svelte +0 -75
  262. package/dist/ui/infinite-scrolling/cmp.infinite-scrolling.svelte.d.ts +0 -11
  263. package/dist/ui/infinite-scrolling/index.d.ts +0 -1
  264. package/dist/ui/infinite-scrolling/index.js +0 -1
  265. package/dist/ui/line-clamp/cmp.line-clamp-auto.svelte +0 -119
  266. package/dist/ui/line-clamp/cmp.line-clamp-auto.svelte.d.ts +0 -10
  267. package/dist/ui/line-clamp/cmp.line-clamp.svelte +0 -84
  268. package/dist/ui/line-clamp/cmp.line-clamp.svelte.d.ts +0 -11
  269. package/dist/ui/line-clamp/index.d.ts +0 -2
  270. package/dist/ui/line-clamp/index.js +0 -2
  271. package/dist/ui/line-clamp/line-clamp-localization.d.ts +0 -6
  272. package/dist/ui/line-clamp/line-clamp-localization.js +0 -19
  273. package/dist/ui/line-clamp/line-clamp-types.d.ts +0 -3
  274. package/dist/ui/line-clamp/line-clamp-types.js +0 -1
  275. package/dist/ui/line-clamp/line-clamp-utils.d.ts +0 -8
  276. package/dist/ui/line-clamp/line-clamp-utils.js +0 -33
  277. package/dist/ui/loading/cmp.loading.svelte +0 -94
  278. package/dist/ui/loading/cmp.loading.svelte.d.ts +0 -9
  279. package/dist/ui/loading/index.d.ts +0 -1
  280. package/dist/ui/loading/index.js +0 -1
  281. package/dist/ui/media-playback/index.d.ts +0 -2
  282. package/dist/ui/media-playback/index.js +0 -2
  283. package/dist/ui/media-playback/playback-manager.svelte.d.ts +0 -25
  284. package/dist/ui/media-playback/playback-manager.svelte.js +0 -62
  285. package/dist/ui/media-playback/volume-manager.svelte.d.ts +0 -10
  286. package/dist/ui/media-playback/volume-manager.svelte.js +0 -27
  287. package/dist/ui/player/button/cmp.mobile-player-buttons.svelte +0 -37
  288. package/dist/ui/player/button/cmp.mobile-player-buttons.svelte.d.ts +0 -7
  289. package/dist/ui/player/button/cmp.player-buttons.svelte +0 -127
  290. package/dist/ui/player/button/cmp.player-buttons.svelte.d.ts +0 -9
  291. package/dist/ui/player/button/cmp.responsive-player-buttons.svelte +0 -32
  292. package/dist/ui/player/button/cmp.responsive-player-buttons.svelte.d.ts +0 -8
  293. package/dist/ui/player/button/index.d.ts +0 -4
  294. package/dist/ui/player/button/index.js +0 -3
  295. package/dist/ui/player/button/types.d.ts +0 -7
  296. package/dist/ui/player/button/types.js +0 -1
  297. package/dist/ui/player/providers/chunks-player-buffer/index.d.ts +0 -2
  298. package/dist/ui/player/providers/chunks-player-buffer/index.js +0 -2
  299. package/dist/ui/player/providers/chunks-player-buffer/player-chunk-item.svelte.d.ts +0 -9
  300. package/dist/ui/player/providers/chunks-player-buffer/player-chunk-item.svelte.js +0 -9
  301. package/dist/ui/player/providers/chunks-player-buffer/player-chunk.svelte.d.ts +0 -30
  302. package/dist/ui/player/providers/chunks-player-buffer/player-chunk.svelte.js +0 -73
  303. package/dist/ui/player/providers/chunks-player-buffer/player-chunks-manager.svelte.d.ts +0 -23
  304. package/dist/ui/player/providers/chunks-player-buffer/player-chunks-manager.svelte.js +0 -220
  305. package/dist/ui/player/providers/default-chunks-player-buffer.svelte.d.ts +0 -23
  306. package/dist/ui/player/providers/default-chunks-player-buffer.svelte.js +0 -71
  307. package/dist/ui/player/providers/default-feed-player-buffer.svelte.d.ts +0 -29
  308. package/dist/ui/player/providers/default-feed-player-buffer.svelte.js +0 -121
  309. package/dist/ui/player/providers/index.d.ts +0 -3
  310. package/dist/ui/player/providers/index.js +0 -2
  311. package/dist/ui/player/providers/service.d.ts +0 -2
  312. package/dist/ui/player/providers/service.js +0 -13
  313. package/dist/ui/player/providers/types.d.ts +0 -54
  314. package/dist/ui/player/providers/types.js +0 -1
  315. package/dist/ui/player/slider/cmp.player-slider.svelte +0 -218
  316. package/dist/ui/player/slider/cmp.player-slider.svelte.d.ts +0 -34
  317. package/dist/ui/player/slider/index.d.ts +0 -2
  318. package/dist/ui/player/slider/index.js +0 -2
  319. package/dist/ui/player/slider/prevent-slider-scroll.d.ts +0 -5
  320. package/dist/ui/player/slider/prevent-slider-scroll.js +0 -11
  321. package/dist/ui/player/slider/types.d.ts +0 -16
  322. package/dist/ui/player/slider/types.js +0 -1
  323. package/dist/ui/player/slider/wheel-gestures-adapter.d.ts +0 -17
  324. package/dist/ui/player/slider/wheel-gestures-adapter.js +0 -79
  325. package/dist/ui/player/slider-horizontal/cmp.slider.svelte +0 -424
  326. package/dist/ui/player/slider-horizontal/cmp.slider.svelte.d.ts +0 -31
  327. package/dist/ui/player/slider-horizontal/index.d.ts +0 -2
  328. package/dist/ui/player/slider-horizontal/index.js +0 -2
  329. package/dist/ui/player/slider-horizontal/slider-localization.d.ts +0 -5
  330. package/dist/ui/player/slider-horizontal/slider-localization.js +0 -13
  331. package/dist/ui/player/slider-horizontal/types.d.ts +0 -11
  332. package/dist/ui/player/slider-horizontal/types.js +0 -8
  333. package/dist/ui/player/utils/index.d.ts +0 -1
  334. package/dist/ui/player/utils/index.js +0 -1
  335. package/dist/ui/player/utils/touch-synchronizer.d.ts +0 -7
  336. package/dist/ui/player/utils/touch-synchronizer.js +0 -21
  337. package/dist/ui/progress/cmp.progress.svelte +0 -40
  338. package/dist/ui/progress/cmp.progress.svelte.d.ts +0 -6
  339. package/dist/ui/progress/index.d.ts +0 -1
  340. package/dist/ui/progress/index.js +0 -1
  341. package/dist/ui/proportional-container/cmp.proportional-container.svelte +0 -39
  342. package/dist/ui/proportional-container/cmp.proportional-container.svelte.d.ts +0 -8
  343. package/dist/ui/proportional-container/index.d.ts +0 -1
  344. package/dist/ui/proportional-container/index.js +0 -1
  345. package/dist/ui/seek-bar/cmp.seek-bar.svelte +0 -167
  346. package/dist/ui/seek-bar/cmp.seek-bar.svelte.d.ts +0 -15
  347. package/dist/ui/seek-bar/index.d.ts +0 -1
  348. package/dist/ui/seek-bar/index.js +0 -1
  349. package/dist/ui/shadow-dom/normalize-shadow.css +0 -350
  350. package/dist/ui/shadow-dom/reset-shadow.css +0 -176
  351. package/dist/ui/swipe-indicator/cmp.swipe-indicator.svelte +0 -124
  352. package/dist/ui/swipe-indicator/cmp.swipe-indicator.svelte.d.ts +0 -8
  353. package/dist/ui/swipe-indicator/index.d.ts +0 -1
  354. package/dist/ui/swipe-indicator/index.js +0 -1
  355. package/dist/ui/swipe-indicator/swipe-indicator-localization.d.ts +0 -5
  356. package/dist/ui/swipe-indicator/swipe-indicator-localization.js +0 -13
  357. package/dist/ui/time-ago/cmp.time-ago.svelte +0 -69
  358. package/dist/ui/time-ago/cmp.time-ago.svelte.d.ts +0 -9
  359. package/dist/ui/time-ago/index.d.ts +0 -1
  360. package/dist/ui/time-ago/index.js +0 -1
  361. package/dist/ui/time-ago/time-ago-localization.d.ts +0 -12
  362. package/dist/ui/time-ago/time-ago-localization.js +0 -55
  363. package/dist/ui/video/cmp.video.svelte +0 -387
  364. package/dist/ui/video/cmp.video.svelte.d.ts +0 -27
  365. package/dist/ui/video/index.d.ts +0 -2
  366. package/dist/ui/video/index.js +0 -2
  367. package/dist/ui/video/types.d.ts +0 -4
  368. package/dist/ui/video/types.js +0 -5
@@ -1,124 +0,0 @@
1
- <script lang="ts">import { Icon } from '../icon';
2
- import { SwipeIndicatorLocalization } from './swipe-indicator-localization';
3
- import IconArrowUp from '@fluentui/svg-icons/icons/arrow_up_20_regular.svg?raw';
4
- let { fadeTimeout = 2000, locale } = $props();
5
- const localization = $derived(new SwipeIndicatorLocalization(locale));
6
- let isFaded = $state(false);
7
- const indicatorMounted = (_) => {
8
- if (fadeTimeout) {
9
- const timeout = setTimeout(() => {
10
- isFaded = true;
11
- }, 3000);
12
- return {
13
- destroy() {
14
- clearTimeout(timeout);
15
- }
16
- };
17
- }
18
- };
19
- </script>
20
-
21
- <div class="swipe-indicator" class:swipe-indicator--faded={isFaded} use:indicatorMounted>
22
- <div class="swipe-indicator__icon">
23
- <Icon src={IconArrowUp} />
24
- </div>
25
- <div class="swipe-indicator__text">
26
- {localization.swipe}
27
- </div>
28
- </div>
29
-
30
- <style>@keyframes fadeIn {
31
- 0% {
32
- opacity: 1;
33
- }
34
- 50% {
35
- opacity: 0.4;
36
- }
37
- 100% {
38
- opacity: 1;
39
- }
40
- }
41
- .swipe-indicator {
42
- --_swipe-indicator--color: var(--swipe-indicator--color, #ffffff);
43
- --_swipe-indicator--font-size: var(--swipe-indicator--font-size, 1rem);
44
- --_swipe-indicator--icon-size: var(--swipe-indicator--icon-size, var(--_swipe-indicator--font-size));
45
- display: flex;
46
- flex-direction: column;
47
- align-items: center;
48
- justify-content: center;
49
- position: absolute;
50
- top: 80%;
51
- left: 50%;
52
- transform: translate(-50%, -50%);
53
- z-index: 10;
54
- color: var(--_swipe-indicator--color);
55
- opacity: 1;
56
- transition: opacity 2s cubic-bezier(0.4, 0, 0.2, 1);
57
- }
58
- .swipe-indicator--faded {
59
- opacity: 0;
60
- pointer-events: none;
61
- }
62
- .swipe-indicator:before {
63
- content: "";
64
- position: absolute;
65
- inset: 0;
66
- z-index: 0;
67
- pointer-events: none;
68
- border-radius: 50%;
69
- background: #000;
70
- filter: blur(12px);
71
- transform: scale(3);
72
- }
73
- .swipe-indicator__icon {
74
- font-size: var(--_swipe-indicator--icon-size);
75
- animation: bounce 2.7s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
76
- will-change: transform;
77
- z-index: 1;
78
- }
79
- .swipe-indicator__text {
80
- font-size: var(--_swipe-indicator--font-size);
81
- z-index: 1;
82
- }
83
-
84
- @keyframes bounce {
85
- 0%, 100% {
86
- transform: translateY(0);
87
- }
88
- 10% {
89
- transform: translateY(-24px);
90
- }
91
- 18% {
92
- transform: translateY(0);
93
- }
94
- 26% {
95
- transform: translateY(-12px);
96
- }
97
- 34% {
98
- transform: translateY(0);
99
- }
100
- 41% {
101
- transform: translateY(-8px);
102
- }
103
- 48% {
104
- transform: translateY(0);
105
- }
106
- 54% {
107
- transform: translateY(-4px);
108
- }
109
- 60% {
110
- transform: translateY(0);
111
- }
112
- 65% {
113
- transform: translateY(-2px);
114
- }
115
- 70% {
116
- transform: translateY(0);
117
- }
118
- 75% {
119
- transform: translateY(-1px);
120
- }
121
- 80% {
122
- transform: translateY(0);
123
- }
124
- }</style>
@@ -1,8 +0,0 @@
1
- import type { Locale } from '../../core/locale';
2
- type Props = {
3
- fadeTimeout?: number;
4
- locale: Locale;
5
- };
6
- declare const Cmp: import("svelte").Component<Props, {}, "">;
7
- type Cmp = ReturnType<typeof Cmp>;
8
- export default Cmp;
@@ -1 +0,0 @@
1
- export { default as SwipeIndicator } from './cmp.swipe-indicator.svelte';
@@ -1 +0,0 @@
1
- export { default as SwipeIndicator } from './cmp.swipe-indicator.svelte';
@@ -1,5 +0,0 @@
1
- import { type Locale } from '../../core/locale';
2
- export declare class SwipeIndicatorLocalization {
3
- swipe: string;
4
- constructor(locale: Locale);
5
- }
@@ -1,13 +0,0 @@
1
- import {} from '../../core/locale';
2
- export class SwipeIndicatorLocalization {
3
- swipe;
4
- constructor(locale) {
5
- this.swipe = loc.swipe[locale];
6
- }
7
- }
8
- const loc = {
9
- swipe: {
10
- en: 'Swipe',
11
- no: 'Sveip'
12
- }
13
- };
@@ -1,69 +0,0 @@
1
- <script lang="ts">import { DateFormatOptions, DateHelper } from '../../core/utils/date-helper';
2
- import { TimeAgoLocalization } from './time-ago-localization';
3
- import { onDestroy } from 'svelte';
4
- let { date = null, thresholdMinutes = 60 * 24 * 2 /* 2 days */, locale } = $props();
5
- const localization = $derived(new TimeAgoLocalization(locale));
6
- let timeSpan = $state.raw(null);
7
- let timeoutId;
8
- onDestroy(() => {
9
- disableTimeout();
10
- });
11
- const setRelativeTime = (date) => {
12
- disableTimeout();
13
- const dateVal = date ? DateHelper.toDate(date) : new Date();
14
- const setupAbsDate = () => {
15
- timeSpan = localization.at(dateVal.toLocaleString(localization.locale, dateVal.getFullYear() === new Date().getFullYear() ? DateFormatOptions.dateFormatWithoutYear : DateFormatOptions.dateFormat), dateVal.toLocaleString(localization.locale, DateFormatOptions.timeFormat));
16
- };
17
- const diffSeconds = (+new Date() - +dateVal) / 1000;
18
- if (diffSeconds > thresholdMinutes * 60) {
19
- return setupAbsDate();
20
- }
21
- const secsInHour = 60 * 60; // 3600
22
- const secsIn2Hours = secsInHour * 2; // 7200
23
- const secsInDay = 60 * 60 * 24; // 86400
24
- const secsIn2Days = secsInDay * 2; // 172800
25
- let refreshIntervalSec;
26
- if (diffSeconds < 60) {
27
- timeSpan = localization.justNow;
28
- refreshIntervalSec = 5;
29
- }
30
- else if (diffSeconds < 120) {
31
- timeSpan = localization.aMinuteAgo;
32
- refreshIntervalSec = 5;
33
- }
34
- else if (diffSeconds < secsInHour) {
35
- timeSpan = localization.minutesAgo(Math.floor(diffSeconds / 60));
36
- refreshIntervalSec = 60;
37
- }
38
- else if (diffSeconds < secsIn2Hours) {
39
- timeSpan = localization.anHourAgo;
40
- refreshIntervalSec = 60;
41
- }
42
- else if (diffSeconds < secsInDay) {
43
- timeSpan = localization.hoursAgo(Math.floor(diffSeconds / secsInHour));
44
- refreshIntervalSec = 3600;
45
- }
46
- else if (diffSeconds < secsIn2Days) {
47
- timeSpan = localization.yesterday(dateVal.toLocaleString(localization.locale, DateFormatOptions.timeFormat));
48
- refreshIntervalSec = 3600;
49
- }
50
- else {
51
- return setupAbsDate();
52
- }
53
- timeoutId = setTimeout(() => setRelativeTime(date), refreshIntervalSec * 1000);
54
- };
55
- $effect(() => {
56
- setRelativeTime(date);
57
- });
58
- const disableTimeout = () => {
59
- if (timeoutId) {
60
- clearTimeout(timeoutId);
61
- }
62
- };
63
- </script>
64
-
65
- <span>
66
- {#if timeSpan}
67
- {timeSpan}
68
- {/if}
69
- </span>
@@ -1,9 +0,0 @@
1
- import type { Locale } from '../../core/locale';
2
- type Props = {
3
- date: Date | string | null;
4
- thresholdMinutes?: number;
5
- locale: Locale;
6
- };
7
- declare const Cmp: import("svelte").Component<Props, {}, "">;
8
- type Cmp = ReturnType<typeof Cmp>;
9
- export default Cmp;
@@ -1 +0,0 @@
1
- export { default as TimeAgo } from './cmp.time-ago.svelte';
@@ -1 +0,0 @@
1
- export { default as TimeAgo } from './cmp.time-ago.svelte';
@@ -1,12 +0,0 @@
1
- import { type Locale } from '../../core/locale';
2
- export declare class TimeAgoLocalization {
3
- locale: string;
4
- aMinuteAgo: string;
5
- anHourAgo: string;
6
- justNow: string;
7
- at: (date: string, time: string) => string;
8
- hoursAgo: (hours: number) => string;
9
- minutesAgo: (minutes: number) => string;
10
- yesterday: (time: string) => string;
11
- constructor(locale: Locale);
12
- }
@@ -1,55 +0,0 @@
1
- import {} from '../../core/locale';
2
- export class TimeAgoLocalization {
3
- locale;
4
- aMinuteAgo;
5
- anHourAgo;
6
- justNow;
7
- at;
8
- hoursAgo;
9
- minutesAgo;
10
- yesterday;
11
- constructor(locale) {
12
- this.locale = loc.locale[locale];
13
- this.aMinuteAgo = loc.aMinuteAgo[locale];
14
- this.anHourAgo = loc.anHourAgo[locale];
15
- this.justNow = loc.justNow[locale];
16
- this.at = loc.at[locale];
17
- this.hoursAgo = loc.hoursAgo[locale];
18
- this.minutesAgo = loc.minutesAgo[locale];
19
- this.yesterday = loc.yesterday[locale];
20
- }
21
- }
22
- const loc = {
23
- locale: {
24
- en: 'en-US',
25
- no: 'no-NO'
26
- },
27
- aMinuteAgo: {
28
- en: 'a minute ago',
29
- no: 'ett minutt siden'
30
- },
31
- anHourAgo: {
32
- en: 'an hour ago',
33
- no: 'en time siden'
34
- },
35
- justNow: {
36
- en: 'just now',
37
- no: 'nettopp nå'
38
- },
39
- at: {
40
- en: (date, time) => `${date} at ${time}`,
41
- no: (date, time) => `${date} kl. ${time}`
42
- },
43
- hoursAgo: {
44
- en: (hours) => `${hours} hours ago`,
45
- no: (hours) => `${hours} timer siden`
46
- },
47
- minutesAgo: {
48
- en: (minutes) => `${minutes} minutes ago`,
49
- no: (minutes) => `${minutes} minutter siden`
50
- },
51
- yesterday: {
52
- en: (time) => `Yesterday at ${time}`,
53
- no: (time) => `I går kl. ${time}`
54
- }
55
- };
@@ -1,387 +0,0 @@
1
- <script lang="ts">import { randomNanoid } from '../../core/utils/string-generator';
2
- import { Icon, IconColor } from '../icon';
3
- import { MediaVolumeManager, PlaybackManager } from '../media-playback';
4
- import { SeekBar } from '../seek-bar';
5
- import { ScrubberPosition } from './types';
6
- import IconPause from '@fluentui/svg-icons/icons/pause_20_regular.svg?raw';
7
- import IconPlay from '@fluentui/svg-icons/icons/play_20_regular.svg?raw';
8
- import IconSpeaker from '@fluentui/svg-icons/icons/speaker_2_20_regular.svg?raw';
9
- import IconSpeakerMute from '@fluentui/svg-icons/icons/speaker_mute_20_regular.svg?raw';
10
- import { onDestroy, onMount, untrack } from 'svelte';
11
- import { fade } from 'svelte/transition';
12
- let { src, poster, id = randomNanoid(), controls = true, autoplay = false, loop = false, inert = false, hideSpeaker = false, intersectionContainer, scrubberPosition = ScrubberPosition.Bottom, on } = $props();
13
- onMount(() => {
14
- PlaybackManager.registerMountedPlayer(id, {
15
- onPlay: () => {
16
- play();
17
- },
18
- onPause: () => {
19
- pause();
20
- },
21
- onStop: (inRespectToNewlyActivatedVideo) => {
22
- if (autoplay === 'on-appearance' && inRespectToNewlyActivatedVideo) {
23
- return;
24
- }
25
- stop();
26
- },
27
- onToggle: () => {
28
- togglePlay();
29
- },
30
- onVolumeChange: (volume) => {
31
- setVolume(volume);
32
- },
33
- onMute: () => {
34
- setMuted(true);
35
- },
36
- onUnmute: () => {
37
- setMuted(false);
38
- }
39
- });
40
- on?.loaded?.({ id, src });
41
- if (videoContainerRef) {
42
- intersectionObserver.observe(videoContainerRef);
43
- }
44
- });
45
- onDestroy(() => {
46
- try {
47
- PlaybackManager.unregisterPlayer(id);
48
- intersectionObserver.disconnect();
49
- }
50
- catch {
51
- // ignore
52
- }
53
- });
54
- let video = $state.raw(undefined);
55
- let videoContainerRef = $state.raw(undefined);
56
- let showControlsOnHover = $state(false);
57
- let isVideoPaused = $state(true);
58
- let percentageCompleted = $state(0);
59
- let everActivated = $state(false);
60
- $effect(() => {
61
- void src;
62
- untrack(() => {
63
- if (video?.src) {
64
- video.src = src;
65
- }
66
- });
67
- });
68
- const intersectionObserver = new IntersectionObserver((entries) => {
69
- if (!video) {
70
- return;
71
- }
72
- const [entry] = entries;
73
- // handle lazy loading, if the video is not in the viewport, don't load it
74
- if (entry.isIntersecting && !video.src) {
75
- video.src = src;
76
- video.load();
77
- // Handle one-time autoplay
78
- if (autoplay === true) {
79
- const handleCanPlay = () => {
80
- if (entry.isIntersecting) {
81
- play();
82
- autoplay = false;
83
- }
84
- };
85
- video.addEventListener('canplay', handleCanPlay, { once: true });
86
- return;
87
- }
88
- }
89
- // the following steps only for video with autoplay on-appearance
90
- if (autoplay !== 'on-appearance') {
91
- return;
92
- }
93
- if (!entry.isIntersecting) {
94
- stop();
95
- return;
96
- }
97
- if (entry.intersectionRatio < 0.4) {
98
- pause();
99
- }
100
- if (entry.intersectionRatio >= 0.6) {
101
- const handleCanPlay = () => {
102
- if (entry.intersectionRatio >= 0.6) {
103
- play();
104
- }
105
- };
106
- if (video.readyState >= 3) {
107
- play();
108
- }
109
- else {
110
- video.addEventListener('canplay', handleCanPlay, { once: true });
111
- }
112
- }
113
- }, {
114
- root: untrack(() => intersectionContainer),
115
- rootMargin: '0px',
116
- threshold: [0.1, 0.4, 0.6]
117
- });
118
- const play = async () => {
119
- if (!video) {
120
- return;
121
- }
122
- try {
123
- await video.play();
124
- }
125
- catch {
126
- // can't play video without interaction with document, just ignoring the error
127
- }
128
- finally {
129
- // paused - default state for any video element (not started, not playing, ended)
130
- // If the video is still paused after attempting to play (likely due to autoplay restrictions),
131
- // we assume it couldn't start due to lack of user interaction.
132
- // To comply with autoplay policies, we mute the video and attempt to play it again.
133
- if (video.paused) {
134
- video.muted = true;
135
- video.play();
136
- }
137
- everActivated = true;
138
- }
139
- };
140
- const pause = () => {
141
- video?.pause();
142
- };
143
- const stop = () => {
144
- if (!video) {
145
- return;
146
- }
147
- video.pause();
148
- video.currentTime = 0;
149
- video.load();
150
- onPause();
151
- };
152
- const togglePlay = (e) => {
153
- e?.stopPropagation();
154
- if (!video) {
155
- return;
156
- }
157
- if (video.paused) {
158
- play();
159
- }
160
- else {
161
- pause();
162
- }
163
- };
164
- const toggleMute = (e) => {
165
- e?.stopPropagation();
166
- setMuted(!video?.muted);
167
- };
168
- const onVolumeChange = (e) => {
169
- const video = e.target;
170
- MediaVolumeManager.volumeLevel = video.volume;
171
- MediaVolumeManager.isMuted = video.muted;
172
- };
173
- const onTimeUpdate = (e) => {
174
- const video = e.target;
175
- percentageCompleted = video.currentTime / video.duration || 0;
176
- notifyProgress();
177
- };
178
- const onLoaded = async () => {
179
- setVolume(MediaVolumeManager.volumeLevel);
180
- setMuted(MediaVolumeManager.isMuted);
181
- };
182
- const onEnded = () => {
183
- percentageCompleted = 1;
184
- notifyProgress();
185
- on?.ended?.({ id, src });
186
- if (!loop) {
187
- everActivated = false;
188
- }
189
- };
190
- const onPlay = () => {
191
- isVideoPaused = false;
192
- PlaybackManager.setPlayingComponent(id);
193
- };
194
- const onPause = () => {
195
- isVideoPaused = true;
196
- };
197
- const setVolume = (level) => {
198
- MediaVolumeManager.volumeLevel = level;
199
- if (video) {
200
- video.volume = level;
201
- }
202
- };
203
- const setMuted = (state) => {
204
- MediaVolumeManager.isMuted = state;
205
- };
206
- $effect(() => {
207
- if (video) {
208
- video.muted = MediaVolumeManager.isMuted;
209
- }
210
- });
211
- const setShowControlsOnHover = (state) => {
212
- showControlsOnHover = state;
213
- };
214
- const notifyProgress = () => {
215
- on?.progress?.(percentageCompleted);
216
- };
217
- const handleSeek = (percent) => {
218
- if (video) {
219
- video.currentTime = video.duration * percent;
220
- percentageCompleted = percent;
221
- notifyProgress();
222
- }
223
- };
224
- </script>
225
-
226
- <div class="video" role="none" inert={inert} bind:this={videoContainerRef}>
227
- <video
228
- class="video__video"
229
- class:video__video--not-activated={!everActivated}
230
- width="100%"
231
- controls={controls && everActivated}
232
- poster={poster}
233
- loop={loop}
234
- preload="metadata"
235
- onvolumechange={onVolumeChange}
236
- ontimeupdate={onTimeUpdate}
237
- onloadeddata={onLoaded}
238
- onended={onEnded}
239
- onplay={onPlay}
240
- onpause={onPause}
241
- playsinline
242
- bind:this={video}>
243
- <track src="" kind="captions" />
244
- </video>
245
- {#if !everActivated}
246
- <img class="video__poster" src={poster} alt="" />
247
- {/if}
248
- {#if !controls || !everActivated}
249
- <div class="video__overlay" onclick={togglePlay} onkeydown={() => ({})} role="none">
250
- {#if isVideoPaused}
251
- <button type="button" aria-label="play" class="video__playback-button" onclick={togglePlay} onkeydown={() => ({})}>
252
- <Icon src={IconPlay} color={IconColor.White} />
253
- </button>
254
- {:else if showControlsOnHover}
255
- <button type="button" aria-label="pause" class="video__playback-button video__playback-button--pause" onclick={togglePlay} onkeydown={() => ({})}>
256
- <Icon src={IconPause} color={IconColor.White} />
257
- </button>
258
- {/if}
259
- {#if (showControlsOnHover || MediaVolumeManager.isMuted) && !hideSpeaker}
260
- <button type="button" aria-label={MediaVolumeManager.isMuted ? 'mute' : 'unmute'} class="video__mute-button" onclick={toggleMute}>
261
- {#if MediaVolumeManager.isMuted}
262
- <Icon src={IconSpeakerMute} color={IconColor.White} />
263
- {:else}
264
- <Icon src={IconSpeaker} color={IconColor.White} />
265
- {/if}
266
- </button>
267
- {/if}
268
-
269
- {#if everActivated}
270
- <div
271
- class="video__progress-container"
272
- class:video__progress-container--top={scrubberPosition === ScrubberPosition.Top}
273
- class:video__progress-container--bottom={scrubberPosition === ScrubberPosition.Bottom}
274
- onmouseenter={() => setShowControlsOnHover(true)}
275
- onmouseleave={() => setShowControlsOnHover(false)}
276
- role="none">
277
- {#if showControlsOnHover || (!showControlsOnHover && isVideoPaused)}
278
- <div
279
- class="video__seek-bar"
280
- transition:fade={{ duration: isVideoPaused ? 0 : 300 }}
281
- onclick={(e) => e.stopPropagation()}
282
- onkeydown={() => ({})}
283
- role="none">
284
- <SeekBar value={percentageCompleted} on={{ seek: handleSeek }} />
285
- </div>
286
- {/if}
287
- </div>
288
- {/if}
289
- </div>
290
- {/if}
291
- </div>
292
-
293
- <style>@keyframes fadeIn {
294
- 0% {
295
- opacity: 1;
296
- }
297
- 50% {
298
- opacity: 0.4;
299
- }
300
- 100% {
301
- opacity: 1;
302
- }
303
- }
304
- .video {
305
- --_video--background-color: var(--video--background-color, #000000);
306
- --_video--border-radius: var(--video--border-radius, 0);
307
- --_video--media-fit: var(--video--media-fit, contain);
308
- --_video--poster--media-fit: var(--video--poster--media-fit, contain);
309
- height: 100%;
310
- min-height: 100%;
311
- max-height: 100%;
312
- width: 100%;
313
- min-width: 100%;
314
- max-width: 100%;
315
- cursor: pointer;
316
- position: relative;
317
- overflow: hidden;
318
- border-radius: var(--_video--border-radius);
319
- background: var(--_video--background-color);
320
- }
321
- .video__playback-button {
322
- position: absolute;
323
- top: 50%;
324
- left: 50%;
325
- transform: translate(-50%, -50%);
326
- font-size: 2em;
327
- }
328
- .video__playback-button--pause {
329
- /* Set 'container-type: inline-size;' to reference container*/
330
- }
331
- @container (width < 576px) {
332
- .video__playback-button--pause {
333
- display: none;
334
- }
335
- }
336
- .video__mute-button {
337
- position: absolute;
338
- top: 0.625em;
339
- right: 0.625em;
340
- font-size: 1em;
341
- z-index: 1;
342
- }
343
- .video__poster {
344
- object-fit: var(--_video--poster--media-fit);
345
- min-width: 100%;
346
- min-height: 100%;
347
- max-width: 100%;
348
- max-height: 100%;
349
- }
350
- .video__video {
351
- object-fit: var(--_video--media-fit);
352
- min-width: 100%;
353
- min-height: 100%;
354
- max-width: 100%;
355
- max-height: 100%;
356
- }
357
- .video__video--not-activated {
358
- visibility: hidden;
359
- height: 0;
360
- min-height: 0;
361
- }
362
- .video__overlay {
363
- position: absolute;
364
- left: 0;
365
- top: 0;
366
- width: 100%;
367
- height: 100%;
368
- background-color: transparent;
369
- }
370
- .video__progress-container {
371
- position: absolute;
372
- left: 0;
373
- right: 0;
374
- z-index: 1;
375
- height: 2.5rem;
376
- padding: 0.625rem 0.25rem;
377
- }
378
- .video__progress-container--top {
379
- top: -0.625rem;
380
- bottom: auto;
381
- padding-bottom: 0.9375rem;
382
- }
383
- .video__progress-container--bottom {
384
- top: auto;
385
- bottom: -0.625rem;
386
- padding-top: 0.9375rem;
387
- }</style>