@streamscloud/embeddable 1.2.0 → 2.0.0

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 (247) hide show
  1. package/dist/core/enums.d.ts +33 -0
  2. package/dist/core/enums.js +39 -0
  3. package/dist/core/graphql.d.ts +1 -1
  4. package/dist/core/graphql.js +2 -2
  5. package/dist/core/media/images-size-detector.service.d.ts +1 -1
  6. package/dist/core/media/images-size-detector.service.js +1 -1
  7. package/dist/core/media/index.d.ts +1 -1
  8. package/dist/core/media/index.js +1 -1
  9. package/dist/core/media/media-item-url.service.js +2 -1
  10. package/dist/core/media/types.d.ts +1 -16
  11. package/dist/core/media/types.js +1 -19
  12. package/dist/index.d.ts +1 -3
  13. package/dist/index.js +1 -3
  14. package/dist/products/price-helper.d.ts +2 -2
  15. package/dist/products/price-helper.js +20 -9
  16. package/dist/short-videos/short-video-viewer/cmp.ad.svelte +74 -0
  17. package/dist/{advertising/ad-view/cmp.ad-view.svelte.d.ts → short-videos/short-video-viewer/cmp.ad.svelte.d.ts} +2 -3
  18. package/dist/short-videos/short-video-viewer/cmp.attachments-inline.svelte +70 -0
  19. package/dist/{streams/components/images/cmp.images-component.svelte.d.ts → short-videos/short-video-viewer/cmp.attachments-inline.svelte.d.ts} +2 -2
  20. package/dist/short-videos/short-video-viewer/cmp.attachments.svelte +45 -48
  21. package/dist/short-videos/short-video-viewer/cmp.attachments.svelte.d.ts +4 -2
  22. package/dist/{streams/components/product/cmp.product-component.svelte → short-videos/short-video-viewer/cmp.product.svelte} +34 -26
  23. package/dist/short-videos/short-video-viewer/cmp.product.svelte.d.ts +10 -0
  24. package/dist/short-videos/short-video-viewer/cmp.short-video-details.svelte +31 -52
  25. package/dist/short-videos/short-video-viewer/cmp.short-video-details.svelte.d.ts +1 -1
  26. package/dist/short-videos/short-video-viewer/cmp.short-video-viewer.svelte +6 -6
  27. package/dist/short-videos/short-video-viewer/index.d.ts +6 -3
  28. package/dist/short-videos/short-video-viewer/index.js +4 -2
  29. package/dist/short-videos/short-video-viewer/mapper.js +35 -7
  30. package/dist/short-videos/short-video-viewer/operations.generated.d.ts +1 -1
  31. package/dist/short-videos/short-video-viewer/operations.generated.js +67 -103
  32. package/dist/short-videos/short-video-viewer/operations.graphql +29 -2
  33. package/dist/short-videos/short-video-viewer/short-video-attachments-localization.svelte.d.ts +12 -0
  34. package/dist/short-videos/short-video-viewer/short-video-attachments-localization.svelte.js +10 -0
  35. package/dist/short-videos/short-video-viewer/short-video-details-localization.svelte.d.ts +3 -4
  36. package/dist/short-videos/short-video-viewer/short-video-details-localization.svelte.js +4 -15
  37. package/dist/short-videos/short-video-viewer/short-video-product-localization.svelte.d.ts +7 -0
  38. package/dist/{products/product-card/product-card-localization.svelte.js → short-videos/short-video-viewer/short-video-product-localization.svelte.js} +1 -1
  39. package/dist/short-videos/short-video-viewer/short-video-viewer-localization.svelte.d.ts +3 -0
  40. package/dist/short-videos/short-video-viewer/short-video-viewer-localization.svelte.js +4 -7
  41. package/dist/short-videos/short-video-viewer/types.d.ts +29 -6
  42. package/dist/short-videos/short-videos-player/cmp.short-videos-player.svelte +4 -4
  43. package/dist/short-videos/short-videos-player/cmp.short-videos-player.svelte.d.ts +2 -2
  44. package/dist/short-videos/short-videos-player/controls.svelte +42 -35
  45. package/dist/short-videos/short-videos-player/controls.svelte.d.ts +1 -1
  46. package/dist/short-videos/short-videos-player/index.d.ts +28 -2
  47. package/dist/short-videos/short-videos-player/index.js +40 -1
  48. package/dist/short-videos/short-videos-player/short-videos-player-localization.svelte.d.ts +3 -9
  49. package/dist/short-videos/short-videos-player/short-videos-player-localization.svelte.js +2 -17
  50. package/dist/streams/layout/cmp.layout.svelte +34 -0
  51. package/dist/streams/{slots/cmp.stream-component-slot.svelte.d.ts → layout/cmp.layout.svelte.d.ts} +2 -2
  52. package/dist/streams/layout/cmp.slot-content.svelte +32 -0
  53. package/dist/streams/layout/cmp.slot-content.svelte.d.ts +9 -0
  54. package/dist/streams/layout/cmp.slot.svelte +26 -0
  55. package/dist/streams/layout/cmp.slot.svelte.d.ts +9 -0
  56. package/dist/streams/layout/component.d.ts +6 -0
  57. package/dist/streams/layout/component.js +1 -0
  58. package/dist/streams/layout/css-values.d.ts +10 -0
  59. package/dist/streams/layout/css-values.js +1 -0
  60. package/dist/streams/layout/element-views/cmp.container-stream-element.svelte +16 -0
  61. package/dist/streams/layout/element-views/cmp.container-stream-element.svelte.d.ts +11 -0
  62. package/dist/streams/layout/element-views/cmp.image-ref-stream-element.svelte +38 -0
  63. package/dist/streams/layout/element-views/cmp.image-ref-stream-element.svelte.d.ts +9 -0
  64. package/dist/streams/layout/element-views/cmp.images-stream-element.svelte +30 -0
  65. package/dist/streams/layout/element-views/cmp.images-stream-element.svelte.d.ts +9 -0
  66. package/dist/streams/layout/element-views/cmp.price-stream-element.svelte +97 -0
  67. package/dist/streams/layout/element-views/cmp.price-stream-element.svelte.d.ts +11 -0
  68. package/dist/streams/layout/element-views/cmp.short-video-stream-element.svelte +6 -0
  69. package/dist/streams/{components/product/cmp.product-component.svelte.d.ts → layout/element-views/cmp.short-video-stream-element.svelte.d.ts} +2 -3
  70. package/dist/streams/layout/element-views/cmp.spacer-stream-element.svelte +45 -0
  71. package/dist/streams/layout/element-views/cmp.spacer-stream-element.svelte.d.ts +9 -0
  72. package/dist/streams/layout/element-views/cmp.stream-element.svelte +60 -0
  73. package/dist/streams/layout/element-views/cmp.stream-element.svelte.d.ts +13 -0
  74. package/dist/streams/layout/element-views/cmp.text-ref-stream-element.svelte +23 -0
  75. package/dist/streams/layout/element-views/cmp.text-ref-stream-element.svelte.d.ts +9 -0
  76. package/dist/streams/layout/element-views/cmp.text-stream-element.svelte +8 -0
  77. package/dist/{ui/shadow-dom/cmp.shadow-dom.svelte.d.ts → streams/layout/element-views/cmp.text-stream-element.svelte.d.ts} +2 -2
  78. package/dist/streams/layout/element-views/data-by-key-accessor.d.ts +3 -0
  79. package/dist/streams/layout/element-views/data-by-key-accessor.js +55 -0
  80. package/dist/streams/layout/element-views/index.d.ts +11 -0
  81. package/dist/streams/layout/element-views/index.js +9 -0
  82. package/dist/streams/layout/element-views/price-stream-element-localization.svelte.d.ts +9 -0
  83. package/dist/streams/layout/element-views/price-stream-element-localization.svelte.js +8 -0
  84. package/dist/streams/layout/element-views/stream-element-localization.svelte.d.ts +8 -0
  85. package/dist/streams/layout/element-views/stream-element-localization.svelte.js +6 -0
  86. package/dist/streams/layout/elements.d.ts +51 -0
  87. package/dist/streams/layout/elements.js +1 -0
  88. package/dist/streams/layout/enums.d.ts +45 -0
  89. package/dist/streams/layout/enums.js +54 -0
  90. package/dist/streams/layout/index.d.ts +19 -0
  91. package/dist/streams/layout/index.js +15 -0
  92. package/dist/streams/layout/layout.d.ts +13 -0
  93. package/dist/streams/layout/models/index.d.ts +6 -0
  94. package/dist/streams/layout/models/index.js +1 -0
  95. package/dist/streams/layout/models/mapper.d.ts +3 -0
  96. package/dist/streams/layout/models/mapper.js +62 -0
  97. package/dist/streams/layout/models/stream-layout-blob-model.d.ts +4 -0
  98. package/dist/streams/layout/models/stream-layout-media-item-model.d.ts +6 -0
  99. package/dist/streams/layout/models/stream-layout-media-item-model.js +1 -0
  100. package/dist/streams/layout/models/stream-layout-post-header-model.d.ts +11 -0
  101. package/dist/streams/layout/models/stream-layout-post-header-model.js +1 -0
  102. package/dist/streams/layout/models/stream-layout-product-model.d.ts +19 -0
  103. package/dist/streams/layout/models/stream-layout-product-model.js +1 -0
  104. package/dist/streams/layout/models/stream-layout-short-video-model.d.ts +31 -0
  105. package/dist/streams/layout/models/stream-layout-short-video-model.js +1 -0
  106. package/dist/streams/layout/serializer.d.ts +3 -0
  107. package/dist/streams/layout/serializer.js +6 -0
  108. package/dist/streams/layout/slot-data-input.d.ts +14 -0
  109. package/dist/streams/layout/slot-data-input.js +1 -0
  110. package/dist/streams/layout/slot-data.d.ts +18 -0
  111. package/dist/streams/layout/slot-data.js +1 -0
  112. package/dist/streams/layout/slot.d.ts +16 -0
  113. package/dist/streams/layout/slot.js +1 -0
  114. package/dist/streams/layout/styles-transformer.d.ts +13 -0
  115. package/dist/streams/layout/styles-transformer.js +140 -0
  116. package/dist/streams/layout/styles.d.ts +43 -0
  117. package/dist/streams/layout/styles.js +1 -0
  118. package/dist/streams/layout/type-guards.d.ts +8 -0
  119. package/dist/streams/layout/type-guards.js +21 -0
  120. package/dist/streams/stream-page-viewer/cmp.stream-page-viewer.svelte +8 -42
  121. package/dist/streams/stream-page-viewer/cmp.stream-page-viewer.svelte.d.ts +0 -2
  122. package/dist/streams/stream-page-viewer/mapper.d.ts +1 -1
  123. package/dist/streams/stream-page-viewer/mapper.js +7 -8
  124. package/dist/streams/stream-page-viewer/operations.generated.d.ts +1 -104
  125. package/dist/streams/stream-page-viewer/operations.generated.js +2 -375
  126. package/dist/streams/stream-page-viewer/operations.graphql +1 -6
  127. package/dist/streams/stream-page-viewer/stream-page-viewer-localization.svelte.d.ts +3 -0
  128. package/dist/streams/stream-page-viewer/stream-page-viewer-localization.svelte.js +4 -7
  129. package/dist/streams/stream-page-viewer/types.d.ts +5 -5
  130. package/dist/streams/stream-player/cmp.stream-player.svelte +7 -3
  131. package/dist/streams/stream-player/controls.svelte +43 -35
  132. package/dist/streams/stream-player/index.d.ts +29 -2
  133. package/dist/streams/stream-player/index.js +44 -1
  134. package/dist/streams/stream-player/operations.generated.d.ts +1 -103
  135. package/dist/streams/stream-player/operations.generated.js +2 -375
  136. package/dist/streams/stream-player/stream-overview.svelte +2 -2
  137. package/dist/streams/stream-player/stream-player-buffer.svelte.d.ts +1 -1
  138. package/dist/streams/stream-player/stream-player-buffer.svelte.js +1 -1
  139. package/dist/streams/stream-player/stream-player-localization.svelte.d.ts +3 -9
  140. package/dist/streams/stream-player/stream-player-localization.svelte.js +4 -23
  141. package/dist/ui/media-item-view/cmp.media-item-view.svelte +2 -1
  142. package/dist/ui/media-item-view/cmp.media-item-view.svelte.d.ts +2 -1
  143. package/dist/ui/media-items-gallery/cmp.media-items-gallery.svelte +2 -1
  144. package/dist/ui/media-items-gallery/cmp.media-items-gallery.svelte.d.ts +2 -1
  145. package/dist/ui/shadow-dom/_normalize.scss +350 -0
  146. package/dist/ui/shadow-dom/_reset.scss +189 -0
  147. package/dist/ui/shadow-dom/index.d.ts +1 -1
  148. package/dist/ui/shadow-dom/index.js +1 -1
  149. package/dist/ui/shadow-dom/shadow-host.svelte.d.ts +8 -0
  150. package/dist/ui/shadow-dom/shadow-host.svelte.js +39 -0
  151. package/dist/ui/video/cmp.video.svelte +1 -1
  152. package/package.json +68 -26
  153. package/dist/advertising/ad-view/cmp.ad-view.svelte +0 -82
  154. package/dist/advertising/ad-view/index.d.ts +0 -2
  155. package/dist/advertising/ad-view/index.js +0 -1
  156. package/dist/advertising/ad-view/mapper.d.ts +0 -3
  157. package/dist/advertising/ad-view/mapper.js +0 -16
  158. package/dist/advertising/ad-view/operations.generated.d.ts +0 -17
  159. package/dist/advertising/ad-view/operations.generated.js +0 -46
  160. package/dist/advertising/ad-view/operations.graphql +0 -14
  161. package/dist/advertising/ad-view/types.d.ts +0 -10
  162. package/dist/advertising/index.d.ts +0 -1
  163. package/dist/advertising/index.js +0 -1
  164. package/dist/advertising/types.d.ts +0 -5
  165. package/dist/advertising/types.js +0 -6
  166. package/dist/products/index.d.ts +0 -1
  167. package/dist/products/index.js +0 -1
  168. package/dist/products/product-card/cmp.product-card.svelte +0 -121
  169. package/dist/products/product-card/cmp.product-card.svelte.d.ts +0 -10
  170. package/dist/products/product-card/index.d.ts +0 -3
  171. package/dist/products/product-card/index.js +0 -3
  172. package/dist/products/product-card/mapper.d.ts +0 -3
  173. package/dist/products/product-card/mapper.js +0 -14
  174. package/dist/products/product-card/operations.generated.d.ts +0 -22
  175. package/dist/products/product-card/operations.generated.js +0 -65
  176. package/dist/products/product-card/operations.graphql +0 -19
  177. package/dist/products/product-card/product-card-localization.svelte.d.ts +0 -7
  178. package/dist/products/product-card/types.d.ts +0 -10
  179. package/dist/products/product-card/types.js +0 -1
  180. package/dist/products/types.d.ts +0 -5
  181. package/dist/products/types.js +0 -6
  182. package/dist/short-videos/short-videos-player-modal/cmp.short-videos-player-modal.svelte +0 -486
  183. package/dist/short-videos/short-videos-player-modal/cmp.short-videos-player-modal.svelte.d.ts +0 -3
  184. package/dist/short-videos/short-videos-player-modal/index.d.ts +0 -79
  185. package/dist/short-videos/short-videos-player-modal/index.js +0 -78
  186. package/dist/short-videos/short-videos-player-modal/short-videos-player-modal-state.svelte.d.ts +0 -16
  187. package/dist/short-videos/short-videos-player-modal/short-videos-player-modal-state.svelte.js +0 -13
  188. package/dist/streams/components/cmp.stream-page-component.svelte +0 -16
  189. package/dist/streams/components/cmp.stream-page-component.svelte.d.ts +0 -10
  190. package/dist/streams/components/components.factory.d.ts +0 -22
  191. package/dist/streams/components/components.factory.js +0 -34
  192. package/dist/streams/components/images/cmp.images-component.svelte +0 -7
  193. package/dist/streams/components/images/index.d.ts +0 -2
  194. package/dist/streams/components/images/index.js +0 -1
  195. package/dist/streams/components/images/types.d.ts +0 -8
  196. package/dist/streams/components/images/types.js +0 -5
  197. package/dist/streams/components/index.d.ts +0 -7
  198. package/dist/streams/components/index.js +0 -6
  199. package/dist/streams/components/mapper.d.ts +0 -3
  200. package/dist/streams/components/mapper.js +0 -43
  201. package/dist/streams/components/operations.generated.d.ts +0 -178
  202. package/dist/streams/components/operations.generated.js +0 -653
  203. package/dist/streams/components/operations.graphql +0 -35
  204. package/dist/streams/components/product/index.d.ts +0 -3
  205. package/dist/streams/components/product/index.js +0 -2
  206. package/dist/streams/components/product/mapper.d.ts +0 -3
  207. package/dist/streams/components/product/mapper.js +0 -14
  208. package/dist/streams/components/product/operations.generated.d.ts +0 -22
  209. package/dist/streams/components/product/operations.generated.js +0 -53
  210. package/dist/streams/components/product/operations.graphql +0 -19
  211. package/dist/streams/components/product/types.d.ts +0 -10
  212. package/dist/streams/components/product/types.js +0 -1
  213. package/dist/streams/components/short-video/cmp.short-video-component.svelte +0 -9
  214. package/dist/streams/components/short-video/cmp.short-video-component.svelte.d.ts +0 -10
  215. package/dist/streams/components/short-video/index.d.ts +0 -3
  216. package/dist/streams/components/short-video/index.js +0 -2
  217. package/dist/streams/components/short-video/mapper.d.ts +0 -3
  218. package/dist/streams/components/short-video/mapper.js +0 -4
  219. package/dist/streams/components/short-video/operations.generated.d.ts +0 -56
  220. package/dist/streams/components/short-video/operations.generated.js +0 -193
  221. package/dist/streams/components/short-video/operations.graphql +0 -3
  222. package/dist/streams/components/short-video/types.d.ts +0 -2
  223. package/dist/streams/components/stream-components-localization.svelte.d.ts +0 -10
  224. package/dist/streams/components/stream-components-localization.svelte.js +0 -13
  225. package/dist/streams/components/types.d.ts +0 -27
  226. package/dist/streams/components/types.js +0 -6
  227. package/dist/streams/slots/cmp.stream-component-slot.svelte +0 -35
  228. package/dist/streams/slots/index.d.ts +0 -3
  229. package/dist/streams/slots/index.js +0 -2
  230. package/dist/streams/slots/mapper.d.ts +0 -3
  231. package/dist/streams/slots/mapper.js +0 -18
  232. package/dist/streams/slots/operations.generated.d.ts +0 -17
  233. package/dist/streams/slots/operations.generated.js +0 -34
  234. package/dist/streams/slots/operations.graphql +0 -14
  235. package/dist/streams/slots/styles-transformer.d.ts +0 -6
  236. package/dist/streams/slots/styles-transformer.js +0 -12
  237. package/dist/streams/slots/types.d.ts +0 -16
  238. package/dist/streams/slots/types.js +0 -1
  239. package/dist/streams/stream-player-modal/cmp.stream-player-modal.svelte +0 -487
  240. package/dist/streams/stream-player-modal/cmp.stream-player-modal.svelte.d.ts +0 -3
  241. package/dist/streams/stream-player-modal/index.d.ts +0 -79
  242. package/dist/streams/stream-player-modal/index.js +0 -78
  243. package/dist/streams/stream-player-modal/stream-player-modal-state.svelte.d.ts +0 -17
  244. package/dist/streams/stream-player-modal/stream-player-modal-state.svelte.js +0 -14
  245. package/dist/ui/shadow-dom/cmp.shadow-dom.svelte +0 -26
  246. /package/dist/{advertising/ad-view/types.js → streams/layout/layout.js} +0 -0
  247. /package/dist/streams/{components/short-video/types.js → layout/models/stream-layout-blob-model.js} +0 -0
