@streamscloud/embeddable 1.1.2

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 (337) hide show
  1. package/README.md +1 -0
  2. package/dist/advertising/ad-view/cmp.ad-view.svelte +82 -0
  3. package/dist/advertising/ad-view/cmp.ad-view.svelte.d.ts +8 -0
  4. package/dist/advertising/ad-view/index.d.ts +2 -0
  5. package/dist/advertising/ad-view/index.js +1 -0
  6. package/dist/advertising/ad-view/mapper.d.ts +3 -0
  7. package/dist/advertising/ad-view/mapper.js +16 -0
  8. package/dist/advertising/ad-view/operations.generated.d.ts +17 -0
  9. package/dist/advertising/ad-view/operations.generated.js +46 -0
  10. package/dist/advertising/ad-view/operations.graphql +14 -0
  11. package/dist/advertising/ad-view/types.d.ts +10 -0
  12. package/dist/advertising/ad-view/types.js +1 -0
  13. package/dist/advertising/index.d.ts +1 -0
  14. package/dist/advertising/index.js +1 -0
  15. package/dist/advertising/types.d.ts +5 -0
  16. package/dist/advertising/types.js +6 -0
  17. package/dist/core/continuation-token.d.ts +10 -0
  18. package/dist/core/continuation-token.js +32 -0
  19. package/dist/core/cursor-result.d.ts +9 -0
  20. package/dist/core/cursor-result.js +1 -0
  21. package/dist/core/data-loaders/cursor-data-loader.svelte.d.ts +14 -0
  22. package/dist/core/data-loaders/cursor-data-loader.svelte.js +35 -0
  23. package/dist/core/data-loaders/data-loader.d.ts +4 -0
  24. package/dist/core/data-loaders/data-loader.js +1 -0
  25. package/dist/core/data-loaders/index.d.ts +2 -0
  26. package/dist/core/data-loaders/index.js +1 -0
  27. package/dist/core/deferred.d.ts +6 -0
  28. package/dist/core/deferred.js +13 -0
  29. package/dist/core/graphql.d.ts +1 -0
  30. package/dist/core/graphql.js +10 -0
  31. package/dist/core/media/image-helper.d.ts +10 -0
  32. package/dist/core/media/image-helper.js +30 -0
  33. package/dist/core/media/images-size-detector.service.d.ts +6 -0
  34. package/dist/core/media/images-size-detector.service.js +15 -0
  35. package/dist/core/media/index.d.ts +4 -0
  36. package/dist/core/media/index.js +4 -0
  37. package/dist/core/media/media-item-url.service.d.ts +2 -0
  38. package/dist/core/media/media-item-url.service.js +2 -0
  39. package/dist/core/media/types.d.ts +28 -0
  40. package/dist/core/media/types.js +19 -0
  41. package/dist/core/toastr.d.ts +1 -0
  42. package/dist/core/toastr.js +26 -0
  43. package/dist/core/transitions/index.d.ts +1 -0
  44. package/dist/core/transitions/index.js +1 -0
  45. package/dist/core/transitions/slide-horizontally.d.ts +7 -0
  46. package/dist/core/transitions/slide-horizontally.js +55 -0
  47. package/dist/core/utils/array-helper.d.ts +23 -0
  48. package/dist/core/utils/array-helper.js +148 -0
  49. package/dist/core/utils/date-helper.d.ts +29 -0
  50. package/dist/core/utils/date-helper.js +146 -0
  51. package/dist/core/utils/dom-helper.d.ts +12 -0
  52. package/dist/core/utils/dom-helper.js +76 -0
  53. package/dist/core/utils/html-helper.d.ts +40 -0
  54. package/dist/core/utils/html-helper.js +97 -0
  55. package/dist/core/utils/index.d.ts +3 -0
  56. package/dist/core/utils/index.js +3 -0
  57. package/dist/core/utils/number-helper.d.ts +6 -0
  58. package/dist/core/utils/number-helper.js +28 -0
  59. package/dist/core/utils/string-generator.d.ts +2 -0
  60. package/dist/core/utils/string-generator.js +15 -0
  61. package/dist/core/utils/string-helper.d.ts +10 -0
  62. package/dist/core/utils/string-helper.js +53 -0
  63. package/dist/core/utils/url-helper.d.ts +3 -0
  64. package/dist/core/utils/url-helper.js +13 -0
  65. package/dist/core/utils/utils.d.ts +28 -0
  66. package/dist/core/utils/utils.js +100 -0
  67. package/dist/index.d.ts +4 -0
  68. package/dist/index.js +4 -0
  69. package/dist/products/index.d.ts +1 -0
  70. package/dist/products/index.js +1 -0
  71. package/dist/products/price-helper.d.ts +4 -0
  72. package/dist/products/price-helper.js +36 -0
  73. package/dist/products/product-card/cmp.product-card.svelte +121 -0
  74. package/dist/products/product-card/cmp.product-card.svelte.d.ts +10 -0
  75. package/dist/products/product-card/index.d.ts +3 -0
  76. package/dist/products/product-card/index.js +3 -0
  77. package/dist/products/product-card/mapper.d.ts +3 -0
  78. package/dist/products/product-card/mapper.js +14 -0
  79. package/dist/products/product-card/operations.generated.d.ts +22 -0
  80. package/dist/products/product-card/operations.generated.js +65 -0
  81. package/dist/products/product-card/operations.graphql +19 -0
  82. package/dist/products/product-card/product-card-localization.svelte.d.ts +7 -0
  83. package/dist/products/product-card/product-card-localization.svelte.js +11 -0
  84. package/dist/products/product-card/types.d.ts +10 -0
  85. package/dist/products/product-card/types.js +1 -0
  86. package/dist/products/types.d.ts +5 -0
  87. package/dist/products/types.js +6 -0
  88. package/dist/short-videos/short-video-viewer/cmp.attachments.svelte +71 -0
  89. package/dist/short-videos/short-video-viewer/cmp.attachments.svelte.d.ts +7 -0
  90. package/dist/short-videos/short-video-viewer/cmp.short-video-details.svelte +145 -0
  91. package/dist/short-videos/short-video-viewer/cmp.short-video-details.svelte.d.ts +10 -0
  92. package/dist/short-videos/short-video-viewer/cmp.short-video-heading.svelte +86 -0
  93. package/dist/short-videos/short-video-viewer/cmp.short-video-heading.svelte.d.ts +9 -0
  94. package/dist/short-videos/short-video-viewer/cmp.short-video-viewer.svelte +133 -0
  95. package/dist/short-videos/short-video-viewer/cmp.short-video-viewer.svelte.d.ts +12 -0
  96. package/dist/short-videos/short-video-viewer/description.svelte +46 -0
  97. package/dist/short-videos/short-video-viewer/description.svelte.d.ts +9 -0
  98. package/dist/short-videos/short-video-viewer/index.d.ts +6 -0
  99. package/dist/short-videos/short-video-viewer/index.js +4 -0
  100. package/dist/short-videos/short-video-viewer/mapper.d.ts +3 -0
  101. package/dist/short-videos/short-video-viewer/mapper.js +28 -0
  102. package/dist/short-videos/short-video-viewer/operations.generated.d.ts +56 -0
  103. package/dist/short-videos/short-video-viewer/operations.generated.js +187 -0
  104. package/dist/short-videos/short-video-viewer/operations.graphql +26 -0
  105. package/dist/short-videos/short-video-viewer/short-video-details-localization.svelte.d.ts +14 -0
  106. package/dist/short-videos/short-video-viewer/short-video-details-localization.svelte.js +21 -0
  107. package/dist/short-videos/short-video-viewer/short-video-viewer-localization.svelte.d.ts +10 -0
  108. package/dist/short-videos/short-video-viewer/short-video-viewer-localization.svelte.js +13 -0
  109. package/dist/short-videos/short-video-viewer/types.d.ts +17 -0
  110. package/dist/short-videos/short-video-viewer/types.js +1 -0
  111. package/dist/short-videos/short-video-viewer/ui-manager.svelte.d.ts +12 -0
  112. package/dist/short-videos/short-video-viewer/ui-manager.svelte.js +26 -0
  113. package/dist/short-videos/short-videos-player/action-button.svelte +38 -0
  114. package/dist/short-videos/short-videos-player/action-button.svelte.d.ts +10 -0
  115. package/dist/short-videos/short-videos-player/cmp.short-videos-player.svelte +91 -0
  116. package/dist/short-videos/short-videos-player/cmp.short-videos-player.svelte.d.ts +13 -0
  117. package/dist/short-videos/short-videos-player/controls.svelte +215 -0
  118. package/dist/short-videos/short-videos-player/controls.svelte.d.ts +15 -0
  119. package/dist/short-videos/short-videos-player/index.d.ts +2 -0
  120. package/dist/short-videos/short-videos-player/index.js +1 -0
  121. package/dist/short-videos/short-videos-player/short-videos-player-localization.svelte.d.ts +14 -0
  122. package/dist/short-videos/short-videos-player/short-videos-player-localization.svelte.js +21 -0
  123. package/dist/short-videos/short-videos-player/ui-manager.svelte.d.ts +16 -0
  124. package/dist/short-videos/short-videos-player/ui-manager.svelte.js +25 -0
  125. package/dist/short-videos/short-videos-player-modal/cmp.short-videos-player-modal.svelte +485 -0
  126. package/dist/short-videos/short-videos-player-modal/cmp.short-videos-player-modal.svelte.d.ts +3 -0
  127. package/dist/short-videos/short-videos-player-modal/index.d.ts +79 -0
  128. package/dist/short-videos/short-videos-player-modal/index.js +78 -0
  129. package/dist/short-videos/short-videos-player-modal/short-videos-player-modal-state.svelte.d.ts +16 -0
  130. package/dist/short-videos/short-videos-player-modal/short-videos-player-modal-state.svelte.js +13 -0
  131. package/dist/streams/components/cmp.stream-page-component.svelte +16 -0
  132. package/dist/streams/components/cmp.stream-page-component.svelte.d.ts +10 -0
  133. package/dist/streams/components/components.factory.d.ts +22 -0
  134. package/dist/streams/components/components.factory.js +34 -0
  135. package/dist/streams/components/images/cmp.images-component.svelte +7 -0
  136. package/dist/streams/components/images/cmp.images-component.svelte.d.ts +7 -0
  137. package/dist/streams/components/images/index.d.ts +2 -0
  138. package/dist/streams/components/images/index.js +1 -0
  139. package/dist/streams/components/images/types.d.ts +8 -0
  140. package/dist/streams/components/images/types.js +5 -0
  141. package/dist/streams/components/index.d.ts +7 -0
  142. package/dist/streams/components/index.js +6 -0
  143. package/dist/streams/components/mapper.d.ts +3 -0
  144. package/dist/streams/components/mapper.js +43 -0
  145. package/dist/streams/components/operations.generated.d.ts +178 -0
  146. package/dist/streams/components/operations.generated.js +653 -0
  147. package/dist/streams/components/operations.graphql +35 -0
  148. package/dist/streams/components/product/cmp.product-component.svelte +148 -0
  149. package/dist/streams/components/product/cmp.product-component.svelte.d.ts +8 -0
  150. package/dist/streams/components/product/index.d.ts +3 -0
  151. package/dist/streams/components/product/index.js +2 -0
  152. package/dist/streams/components/product/mapper.d.ts +3 -0
  153. package/dist/streams/components/product/mapper.js +14 -0
  154. package/dist/streams/components/product/operations.generated.d.ts +22 -0
  155. package/dist/streams/components/product/operations.generated.js +53 -0
  156. package/dist/streams/components/product/operations.graphql +19 -0
  157. package/dist/streams/components/product/types.d.ts +10 -0
  158. package/dist/streams/components/product/types.js +1 -0
  159. package/dist/streams/components/short-video/cmp.short-video-component.svelte +9 -0
  160. package/dist/streams/components/short-video/cmp.short-video-component.svelte.d.ts +10 -0
  161. package/dist/streams/components/short-video/index.d.ts +3 -0
  162. package/dist/streams/components/short-video/index.js +2 -0
  163. package/dist/streams/components/short-video/mapper.d.ts +3 -0
  164. package/dist/streams/components/short-video/mapper.js +4 -0
  165. package/dist/streams/components/short-video/operations.generated.d.ts +56 -0
  166. package/dist/streams/components/short-video/operations.generated.js +193 -0
  167. package/dist/streams/components/short-video/operations.graphql +3 -0
  168. package/dist/streams/components/short-video/types.d.ts +2 -0
  169. package/dist/streams/components/short-video/types.js +1 -0
  170. package/dist/streams/components/stream-components-localization.svelte.d.ts +10 -0
  171. package/dist/streams/components/stream-components-localization.svelte.js +13 -0
  172. package/dist/streams/components/types.d.ts +27 -0
  173. package/dist/streams/components/types.js +6 -0
  174. package/dist/streams/slots/cmp.stream-component-slot.svelte +35 -0
  175. package/dist/streams/slots/cmp.stream-component-slot.svelte.d.ts +9 -0
  176. package/dist/streams/slots/index.d.ts +3 -0
  177. package/dist/streams/slots/index.js +2 -0
  178. package/dist/streams/slots/mapper.d.ts +3 -0
  179. package/dist/streams/slots/mapper.js +18 -0
  180. package/dist/streams/slots/operations.generated.d.ts +17 -0
  181. package/dist/streams/slots/operations.generated.js +34 -0
  182. package/dist/streams/slots/operations.graphql +14 -0
  183. package/dist/streams/slots/styles-transformer.d.ts +6 -0
  184. package/dist/streams/slots/styles-transformer.js +12 -0
  185. package/dist/streams/slots/types.d.ts +16 -0
  186. package/dist/streams/slots/types.js +1 -0
  187. package/dist/streams/stream-page-viewer/cmp.stream-page-viewer.svelte +47 -0
  188. package/dist/streams/stream-page-viewer/cmp.stream-page-viewer.svelte.d.ts +9 -0
  189. package/dist/streams/stream-page-viewer/index.d.ts +2 -0
  190. package/dist/streams/stream-page-viewer/index.js +1 -0
  191. package/dist/streams/stream-page-viewer/mapper.d.ts +3 -0
  192. package/dist/streams/stream-page-viewer/mapper.js +23 -0
  193. package/dist/streams/stream-page-viewer/operations.generated.d.ts +113 -0
  194. package/dist/streams/stream-page-viewer/operations.generated.js +400 -0
  195. package/dist/streams/stream-page-viewer/operations.graphql +13 -0
  196. package/dist/streams/stream-page-viewer/stream-page-viewer-localization.svelte.d.ts +10 -0
  197. package/dist/streams/stream-page-viewer/stream-page-viewer-localization.svelte.js +13 -0
  198. package/dist/streams/stream-page-viewer/types.d.ts +18 -0
  199. package/dist/streams/stream-page-viewer/types.js +1 -0
  200. package/dist/streams/stream-player/action-button.svelte +38 -0
  201. package/dist/streams/stream-player/action-button.svelte.d.ts +10 -0
  202. package/dist/streams/stream-player/cmp.stream-player.svelte +141 -0
  203. package/dist/streams/stream-player/cmp.stream-player.svelte.d.ts +16 -0
  204. package/dist/streams/stream-player/controls.svelte +222 -0
  205. package/dist/streams/stream-player/controls.svelte.d.ts +14 -0
  206. package/dist/streams/stream-player/index.d.ts +2 -0
  207. package/dist/streams/stream-player/index.js +1 -0
  208. package/dist/streams/stream-player/mapper.d.ts +3 -0
  209. package/dist/streams/stream-player/mapper.js +15 -0
  210. package/dist/streams/stream-player/operations.generated.d.ts +161 -0
  211. package/dist/streams/stream-player/operations.generated.js +559 -0
  212. package/dist/streams/stream-player/operations.graphql +32 -0
  213. package/dist/streams/stream-player/stream-overview.svelte +239 -0
  214. package/dist/streams/stream-player/stream-overview.svelte.d.ts +17 -0
  215. package/dist/streams/stream-player/stream-player-buffer.svelte.d.ts +25 -0
  216. package/dist/streams/stream-player/stream-player-buffer.svelte.js +84 -0
  217. package/dist/streams/stream-player/stream-player-localization.svelte.d.ts +18 -0
  218. package/dist/streams/stream-player/stream-player-localization.svelte.js +29 -0
  219. package/dist/streams/stream-player/types.d.ts +12 -0
  220. package/dist/streams/stream-player/types.js +1 -0
  221. package/dist/streams/stream-player/ui-manager.svelte.d.ts +17 -0
  222. package/dist/streams/stream-player/ui-manager.svelte.js +26 -0
  223. package/dist/streams/stream-player-modal/cmp.stream-player-modal.svelte +486 -0
  224. package/dist/streams/stream-player-modal/cmp.stream-player-modal.svelte.d.ts +3 -0
  225. package/dist/streams/stream-player-modal/index.d.ts +79 -0
  226. package/dist/streams/stream-player-modal/index.js +78 -0
  227. package/dist/streams/stream-player-modal/stream-player-modal-state.svelte.d.ts +17 -0
  228. package/dist/streams/stream-player-modal/stream-player-modal-state.svelte.js +14 -0
  229. package/dist/ui/button/cmp.button.svelte +10 -0
  230. package/dist/ui/button/cmp.button.svelte.d.ts +16 -0
  231. package/dist/ui/button/index.d.ts +2 -0
  232. package/dist/ui/button/index.js +2 -0
  233. package/dist/ui/button/resources/button-base.svelte +84 -0
  234. package/dist/ui/button/resources/button-base.svelte.d.ts +13 -0
  235. package/dist/ui/button/resources/button-theme.svelte +204 -0
  236. package/dist/ui/button/resources/button-theme.svelte.d.ts +10 -0
  237. package/dist/ui/button/resources/button-types.d.ts +21 -0
  238. package/dist/ui/button/resources/button-types.js +23 -0
  239. package/dist/ui/dynamic-component/cmp.dynamic-component.svelte +5 -0
  240. package/dist/ui/dynamic-component/cmp.dynamic-component.svelte.d.ts +7 -0
  241. package/dist/ui/dynamic-component/index.d.ts +2 -0
  242. package/dist/ui/dynamic-component/index.js +2 -0
  243. package/dist/ui/dynamic-component/types.svelte.d.ts +11 -0
  244. package/dist/ui/dynamic-component/types.svelte.js +13 -0
  245. package/dist/ui/icon/cmp.icon.svelte +113 -0
  246. package/dist/ui/icon/cmp.icon.svelte.d.ts +8 -0
  247. package/dist/ui/icon/index.d.ts +2 -0
  248. package/dist/ui/icon/index.js +2 -0
  249. package/dist/ui/icon/types.d.ts +9 -0
  250. package/dist/ui/icon/types.js +10 -0
  251. package/dist/ui/image/cmp.image-round.svelte +41 -0
  252. package/dist/ui/image/cmp.image-round.svelte.d.ts +11 -0
  253. package/dist/ui/image/cmp.image-rounded.svelte +71 -0
  254. package/dist/ui/image/cmp.image-rounded.svelte.d.ts +11 -0
  255. package/dist/ui/image/cmp.image-stub.svelte +34 -0
  256. package/dist/ui/image/cmp.image-stub.svelte.d.ts +18 -0
  257. package/dist/ui/image/cmp.image.svelte +82 -0
  258. package/dist/ui/image/cmp.image.svelte.d.ts +13 -0
  259. package/dist/ui/image/image-state.d.ts +6 -0
  260. package/dist/ui/image/image-state.js +17 -0
  261. package/dist/ui/image/index.d.ts +4 -0
  262. package/dist/ui/image/index.js +4 -0
  263. package/dist/ui/infinite-scrolling/cmp.infinite-scrolling.svelte +84 -0
  264. package/dist/ui/infinite-scrolling/cmp.infinite-scrolling.svelte.d.ts +11 -0
  265. package/dist/ui/infinite-scrolling/index.d.ts +1 -0
  266. package/dist/ui/infinite-scrolling/index.js +1 -0
  267. package/dist/ui/line-clamp/cmp.line-clamp.svelte +89 -0
  268. package/dist/ui/line-clamp/cmp.line-clamp.svelte.d.ts +12 -0
  269. package/dist/ui/line-clamp/index.d.ts +2 -0
  270. package/dist/ui/line-clamp/index.js +2 -0
  271. package/dist/ui/line-clamp/line-clamp-localization.svelte.d.ts +9 -0
  272. package/dist/ui/line-clamp/line-clamp-localization.svelte.js +15 -0
  273. package/dist/ui/line-clamp/line-clamp-types.d.ts +3 -0
  274. package/dist/ui/line-clamp/line-clamp-types.js +1 -0
  275. package/dist/ui/line-clamp/line-clamp-utils.d.ts +8 -0
  276. package/dist/ui/line-clamp/line-clamp-utils.js +33 -0
  277. package/dist/ui/loading/cmp.loading.svelte +97 -0
  278. package/dist/ui/loading/cmp.loading.svelte.d.ts +9 -0
  279. package/dist/ui/loading/index.d.ts +1 -0
  280. package/dist/ui/loading/index.js +1 -0
  281. package/dist/ui/media-item-view/cmp.media-item-view.svelte +90 -0
  282. package/dist/ui/media-item-view/cmp.media-item-view.svelte.d.ts +12 -0
  283. package/dist/ui/media-item-view/index.d.ts +1 -0
  284. package/dist/ui/media-item-view/index.js +1 -0
  285. package/dist/ui/media-items-gallery/cmp.media-items-gallery.svelte +277 -0
  286. package/dist/ui/media-items-gallery/cmp.media-items-gallery.svelte.d.ts +12 -0
  287. package/dist/ui/media-items-gallery/index.d.ts +1 -0
  288. package/dist/ui/media-items-gallery/index.js +1 -0
  289. package/dist/ui/media-items-gallery/types.d.ts +12 -0
  290. package/dist/ui/media-items-gallery/types.js +35 -0
  291. package/dist/ui/media-playback/index.d.ts +2 -0
  292. package/dist/ui/media-playback/index.js +2 -0
  293. package/dist/ui/media-playback/playback-manager.svelte.d.ts +25 -0
  294. package/dist/ui/media-playback/playback-manager.svelte.js +62 -0
  295. package/dist/ui/media-playback/volume-manager.svelte.d.ts +10 -0
  296. package/dist/ui/media-playback/volume-manager.svelte.js +27 -0
  297. package/dist/ui/player/cmp.player-slider.svelte +161 -0
  298. package/dist/ui/player/cmp.player-slider.svelte.d.ts +33 -0
  299. package/dist/ui/player/index.d.ts +4 -0
  300. package/dist/ui/player/index.js +3 -0
  301. package/dist/ui/player/player-buffer.svelte.d.ts +28 -0
  302. package/dist/ui/player/player-buffer.svelte.js +64 -0
  303. package/dist/ui/player/prevent-slider-scroll.d.ts +5 -0
  304. package/dist/ui/player/prevent-slider-scroll.js +11 -0
  305. package/dist/ui/player/types.d.ts +14 -0
  306. package/dist/ui/player/types.js +1 -0
  307. package/dist/ui/progress/cmp.progress.svelte +37 -0
  308. package/dist/ui/progress/cmp.progress.svelte.d.ts +6 -0
  309. package/dist/ui/progress/index.d.ts +1 -0
  310. package/dist/ui/progress/index.js +1 -0
  311. package/dist/ui/proportional-container/cmp.proportional-container.svelte +39 -0
  312. package/dist/ui/proportional-container/cmp.proportional-container.svelte.d.ts +8 -0
  313. package/dist/ui/proportional-container/index.d.ts +1 -0
  314. package/dist/ui/proportional-container/index.js +1 -0
  315. package/dist/ui/seek-bar/cmp.seek-bar.svelte +63 -0
  316. package/dist/ui/seek-bar/cmp.seek-bar.svelte.d.ts +12 -0
  317. package/dist/ui/seek-bar/index.d.ts +1 -0
  318. package/dist/ui/seek-bar/index.js +1 -0
  319. package/dist/ui/shadow-dom/cmp.shadow-dom.svelte +26 -0
  320. package/dist/ui/shadow-dom/cmp.shadow-dom.svelte.d.ts +7 -0
  321. package/dist/ui/shadow-dom/index.d.ts +1 -0
  322. package/dist/ui/shadow-dom/index.js +1 -0
  323. package/dist/ui/spotlight-layout/cmp.spotlight-layout.svelte +120 -0
  324. package/dist/ui/spotlight-layout/cmp.spotlight-layout.svelte.d.ts +18 -0
  325. package/dist/ui/spotlight-layout/index.d.ts +1 -0
  326. package/dist/ui/spotlight-layout/index.js +1 -0
  327. package/dist/ui/time-ago/cmp.time-ago.svelte +69 -0
  328. package/dist/ui/time-ago/cmp.time-ago.svelte.d.ts +9 -0
  329. package/dist/ui/time-ago/index.d.ts +2 -0
  330. package/dist/ui/time-ago/index.js +1 -0
  331. package/dist/ui/time-ago/time-ago-localization.svelte.d.ts +21 -0
  332. package/dist/ui/time-ago/time-ago-localization.svelte.js +39 -0
  333. package/dist/ui/video/cmp.video.svelte +377 -0
  334. package/dist/ui/video/cmp.video.svelte.d.ts +24 -0
  335. package/dist/ui/video/index.d.ts +1 -0
  336. package/dist/ui/video/index.js +1 -0
  337. package/package.json +89 -0
