@streamscloud/embeddable 2.1.1 → 2.1.3

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 (322) hide show
  1. package/dist/core/continuation-token.d.ts +10 -0
  2. package/dist/core/continuation-token.js +32 -0
  3. package/dist/core/cursor-result.d.ts +9 -0
  4. package/dist/core/cursor-result.js +1 -0
  5. package/dist/core/data-loaders/cursor-data-loader.svelte.d.ts +14 -0
  6. package/dist/core/data-loaders/cursor-data-loader.svelte.js +35 -0
  7. package/dist/core/data-loaders/data-loader.d.ts +4 -0
  8. package/dist/core/data-loaders/data-loader.js +1 -0
  9. package/dist/core/data-loaders/index.d.ts +2 -0
  10. package/dist/core/data-loaders/index.js +1 -0
  11. package/dist/core/deferred.d.ts +6 -0
  12. package/dist/core/deferred.js +13 -0
  13. package/dist/core/enums.d.ts +33 -0
  14. package/dist/core/enums.js +39 -0
  15. package/dist/core/graphql.d.ts +1 -0
  16. package/dist/core/graphql.js +10 -0
  17. package/dist/core/media/image-helper.d.ts +10 -0
  18. package/dist/core/media/image-helper.js +30 -0
  19. package/dist/core/media/images-size-detector.service.d.ts +6 -0
  20. package/dist/core/media/images-size-detector.service.js +15 -0
  21. package/dist/core/media/index.d.ts +4 -0
  22. package/dist/core/media/index.js +4 -0
  23. package/dist/core/media/media-item-url.service.d.ts +2 -0
  24. package/dist/core/media/media-item-url.service.js +3 -0
  25. package/dist/core/media/types.d.ts +13 -0
  26. package/dist/core/media/types.js +1 -0
  27. package/dist/core/toastr.d.ts +1 -0
  28. package/dist/core/toastr.js +26 -0
  29. package/dist/core/transitions/index.d.ts +1 -0
  30. package/dist/core/transitions/index.js +1 -0
  31. package/dist/core/transitions/slide-horizontally.d.ts +7 -0
  32. package/dist/core/transitions/slide-horizontally.js +55 -0
  33. package/dist/core/utils/array-helper.d.ts +23 -0
  34. package/dist/core/utils/array-helper.js +148 -0
  35. package/dist/core/utils/date-helper.d.ts +29 -0
  36. package/dist/core/utils/date-helper.js +146 -0
  37. package/dist/core/utils/dom-helper.d.ts +12 -0
  38. package/dist/core/utils/dom-helper.js +76 -0
  39. package/dist/core/utils/html-helper.d.ts +40 -0
  40. package/dist/core/utils/html-helper.js +97 -0
  41. package/dist/core/utils/index.d.ts +3 -0
  42. package/dist/core/utils/index.js +3 -0
  43. package/dist/core/utils/number-helper.d.ts +6 -0
  44. package/dist/core/utils/number-helper.js +28 -0
  45. package/dist/core/utils/string-generator.d.ts +2 -0
  46. package/dist/core/utils/string-generator.js +15 -0
  47. package/dist/core/utils/string-helper.d.ts +10 -0
  48. package/dist/core/utils/string-helper.js +53 -0
  49. package/dist/core/utils/url-helper.d.ts +3 -0
  50. package/dist/core/utils/url-helper.js +13 -0
  51. package/dist/core/utils/utils.d.ts +28 -0
  52. package/dist/core/utils/utils.js +100 -0
  53. package/dist/index.d.ts +2 -0
  54. package/dist/index.js +2 -0
  55. package/dist/products/price-helper.d.ts +4 -0
  56. package/dist/products/price-helper.js +47 -0
  57. package/dist/short-videos/short-video-viewer/cmp.ad.svelte +74 -0
  58. package/dist/short-videos/short-video-viewer/cmp.ad.svelte.d.ts +7 -0
  59. package/dist/short-videos/short-video-viewer/cmp.attachments-inline.svelte +70 -0
  60. package/dist/short-videos/short-video-viewer/cmp.attachments-inline.svelte.d.ts +7 -0
  61. package/dist/short-videos/short-video-viewer/cmp.attachments.svelte +68 -0
  62. package/dist/short-videos/short-video-viewer/cmp.attachments.svelte.d.ts +12 -0
  63. package/dist/short-videos/short-video-viewer/cmp.product.svelte +168 -0
  64. package/dist/short-videos/short-video-viewer/cmp.product.svelte.d.ts +13 -0
  65. package/dist/short-videos/short-video-viewer/cmp.short-video-details.svelte +124 -0
  66. package/dist/short-videos/short-video-viewer/cmp.short-video-details.svelte.d.ts +13 -0
  67. package/dist/short-videos/short-video-viewer/cmp.short-video-heading.svelte +86 -0
  68. package/dist/short-videos/short-video-viewer/cmp.short-video-heading.svelte.d.ts +9 -0
  69. package/dist/short-videos/short-video-viewer/cmp.short-video-viewer.svelte +133 -0
  70. package/dist/short-videos/short-video-viewer/cmp.short-video-viewer.svelte.d.ts +15 -0
  71. package/dist/short-videos/short-video-viewer/description.svelte +46 -0
  72. package/dist/short-videos/short-video-viewer/description.svelte.d.ts +9 -0
  73. package/dist/short-videos/short-video-viewer/index.d.ts +9 -0
  74. package/dist/short-videos/short-video-viewer/index.js +6 -0
  75. package/dist/short-videos/short-video-viewer/mapper.d.ts +3 -0
  76. package/dist/short-videos/short-video-viewer/mapper.js +56 -0
  77. package/dist/short-videos/short-video-viewer/operations.generated.d.ts +56 -0
  78. package/dist/short-videos/short-video-viewer/operations.generated.js +151 -0
  79. package/dist/short-videos/short-video-viewer/operations.graphql +53 -0
  80. package/dist/short-videos/short-video-viewer/short-video-attachments-localization.svelte.d.ts +12 -0
  81. package/dist/short-videos/short-video-viewer/short-video-attachments-localization.svelte.js +10 -0
  82. package/dist/short-videos/short-video-viewer/short-video-details-localization.svelte.d.ts +13 -0
  83. package/dist/short-videos/short-video-viewer/short-video-details-localization.svelte.js +10 -0
  84. package/dist/short-videos/short-video-viewer/short-video-product-localization.svelte.d.ts +7 -0
  85. package/dist/short-videos/short-video-viewer/short-video-product-localization.svelte.js +11 -0
  86. package/dist/short-videos/short-video-viewer/short-video-viewer-localization.svelte.d.ts +13 -0
  87. package/dist/short-videos/short-video-viewer/short-video-viewer-localization.svelte.js +10 -0
  88. package/dist/short-videos/short-video-viewer/types.d.ts +40 -0
  89. package/dist/short-videos/short-video-viewer/types.js +1 -0
  90. package/dist/short-videos/short-video-viewer/ui-manager.svelte.d.ts +12 -0
  91. package/dist/short-videos/short-video-viewer/ui-manager.svelte.js +26 -0
  92. package/dist/short-videos/short-videos-player/action-button.svelte +38 -0
  93. package/dist/short-videos/short-videos-player/action-button.svelte.d.ts +10 -0
  94. package/dist/short-videos/short-videos-player/cmp.short-videos-player.svelte +91 -0
  95. package/dist/short-videos/short-videos-player/cmp.short-videos-player.svelte.d.ts +13 -0
  96. package/dist/short-videos/short-videos-player/controls.svelte +222 -0
  97. package/dist/short-videos/short-videos-player/controls.svelte.d.ts +15 -0
  98. package/dist/short-videos/short-videos-player/index.d.ts +31 -0
  99. package/dist/short-videos/short-videos-player/index.js +40 -0
  100. package/dist/short-videos/short-videos-player/short-videos-player-localization.svelte.d.ts +8 -0
  101. package/dist/short-videos/short-videos-player/short-videos-player-localization.svelte.js +6 -0
  102. package/dist/short-videos/short-videos-player/ui-manager.svelte.d.ts +16 -0
  103. package/dist/short-videos/short-videos-player/ui-manager.svelte.js +25 -0
  104. package/dist/streams/layout/cmp.layout.svelte +34 -0
  105. package/dist/streams/layout/cmp.layout.svelte.d.ts +9 -0
  106. package/dist/streams/layout/cmp.slot-content.svelte +77 -0
  107. package/dist/streams/layout/cmp.slot-content.svelte.d.ts +13 -0
  108. package/dist/streams/layout/cmp.slot.svelte +26 -0
  109. package/dist/streams/layout/cmp.slot.svelte.d.ts +9 -0
  110. package/dist/streams/layout/component.d.ts +6 -0
  111. package/dist/streams/layout/component.js +1 -0
  112. package/dist/streams/layout/css-values.d.ts +10 -0
  113. package/dist/streams/layout/css-values.js +1 -0
  114. package/dist/streams/layout/element-views/cmp.container-stream-element.svelte +16 -0
  115. package/dist/streams/layout/element-views/cmp.container-stream-element.svelte.d.ts +11 -0
  116. package/dist/streams/layout/element-views/cmp.image-ref-stream-element.svelte +38 -0
  117. package/dist/streams/layout/element-views/cmp.image-ref-stream-element.svelte.d.ts +9 -0
  118. package/dist/streams/layout/element-views/cmp.images-stream-element.svelte +30 -0
  119. package/dist/streams/layout/element-views/cmp.images-stream-element.svelte.d.ts +9 -0
  120. package/dist/streams/layout/element-views/cmp.price-stream-element.svelte +97 -0
  121. package/dist/streams/layout/element-views/cmp.price-stream-element.svelte.d.ts +11 -0
  122. package/dist/streams/layout/element-views/cmp.short-video-stream-element.svelte +6 -0
  123. package/dist/streams/layout/element-views/cmp.short-video-stream-element.svelte.d.ts +10 -0
  124. package/dist/streams/layout/element-views/cmp.spacer-stream-element.svelte +45 -0
  125. package/dist/streams/layout/element-views/cmp.spacer-stream-element.svelte.d.ts +9 -0
  126. package/dist/streams/layout/element-views/cmp.stream-element.svelte +68 -0
  127. package/dist/streams/layout/element-views/cmp.stream-element.svelte.d.ts +16 -0
  128. package/dist/streams/layout/element-views/cmp.text-ref-stream-element.svelte +23 -0
  129. package/dist/streams/layout/element-views/cmp.text-ref-stream-element.svelte.d.ts +9 -0
  130. package/dist/streams/layout/element-views/cmp.text-stream-element.svelte +8 -0
  131. package/dist/streams/layout/element-views/cmp.text-stream-element.svelte.d.ts +7 -0
  132. package/dist/streams/layout/element-views/data-by-key-accessor.d.ts +3 -0
  133. package/dist/streams/layout/element-views/data-by-key-accessor.js +55 -0
  134. package/dist/streams/layout/element-views/index.d.ts +11 -0
  135. package/dist/streams/layout/element-views/index.js +9 -0
  136. package/dist/streams/layout/element-views/price-stream-element-localization.svelte.d.ts +9 -0
  137. package/dist/streams/layout/element-views/price-stream-element-localization.svelte.js +8 -0
  138. package/dist/streams/layout/element-views/stream-element-localization.svelte.d.ts +8 -0
  139. package/dist/streams/layout/element-views/stream-element-localization.svelte.js +6 -0
  140. package/dist/streams/layout/elements.d.ts +51 -0
  141. package/dist/streams/layout/elements.js +1 -0
  142. package/dist/streams/layout/enums.d.ts +45 -0
  143. package/dist/streams/layout/enums.js +54 -0
  144. package/dist/streams/layout/index.d.ts +19 -0
  145. package/dist/streams/layout/index.js +15 -0
  146. package/dist/streams/layout/layout.d.ts +13 -0
  147. package/dist/streams/layout/layout.js +1 -0
  148. package/dist/streams/layout/models/index.d.ts +6 -0
  149. package/dist/streams/layout/models/index.js +1 -0
  150. package/dist/streams/layout/models/mapper.d.ts +3 -0
  151. package/dist/streams/layout/models/mapper.js +62 -0
  152. package/dist/streams/layout/models/stream-layout-blob-model.d.ts +4 -0
  153. package/dist/streams/layout/models/stream-layout-blob-model.js +1 -0
  154. package/dist/streams/layout/models/stream-layout-media-item-model.d.ts +6 -0
  155. package/dist/streams/layout/models/stream-layout-media-item-model.js +1 -0
  156. package/dist/streams/layout/models/stream-layout-post-header-model.d.ts +11 -0
  157. package/dist/streams/layout/models/stream-layout-post-header-model.js +1 -0
  158. package/dist/streams/layout/models/stream-layout-product-model.d.ts +19 -0
  159. package/dist/streams/layout/models/stream-layout-product-model.js +1 -0
  160. package/dist/streams/layout/models/stream-layout-short-video-model.d.ts +31 -0
  161. package/dist/streams/layout/models/stream-layout-short-video-model.js +1 -0
  162. package/dist/streams/layout/serializer.d.ts +3 -0
  163. package/dist/streams/layout/serializer.js +6 -0
  164. package/dist/streams/layout/slot-data-input.d.ts +14 -0
  165. package/dist/streams/layout/slot-data-input.js +1 -0
  166. package/dist/streams/layout/slot-data.d.ts +18 -0
  167. package/dist/streams/layout/slot-data.js +1 -0
  168. package/dist/streams/layout/slot.d.ts +16 -0
  169. package/dist/streams/layout/slot.js +1 -0
  170. package/dist/streams/layout/styles-transformer.d.ts +13 -0
  171. package/dist/streams/layout/styles-transformer.js +140 -0
  172. package/dist/streams/layout/styles.d.ts +43 -0
  173. package/dist/streams/layout/styles.js +1 -0
  174. package/dist/streams/layout/type-guards.d.ts +8 -0
  175. package/dist/streams/layout/type-guards.js +21 -0
  176. package/dist/streams/stream-page-viewer/cmp.stream-page-viewer.svelte +13 -0
  177. package/dist/streams/stream-page-viewer/cmp.stream-page-viewer.svelte.d.ts +11 -0
  178. package/dist/streams/stream-page-viewer/index.d.ts +2 -0
  179. package/dist/streams/stream-page-viewer/index.js +1 -0
  180. package/dist/streams/stream-page-viewer/mapper.d.ts +3 -0
  181. package/dist/streams/stream-page-viewer/mapper.js +22 -0
  182. package/dist/streams/stream-page-viewer/operations.generated.d.ts +10 -0
  183. package/dist/streams/stream-page-viewer/operations.generated.js +27 -0
  184. package/dist/streams/stream-page-viewer/operations.graphql +8 -0
  185. package/dist/streams/stream-page-viewer/stream-page-viewer-localization.svelte.d.ts +13 -0
  186. package/dist/streams/stream-page-viewer/stream-page-viewer-localization.svelte.js +10 -0
  187. package/dist/streams/stream-page-viewer/types.d.ts +18 -0
  188. package/dist/streams/stream-page-viewer/types.js +1 -0
  189. package/dist/streams/stream-player/action-button.svelte +38 -0
  190. package/dist/streams/stream-player/action-button.svelte.d.ts +10 -0
  191. package/dist/streams/stream-player/cmp.stream-player.svelte +164 -0
  192. package/dist/streams/stream-player/cmp.stream-player.svelte.d.ts +19 -0
  193. package/dist/streams/stream-player/controls.svelte +236 -0
  194. package/dist/streams/stream-player/controls.svelte.d.ts +15 -0
  195. package/dist/streams/stream-player/index.d.ts +37 -0
  196. package/dist/streams/stream-player/index.js +50 -0
  197. package/dist/streams/stream-player/mapper.d.ts +3 -0
  198. package/dist/streams/stream-player/mapper.js +15 -0
  199. package/dist/streams/stream-player/operations.generated.d.ts +65 -0
  200. package/dist/streams/stream-player/operations.generated.js +196 -0
  201. package/dist/streams/stream-player/operations.graphql +35 -0
  202. package/dist/streams/stream-player/stream-overview.svelte +239 -0
  203. package/dist/streams/stream-player/stream-overview.svelte.d.ts +17 -0
  204. package/dist/streams/stream-player/stream-player-buffer.svelte.d.ts +25 -0
  205. package/dist/streams/stream-player/stream-player-buffer.svelte.js +84 -0
  206. package/dist/streams/stream-player/stream-player-localization.svelte.d.ts +12 -0
  207. package/dist/streams/stream-player/stream-player-localization.svelte.js +10 -0
  208. package/dist/streams/stream-player/types.d.ts +12 -0
  209. package/dist/streams/stream-player/types.js +1 -0
  210. package/dist/streams/stream-player/ui-manager.svelte.d.ts +17 -0
  211. package/dist/streams/stream-player/ui-manager.svelte.js +26 -0
  212. package/dist/ui/button/cmp.button.svelte +10 -0
  213. package/dist/ui/button/cmp.button.svelte.d.ts +16 -0
  214. package/dist/ui/button/index.d.ts +2 -0
  215. package/dist/ui/button/index.js +2 -0
  216. package/dist/ui/button/resources/button-base.svelte +84 -0
  217. package/dist/ui/button/resources/button-base.svelte.d.ts +13 -0
  218. package/dist/ui/button/resources/button-theme.svelte +204 -0
  219. package/dist/ui/button/resources/button-theme.svelte.d.ts +10 -0
  220. package/dist/ui/button/resources/button-types.d.ts +21 -0
  221. package/dist/ui/button/resources/button-types.js +23 -0
  222. package/dist/ui/dynamic-component/cmp.dynamic-component.svelte +5 -0
  223. package/dist/ui/dynamic-component/cmp.dynamic-component.svelte.d.ts +7 -0
  224. package/dist/ui/dynamic-component/index.d.ts +2 -0
  225. package/dist/ui/dynamic-component/index.js +2 -0
  226. package/dist/ui/dynamic-component/types.svelte.d.ts +11 -0
  227. package/dist/ui/dynamic-component/types.svelte.js +13 -0
  228. package/dist/ui/icon/cmp.icon.svelte +113 -0
  229. package/dist/ui/icon/cmp.icon.svelte.d.ts +8 -0
  230. package/dist/ui/icon/index.d.ts +2 -0
  231. package/dist/ui/icon/index.js +2 -0
  232. package/dist/ui/icon/types.d.ts +9 -0
  233. package/dist/ui/icon/types.js +10 -0
  234. package/dist/ui/image/cmp.image-round.svelte +41 -0
  235. package/dist/ui/image/cmp.image-round.svelte.d.ts +11 -0
  236. package/dist/ui/image/cmp.image-rounded.svelte +71 -0
  237. package/dist/ui/image/cmp.image-rounded.svelte.d.ts +11 -0
  238. package/dist/ui/image/cmp.image-stub.svelte +34 -0
  239. package/dist/ui/image/cmp.image-stub.svelte.d.ts +18 -0
  240. package/dist/ui/image/cmp.image.svelte +82 -0
  241. package/dist/ui/image/cmp.image.svelte.d.ts +13 -0
  242. package/dist/ui/image/image-state.d.ts +6 -0
  243. package/dist/ui/image/image-state.js +17 -0
  244. package/dist/ui/image/index.d.ts +4 -0
  245. package/dist/ui/image/index.js +4 -0
  246. package/dist/ui/infinite-scrolling/cmp.infinite-scrolling.svelte +84 -0
  247. package/dist/ui/infinite-scrolling/cmp.infinite-scrolling.svelte.d.ts +11 -0
  248. package/dist/ui/infinite-scrolling/index.d.ts +1 -0
  249. package/dist/ui/infinite-scrolling/index.js +1 -0
  250. package/dist/ui/line-clamp/cmp.line-clamp.svelte +89 -0
  251. package/dist/ui/line-clamp/cmp.line-clamp.svelte.d.ts +12 -0
  252. package/dist/ui/line-clamp/index.d.ts +2 -0
  253. package/dist/ui/line-clamp/index.js +2 -0
  254. package/dist/ui/line-clamp/line-clamp-localization.svelte.d.ts +9 -0
  255. package/dist/ui/line-clamp/line-clamp-localization.svelte.js +15 -0
  256. package/dist/ui/line-clamp/line-clamp-types.d.ts +3 -0
  257. package/dist/ui/line-clamp/line-clamp-types.js +1 -0
  258. package/dist/ui/line-clamp/line-clamp-utils.d.ts +8 -0
  259. package/dist/ui/line-clamp/line-clamp-utils.js +33 -0
  260. package/dist/ui/loading/cmp.loading.svelte +97 -0
  261. package/dist/ui/loading/cmp.loading.svelte.d.ts +9 -0
  262. package/dist/ui/loading/index.d.ts +1 -0
  263. package/dist/ui/loading/index.js +1 -0
  264. package/dist/ui/media-item-view/cmp.media-item-view.svelte +91 -0
  265. package/dist/ui/media-item-view/cmp.media-item-view.svelte.d.ts +13 -0
  266. package/dist/ui/media-item-view/index.d.ts +1 -0
  267. package/dist/ui/media-item-view/index.js +1 -0
  268. package/dist/ui/media-items-gallery/cmp.media-items-gallery.svelte +278 -0
  269. package/dist/ui/media-items-gallery/cmp.media-items-gallery.svelte.d.ts +13 -0
  270. package/dist/ui/media-items-gallery/index.d.ts +1 -0
  271. package/dist/ui/media-items-gallery/index.js +1 -0
  272. package/dist/ui/media-items-gallery/types.d.ts +12 -0
  273. package/dist/ui/media-items-gallery/types.js +35 -0
  274. package/dist/ui/media-playback/index.d.ts +2 -0
  275. package/dist/ui/media-playback/index.js +2 -0
  276. package/dist/ui/media-playback/playback-manager.svelte.d.ts +25 -0
  277. package/dist/ui/media-playback/playback-manager.svelte.js +62 -0
  278. package/dist/ui/media-playback/volume-manager.svelte.d.ts +10 -0
  279. package/dist/ui/media-playback/volume-manager.svelte.js +27 -0
  280. package/dist/ui/player/cmp.player-slider.svelte +161 -0
  281. package/dist/ui/player/cmp.player-slider.svelte.d.ts +33 -0
  282. package/dist/ui/player/index.d.ts +4 -0
  283. package/dist/ui/player/index.js +3 -0
  284. package/dist/ui/player/player-buffer.svelte.d.ts +28 -0
  285. package/dist/ui/player/player-buffer.svelte.js +64 -0
  286. package/dist/ui/player/prevent-slider-scroll.d.ts +5 -0
  287. package/dist/ui/player/prevent-slider-scroll.js +11 -0
  288. package/dist/ui/player/types.d.ts +14 -0
  289. package/dist/ui/player/types.js +1 -0
  290. package/dist/ui/progress/cmp.progress.svelte +37 -0
  291. package/dist/ui/progress/cmp.progress.svelte.d.ts +6 -0
  292. package/dist/ui/progress/index.d.ts +1 -0
  293. package/dist/ui/progress/index.js +1 -0
  294. package/dist/ui/proportional-container/cmp.proportional-container.svelte +39 -0
  295. package/dist/ui/proportional-container/cmp.proportional-container.svelte.d.ts +8 -0
  296. package/dist/ui/proportional-container/index.d.ts +1 -0
  297. package/dist/ui/proportional-container/index.js +1 -0
  298. package/dist/ui/seek-bar/cmp.seek-bar.svelte +63 -0
  299. package/dist/ui/seek-bar/cmp.seek-bar.svelte.d.ts +12 -0
  300. package/dist/ui/seek-bar/index.d.ts +1 -0
  301. package/dist/ui/seek-bar/index.js +1 -0
  302. package/dist/ui/shadow-dom/_normalize.scss +350 -0
  303. package/dist/ui/shadow-dom/_reset.scss +189 -0
  304. package/dist/ui/shadow-dom/index.d.ts +1 -0
  305. package/dist/ui/shadow-dom/index.js +1 -0
  306. package/dist/ui/shadow-dom/shadow-host.d.ts +11 -0
  307. package/dist/ui/shadow-dom/shadow-host.js +45 -0
  308. package/dist/ui/spotlight-layout/cmp.spotlight-layout.svelte +120 -0
  309. package/dist/ui/spotlight-layout/cmp.spotlight-layout.svelte.d.ts +18 -0
  310. package/dist/ui/spotlight-layout/index.d.ts +1 -0
  311. package/dist/ui/spotlight-layout/index.js +1 -0
  312. package/dist/ui/time-ago/cmp.time-ago.svelte +69 -0
  313. package/dist/ui/time-ago/cmp.time-ago.svelte.d.ts +9 -0
  314. package/dist/ui/time-ago/index.d.ts +2 -0
  315. package/dist/ui/time-ago/index.js +1 -0
  316. package/dist/ui/time-ago/time-ago-localization.svelte.d.ts +21 -0
  317. package/dist/ui/time-ago/time-ago-localization.svelte.js +39 -0
  318. package/dist/ui/video/cmp.video.svelte +377 -0
  319. package/dist/ui/video/cmp.video.svelte.d.ts +24 -0
  320. package/dist/ui/video/index.d.ts +1 -0
  321. package/dist/ui/video/index.js +1 -0
  322. package/package.json +1 -1