@@ -1,8 +1,8 @@
1
1
  <script lang="ts">var _a, _b;
2
- import { MediaVolumeManager } from '../../ui/media-playback';
3
- import { ProductCard } from '../../products/product-card';
4
- import { ShortVideoDetails, ShortVideoViewerAttachments } from '../../short-videos/short-video-viewer';
2
+ import { ShortVideoDetails, ShortVideoViewerAttachmentsInline, ShortVideoViewerAttachments } from '../../short-videos/short-video-viewer';
3
+ import { mapToShortVideoViewerModel } from '../layout/models';
5
4
  import { Icon } from '../../ui/icon';
5
+ import { MediaVolumeManager } from '../../ui/media-playback';
6
6
  import { default as ActionButton } from './action-button.svelte';
7
7
  import { StreamPlayerLocalization } from './stream-player-localization.svelte';
8
8
  import IconChevronDown from '@fluentui/svg-icons/icons/chevron_down_20_regular.svg';
@@ -16,15 +16,15 @@ let { buffer, uiManager, localization, on } = $props();
16
16
  const toggleMuted = () => {
17
17
  MediaVolumeManager.isMuted = !MediaVolumeManager.isMuted;
18
18
  };
19
- const shortVideo = $derived(((_a = buffer.current) === null || _a === void 0 ? void 0 : _a.type) === 'short-video' && ((_b = buffer.current) === null || _b === void 0 ? void 0 : _b.shortVideo));
19
+ const shortVideo = $derived(((_a = buffer.current) === null || _a === void 0 ? void 0 : _a.type) === 'short-video' && ((_b = buffer.current) === null || _b === void 0 ? void 0 : _b.shortVideo) ? mapToShortVideoViewerModel(buffer.current.shortVideo) : null);
20
20
  </script>