@@ -0,0 +1,145 @@
1
+ <script lang="ts">import { AdView } from '../../advertising/ad-view';
2
+ import { slideHorizontally } from '../../core/transitions';
3
+ import { ProductCard } from '../../products/product-card';
4
+ import { default as ShortVideoHeading } from './cmp.short-video-heading.svelte';
5
+ import { ShortVideoDetailsLocalization } from './short-video-details-localization.svelte';
6
+ import {} from './types';
7
+ let { shortVideo, collapsed, localization: localizationInit } = $props();
8
+ const localization = $derived(new ShortVideoDetailsLocalization(localizationInit));
9
+ </script>
10
+
11
+ {#if !collapsed}
12
+ <div class="short-video-details" transition:slideHorizontally|local data-theme="dark">
13
+ <div class="short-video-details__sliding-container">
14
+ <div class="short-video-details__content">
15
+ <div class="short-video-details__heading">
16
+ <ShortVideoHeading
17
+ model={shortVideo.heading}
18
+ localization={{ viewsCount: localization.viewsCount, timeAgoLocalization: localization.timeAgoLocalization }} />
19
+ </div>
20
+
21
+ {#if shortVideo.text}
22
+ <p class="short-video-details__text">
23
+ {shortVideo.text}
24
+ </p>
25
+ {/if}
26
+ </div>
27
+
28
+ <div class="short-video-details__section-splitter"></div>
29
+
30
+ {#if shortVideo.products.length || shortVideo.ad}
31
+ <div class="short-video-details__attachments">
32
+ {#if shortVideo.products.length}
33
+ <div class="short-video-details__section-header">{localization.productsSection}</div>
34
+ <div class="short-video-details__products">
35
+ {#each shortVideo.products as product (product.id)}
36
+ <ProductCard model={product} />
37
+ {/each}
38
+ </div>
39
+ {/if}
40
+
41
+ {#if shortVideo.ad}
42
+ <div class="short-video-details__section-header">{localization.offersSection}</div>
43
+ <div class="short-video-details__offer">
44
+ <AdView ad={shortVideo.ad} />
45
+ </div>
46
+ {/if}
47
+ </div>
48
+ {/if}
49
+ </div>
50
+ </div>
51
+ {/if}
52
+
53
+ <style>@keyframes fadeIn {
54
+ 0% {
55
+ opacity: 1;
56
+ }
57
+ 50% {
58
+ opacity: 0.4;
59
+ }
60
+ 100% {
61
+ opacity: 1;
62
+ }
63
+ }
64
+ .short-video-details {
65
+ --_short-video-details--padding-horizontal: 1rem;
66
+ background: #1c1c1c;
67
+ height: 100%;
68
+ min-height: 100%;
69
+ max-height: 100%;
70
+ width: 25rem;
71
+ min-width: 25rem;
72
+ max-width: 25rem;
73
+ display: flex;
74
+ flex-direction: column;
75
+ min-height: 0;
76
+ padding-bottom: 0.9375rem;
77
+ overflow: hidden;
78
+ --custom-scrollbar-background: transparent;
79
+ position: absolute;
80
+ top: 0;
81
+ right: 0;
82
+ height: 100%;
83
+ z-index: 1;
84
+ /* Set 'container-type: inline-size;' to reference container*/
85
+ }
86
+ .short-video-details__sliding-container {
87
+ flex: 1;
88
+ display: flex;
89
+ flex-direction: column;
90
+ overflow: hidden;
91
+ min-height: 0;
92
+ }
93
+ @container (width < 576px) {
94
+ .short-video-details {
95
+ width: 100%;
96
+ min-width: 100%;
97
+ max-width: 100%;
98
+ }
99
+ }
100
+ .short-video-details__content {
101
+ padding: 1.5rem var(--_short-video-details--padding-horizontal) 0.875rem;
102
+ margin-bottom: 0.875rem;
103
+ }
104
+ .short-video-details__heading {
105
+ --short-video-heading--padding: 0 1.875rem 1.25rem 0;
106
+ }
107
+ .short-video-details__text {
108
+ color: #d1d5db;
109
+ font-size: 0.9375rem;
110
+ line-height: 1.125rem;
111
+ font-weight: 400;
112
+ white-space: pre-line;
113
+ word-break: break-word;
114
+ margin-bottom: 0.4375rem;
115
+ }
116
+ .short-video-details__section-header {
117
+ color: #d1d5db;
118
+ font-size: 1rem;
119
+ font-weight: 700;
120
+ line-height: 1.2;
121
+ display: flex;
122
+ justify-content: space-between;
123
+ margin-bottom: 0.5rem;
124
+ padding: 0.5625rem var(--_short-video-details--padding-horizontal) 0;
125
+ }
126
+ .short-video-details__section-splitter {
127
+ border-bottom: 1px solid #4b5563;
128
+ }
129
+ .short-video-details__attachments {
130
+ display: flex;
131
+ flex-direction: column;
132
+ gap: 1.25rem;
133
+ margin-bottom: 1.25rem;
134
+ }
135
+ .short-video-details__products {
136
+ padding: 0 var(--_short-video-details--padding-horizontal);
137
+ display: grid;
138
+ grid-template-columns: repeat(2, minmax(0, 1fr));
139
+ grid-column-gap: 1rem;
140
+ grid-row-gap: 1.25rem;
141
+ --product-card--text--color: #d1d5db;
142
+ }
143
+ .short-video-details__offer {
144
+ padding: 0 var(--_short-video-details--padding-horizontal);
145
+ }</style>
@@ -0,0 +1,10 @@
1
+ import { type IShortVideoDetailsLocalization } from './short-video-details-localization.svelte';
2
+ import { type ShortVideoViewerModel } from './types';
3
+ type Props = {
4
+ shortVideo: ShortVideoViewerModel;
5
+ collapsed: boolean;
6
+ localization: IShortVideoDetailsLocalization;
7
+ };
8
+ declare const Cmp: import("svelte").Component<Props, {}, "">;
9
+ type Cmp = ReturnType<typeof Cmp>;
10
+ export default Cmp;
@@ -0,0 +1,86 @@
1
+ <script lang="ts">import { ImageRound } from '../../ui/image';
2
+ import { TimeAgo } from '../../ui/time-ago';
3
+ import { ShortVideoViewerLocalization } from './short-video-viewer-localization.svelte';
4
+ let { model, localization: localizationInit } = $props();
5
+ const localization = $derived(new ShortVideoViewerLocalization(localizationInit));
6
+ </script>
7
+
8
+ <div class="short-video-heading">
9
+ <div class="short-video-heading__source-image">
10
+ <ImageRound src={model.image} alt={`${model.name} profilbilde`} noBorders={true} />
11
+ </div>
12
+
13
+ <div class="short-video-heading__info">
14
+ <div class="short-video-heading__source-name">{model.name}</div>
15
+ <p class="short-video-heading__metadata">
16
+ <TimeAgo date={model.displayDate} localization={localization.timeAgoLocalization} />
17
+ {#if Number.isInteger(model.viewsCount)}
18
+ <span>&middot;</span>
19
+ {localization.viewsCount(model.viewsCount)}
20
+ {/if}
21
+ </p>
22
+ </div>
23
+ </div>
24
+
25
+ <style>@keyframes fadeIn {
26
+ 0% {
27
+ opacity: 1;
28
+ }
29
+ 50% {
30
+ opacity: 0.4;
31
+ }
32
+ 100% {
33
+ opacity: 1;
34
+ }
35
+ }
36
+ .short-video-heading {
37
+ --_short-video-heading--container--font-size: var(--short-video-heading--container--font-size, 1em);
38
+ --_short-video-heading--text--color: var(--short-video-heading--text--color, #374151);
39
+ --_short-video-heading--meta--color: var(--short-video-heading--meta--color, #6b7280);
40
+ --_short-video-heading--padding: var(--short-video-heading--padding, 0);
41
+ display: flex;
42
+ align-items: center;
43
+ padding: var(--_short-video-heading--padding);
44
+ min-width: 0;
45
+ font-size: var(--_short-video-heading--container--font-size);
46
+ }
47
+ .short-video-heading__source-image {
48
+ width: 2em;
49
+ min-width: 2em;
50
+ max-width: 2em;
51
+ height: 2em;
52
+ min-height: 2em;
53
+ max-height: 2em;
54
+ margin-right: 0.625em;
55
+ --image--rounded--outer--border-radius: 0.5em;
56
+ --image--rounded--inner--border-width: 0;
57
+ --rounded-img-background: none;
58
+ }
59
+ .short-video-heading__info {
60
+ display: flex;
61
+ flex-direction: column;
62
+ min-width: 0;
63
+ }
64
+ .short-video-heading__source-name {
65
+ font-size: 0.75em;
66
+ line-height: 1.25em;
67
+ font-weight: 500;
68
+ color: var(--_short-video-heading--text--color);
69
+ text-overflow: ellipsis;
70
+ width: 100%;
71
+ white-space: nowrap;
72
+ overflow: hidden;
73
+ }
74
+ :global([data-theme="dark"]) .short-video-heading__source-name {
75
+ --_short-video-heading--text--color: var(--short-video-heading--text--color, #ffffff);
76
+ }
77
+ .short-video-heading__metadata {
78
+ margin: 0;
79
+ font-size: 0.625em;
80
+ line-height: 1.2em;
81
+ font-weight: 400;
82
+ color: var(--_short-video-heading--meta--color);
83
+ }
84
+ :global([data-theme="dark"]) .short-video-heading__metadata {
85
+ --_short-video-heading--meta--color: var(--short-video-heading--meta--color, #d1d5db);
86
+ }</style>
@@ -0,0 +1,9 @@
1
+ import { type IShortVideoViewerLocalization } from './short-video-viewer-localization.svelte';
2
+ import type { ShortVideoViewerHeadingModel } from './types';
3
+ type Props = {
4
+ model: ShortVideoViewerHeadingModel;
5
+ localization: IShortVideoViewerLocalization;
6
+ };
7
+ declare const Cmp: import("svelte").Component<Props, {}, "">;
8
+ type Cmp = ReturnType<typeof Cmp>;
9
+ export default Cmp;
@@ -0,0 +1,133 @@
1
+ <script lang="ts">import { MediaType } from '../../core/media';
2
+ import { Image } from '../../ui/image';
3
+ import { Video } from '../../ui/video';
4
+ import { default as Attachments } from './cmp.attachments.svelte';
5
+ import { default as ShortVideoDescription } from './description.svelte';
6
+ import { ShortVideoViewerLocalization } from './short-video-viewer-localization.svelte';
7
+ import { ShortVideoViewerUiManager } from './ui-manager.svelte';
8
+ let { model, availableSideSpace = 0, showAttachments = true, autoplay = 'on-appearance', localization: localizationInit } = $props();
9
+ const localization = $derived(new ShortVideoViewerLocalization(localizationInit));
10
+ let actionsPanelRef = $state.raw(null);
11
+ const uiManager = new ShortVideoViewerUiManager();
12
+ $effect(() => {
13
+ if (actionsPanelRef) {
14
+ const resizeObserver = new ResizeObserver(() => {
15
+ if (actionsPanelRef) {
16
+ uiManager.updateActionsPanelWidth(actionsPanelRef.clientWidth);
17
+ }
18
+ });
19
+ resizeObserver.observe(actionsPanelRef);
20
+ return () => {
21
+ resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();
22
+ };
23
+ }
24
+ });
25
+ $effect(() => {
26
+ uiManager.updateAvailableSideSpace(availableSideSpace);
27
+ });
28
+ $effect(() => {
29
+ uiManager.updateCanShowAttachments(showAttachments);
30
+ });
31
+ </script>
32
+
33
+ <div class="short-video-viewer" style={uiManager.globalCssVariables}>
34
+ <div class="short-video-viewer__media">
35
+ {#if model.media.type === MediaType.Video || model.media.type === MediaType.ShortVideo}
36
+ <Video controls={false} autoplay={autoplay} src={model.media.url} loop={true} poster={model.media.thumbnailUrl} id={model.id} />
37
+ {:else if model.media.type === MediaType.Image}
38
+ <Image src={model.media.url} />
39
+ {/if}
40
+ </div>
41
+
42
+ <div
43
+ class="short-video-viewer__actions-panel"
44
+ class:short-video-viewer__actions-panel--inside-frame={uiManager.showActionsInsideFrame}
45
+ bind:this={actionsPanelRef}>
46
+ {#if uiManager.showAttachments}
47
+ <Attachments model={model} />
48
+ {/if}
49
+ </div>
50
+ <div class="short-video-viewer__description">
51
+ <ShortVideoDescription model={model} localization={localization} />
52
+ </div>
53
+ </div>
54
+
55
+ <style>@keyframes fadeIn {
56
+ 0% {
57
+ opacity: 1;
58
+ }
59
+ 50% {
60
+ opacity: 0.4;
61
+ }
62
+ 100% {
63
+ opacity: 1;
64
+ }
65
+ }
66
+ .short-video-viewer {
67
+ --_short-video-viewer--actions-panel--top: var(--short-video-viewer--actions-panel--top, 0.9375rem);
68
+ --_short-video-viewer--actions-panel--bottom: var(--short-video-viewer--actions-panel--bottom, 0.9375rem);
69
+ --_short-video-viewer--button--background-color: #f3f4f6;
70
+ --_short-video-viewer--button--font-color: #2e2e2e;
71
+ --video--media-fit: cover;
72
+ width: 100%;
73
+ min-width: 100%;
74
+ max-width: 100%;
75
+ height: 100%;
76
+ min-height: 100%;
77
+ max-height: 100%;
78
+ position: relative;
79
+ /* Set 'container-type: inline-size;' to reference container*/
80
+ }
81
+ @container (width < 576px) {
82
+ .short-video-viewer {
83
+ --_short-video-viewer--button--background-color: #ffffff;
84
+ }
85
+ }
86
+ .short-video-viewer__media {
87
+ height: 100%;
88
+ min-height: 100%;
89
+ max-height: 100%;
90
+ border-radius: 0.375rem;
91
+ overflow: hidden;
92
+ /* Set 'container-type: inline-size;' to reference container*/
93
+ }
94
+ @container (width < 576px) {
95
+ .short-video-viewer__media {
96
+ border-radius: 0;
97
+ position: relative;
98
+ }
99
+ }
100
+ .short-video-viewer__actions-panel {
101
+ position: absolute;
102
+ left: calc(100% + 0.625rem);
103
+ top: var(--_short-video-viewer--actions-panel--top);
104
+ bottom: var(--_short-video-viewer--actions-panel--bottom);
105
+ gap: 2.5rem;
106
+ display: flex;
107
+ flex-direction: column;
108
+ justify-content: flex-end;
109
+ /* Set 'container-type: inline-size;' to reference container*/
110
+ }
111
+ @container (width < 576px) {
112
+ .short-video-viewer__actions-panel {
113
+ left: auto;
114
+ right: 0.625rem;
115
+ align-items: flex-end;
116
+ }
117
+ }
118
+ .short-video-viewer__actions-panel--inside-frame {
119
+ left: auto;
120
+ right: 0.625rem;
121
+ align-items: flex-end;
122
+ }
123
+ .short-video-viewer__description {
124
+ position: absolute;
125
+ bottom: 0.9375rem;
126
+ left: 0.625rem;
127
+ right: calc(1.25rem + var(--_short-video-viewer--button--size));
128
+ --short-video-viewer--description--font--primary-color: #ffffff;
129
+ --short-video-viewer--description--font--secondary-color: #ffffff;
130
+ }
131
+ :global([data-theme="dark"]) .short-video-viewer__description {
132
+ --short-video-viewer--description--font--primary-color: #ffffff;
133
+ }</style>
@@ -0,0 +1,12 @@
1
+ import { type IShortVideoViewerLocalization } from './short-video-viewer-localization.svelte';
2
+ import type { ShortVideoViewerModel } from './types';
3
+ type Props = {
4
+ model: ShortVideoViewerModel;
5
+ availableSideSpace?: number;
6
+ showAttachments?: boolean;
7
+ autoplay?: true | false | 'on-appearance';
8
+ localization?: IShortVideoViewerLocalization;
9
+ };
10
+ declare const Cmp: import("svelte").Component<Props, {}, "">;
11
+ type Cmp = ReturnType<typeof Cmp>;
12
+ export default Cmp;
@@ -0,0 +1,46 @@
1
+ <script lang="ts">import { LineClamp } from '../../ui/line-clamp';
2
+ import { default as ShortVideoHeading } from './cmp.short-video-heading.svelte';
3
+ let { model, localization } = $props();
4
+ </script>
5
+
6
+ <div class="short-video-description">
7
+ <div class="short-video-description__heading">
8
+ <ShortVideoHeading model={model.heading} localization={localization} />
9
+ </div>
10
+ <div class="short-video-description__text">
11
+ {#if model.text}
12
+ <LineClamp value={model.text} maxLines={2} />
13
+ {/if}
14
+ </div>
15
+ </div>
16
+
17
+ <style>@keyframes fadeIn {
18
+ 0% {
19
+ opacity: 1;
20
+ }
21
+ 50% {
22
+ opacity: 0.4;
23
+ }
24
+ 100% {
25
+ opacity: 1;
26
+ }
27
+ }
28
+ .short-video-description {
29
+ --_short-video-viewer--description--font--primary-color: var(--short-video-viewer--description--font--primary-color);
30
+ --_short-video-viewer--description--font--secondary-color: var(--short-video-viewer--description--font--secondary-color);
31
+ display: flex;
32
+ flex-direction: column;
33
+ padding-top: 0.75rem;
34
+ }
35
+ .short-video-description__heading {
36
+ --short-video-heading--padding: 0 0 0.875rem 0;
37
+ --short-video-heading--text--color: var(--_short-video-viewer--description--font--primary-color);
38
+ --short-video-heading--meta--color: var(--_short-video-viewer--description--font--secondary-color);
39
+ }
40
+ .short-video-description__text {
41
+ color: var(--_short-video-viewer--description--font--primary-color);
42
+ font-size: 0.9375rem;
43
+ line-height: 1.25rem;
44
+ font-weight: 400;
45
+ height: 2.5rem;
46
+ }</style>
@@ -0,0 +1,9 @@
1
+ import type { ShortVideoViewerLocalization } from './short-video-viewer-localization.svelte';
2
+ import type { ShortVideoViewerModel } from './types';
3
+ type Props = {
4
+ model: ShortVideoViewerModel;
5
+ localization: ShortVideoViewerLocalization;
6
+ };
7
+ declare const Description: import("svelte").Component<Props, {}, "">;
8
+ type Description = ReturnType<typeof Description>;
9
+ export default Description;
@@ -0,0 +1,6 @@
1
+ export { default as ShortVideosViewer } from './cmp.short-video-viewer.svelte';
2
+ export { default as ShortVideoViewerAttachments } from './cmp.attachments.svelte';
3
+ export { default as ShortVideoHeading } from './cmp.short-video-heading.svelte';
4
+ export { default as ShortVideoDetails } from './cmp.short-video-details.svelte';
5
+ export type { ShortVideoViewerModel } from './types';
6
+ export type { IShortVideoViewerLocalization } from './short-video-viewer-localization.svelte';
@@ -0,0 +1,4 @@
1
+ export { default as ShortVideosViewer } from './cmp.short-video-viewer.svelte';
2
+ export { default as ShortVideoViewerAttachments } from './cmp.attachments.svelte';
3
+ export { default as ShortVideoHeading } from './cmp.short-video-heading.svelte';
4
+ export { default as ShortVideoDetails } from './cmp.short-video-details.svelte';
@@ -0,0 +1,3 @@
1
+ import type { ShortVideoViewerPayloadFragment } from './operations.generated';
2
+ import type { ShortVideoViewerModel } from './types';
3
+ export declare const mapShortVideoViewerModel: (payload: ShortVideoViewerPayloadFragment) => ShortVideoViewerModel;
@@ -0,0 +1,28 @@
1
+ import { AdType } from '../../advertising';
2
+ import { mapToAdViewModel } from '../../advertising/ad-view/mapper';
3
+ import { mapToProductCard } from '../../products/product-card/mapper';
4
+ export const mapShortVideoViewerModel = (payload) => {
5
+ const allowedAdTypes = [AdType.MediaDialogPromotion];
6
+ const mediaBlob = payload.postData.media[0];
7
+ return {
8
+ id: payload.id,
9
+ media: mediaBlob,
10
+ text: payload.postData.shortVideoData.text,
11
+ heading: {
12
+ image: payload.postHeading.sourceImage,
13
+ name: payload.postHeading.sourceName,
14
+ displayDate: payload.postHeading.postDisplayDate,
15
+ viewsCount: payload.postHeading.postViewsCount
16
+ },
17
+ ad: payload.ad && allowedAdTypes.includes(payload.ad.type) ? mapToAdViewModel(payload.ad) : null,
18
+ products: payload.allProducts.map(mapToProductCard)
19
+ // uncomment if you want to test many products behavior
20
+ /*.flatMap((x) => [
21
+ { ...x, id: x.id + '1' },
22
+ { ...x, id: x.id + '2' },
23
+ { ...x, id: x.id + '3' },
24
+ { ...x, id: x.id + '4' },
25
+ { ...x, id: x.id + '5' }
26
+ ])*/
27
+ };
28
+ };
@@ -0,0 +1,56 @@
1
+ import type * as SchemaTypes from '../../../gql/types';
2
+ import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
3
+ export type ShortVideoViewerPayloadFragment = {
4
+ id: string;
5
+ enableSocialInteractions: boolean;
6
+ postHeading: {
7
+ sourceImage: string | null;
8
+ sourceName: string;
9
+ postDisplayDate: any;
10
+ postViewsCount: number;
11
+ };
12
+ allProducts: Array<{
13
+ title: string;
14
+ id: string;
15
+ link: string | null;
16
+ media: Array<{
17
+ url: string;
18
+ thumbnailUrl: string | null;
19
+ type: SchemaTypes.MediaType;
20
+ }>;
21
+ priceAndAvailability: {
22
+ currency: SchemaTypes.Currency;
23
+ price: number;
24
+ productSalePrices: Array<{
25
+ salePrice: number;
26
+ salePriceEffectiveDateFrom: any | null;
27
+ salePriceEffectiveDateTo: any | null;
28
+ }> | null;
29
+ };
30
+ }>;
31
+ ad: {
32
+ id: string;
33
+ title: string;
34
+ description: string | null;
35
+ buttonText: string | null;
36
+ buttonUrl: string | null;
37
+ openLinkInNewWindow: boolean | null;
38
+ type: SchemaTypes.AdType;
39
+ media: Array<{
40
+ type: SchemaTypes.MediaType;
41
+ url: string;
42
+ thumbnailUrl: string | null;
43
+ }>;
44
+ } | null;
45
+ postData: {
46
+ media: Array<{
47
+ url: string;
48
+ thumbnailUrl: string | null;
49
+ type: SchemaTypes.MediaType;
50
+ }>;
51
+ shortVideoData: {
52
+ text: string | null;
53
+ } | null;
54
+ };
55
+ };
56
+ export declare const ShortVideoViewerPayloadFragmentDoc: DocumentNode<ShortVideoViewerPayloadFragment, unknown>;