@streamscloud/embeddable 12.1.0 → 13.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 (219) hide show
  1. package/dist/ads/ad-card/cmp.ad-card.svelte +4 -16
  2. package/dist/content-player/cmp.content-player.svelte +1 -1
  3. package/dist/content-player/content-player-config.svelte.d.ts +2 -12
  4. package/dist/content-player/content-player-config.svelte.js +1 -1
  5. package/dist/content-player/content-player-settings.svelte.d.ts +16 -0
  6. package/dist/content-player/content-player-settings.svelte.js +27 -0
  7. package/dist/content-player/controls-and-attachments.svelte +32 -2
  8. package/dist/content-player/controls-and-attachments.svelte.d.ts +1 -0
  9. package/dist/content-player/index.d.ts +1 -0
  10. package/dist/content-player/index.js +1 -0
  11. package/dist/content-player/overview-panel.svelte +2 -2
  12. package/dist/content-player/ui-manager.svelte.d.ts +2 -1
  13. package/dist/content-player/ui-manager.svelte.js +2 -1
  14. package/dist/core/enums.d.ts +3 -0
  15. package/dist/core/enums.js +4 -0
  16. package/dist/core/theme/index.d.ts +2 -0
  17. package/dist/core/theme/index.js +1 -0
  18. package/dist/core/theme/theme-store.svelte.d.ts +6 -0
  19. package/dist/core/theme/theme-store.svelte.js +10 -0
  20. package/dist/external-api/data-providers/index.d.ts +6 -0
  21. package/dist/external-api/data-providers/index.js +6 -0
  22. package/dist/external-api/data-providers/internal-media-center-data-provider.svelte.d.ts +15 -0
  23. package/dist/{media-center/config/internal-media-center-config.js → external-api/data-providers/internal-media-center-data-provider.svelte.js} +33 -17
  24. package/dist/{posts/handlers → external-api/data-providers}/internal-post-analytics-handler.d.ts +1 -1
  25. package/dist/{short-videos → external-api}/data-providers/internal-short-video-player-items-provider.js +1 -1
  26. package/dist/{streams/streams-player → external-api/data-providers}/internal-stream-analytics-handler.d.ts +1 -1
  27. package/dist/{streams/streams-player → external-api/data-providers}/internal-streams-player-data-provider.d.ts +1 -1
  28. package/dist/{streams/streams-player → external-api/data-providers}/internal-streams-player-data-provider.js +1 -1
  29. package/dist/{media-center/config → external-api/data-providers}/operations.generated.d.ts +6 -0
  30. package/dist/{media-center/config → external-api/data-providers}/operations.generated.js +13 -0
  31. package/dist/{media-center/config → external-api/data-providers}/operations.graphql +6 -0
  32. package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/mapper.d.ts +1 -1
  33. package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/mapper.js +2 -2
  34. package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/operations.generated.d.ts +1 -1
  35. package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/posts-loader.d.ts +2 -2
  36. package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/posts-loader.js +1 -1
  37. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/mapper.d.ts +1 -1
  38. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/mapper.js +1 -1
  39. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/operations.generated.d.ts +1 -1
  40. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/stream-pages-loader.d.ts +1 -1
  41. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/stream-pages-loader.js +2 -2
  42. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/streams-loader.d.ts +2 -2
  43. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/streams-loader.js +6 -2
  44. package/dist/external-api/index.d.ts +3 -0
  45. package/dist/external-api/index.js +3 -0
  46. package/dist/external-api/media-page/index.d.ts +83 -0
  47. package/dist/external-api/media-page/index.js +82 -0
  48. package/dist/{short-videos → external-api}/short-videos-player/index.d.ts +27 -12
  49. package/dist/{short-videos → external-api}/short-videos-player/index.js +35 -28
  50. package/dist/external-api/streams-player/index.d.ts +105 -0
  51. package/dist/external-api/streams-player/index.js +110 -0
  52. package/dist/media-center/config/types.d.ts +28 -27
  53. package/dist/media-center/index.d.ts +3 -1
  54. package/dist/media-center/media-center/cmp.media-center-proxy.svelte +59 -0
  55. package/dist/media-center/media-center/cmp.media-center-proxy.svelte.d.ts +15 -0
  56. package/dist/media-center/media-center/discover/community-features-localization.d.ts +8 -0
  57. package/dist/media-center/media-center/discover/community-features-localization.js +31 -0
  58. package/dist/media-center/media-center/discover/community-features.svelte +171 -0
  59. package/dist/media-center/media-center/discover/community-features.svelte.d.ts +11 -0
  60. package/dist/media-center/media-center/discover/data-loading.d.ts +3 -3
  61. package/dist/media-center/media-center/discover/data-loading.js +5 -5
  62. package/dist/media-center/media-center/discover/discover-header.svelte +13 -65
  63. package/dist/media-center/media-center/discover/discover-header.svelte.d.ts +0 -2
  64. package/dist/media-center/media-center/discover/discover-view-handler.svelte.d.ts +3 -3
  65. package/dist/media-center/media-center/discover/discover-view-handler.svelte.js +4 -4
  66. package/dist/media-center/media-center/discover/discover-view.svelte +6 -6
  67. package/dist/media-center/media-center/discover/discover-view.svelte.d.ts +0 -2
  68. package/dist/media-center/media-center/feed/feed-handler.svelte.d.ts +5 -3
  69. package/dist/media-center/media-center/feed/feed-handler.svelte.js +18 -10
  70. package/dist/media-center/media-center/feed/feed-providers-generator.d.ts +11 -5
  71. package/dist/media-center/media-center/feed/feed-providers-generator.js +13 -9
  72. package/dist/media-center/media-center/footer/index.d.ts +1 -0
  73. package/dist/media-center/media-center/footer/index.js +1 -0
  74. package/dist/media-center/media-center/{header-footer → footer}/media-center-footer.svelte +5 -5
  75. package/dist/media-center/media-center/handlers/categories-handler.svelte.d.ts +3 -5
  76. package/dist/media-center/media-center/handlers/categories-handler.svelte.js +16 -13
  77. package/dist/media-center/media-center/handlers/media-center-settings-handler.svelte.d.ts +18 -5
  78. package/dist/media-center/media-center/handlers/media-center-settings-handler.svelte.js +21 -9
  79. package/dist/media-center/media-center/{header-footer → header}/index.d.ts +0 -1
  80. package/dist/media-center/media-center/{header-footer → header}/index.js +0 -1
  81. package/dist/media-center/media-center/{header-footer → header}/media-center-header-mobile.svelte +5 -4
  82. package/dist/media-center/media-center/{header-footer → header}/media-center-header.svelte +138 -35
  83. package/dist/media-center/media-center/{header-footer → header}/media-center-header.svelte.d.ts +2 -2
  84. package/dist/media-center/media-center/index.d.ts +2 -1
  85. package/dist/media-center/media-center/index.js +2 -1
  86. package/dist/media-center/media-center/media-center-context.svelte.d.ts +16 -20
  87. package/dist/media-center/media-center/media-center-context.svelte.js +61 -19
  88. package/dist/media-center/media-center/media-center-settings.svelte.d.ts +11 -0
  89. package/dist/media-center/media-center/media-center-settings.svelte.js +23 -0
  90. package/dist/media-center/media-center/{cmp.media-center.svelte → media-center-view.svelte} +65 -108
  91. package/dist/media-center/media-center/media-center-view.svelte.d.ts +9 -0
  92. package/dist/media-center/media-center/menu/category-following-wrapper.svelte.d.ts +1 -1
  93. package/dist/media-center/media-center/menu/menu.svelte +40 -35
  94. package/dist/media-center/media-center/menu/menu.svelte.d.ts +0 -2
  95. package/dist/media-center/media-center/menu/popular-streams-panel-handler.svelte.d.ts +3 -3
  96. package/dist/media-center/media-center/menu/popular-streams-panel-handler.svelte.js +4 -4
  97. package/dist/media-center/media-center/moments/cmp.moments-circle.svelte +24 -7
  98. package/dist/media-center/media-center/moments/index.d.ts +1 -0
  99. package/dist/media-center/media-center/moments/index.js +1 -0
  100. package/dist/media-center/media-center/moments/moments-feed-handler.svelte.d.ts +26 -0
  101. package/dist/media-center/media-center/moments/moments-feed-handler.svelte.js +49 -0
  102. package/dist/media-center/media-center/moments/moments-state.svelte.d.ts +20 -0
  103. package/dist/media-center/media-center/moments/moments-state.svelte.js +82 -0
  104. package/dist/media-center/media-center/streams-in-category/streams-in-category-panel-handler.svelte.d.ts +3 -3
  105. package/dist/media-center/media-center/streams-in-category/streams-in-category-panel-handler.svelte.js +4 -4
  106. package/dist/media-center/media-center/streams-in-category/streams-in-category-panel.svelte +2 -3
  107. package/dist/media-center/media-center/types.d.ts +4 -11
  108. package/dist/media-center/membership/index.d.ts +1 -0
  109. package/dist/media-center/membership/index.js +1 -0
  110. package/dist/media-center/membership/mock-membership-handler.svelte.d.ts +10 -0
  111. package/dist/media-center/membership/mock-membership-handler.svelte.js +21 -0
  112. package/dist/media-center/membership/types.d.ts +10 -0
  113. package/dist/media-center/membership/types.js +1 -0
  114. package/dist/media-center/navigation/index.d.ts +2 -0
  115. package/dist/media-center/navigation/index.js +1 -0
  116. package/dist/media-center/navigation/media-center-state.d.ts +19 -0
  117. package/dist/media-center/navigation/media-center-state.js +1 -0
  118. package/dist/media-center/navigation/mock-navigation-handler.svelte.d.ts +6 -0
  119. package/dist/media-center/navigation/mock-navigation-handler.svelte.js +6 -0
  120. package/dist/media-center/navigation/types.d.ts +5 -0
  121. package/dist/media-center/navigation/types.js +1 -0
  122. package/dist/media-page/cmp.media-page.svelte +45 -0
  123. package/dist/media-page/cmp.media-page.svelte.d.ts +11 -0
  124. package/dist/media-page/index.d.ts +42 -58
  125. package/dist/media-page/index.js +131 -17
  126. package/dist/posts/attachments/cmp.attachments.svelte +1 -1
  127. package/dist/posts/controls/cmp.controls.svelte +4 -1
  128. package/dist/posts/controls/cmp.controls.svelte.d.ts +2 -0
  129. package/dist/posts/post-viewer/attachments-horizontal.svelte +4 -12
  130. package/dist/posts/post-viewer/heading.svelte +4 -4
  131. package/dist/posts/post-viewer/media/post-media.svelte +1 -1
  132. package/dist/posts/post-viewer/post-texts.svelte +2 -2
  133. package/dist/posts/posts-player/cmp.posts-player.svelte.d.ts +1 -0
  134. package/dist/posts/posts-player/index.d.ts +31 -32
  135. package/dist/posts/posts-player/index.js +90 -35
  136. package/dist/posts/posts-player/posts-player-proxy.svelte +13 -4
  137. package/dist/posts/posts-player/posts-player-proxy.svelte.d.ts +1 -0
  138. package/dist/posts/posts-player/posts-player-view.svelte +1 -1
  139. package/dist/posts/posts-player/types.d.ts +2 -1
  140. package/dist/products/product-card/cmp.product-card.svelte +4 -16
  141. package/dist/short-videos/short-video-card/cmp.short-video-card.svelte +6 -6
  142. package/dist/streams/layout/styles-transformer.d.ts +1 -1
  143. package/dist/streams/stream-card/cmp.stream-card.svelte +1 -1
  144. package/dist/streams/streams-player/cmp.streams-player.svelte +42 -0
  145. package/dist/streams/streams-player/cmp.streams-player.svelte.d.ts +24 -0
  146. package/dist/streams/streams-player/index.d.ts +18 -83
  147. package/dist/streams/streams-player/index.js +85 -65
  148. package/dist/streams/streams-player/stream-overview.svelte +1 -1
  149. package/dist/streams/streams-player/streams-player-buffer.svelte.js +2 -1
  150. package/dist/streams/streams-player/streams-player-proxy.svelte +32 -0
  151. package/dist/streams/streams-player/streams-player-proxy.svelte.d.ts +26 -0
  152. package/dist/streams/streams-player/streams-player-view.svelte +1 -1
  153. package/dist/streams/streams-player/types.d.ts +3 -1
  154. package/dist/ui/button/cmp.options-button.svelte +123 -0
  155. package/dist/ui/button/cmp.options-button.svelte.d.ts +20 -0
  156. package/dist/ui/button/index.d.ts +1 -0
  157. package/dist/ui/button/index.js +1 -0
  158. package/dist/ui/button/resources/button-theme.svelte +6 -143
  159. package/dist/ui/button/resources/button-types.d.ts +0 -1
  160. package/dist/ui/button/resources/button-types.js +0 -1
  161. package/dist/ui/icon/cmp.icon.svelte +8 -28
  162. package/dist/ui/image/cmp.image-rounded.svelte +3 -10
  163. package/dist/ui/image/cmp.image-stub.svelte +1 -4
  164. package/dist/ui/image/cmp.image.svelte +1 -4
  165. package/dist/ui/loading/cmp.loading.svelte +1 -4
  166. package/dist/ui/player/button/cmp.mobile-player-buttons-group.svelte +2 -2
  167. package/dist/ui/player/button/cmp.mobile-player-buttons-group.svelte.d.ts +2 -2
  168. package/dist/ui/player/button/cmp.player-button.svelte +7 -3
  169. package/dist/ui/player/button/cmp.player-buttons-group.svelte +4 -3
  170. package/dist/ui/player/button/cmp.player-buttons-group.svelte.d.ts +2 -2
  171. package/dist/ui/player/button/index.d.ts +1 -1
  172. package/dist/ui/player/button/types.d.ts +1 -1
  173. package/dist/ui/player/colors/index.d.ts +1 -1
  174. package/dist/ui/player/colors/index.js +1 -1
  175. package/dist/ui/player/colors/player-colors.d.ts +15 -1
  176. package/dist/ui/player/colors/player-colors.js +24 -1
  177. package/dist/ui/player/providers/default-chunks-player-buffer.svelte.d.ts +1 -0
  178. package/dist/ui/player/providers/default-chunks-player-buffer.svelte.js +7 -1
  179. package/dist/ui/player/providers/default-feed-player-buffer.svelte.d.ts +1 -0
  180. package/dist/ui/player/providers/default-feed-player-buffer.svelte.js +7 -1
  181. package/dist/ui/player/providers/types.d.ts +3 -1
  182. package/dist/ui/shadow-dom/cmp.shadow-root.svelte +158 -0
  183. package/dist/ui/shadow-dom/colors.scss +74 -0
  184. package/dist/ui/shadow-dom/index.d.ts +1 -0
  185. package/dist/ui/shadow-dom/index.js +1 -0
  186. package/dist/ui/shadow-dom/shadow-root-service.js +0 -4
  187. package/dist/ui/slider/cmp.slider.svelte +5 -5
  188. package/package.json +5 -1
  189. package/dist/content-player/content-player-settings.d.ts +0 -12
  190. package/dist/content-player/content-player-settings.js +0 -22
  191. package/dist/media-center/config/internal-media-center-config.d.ts +0 -14
  192. package/dist/media-center/media-center/cmp.media-center.svelte.d.ts +0 -4
  193. package/dist/media-center/media-center/discover/discover-header-localization.d.ts +0 -6
  194. package/dist/media-center/media-center/discover/discover-header-localization.js +0 -15
  195. package/dist/posts/handlers/index.d.ts +0 -1
  196. package/dist/posts/handlers/index.js +0 -1
  197. package/dist/short-videos/data-providers/index.d.ts +0 -1
  198. package/dist/short-videos/data-providers/index.js +0 -1
  199. package/dist/ui/with-background/cmp.with-background.svelte +0 -86
  200. package/dist/ui/with-background/index.d.ts +0 -1
  201. package/dist/ui/with-background/index.js +0 -1
  202. /package/dist/{media-center/config → external-api/data-providers}/internal-media-center-analytics-handler.d.ts +0 -0
  203. /package/dist/{media-center/config → external-api/data-providers}/internal-media-center-analytics-handler.js +0 -0
  204. /package/dist/{posts/handlers → external-api/data-providers}/internal-post-analytics-handler.js +0 -0
  205. /package/dist/{short-videos → external-api}/data-providers/internal-short-video-player-items-provider.d.ts +0 -0
  206. /package/dist/{streams/streams-player → external-api/data-providers}/internal-stream-analytics-handler.js +0 -0
  207. /package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/index.d.ts +0 -0
  208. /package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/index.js +0 -0
  209. /package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/operations.generated.js +0 -0
  210. /package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/operations.graphql +0 -0
  211. /package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/index.d.ts +0 -0
  212. /package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/index.js +0 -0
  213. /package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/operations.generated.js +0 -0
  214. /package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/operations.graphql +0 -0
  215. /package/dist/media-center/media-center/{header-footer → footer}/media-center-footer.svelte.d.ts +0 -0
  216. /package/dist/media-center/media-center/{header-footer → header}/media-center-header-localization.d.ts +0 -0
  217. /package/dist/media-center/media-center/{header-footer → header}/media-center-header-localization.js +0 -0
  218. /package/dist/media-center/media-center/{header-footer → header}/media-center-header-mobile.svelte.d.ts +0 -0
  219. /package/dist/ui/{with-background/cmp.with-background.svelte.d.ts → shadow-dom/cmp.shadow-root.svelte.d.ts} +0 -0