@@ -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 { Image } from '../../ui/image';
2
+ import { Video } from '../../ui/video';
3
+ import { default as AttachmentsInline } from './cmp.attachments-inline.svelte';
4
+ import { default as ShortVideoDescription } from './description.svelte';
5
+ import { ShortVideoViewerLocalization } from './short-video-viewer-localization.svelte';
6
+ import { ShortVideoViewerUiManager } from './ui-manager.svelte';
7
+ let { model, availableSideSpace = 0, showAttachments = true, autoplay = 'on-appearance', localization: localizationInit, on } = $props();
8
+ const localization = $derived(new ShortVideoViewerLocalization(localizationInit));
9
+ let actionsPanelRef = $state.raw(null);
10
+ const uiManager = new ShortVideoViewerUiManager();
11
+ $effect(() => {
12
+ if (actionsPanelRef) {
13
+ const resizeObserver = new ResizeObserver(() => {
14
+ if (actionsPanelRef) {
15
+ uiManager.updateActionsPanelWidth(actionsPanelRef.clientWidth);
16
+ }
17
+ });
18
+ resizeObserver.observe(actionsPanelRef);
19
+ return () => {
20
+ resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();
21
+ };
22
+ }
23
+ });
24
+ $effect(() => {
25
+ uiManager.updateAvailableSideSpace(availableSideSpace);
26
+ });
27
+ $effect(() => {
28
+ uiManager.updateCanShowAttachments(showAttachments);
29
+ });
30
+ </script>
31
+
32
+ <div class="short-video-viewer" style={uiManager.globalCssVariables}>
33
+ <div class="short-video-viewer__media">
34
+ {#if !model.media.isImage}
35
+ <Video controls={false} autoplay={autoplay} src={model.media.url} loop={true} poster={model.media.thumbnailUrl} id={model.id} on={on} />
36
+ {:else}
37
+ <Image src={model.media.url} />
38
+ {/if}
39
+ </div>
40
+
41
+ <div
42
+ class="short-video-viewer__actions-panel"
43
+ class:short-video-viewer__actions-panel--inside-frame={uiManager.showActionsInsideFrame}
44
+ bind:this={actionsPanelRef}>
45
+ {#if uiManager.showAttachments}
46
+ <AttachmentsInline model={model} />
47
+ {/if}
48
+ </div>
49
+ <div class="short-video-viewer__description">
50
+ <ShortVideoDescription model={model} localization={localization} />
51
+ </div>
52
+ </div>
53
+
54
+ <style>@keyframes fadeIn {
55
+ 0% {
56
+ opacity: 1;
57
+ }
58
+ 50% {
59
+ opacity: 0.4;
60
+ }
61
+ 100% {
62
+ opacity: 1;
63
+ }
64
+ }
65
+ .short-video-viewer {
66
+ --_short-video-viewer--actions-panel--top: var(--short-video-viewer--actions-panel--top, 0.9375rem);
67
+ --_short-video-viewer--actions-panel--bottom: var(--short-video-viewer--actions-panel--bottom, 0.9375rem);
68
+ --_short-video-viewer--button--background-color: #f3f4f6;
69
+ --_short-video-viewer--button--font-color: #2e2e2e;
70
+ --video--media-fit: cover;
71
+ width: 100%;
72
+ min-width: 100%;
73
+ max-width: 100%;
74
+ height: 100%;
75
+ min-height: 100%;
76
+ max-height: 100%;
77
+ position: relative;
78
+ /* Set 'container-type: inline-size;' to reference container*/
79
+ }
80
+ @container (width < 576px) {
81
+ .short-video-viewer {
82
+ --_short-video-viewer--button--background-color: #ffffff;
83
+ --_short-video-viewer--button--font-color: #2e2e2e;
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,15 @@
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
+ on?: {
10
+ progress?: (progress: number) => void;
11
+ };
12
+ };
13
+ declare const Cmp: import("svelte").Component<Props, {}, "">;
14
+ type Cmp = ReturnType<typeof Cmp>;
15
+ 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,9 @@
1
+ export { default as ShortVideoViewer } from './cmp.short-video-viewer.svelte';
2
+ export { default as ShortVideoAdViewer } from './cmp.ad.svelte';
3
+ export { default as ShortVideoProductViewer } from './cmp.product.svelte';
4
+ export { default as ShortVideoViewerAttachments } from './cmp.attachments.svelte';
5
+ export { default as ShortVideoViewerAttachmentsInline } from './cmp.attachments-inline.svelte';
6
+ export { default as ShortVideoDetails } from './cmp.short-video-details.svelte';
7
+ export type { ShortVideoViewerModel, ShortVideoViewerAdModel, ShortVideoViewerProductModel } from './types';
8
+ export type { IShortVideoViewerLocalization } from './short-video-viewer-localization.svelte';
9
+ export type { IShortVideoDetailsLocalization } from './short-video-details-localization.svelte';
@@ -0,0 +1,6 @@
1
+ export { default as ShortVideoViewer } from './cmp.short-video-viewer.svelte';
2
+ export { default as ShortVideoAdViewer } from './cmp.ad.svelte';
3
+ export { default as ShortVideoProductViewer } from './cmp.product.svelte';
4
+ export { default as ShortVideoViewerAttachments } from './cmp.attachments.svelte';
5
+ export { default as ShortVideoViewerAttachmentsInline } from './cmp.attachments-inline.svelte';
6
+ 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,56 @@
1
+ import { MediaType } from '../../core/enums';
2
+ import { getMediaItemImageUrl } from '../../core/media';
3
+ import { shouldUseSalePrice } from '../../products/price-helper';
4
+ export const mapShortVideoViewerModel = (payload) => {
5
+ const mediaBlob = payload.postData.media[0];
6
+ return {
7
+ id: payload.id,
8
+ media: mediaBlob.type === MediaType.Image
9
+ ? { isImage: true, url: mediaBlob.url }
10
+ : {
11
+ isImage: false,
12
+ url: mediaBlob.url,
13
+ thumbnailUrl: mediaBlob.thumbnailUrl
14
+ },
15
+ text: payload.postData.shortVideoData.text,
16
+ heading: {
17
+ image: payload.postHeading.sourceImage,
18
+ name: payload.postHeading.sourceName,
19
+ displayDate: payload.postHeading.postDisplayDate,
20
+ viewsCount: payload.postHeading.postViewsCount
21
+ },
22
+ ad: payload.ad ? mapToShortVideoViewerAdModel(payload.ad) : null,
23
+ products: payload.allProducts.map(mapToShortVideoViewerProductModel)
24
+ // uncomment if you want to test many products behavior
25
+ /*.flatMap((x) => [
26
+ { ...x, id: x.id + '1' },
27
+ { ...x, id: x.id + '2' },
28
+ { ...x, id: x.id + '3' },
29
+ { ...x, id: x.id + '4' },
30
+ { ...x, id: x.id + '5' }
31
+ ])*/
32
+ };
33
+ };
34
+ const mapToShortVideoViewerAdModel = (payload) => {
35
+ return {
36
+ id: payload.id,
37
+ image: getMediaItemImageUrl(payload.media[0]),
38
+ title: payload.title,
39
+ description: payload.description,
40
+ buttonText: payload.buttonText,
41
+ buttonUrl: payload.buttonUrl,
42
+ openLinkInNewWindow: payload.openLinkInNewWindow
43
+ };
44
+ };
45
+ const mapToShortVideoViewerProductModel = (payload) => {
46
+ const effectiveSalePrice = payload.priceAndAvailability.productSalePrices?.find((x) => shouldUseSalePrice(payload.priceAndAvailability.price, x.salePrice, x.salePriceEffectiveDateFrom, x.salePriceEffectiveDateTo));
47
+ return {
48
+ id: payload.id,
49
+ title: payload.title,
50
+ image: getMediaItemImageUrl(payload.media[0]),
51
+ link: payload.link,
52
+ currency: payload.priceAndAvailability.currency,
53
+ price: payload.priceAndAvailability.price,
54
+ salePrice: effectiveSalePrice?.salePrice ?? null
55
+ };
56
+ };
@@ -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
+ url: string;
41
+ thumbnailUrl: string | null;
42
+ type: SchemaTypes.MediaType;
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>;
@@ -0,0 +1,151 @@
1
+ export const ShortVideoViewerPayloadFragmentDoc = {
2
+ kind: 'Document',
3
+ definitions: [
4
+ {
5
+ kind: 'FragmentDefinition',
6
+ name: { kind: 'Name', value: 'ShortVideoViewerPayloadFragment' },
7
+ typeCondition: { kind: 'NamedType', name: { kind: 'Name', value: 'Post' } },
8
+ selectionSet: {
9
+ kind: 'SelectionSet',
10
+ selections: [
11
+ { kind: 'Field', name: { kind: 'Name', value: 'id' } },
12
+ { kind: 'Field', name: { kind: 'Name', value: 'enableSocialInteractions' } },
13
+ {
14
+ kind: 'Field',
15
+ name: { kind: 'Name', value: 'postHeading' },
16
+ selectionSet: {
17
+ kind: 'SelectionSet',
18
+ selections: [
19
+ { kind: 'Field', name: { kind: 'Name', value: 'sourceImage' } },
20
+ { kind: 'Field', name: { kind: 'Name', value: 'sourceName' } },
21
+ { kind: 'Field', name: { kind: 'Name', value: 'postDisplayDate' } },
22
+ { kind: 'Field', name: { kind: 'Name', value: 'postViewsCount' } }
23
+ ]
24
+ }
25
+ },
26
+ {
27
+ kind: 'Field',
28
+ name: { kind: 'Name', value: 'allProducts' },
29
+ selectionSet: {
30
+ kind: 'SelectionSet',
31
+ selections: [
32
+ {
33
+ kind: 'Field',
34
+ name: { kind: 'Name', value: 'media' },
35
+ selectionSet: {
36
+ kind: 'SelectionSet',
37
+ selections: [
38
+ { kind: 'Field', name: { kind: 'Name', value: 'url' } },
39
+ { kind: 'Field', name: { kind: 'Name', value: 'thumbnailUrl' } },
40
+ { kind: 'Field', name: { kind: 'Name', value: 'type' } }
41
+ ]
42
+ }
43
+ },
44
+ { kind: 'Field', name: { kind: 'Name', value: 'title' } },
45
+ { kind: 'Field', name: { kind: 'Name', value: 'id' } },
46
+ { kind: 'Field', name: { kind: 'Name', value: 'link' } },
47
+ {
48
+ kind: 'Field',
49
+ name: { kind: 'Name', value: 'priceAndAvailability' },
50
+ selectionSet: {
51
+ kind: 'SelectionSet',
52
+ selections: [
53
+ { kind: 'Field', name: { kind: 'Name', value: 'currency' } },
54
+ { kind: 'Field', name: { kind: 'Name', value: 'price' } },
55
+ {
56
+ kind: 'Field',
57
+ name: { kind: 'Name', value: 'productSalePrices' },
58
+ selectionSet: {
59
+ kind: 'SelectionSet',
60
+ selections: [
61
+ { kind: 'Field', name: { kind: 'Name', value: 'salePrice' } },
62
+ { kind: 'Field', name: { kind: 'Name', value: 'salePriceEffectiveDateFrom' } },
63
+ { kind: 'Field', name: { kind: 'Name', value: 'salePriceEffectiveDateTo' } }
64
+ ]
65
+ }
66
+ }
67
+ ]
68
+ }
69
+ }
70
+ ]
71
+ }
72
+ },
73
+ {
74
+ kind: 'Field',
75
+ name: { kind: 'Name', value: 'ad' },
76
+ selectionSet: {
77
+ kind: 'SelectionSet',
78
+ selections: [
79
+ { kind: 'Field', name: { kind: 'Name', value: 'id' } },
80
+ { kind: 'Field', name: { kind: 'Name', value: 'title' } },
81
+ { kind: 'Field', name: { kind: 'Name', value: 'description' } },
82
+ { kind: 'Field', name: { kind: 'Name', value: 'buttonText' } },
83
+ { kind: 'Field', name: { kind: 'Name', value: 'buttonUrl' } },
84
+ { kind: 'Field', name: { kind: 'Name', value: 'openLinkInNewWindow' } },
85
+ { kind: 'Field', name: { kind: 'Name', value: 'type' } },
86
+ {
87
+ kind: 'Field',
88
+ name: { kind: 'Name', value: 'media' },
89
+ selectionSet: {
90
+ kind: 'SelectionSet',
91
+ selections: [
92
+ { kind: 'Field', name: { kind: 'Name', value: 'url' } },
93
+ { kind: 'Field', name: { kind: 'Name', value: 'thumbnailUrl' } },
94
+ { kind: 'Field', name: { kind: 'Name', value: 'type' } }
95
+ ]
96
+ }
97
+ }
98
+ ]
99
+ }
100
+ },
101
+ {
102
+ kind: 'Field',
103
+ name: { kind: 'Name', value: 'postData' },
104
+ selectionSet: {
105
+ kind: 'SelectionSet',
106
+ selections: [
107
+ {
108
+ kind: 'Field',
109
+ name: { kind: 'Name', value: 'media' },
110
+ selectionSet: {
111
+ kind: 'SelectionSet',
112
+ selections: [
113
+ {
114
+ kind: 'Field',
115
+ name: { kind: 'Name', value: 'url' },
116
+ arguments: [
117
+ {
118
+ kind: 'Argument',
119
+ name: { kind: 'Name', value: 'scale' },
120
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'image_scale' } }
121
+ }
122
+ ]
123
+ },
124
+ {
125
+ kind: 'Field',
126
+ name: { kind: 'Name', value: 'thumbnailUrl' },
127
+ arguments: [
128
+ {
129
+ kind: 'Argument',
130
+ name: { kind: 'Name', value: 'scale' },
131
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'image_scale' } }
132
+ }
133
+ ]
134
+ },
135
+ { kind: 'Field', name: { kind: 'Name', value: 'type' } }
136
+ ]
137
+ }
138
+ },
139
+ {
140
+ kind: 'Field',
141
+ name: { kind: 'Name', value: 'shortVideoData' },
142
+ selectionSet: { kind: 'SelectionSet', selections: [{ kind: 'Field', name: { kind: 'Name', value: 'text' } }] }
143
+ }
144
+ ]
145
+ }
146
+ }
147
+ ]
148
+ }
149
+ }
150
+ ]
151
+ };
@@ -0,0 +1,53 @@
1
+ fragment ShortVideoViewerPayloadFragment on Post {
2
+ id
3
+ enableSocialInteractions
4
+ postHeading {
5
+ sourceImage
6
+ sourceName
7
+ postDisplayDate
8
+ postViewsCount
9
+ }
10
+ allProducts {
11
+ media {
12
+ url
13
+ thumbnailUrl
14
+ type
15
+ }
16
+ title
17
+ id
18
+ link
19
+ priceAndAvailability {
20
+ currency
21
+ price
22
+ productSalePrices {
23
+ salePrice
24
+ salePriceEffectiveDateFrom
25
+ salePriceEffectiveDateTo
26
+ }
27
+ }
28
+ }
29
+ ad {
30
+ id
31
+ title
32
+ description
33
+ buttonText
34
+ buttonUrl
35
+ openLinkInNewWindow
36
+ type
37
+ media {
38
+ url
39
+ thumbnailUrl
40
+ type
41
+ }
42
+ }
43
+ postData {
44
+ media {
45
+ url(scale: $image_scale)
46
+ thumbnailUrl(scale: $image_scale)
47
+ type
48
+ }
49
+ shortVideoData {
50
+ text
51
+ }
52
+ }
53
+ }
@@ -0,0 +1,12 @@
1
+ import type { IShortVideoProductLocalization } from './short-video-product-localization.svelte';
2
+ export interface IShortVideoAttachmentsLocalization {
3
+ productsSection?: string;
4
+ offersSection?: string;
5
+ productLocalization?: IShortVideoProductLocalization;
6
+ }
7
+ export declare class ShortVideoAttachmentsLocalizationSvelte {
8
+ productsSection: string;
9
+ offersSection: string;
10
+ productLocalization: IShortVideoProductLocalization | undefined;
11
+ constructor(init?: IShortVideoAttachmentsLocalization);
12
+ }
@@ -0,0 +1,10 @@
1
+ export class ShortVideoAttachmentsLocalizationSvelte {
2
+ productsSection = $state('Products');
3
+ offersSection = $state('Offers');
4
+ productLocalization = $state(undefined);
5
+ constructor(init) {
6
+ this.productsSection = init?.productsSection || this.productsSection;
7
+ this.offersSection = init?.offersSection || this.offersSection;
8
+ this.productLocalization = init?.productLocalization;
9
+ }
10
+ }