21
21
 
22
22
  <div class="stream-player-controls">
23
23
  <div class="stream-player-controls__left">
24
24
  {#if shortVideo && uiManager.shortVideoDetailsCollapsed && !uiManager.showShortVideoOverlay}
25
25
  <div class="stream-player-controls__short-video-overlay">
26
- <div class="stream-player-controls__short-video-attachments">
27
- <ShortVideoViewerAttachments model={shortVideo} />
26
+ <div class="stream-player-controls__short-video-attachments-inline">
27
+ <ShortVideoViewerAttachmentsInline model={shortVideo} />
28
28
  </div>
29
29
  </div>
30
30
  {/if}
@@ -39,10 +39,8 @@ const shortVideo = $derived(((_a = buffer.current) === null || _a === void 0 ? v
39
39
  </div>
40
40
  <div class="stream-player-controls__right">
41
41
  {#if shortVideo && shortVideo.products}
42
- <div class="stream-player-controls__short-video-products">
43
- {#each shortVideo.products as product (product.id)}
44
- <ProductCard model={product} />
45
- {/each}
42
+ <div class="stream-player-controls__short-video-attachments">
43
+ <ShortVideoViewerAttachments shortVideo={shortVideo} localization={localization.shortVideoDetailsLocalization?.attachmentsLocalization} />
46
44
  </div>
47
45
  {/if}
48
46
  <div class="stream-player-controls__controls">
@@ -65,15 +63,7 @@ const shortVideo = $derived(((_a = buffer.current) === null || _a === void 0 ? v
65
63
  </div>
66
64
 
67
65
  {#if shortVideo && (!uiManager.isMobileView || uiManager.overviewCollapsed)}
68
- <ShortVideoDetails
69
- shortVideo={shortVideo}
70
- collapsed={uiManager.shortVideoDetailsCollapsed}
71
- localization={{
72
- productsSection: localization.productsSection,
73
- offersSection: localization.offersSection,
74
- viewsCount: localization.viewsCount,
75
- timeAgoLocalization: localization.timeAgoLocalization
76
- }} />
66
+ <ShortVideoDetails shortVideo={shortVideo} collapsed={uiManager.shortVideoDetailsCollapsed} localization={localization.shortVideoDetailsLocalization} />
77
67
  <div class="toggle-collapsed-button">
78
68
  <ActionButton on={{ click: () => (uiManager.shortVideoDetailsCollapsed = !uiManager.shortVideoDetailsCollapsed) }}>
79
69
  <Icon src={IconPanelRightGallery} />
@@ -154,31 +144,49 @@ const shortVideo = $derived(((_a = buffer.current) === null || _a === void 0 ? v
154
144
  --short-video-viewer--interactions--counter--color: #f3f4f6;
155
145
  --short-video-viewer--interactions--icon--font-color: #f3f4f6;
156
146
  }
157
- .stream-player-controls__short-video-attachments {
147
+ .stream-player-controls__short-video-attachments-inline {
158
148
  display: none;
159
149
  /* Set 'container-type: inline-size;' to reference container*/
160
150
  }
161
- @container (width < 16.25rem) {
162
- .stream-player-controls__short-video-attachments {
151
+ @container (width < calc(21.875rem + 3.75rem)) {
152
+ .stream-player-controls__short-video-attachments-inline {
163
153
  display: contents;
164
154
  }
165
155
  }
166
- .stream-player-controls__short-video-products {
156
+ .stream-player-controls__short-video-attachments {
167
157
  flex: 1;
168
- display: flex;
169
- flex-direction: column;
170
- gap: 1.5rem;
171
- flex-wrap: wrap;
172
- justify-content: flex-start;
173
- align-items: flex-end;
174
- overflow: hidden;
175
- width: 12.5rem;
176
- max-width: 12.5rem;
177
- --product-card--text--color: #d1d5db;
158
+ overflow-x: hidden;
159
+ overflow-y: auto;
160
+ scrollbar-color: transparent transparent;
161
+ scrollbar-width: thin;
162
+ width: 21.875rem;
163
+ max-width: 21.875rem;
178
164
  /* Set 'container-type: inline-size;' to reference container*/
179
165
  }
180
- @container (width < 16.25rem) {
181
- .stream-player-controls__short-video-products {
166
+ .stream-player-controls__short-video-attachments::-webkit-scrollbar {
167
+ width: 3px;
168
+ height: 3px;
169
+ background: var(--custom-scrollbar-background, transparent);
170
+ visibility: hidden;
171
+ }
172
+ .stream-player-controls__short-video-attachments::-webkit-scrollbar-thumb {
173
+ background: transparent;
174
+ }
175
+ .stream-player-controls__short-video-attachments:hover {
176
+ scrollbar-color: var(--custom-scrollbar-color, #7d7d7d) var(--custom-scrollbar-background, transparent);
177
+ scrollbar-width: thin;
178
+ }
179
+ .stream-player-controls__short-video-attachments:hover::-webkit-scrollbar {
180
+ width: 3px;
181
+ height: 3px;
182
+ background: var(--custom-scrollbar-background, transparent);
183
+ visibility: hidden;
184
+ }
185
+ .stream-player-controls__short-video-attachments:hover::-webkit-scrollbar-thumb {
186
+ background: var(--custom-scrollbar-color, #7d7d7d);
187
+ }
188
+ @container (width < calc(21.875rem + 3.75rem)) {
189
+ .stream-player-controls__short-video-attachments {
182
190
  display: none;
183
191
  }
184
192
  }
@@ -1,2 +1,29 @@
1
- export { default as StreamPlayer } from './cmp.stream-player.svelte';
2
- export type { IStreamPlayerLocalization } from './stream-player-localization.svelte';
1
+ import type { IStreamPlayerLocalization } from './stream-player-localization.svelte';
2
+ export type { IStreamPlayerLocalization };
3
+ /**
4
+ * Opens the stream player modal with the specified stream details.
5
+ *
6
+ * @param init - Configuration options.
7
+ * @param {string} init.streamId - The ID of the stream to open.
8
+ * @param {string} init.graphqlUrl - The URL of the GraphQL endpoint.
9
+ * @param {IStreamPlayerLocalization} [init.localization] - Optional localization settings for the player UI.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import { openStreamPlayer } from '@streamscloud/embeddable/stream-player';
14
+ *
15
+ * openStreamPlayer({
16
+ * streamId: '...',
17
+ * graphqlUrl: 'https://api.example.com/graphql',
18
+ * localization: {
19
+ * play: 'Play',
20
+ * pause: 'Pause'
21
+ * }
22
+ * });
23
+ * ```
24
+ */
25
+ export declare const openStreamPlayer: (init: {
26
+ streamId: string;
27
+ graphqlUrl: string;
28
+ localization?: IStreamPlayerLocalization;
29
+ }) => void;
@@ -1 +1,44 @@
1
- export { default as StreamPlayer } from './cmp.stream-player.svelte';
1
+ import { createLocalGQLClient } from '../../core/graphql';
2
+ import { ShadowHost } from '../../ui/shadow-dom';
3
+ import { default as StreamPlayer } from './cmp.stream-player.svelte';
4
+ import { mount } from 'svelte';
5
+ /**
6
+ * Opens the stream player modal with the specified stream details.
7
+ *
8
+ * @param init - Configuration options.
9
+ * @param {string} init.streamId - The ID of the stream to open.
10
+ * @param {string} init.graphqlUrl - The URL of the GraphQL endpoint.
11
+ * @param {IStreamPlayerLocalization} [init.localization] - Optional localization settings for the player UI.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * import { openStreamPlayer } from '@streamscloud/embeddable/stream-player';
16
+ *
17
+ * openStreamPlayer({
18
+ * streamId: '...',
19
+ * graphqlUrl: 'https://api.example.com/graphql',
20
+ * localization: {
21
+ * play: 'Play',
22
+ * pause: 'Pause'
23
+ * }
24
+ * });
25
+ * ```
26
+ */
27
+ export const openStreamPlayer = (init) => {
28
+ const { streamId, graphqlUrl, localization } = init;
29
+ const shadowHost = new ShadowHost();
30
+ mount(StreamPlayer, {
31
+ target: shadowHost.shadowRoot,
32
+ props: {
33
+ streamId,
34
+ graphql: createLocalGQLClient(graphqlUrl),
35
+ localization,
36
+ on: {
37
+ closePlayer: () => {
38
+ shadowHost.remove();
39
+ }
40
+ }
41
+ }
42
+ });
43
+ shadowHost.attachToBody();
44
+ };
@@ -31,112 +31,10 @@ export type GetStreamPagesQuery = {
31
31
  items: Array<{
32
32
  id: string;
33
33
  name: string | null;
34
+ layout: string;
34
35
  cover: {
35
36
  url: string;
36
37
  } | null;
37
- components: Array<{
38
- slotId: string;
39
- type: SchemaTypes.StreamComponentType;
40
- params: {
41
- shortVideo: {
42
- data: {
43
- id: string;
44
- enableSocialInteractions: boolean;
45
- postHeading: {
46
- sourceImage: string | null;
47
- sourceName: string;
48
- postDisplayDate: any;
49
- postViewsCount: number;
50
- };
51
- allProducts: Array<{
52
- title: string;
53
- id: string;
54
- link: string | null;
55
- media: Array<{
56
- url: string;
57
- thumbnailUrl: string | null;
58
- type: SchemaTypes.MediaType;
59
- }>;
60
- priceAndAvailability: {
61
- currency: SchemaTypes.Currency;
62
- price: number;
63
- productSalePrices: Array<{
64
- salePrice: number;
65
- salePriceEffectiveDateFrom: any | null;
66
- salePriceEffectiveDateTo: any | null;
67
- }> | null;
68
- };
69
- }>;
70
- ad: {
71
- id: string;
72
- title: string;
73
- description: string | null;
74
- buttonText: string | null;
75
- buttonUrl: string | null;
76
- openLinkInNewWindow: boolean | null;
77
- type: SchemaTypes.AdType;
78
- media: Array<{
79
- type: SchemaTypes.MediaType;
80
- url: string;
81
- thumbnailUrl: string | null;
82
- }>;
83
- } | null;
84
- postData: {
85
- media: Array<{
86
- url: string;
87
- thumbnailUrl: string | null;
88
- type: SchemaTypes.MediaType;
89
- }>;
90
- shortVideoData: {
91
- text: string | null;
92
- } | null;
93
- };
94
- } | null;
95
- } | null;
96
- images: {
97
- mode: SchemaTypes.StreamMediaComponentMode;
98
- images: Array<{
99
- id: string;
100
- url: string;
101
- }>;
102
- } | null;
103
- product: {
104
- data: {
105
- title: string;
106
- id: string;
107
- link: string | null;
108
- media: Array<{
109
- url: string;
110
- thumbnailUrl: string | null;
111
- type: SchemaTypes.MediaType;
112
- }>;
113
- priceAndAvailability: {
114
- currency: SchemaTypes.Currency;
115
- price: number;
116
- productSalePrices: Array<{
117
- salePrice: number;
118
- salePriceEffectiveDateFrom: any | null;
119
- salePriceEffectiveDateTo: any | null;
120
- }> | null;
121
- };
122
- } | null;
123
- } | null;
124
- };
125
- }>;
126
- slots: Array<{
127
- id: string;
128
- allowedComponents: Array<SchemaTypes.StreamComponentType>;
129
- top: number;
130
- left: number;
131
- width: number;
132
- height: number;
133
- styles: {
134
- paddingTop: number;
135
- paddingRight: number;
136
- paddingBottom: number;
137
- paddingLeft: number;
138
- } | null;
139
- }>;
140
38
  }>;
141
39
  };
142
40
  };