@@ -102,8 +102,8 @@ const styles = $derived.by(() => {
102
102
  }
103
103
  }
104
104
  .ad-card {
105
- --_ad-card--background-color: var(--ad-card--background-color, rgb(from #ffffff r g b/90%));
106
- --_ad-card--border-color: var(--ad-card--background-color, #f2f2f3);
105
+ --_ad-card--background-color: var(--ad-card--background-color, rgb(from var(--sc-mc-color--bg-card) r g b/90%));
106
+ --_ad-card--border-color: var(--ad-card--background-color, var(--sc-mc-color--border-card));
107
107
  --_ad-card--price-color: var(--ad-card--price-color, inherit);
108
108
  width: 100%;
109
109
  height: max-content;
@@ -112,7 +112,6 @@ const styles = $derived.by(() => {
112
112
  position: relative;
113
113
  container-type: inline-size;
114
114
  aspect-ratio: 9/16;
115
- color: #000000;
116
115
  background-color: var(--_ad-card--background-color);
117
116
  border: 1px solid var(--_ad-card--border-color);
118
117
  border-radius: 0.5rem;
@@ -121,11 +120,6 @@ const styles = $derived.by(() => {
121
120
  gap: 0.5rem;
122
121
  /* Set 'container-type: inline-size;' to reference container*/
123
122
  }
124
- :global([data-theme="dark"]) .ad-card {
125
- --_ad-card--background-color: var(--ad-card--background-color, rgb(from #121212 r g b/90%));
126
- --_ad-card--border-color: var(--ad-card--background-color, #1e1e1e);
127
- color: #ffffff;
128
- }
129
123
  @container (width < 230px) {
130
124
  .ad-card {
131
125
  padding: 0.5rem 0.5rem 0.75rem;
@@ -221,7 +215,7 @@ const styles = $derived.by(() => {
221
215
  }
222
216
  .ad-card__description {
223
217
  font-weight: 400;
224
- color: #6b7280;
218
+ color: var(--sc-mc-color--text-secondary);
225
219
  font-size: 0.9375rem;
226
220
  line-height: 1.375rem;
227
221
  min-height: 1.375rem;
@@ -234,9 +228,6 @@ const styles = $derived.by(() => {
234
228
  min-height: 0.875rem;
235
229
  }
236
230
  }
237
- :global([data-theme="dark"]) .ad-card__description {
238
- color: #d1d5db;
239
- }
240
231
  .ad-card__price {
241
232
  font-size: 1.6875rem;
242
233
  font-weight: 700;
@@ -262,7 +253,7 @@ const styles = $derived.by(() => {
262
253
  line-height: 1.09125rem;
263
254
  letter-spacing: 0;
264
255
  text-align: right;
265
- color: #6b7280;
256
+ color: var(--sc-mc-color--text-secondary);
266
257
  white-space: nowrap;
267
258
  overflow: hidden;
268
259
  text-overflow: ellipsis;
@@ -276,9 +267,6 @@ const styles = $derived.by(() => {
276
267
  line-height: 0.875rem;
277
268
  }
278
269
  }
279
- :global([data-theme="dark"]) .ad-card__price-info-label {
280
- color: #d1d5db;
281
- }
282
270
  .ad-card__button {
283
271
  width: 100%;
284
272
  }
@@ -150,7 +150,7 @@ const handleSliderMounted = (node) => {
150
150
  {/if}
151
151
  </div>
152
152
 
153
- <ControlsAndAttachments config={config} />
153
+ <ControlsAndAttachments config={config} hasOverview={!!overviewPanelContent} />
154
154
  {:else}
155
155
  <Loading positionFixedCenter={true} timeout={1000} />
156
156
  {/if}
@@ -3,7 +3,7 @@ import type { IPostSocialInteractionsHandler } from '../posts/social-interaction
3
3
  import type { ICloseOrchestrator } from '../ui/player/close-orchestrator';
4
4
  import type { IPlayerBuffer } from '../ui/player/providers';
5
5
  import type { PlayerSliderCallbacks } from '../ui/player/slider/types';
6
- import { ContentPlayerSettings } from './content-player-settings';
6
+ import { ContentPlayerSettings } from './content-player-settings.svelte';
7
7
  import { ContentPlayerUIManager } from './ui-manager.svelte';
8
8
  export declare class ContentPlayerConfig<T extends {
9
9
  id: string;
@@ -28,17 +28,7 @@ export declare class ContentPlayerConfig<T extends {
28
28
  trackingParams?: ContentPlayerTrackingParams | null;
29
29
  closeOrchestrator: ICloseOrchestrator;
30
30
  });
31
- get playerColors(): {
32
- brand: string | null;
33
- button: string | null;
34
- buttonInactive: string | null;
35
- cardButton: string | null;
36
- cardBackground: string | null;
37
- playerBackground: string | null;
38
- price: string | null;
39
- salePrice: string | null;
40
- sidebarBackground: string | null;
41
- };
31
+ get playerColors(): import("../ui/player/colors").PlayerColors;
42
32
  get trackingParams(): ContentPlayerConfig<T>['_trackingParams'];
43
33
  itemAsPostViewerModel: (item: T & {
44
34
  mediaIndex?: number;
@@ -1,5 +1,5 @@
1
1
  import { PostModel } from '../posts/model';
2
- import { ContentPlayerSettings } from './content-player-settings';
2
+ import { ContentPlayerSettings } from './content-player-settings.svelte';
3
3
  import { ContentPlayerUIManager } from './ui-manager.svelte';
4
4
  export class ContentPlayerConfig {
5
5
  playerBuffer = $state.raw(null);
@@ -0,0 +1,16 @@
1
+ import type { Locale } from '../core/locale';
2
+ import { type ThemeValue } from '../core/theme';
3
+ import { PlayerColors } from '../ui/player/colors';
4
+ export declare class ContentPlayerSettings {
5
+ locale: Locale;
6
+ showStreamsCloudWatermark: boolean;
7
+ allPlayerColors: Record<ThemeValue, PlayerColors>;
8
+ constructor(init?: IContentPlayerSettings);
9
+ get playerColors(): PlayerColors;
10
+ patch: (settings?: IContentPlayerSettings) => void;
11
+ }
12
+ export type IContentPlayerSettings = {
13
+ locale?: Locale;
14
+ showStreamsCloudWatermark?: boolean;
15
+ playerColors?: Record<ThemeValue, PlayerColors>;
16
+ };
@@ -0,0 +1,27 @@
1
+ import { Theme } from '../core/theme';
2
+ import { PlayerColors } from '../ui/player/colors';
3
+ export class ContentPlayerSettings {
4
+ locale = $state('en');
5
+ showStreamsCloudWatermark = $state(false);
6
+ allPlayerColors = $state.raw({
7
+ light: new PlayerColors(null),
8
+ dark: new PlayerColors(null)
9
+ });
10
+ constructor(init) {
11
+ this.patch(init);
12
+ }
13
+ get playerColors() {
14
+ return this.allPlayerColors[Theme.get()];
15
+ }
16
+ patch = (settings) => {
17
+ if (settings?.locale !== undefined) {
18
+ this.locale = settings.locale;
19
+ }
20
+ if (settings?.showStreamsCloudWatermark !== undefined) {
21
+ this.showStreamsCloudWatermark = settings.showStreamsCloudWatermark;
22
+ }
23
+ if (settings?.playerColors !== undefined) {
24
+ this.allPlayerColors = settings.playerColors;
25
+ }
26
+ };
27
+ }
@@ -1,12 +1,14 @@
1
1
  <script lang="ts">import { slideHorizontally } from '../core/transitions';
2
2
  import { PostAttachments } from '../posts/attachments';
3
3
  import { PostControls } from '../posts/controls';
4
- import { PlayerButton } from '../ui/player/button';
4
+ import { IconColor } from '../ui/icon';
5
+ import { PlayerButton, PlayerButtonsGroup } from '../ui/player/button';
5
6
  import { ContentPlayerConfig } from './content-player-config.svelte';
7
+ import IconCalendarWeekNumbers from '@fluentui/svg-icons/icons/calendar_week_numbers_24_regular.svg?raw';
6
8
  import IconChevronDown from '@fluentui/svg-icons/icons/chevron_down_28_regular.svg?raw';
7
9
  import IconChevronUp from '@fluentui/svg-icons/icons/chevron_up_28_regular.svg?raw';
8
10
  import IconDismiss from '@fluentui/svg-icons/icons/dismiss_28_regular.svg?raw';
9
- let { config } = $props();
11
+ let { config, hasOverview } = $props();
10
12
  const uiManager = config.uiManager;
11
13
  let attachmentsCollapsed = $state(false);
12
14
  let closeButtonAreaHeight = $state(0);
@@ -17,6 +19,18 @@ const currentItemPostContainer = $derived.by(() => {
17
19
  }
18
20
  return config.itemAsPostViewerModel(config.playerBuffer.current);
19
21
  });
22
+ const extraActions = $derived.by(() => {
23
+ const actions = [];
24
+ if (hasOverview && uiManager.overviewCanBeShown) {
25
+ actions.push({
26
+ icon: IconCalendarWeekNumbers,
27
+ callback: () => {
28
+ uiManager.overviewCollapsed = !uiManager.overviewCollapsed;
29
+ }
30
+ });
31
+ }
32
+ return actions;
33
+ });
20
34
  const changeShowAttachments = () => {
21
35
  attachmentsCollapsed = !attachmentsCollapsed;
22
36
  };
@@ -68,7 +82,23 @@ const variables = $derived.by(() => {
68
82
  activeColor={config.playerColors.button}
69
83
  inactiveColor={config.playerColors.buttonInactive}
70
84
  socialInteractionsHandler={config.socialInteractionsHandler}
85
+ extraActions={extraActions}
71
86
  on={{ attachmentsClicked: changeShowAttachments }} />
87
+ {:else if extraActions.length}
88
+ {#if extraActions.length === 1}
89
+ <PlayerButton
90
+ scaleEffect={true}
91
+ activeColor={config.playerColors.button}
92
+ inactiveColor={config.playerColors.buttonInactive}
93
+ icon={extraActions[0].icon}
94
+ on={{ click: extraActions[0].callback }} />
95
+ {:else}
96
+ <PlayerButtonsGroup
97
+ scaleEffect={true}
98
+ activeColor={config.playerColors.button}
99
+ backgroundColor={config.playerColors.buttonInactive}
100
+ actions={extraActions} />
101
+ {/if}
72
102
  {/if}
73
103
  {#if config.playerBuffer}
74
104
  <div
@@ -4,6 +4,7 @@ declare class __sveltets_Render<T extends {
4
4
  }> {
5
5
  props(): {
6
6
  config: ContentPlayerConfig<T>;
7
+ hasOverview: boolean;
7
8
  };
8
9
  events(): {};
9
10
  slots(): {};
@@ -1,2 +1,3 @@
1
1
  export { default as ContentPlayer } from './cmp.content-player.svelte';
2
2
  export { ContentPlayerConfig } from './content-player-config.svelte';
3
+ export { ContentPlayerSettings } from './content-player-settings.svelte';
@@ -1,2 +1,3 @@
1
1
  export { default as ContentPlayer } from './cmp.content-player.svelte';
2
2
  export { ContentPlayerConfig } from './content-player-config.svelte';
3
+ export { ContentPlayerSettings } from './content-player-settings.svelte';
@@ -22,7 +22,7 @@ const styles = $derived.by(() => {
22
22
 
23
23
  <!--Double `if` for correct behavior of slideHorizontally-->
24
24
  {#if uiManager.viewInitialized}
25
- {#if !uiManager.overviewCollapsed}
25
+ {#if uiManager.overviewCanBeShown && !uiManager.overviewCollapsed}
26
26
  <div class="overview-panel" style={styles} transition:slideHorizontally|local onclick={handlePanelClick} onkeydown={() => {}} role="none">
27
27
  <div class="overview-panel__content" onclick={(e) => e.stopPropagation()} onkeydown={() => {}} role="none">
28
28
  {@render children()}
@@ -43,7 +43,7 @@ const styles = $derived.by(() => {
43
43
  }
44
44
  }
45
45
  .overview-panel {
46
- --_overview-panel--background: var(--overview-panel--background, #1c1c1c);
46
+ --_overview-panel--background: var(--overview-panel--background, rgb(from var(--sc-mc-color--bg-panel) r g b / 90%));
47
47
  --_overview-panel--width: var(--overview-panel--width);
48
48
  --_overview-panel--top: var(--overview-panel--top);
49
49
  --_overview-panel--bottom: var(--overview-panel--bottom);
@@ -1,5 +1,6 @@
1
1
  export declare class ContentPlayerUIManager {
2
- readonly overviewCollapsed: boolean;
2
+ overviewCollapsed: boolean;
3
+ readonly overviewCanBeShown: boolean;
3
4
  readonly overviewMaxWidth = 150;
4
5
  attachmentsWidth: number;
5
6
  readonly attachmentsMaxWidth = 176;
@@ -2,7 +2,8 @@ const ATTACHMENTS_MAX_WIDTH = 176;
2
2
  const OVERLAY_MAX_WIDTH = 150;
3
3
  const SAFE_AREA_SIZE = 70;
4
4
  export class ContentPlayerUIManager {
5
- overviewCollapsed = $derived.by(() => this.overviewMaxWidth > this.sidePanelsMaxWidth);
5
+ overviewCollapsed = $state(true);
6
+ overviewCanBeShown = $derived.by(() => this.overviewMaxWidth <= this.sidePanelsMaxWidth);
6
7
  overviewMaxWidth = OVERLAY_MAX_WIDTH;
7
8
  attachmentsWidth = $state(0);
8
9
  attachmentsMaxWidth = ATTACHMENTS_MAX_WIDTH;
@@ -45,3 +45,6 @@ export declare enum Status {
45
45
  export declare enum StreamStatus {
46
46
  Published = "PUBLISHED"
47
47
  }
48
+ export declare enum EmbedStreamsOrderBy {
49
+ ContentUpdatedAt = "CONTENT_UPDATED_AT"
50
+ }
@@ -55,3 +55,7 @@ export var StreamStatus;
55
55
  (function (StreamStatus) {
56
56
  StreamStatus["Published"] = "PUBLISHED";
57
57
  })(StreamStatus || (StreamStatus = {}));
58
+ export var EmbedStreamsOrderBy;
59
+ (function (EmbedStreamsOrderBy) {
60
+ EmbedStreamsOrderBy["ContentUpdatedAt"] = "CONTENT_UPDATED_AT";
61
+ })(EmbedStreamsOrderBy || (EmbedStreamsOrderBy = {}));
@@ -0,0 +1,2 @@
1
+ export { Theme } from './theme-store.svelte';
2
+ export type { ThemeValue } from './theme-store.svelte';
@@ -0,0 +1 @@
1
+ export { Theme } from './theme-store.svelte';
@@ -0,0 +1,6 @@
1
+ export declare const Theme: {
2
+ get: () => ThemeValue;
3
+ set: (theme: ThemeValue) => void;
4
+ toggle: () => void;
5
+ };
6
+ export type ThemeValue = 'dark' | 'light';
@@ -0,0 +1,10 @@
1
+ let themeStore = $state('dark');
2
+ export const Theme = {
3
+ get: () => themeStore,
4
+ set: (theme) => {
5
+ themeStore = theme;
6
+ },
7
+ toggle: () => {
8
+ themeStore = themeStore === 'dark' ? 'light' : 'dark';
9
+ }
10
+ };
@@ -0,0 +1,6 @@
1
+ export { InternalMediaCenterDataProvider } from './internal-media-center-data-provider.svelte.js';
2
+ export { InternalMediaCenterAnalyticsHandler } from './internal-media-center-analytics-handler';
3
+ export { InternalPostAnalyticsHandler } from './internal-post-analytics-handler';
4
+ export { InternalShortVideoPlayerItemsProvider } from './internal-short-video-player-items-provider';
5
+ export { InternalStreamsPlayerDataProvider } from './internal-streams-player-data-provider';
6
+ export { InternalStreamAnalyticsHandler } from './internal-stream-analytics-handler';
@@ -0,0 +1,6 @@
1
+ export { InternalMediaCenterDataProvider } from './internal-media-center-data-provider.svelte.js';
2
+ export { InternalMediaCenterAnalyticsHandler } from './internal-media-center-analytics-handler';
3
+ export { InternalPostAnalyticsHandler } from './internal-post-analytics-handler';
4
+ export { InternalShortVideoPlayerItemsProvider } from './internal-short-video-player-items-provider';
5
+ export { InternalStreamsPlayerDataProvider } from './internal-streams-player-data-provider';
6
+ export { InternalStreamAnalyticsHandler } from './internal-stream-analytics-handler';
@@ -0,0 +1,15 @@
1
+ import type { IMediaCenterDataProvider } from '../../media-center/config/types';
2
+ export declare class InternalMediaCenterDataProvider implements IMediaCenterDataProvider {
3
+ model: IMediaCenterDataProvider['model'];
4
+ postsPlayer: IMediaCenterDataProvider['postsPlayer'];
5
+ streamPlayer: IMediaCenterDataProvider['streamPlayer'];
6
+ handlers: IMediaCenterDataProvider['handlers'];
7
+ fetchModel: IMediaCenterDataProvider['fetchModel'];
8
+ private graphql;
9
+ constructor(input: {
10
+ mediaPageId: string;
11
+ initiator?: string;
12
+ graphqlOrigin?: string;
13
+ testingStuff?: boolean;
14
+ });
15
+ }
@@ -1,28 +1,32 @@
1
1
  import { Status, StreamStatus } from '../../core/enums';
2
2
  import { createLocalGQLClient } from '../../core/graphql';
3
- import { MockCategoryFollowingProvider } from '../categories-following/mock-categories-following-handler.svelte';
4
- import { getPostsCursor } from '../../posts/data-loaders';
3
+ import { MockCategoryFollowingProvider } from '../../media-center/categories-following/mock-categories-following-handler.svelte';
4
+ import { MockMembershipHandler } from '../../media-center/membership/mock-membership-handler.svelte';
5
+ import { MockNavigationHandler } from '../../media-center/navigation/mock-navigation-handler.svelte';
5
6
  import { MockPostSocialInteractionsHandler } from '../../posts/social-interactions/mock-post-social-interactions-handler.svelte';
6
- import { getStreamPagesCursor, getStreamsCursor } from '../../streams/data-loaders';
7
+ import { PlayerColors } from '../../ui/player/colors';
7
8
  import { InternalMediaCenterAnalyticsHandler } from './internal-media-center-analytics-handler';
8
9
  import { GetMediaPageConfigDocument } from './operations.generated';
9
- export class InternalMediaCenterConfig {
10
+ import { getPostsCursor } from './post-data-loaders';
11
+ import { getStreamPagesCursor, getStreamsCursor } from './stream-data-loaders';
12
+ export class InternalMediaCenterDataProvider {
13
+ model = $state.raw(null);
10
14
  postsPlayer;
11
15
  streamPlayer;
12
16
  handlers;
13
- getConfig;
17
+ fetchModel;
14
18
  graphql;
15
19
  constructor(input) {
16
20
  const { mediaPageId, graphqlOrigin, initiator, testingStuff } = input;
17
21
  this.graphql = createLocalGQLClient(graphqlOrigin, initiator ? { 'x-initiator': initiator } : undefined);
18
- this.getConfig = async () => {
22
+ this.fetchModel = async () => {
19
23
  const payload = await this.graphql.query(GetMediaPageConfigDocument, { mediaPageId }).toPromise();
20
24
  if (!payload.data?.embedMediaPage) {
21
- return null;
25
+ this.model = null;
22
26
  }
23
- const config = payload.data.embedMediaPage;
24
- return {
25
- targetData: {
27
+ else {
28
+ const config = payload.data.embedMediaPage;
29
+ this.model = {
26
30
  id: config.id,
27
31
  handle: config.handle,
28
32
  name: config.name,
@@ -30,12 +34,21 @@ export class InternalMediaCenterConfig {
30
34
  image: config.image?.url || null,
31
35
  logo: config.logo?.url || null,
32
36
  banner: config.banner?.url || null,
33
- membersCount: config.membersCount
34
- },
35
- contentCategories: config.menuSettings?.contentCategories || [],
36
- categoryTagAssociations: config.menuSettings?.contentCategoryMenuItems || [],
37
- playerColors: config.playerColors || null
38
- };
37
+ communityFeatures: config.enableCommunityFeatures
38
+ ? {
39
+ membersCount: config.membersCount
40
+ }
41
+ : null,
42
+ contentCategories: config.menuSettings?.contentCategories || [],
43
+ categoryTagAssociations: config.menuSettings?.contentCategoryMenuItems || [],
44
+ playerColors: {
45
+ light: new PlayerColors(null),
46
+ dark: new PlayerColors(config.playerColors)
47
+ },
48
+ moments: config.moments
49
+ };
50
+ }
51
+ return this.model;
39
52
  };
40
53
  this.postsPlayer = {
41
54
  getPostsCursor: async ({ filter, limit, continuationToken }) => {
@@ -45,6 +58,7 @@ export class InternalMediaCenterConfig {
45
58
  types: filter.types,
46
59
  statuses: [Status.Published],
47
60
  categoryId: filter.categoryId,
61
+ ids: filter.includeIds,
48
62
  excludeIds: filter.excludeIds
49
63
  },
50
64
  continuationToken,
@@ -79,7 +93,9 @@ export class InternalMediaCenterConfig {
79
93
  this.handlers = {
80
94
  analyticsHandler: new InternalMediaCenterAnalyticsHandler(graphqlOrigin),
81
95
  categoriesFollowingHandler: testingStuff ? new MockCategoryFollowingProvider() : undefined,
82
- socialInteractionsHandler: testingStuff ? new MockPostSocialInteractionsHandler() : undefined
96
+ socialInteractionsHandler: testingStuff ? new MockPostSocialInteractionsHandler() : undefined,
97
+ membershipHandler: testingStuff ? new MockMembershipHandler() : undefined,
98
+ navigationHandler: testingStuff ? new MockNavigationHandler() : undefined
83
99
  };
84
100
  }
85
101
  }
@@ -1,4 +1,4 @@
1
- import type { IPostAnalyticsHandler } from '../posts-player';
1
+ import type { IPostAnalyticsHandler } from '../../posts/posts-player';
2
2
  export declare class InternalPostAnalyticsHandler implements IPostAnalyticsHandler {
3
3
  constructor(graphqlOrigin: string | undefined);
4
4
  setOrganizationId: (organizationId: string) => void;
@@ -2,8 +2,8 @@ import { PostType } from '../..';
2
2
  import { ContinuationToken } from '../../core/continuation-token';
3
3
  import { CursorDataLoader } from '../../core/data-loaders';
4
4
  import { createLocalGQLClient } from '../../core/graphql';
5
- import { getPostsCursor } from '../../posts/data-loaders';
6
5
  import {} from '../../posts/posts-player';
6
+ import { getPostsCursor } from './post-data-loaders';
7
7
  const CHUNK_SIZE = 20;
8
8
  export class InternalShortVideoPlayerItemsProvider {
9
9
  kind = 'feed';
@@ -1,4 +1,4 @@
1
- import type { IStreamAnalyticsHandler } from './types';
1
+ import type { IStreamAnalyticsHandler } from '../../streams/streams-player/types';
2
2
  export declare class InternalStreamAnalyticsHandler implements IStreamAnalyticsHandler {
3
3
  constructor(graphqlOrigin: string | undefined);
4
4
  setOrganizationId: (organizationId: string) => void;
@@ -1,4 +1,4 @@
1
- import type { IStreamsPlayerDataProvider } from './types';
1
+ import type { IStreamsPlayerDataProvider } from '../../streams/streams-player';
2
2
  export declare class InternalStreamsPlayerDataProvider implements IStreamsPlayerDataProvider {
3
3
  initialData: IStreamsPlayerDataProvider['initialData'];
4
4
  private ids;
@@ -1,7 +1,7 @@
1
1
  import { ContinuationToken } from '../../core/continuation-token';
2
2
  import { CursorDataLoader } from '../../core/data-loaders';
3
3
  import { createLocalGQLClient } from '../../core/graphql';
4
- import { getStreamPagesCursor, getStreamsCursor } from '../data-loaders';
4
+ import { getStreamPagesCursor, getStreamsCursor } from './stream-data-loaders';
5
5
  const CHUNK_SIZE = 5;
6
6
  export class InternalStreamsPlayerDataProvider {
7
7
  initialData;
@@ -9,6 +9,7 @@ export type GetMediaPageConfigQuery = {
9
9
  handle: string;
10
10
  name: string;
11
11
  description: string;
12
+ enableCommunityFeatures: boolean;
12
13
  membersCount: number;
13
14
  image: {
14
15
  url: string;
@@ -47,6 +48,11 @@ export type GetMediaPageConfigQuery = {
47
48
  salePrice: string | null;
48
49
  sidebarBackground: string | null;
49
50
  } | null;
51
+ moments: Array<{
52
+ id: string;
53
+ cover: string;
54
+ isSeen: boolean;
55
+ }>;
50
56
  } | null;
51
57
  };
52
58
  export declare const GetMediaPageConfigDocument: DocumentNode<GetMediaPageConfigQuery, GetMediaPageConfigQueryVariables>;
@@ -52,6 +52,7 @@ export const GetMediaPageConfigDocument = {
52
52
  name: { kind: 'Name', value: 'banner' },
53
53
  selectionSet: { kind: 'SelectionSet', selections: [{ kind: 'Field', name: { kind: 'Name', value: 'url' } }] }
54
54
  },
55
+ { kind: 'Field', name: { kind: 'Name', value: 'enableCommunityFeatures' } },
55
56
  { kind: 'Field', name: { kind: 'Name', value: 'membersCount' } },
56
57
  {
57
58
  kind: 'Field',
@@ -115,6 +116,18 @@ export const GetMediaPageConfigDocument = {
115
116
  { kind: 'Field', name: { kind: 'Name', value: 'sidebarBackground' } }
116
117
  ]
117
118
  }
119
+ },
120
+ {
121
+ kind: 'Field',
122
+ name: { kind: 'Name', value: 'moments' },
123
+ selectionSet: {
124
+ kind: 'SelectionSet',
125
+ selections: [
126
+ { kind: 'Field', name: { kind: 'Name', value: 'id' } },
127
+ { kind: 'Field', name: { kind: 'Name', value: 'cover' } },
128
+ { kind: 'Field', name: { kind: 'Name', value: 'isSeen' } }
129
+ ]
130
+ }
118
131
  }
119
132
  ]
120
133
  }
@@ -13,6 +13,7 @@ query GetMediaPageConfig($mediaPageId: String!) {
13
13
  banner {
14
14
  url
15
15
  }
16
+ enableCommunityFeatures
16
17
  membersCount
17
18
  menuSettings {
18
19
  contentCategories {
@@ -42,5 +43,10 @@ query GetMediaPageConfig($mediaPageId: String!) {
42
43
  salePrice
43
44
  sidebarBackground
44
45
  }
46
+ moments {
47
+ id
48
+ cover
49
+ isSeen
50
+ }
45
51
  }
46
52
  }
@@ -1,3 +1,3 @@
1
- import type { PostPlayerModel } from '../posts-player/types';
1
+ import type { PostPlayerModel } from '../../../posts/posts-player/types';
2
2
  import type { PostsPlayerPayloadFragment } from './operations.generated';
3
3
  export declare const mapToPostPlayerModel: (payload: PostsPlayerPayloadFragment) => PostPlayerModel;
@@ -1,5 +1,5 @@
1
- import { ProfileType } from '../../core/enums';
2
- import { mapToPostModel } from '../post-viewer';
1
+ import { ProfileType } from '../../../core/enums';
2
+ import { mapToPostModel } from '../../../posts/post-viewer';
3
3
  export const mapToPostPlayerModel = (payload) => {
4
4
  const viewerModel = mapToPostModel(payload);
5
5
  return {
@@ -1,4 +1,4 @@
1
- import type * as SchemaTypes from '../../../gql/types';
1
+ import type * as SchemaTypes from '../../../../gql/types';
2
2
  import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
3
3
  export type GetPostsQueryVariables = SchemaTypes.Exact<{
4
4
  input: SchemaTypes.EmbedPostsInput;
@@ -1,5 +1,5 @@
1
- import { PostType, Status } from '../../core/enums';
2
- import type { PostPlayerModel } from '../posts-player/types';
1
+ import { PostType, Status } from '../../../core/enums';
2
+ import type { PostPlayerModel } from '../../../posts/posts-player/types';
3
3
  import type { Client } from '@urql/core';
4
4
  export declare const getPostsCursor: (input: {
5
5
  filter: {
@@ -1,4 +1,4 @@
1
- import { PostType, Status } from '../../core/enums';
1
+ import { PostType, Status } from '../../../core/enums';
2
2
  import { mapToPostPlayerModel } from './mapper';
3
3
  import { GetPostsDocument } from './operations.generated';
4
4
  export const getPostsCursor = async (input) => {
@@ -1,3 +1,3 @@
1
- import type { StreamPlayerModel } from '../streams-player/types';
1
+ import type { StreamPlayerModel } from '../../../streams/streams-player/types';
2
2
  import type { StreamPlayerPayloadFragment } from './operations.generated';
3
3
  export declare const mapToStreamPlayerModel: (payload: StreamPlayerPayloadFragment) => StreamPlayerModel;
@@ -1,4 +1,4 @@
1
- import { ProfileType } from '../../core/enums';
1
+ import { ProfileType } from '../../../core/enums';
2
2
  export const mapToStreamPlayerModel = (payload) => {
3
3
  return {
4
4
  id: payload.id,
@@ -1,4 +1,4 @@
1
- import type * as SchemaTypes from '../../../gql/types';
1
+ import type * as SchemaTypes from '../../../../gql/types';
2
2
  import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
3
3
  export type GetStreamsQueryVariables = SchemaTypes.Exact<{
4
4
  input: SchemaTypes.EmbedStreamsInput;
@@ -1,4 +1,4 @@
1
- import { type StreamPageViewerModel } from '../stream-page-viewer';
1
+ import { type StreamPageViewerModel } from '../../../streams/stream-page-viewer';
2
2
  import type { Client } from '@urql/core';
3
3
  export declare const getStreamPagesCursor: (input: {
4
4
  streamId: string;
@@ -1,5 +1,5 @@
1
- import { ImageScale } from '../..';
2
- import { mapToStreamPageViewerModel } from '../stream-page-viewer';
1
+ import { ImageScale } from '../../..';
2
+ import { mapToStreamPageViewerModel } from '../../../streams/stream-page-viewer';
3
3
  import { GetStreamPagesDocument } from './operations.generated';
4
4
  export const getStreamPagesCursor = async (input) => {
5
5
  const { streamId, continuationToken, graphql } = input;