@streamscloud/embeddable 9.0.0 → 10.1.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 (146) hide show
  1. package/dist/content-player/cmp.content-player.svelte +1 -1
  2. package/dist/content-player/content-player-config.svelte.d.ts +4 -4
  3. package/dist/content-player/controls-and-attachments.svelte +1 -1
  4. package/dist/content-player/header.svelte +1 -1
  5. package/dist/core/actions/horizontal-wheel-scroll.d.ts +1 -0
  6. package/dist/core/actions/horizontal-wheel-scroll.js +9 -8
  7. package/dist/core/document.event-handlers.d.ts +1 -0
  8. package/dist/core/document.event-handlers.js +3 -0
  9. package/dist/media-center/config/internal-media-center-analytics-handler.d.ts +1 -1
  10. package/dist/media-center/config/internal-media-center-config.js +34 -44
  11. package/dist/media-center/config/operations.generated.d.ts +0 -104
  12. package/dist/media-center/config/operations.generated.js +0 -320
  13. package/dist/media-center/config/operations.graphql +0 -24
  14. package/dist/media-center/config/types.d.ts +7 -9
  15. package/dist/media-center/media-center/cmp.media-center.svelte +27 -7
  16. package/dist/media-center/media-center/cmp.media-center.svelte.d.ts +2 -2
  17. package/dist/media-center/media-center/discover-panel-handler.svelte.d.ts +2 -2
  18. package/dist/media-center/media-center/discover-panel.svelte +1 -1
  19. package/dist/media-center/media-center/discover-panel.svelte.d.ts +2 -1
  20. package/dist/media-center/media-center/post-player-provider-generator.d.ts +2 -2
  21. package/dist/media-center/media-center/post-player-provider-generator.js +2 -1
  22. package/dist/media-center/media-center/streams-in-category-panel-handler.svelte.d.ts +5 -2
  23. package/dist/media-center/media-center/streams-in-category-panel-handler.svelte.js +5 -0
  24. package/dist/media-center/media-center/streams-in-category-panel.svelte +2 -2
  25. package/dist/media-center/media-center/streams-in-category-panel.svelte.d.ts +3 -2
  26. package/dist/media-center/media-center/streams-player-provider-generator.d.ts +8 -0
  27. package/dist/media-center/media-center/streams-player-provider-generator.js +36 -0
  28. package/dist/media-center/media-center/types.d.ts +0 -6
  29. package/dist/posts/controls/cmp.controls.svelte +1 -1
  30. package/dist/posts/data-loaders/index.d.ts +1 -0
  31. package/dist/posts/data-loaders/index.js +1 -0
  32. package/dist/posts/{posts-player → data-loaders}/mapper.d.ts +1 -1
  33. package/dist/{short-videos/data-providers → posts/data-loaders}/operations.generated.d.ts +82 -4
  34. package/dist/{short-videos/data-providers → posts/data-loaders}/operations.generated.js +232 -3
  35. package/dist/posts/data-loaders/operations.graphql +17 -0
  36. package/dist/posts/data-loaders/posts-loader.d.ts +19 -0
  37. package/dist/posts/data-loaders/posts-loader.js +28 -0
  38. package/dist/posts/posts-player/index.d.ts +27 -6
  39. package/dist/posts/posts-player/index.js +2 -3
  40. package/dist/posts/posts-player/posts-player-view.svelte +29 -13
  41. package/dist/posts/posts-player/types.d.ts +2 -2
  42. package/dist/short-videos/data-providers/internal-short-video-player-items-provider.d.ts +5 -6
  43. package/dist/short-videos/data-providers/internal-short-video-player-items-provider.js +12 -32
  44. package/dist/short-videos/short-videos-player/index.d.ts +2 -3
  45. package/dist/short-videos/short-videos-player/index.js +1 -1
  46. package/dist/streams/data-loaders/index.d.ts +2 -0
  47. package/dist/streams/data-loaders/index.js +2 -0
  48. package/dist/streams/{stream-player → data-loaders}/mapper.d.ts +1 -1
  49. package/dist/streams/{stream-player → data-loaders}/operations.generated.d.ts +27 -24
  50. package/dist/streams/{stream-player → data-loaders}/operations.generated.js +18 -17
  51. package/dist/streams/{stream-player → data-loaders}/operations.graphql +6 -3
  52. package/dist/streams/data-loaders/stream-pages-loader.d.ts +10 -0
  53. package/dist/streams/data-loaders/stream-pages-loader.js +33 -0
  54. package/dist/streams/data-loaders/streams-loader.d.ts +19 -0
  55. package/dist/streams/data-loaders/streams-loader.js +28 -0
  56. package/dist/streams/layout/cmp.slot-content.svelte +18 -13
  57. package/dist/streams/layout/element-views/cmp.button-stream-element.svelte +26 -0
  58. package/dist/streams/layout/element-views/cmp.button-stream-element.svelte.d.ts +10 -0
  59. package/dist/streams/layout/element-views/cmp.products-slider-stream-element.svelte +43 -0
  60. package/dist/streams/layout/element-views/cmp.products-slider-stream-element.svelte.d.ts +13 -0
  61. package/dist/streams/layout/element-views/cmp.stream-element.svelte +8 -6
  62. package/dist/streams/layout/element-views/index.d.ts +2 -0
  63. package/dist/streams/layout/element-views/index.js +2 -0
  64. package/dist/streams/layout/element-views/price-element-view.svelte +3 -0
  65. package/dist/streams/layout/elements.d.ts +20 -2
  66. package/dist/streams/layout/enums.d.ts +4 -1
  67. package/dist/streams/layout/enums.js +3 -0
  68. package/dist/streams/layout/index.d.ts +1 -0
  69. package/dist/streams/layout/index.js +15 -0
  70. package/dist/streams/layout/serializer.svelte.js +30 -5
  71. package/dist/streams/layout/slot-data-input.d.ts +5 -1
  72. package/dist/streams/layout/slot-data-ref.d.ts +2 -2
  73. package/dist/streams/layout/slot-data.d.ts +6 -1
  74. package/dist/streams/layout/styles-transformer.d.ts +3 -1
  75. package/dist/streams/layout/styles-transformer.js +47 -0
  76. package/dist/streams/layout/styles.d.ts +25 -0
  77. package/dist/streams/layout/type-guards.d.ts +11 -4
  78. package/dist/streams/layout/type-guards.js +17 -3
  79. package/dist/streams/{stream-player → streams-player}/index.d.ts +21 -22
  80. package/dist/streams/{stream-player → streams-player}/index.js +9 -7
  81. package/dist/streams/streams-player/internal-streams-player-data-provider.d.ts +16 -0
  82. package/dist/streams/streams-player/internal-streams-player-data-provider.js +55 -0
  83. package/dist/streams/{stream-player → streams-player}/stream-overview.svelte +18 -15
  84. package/dist/streams/{stream-player → streams-player}/stream-overview.svelte.d.ts +2 -2
  85. package/dist/streams/streams-player/streams-player-buffer.svelte.d.ts +8 -0
  86. package/dist/streams/streams-player/streams-player-buffer.svelte.js +15 -0
  87. package/dist/streams/{stream-player/stream-player-view.svelte → streams-player/streams-player-view.svelte} +69 -55
  88. package/dist/streams/streams-player/streams-player-view.svelte.d.ts +8 -0
  89. package/dist/streams/{stream-player → streams-player}/types.d.ts +9 -7
  90. package/dist/ui/{player-button → player/button}/cmp.player-button.svelte +1 -1
  91. package/dist/ui/{player-button → player/button}/cmp.player-button.svelte.d.ts +1 -1
  92. package/dist/ui/{player-button → player/button}/cmp.player-buttons-group.svelte +1 -1
  93. package/dist/ui/{player-button → player/button}/types.d.ts +1 -1
  94. package/dist/ui/player/button/types.js +1 -0
  95. package/dist/ui/player/providers/chunks-player-buffer/index.d.ts +2 -0
  96. package/dist/ui/player/providers/chunks-player-buffer/index.js +2 -0
  97. package/dist/ui/player/providers/chunks-player-buffer/player-chunk-item.svelte.d.ts +11 -0
  98. package/dist/ui/player/providers/chunks-player-buffer/player-chunk-item.svelte.js +11 -0
  99. package/dist/ui/player/providers/chunks-player-buffer/player-chunk.svelte.d.ts +31 -0
  100. package/dist/ui/player/providers/chunks-player-buffer/player-chunk.svelte.js +67 -0
  101. package/dist/ui/player/providers/chunks-player-buffer/player-chunks-manager.svelte.d.ts +23 -0
  102. package/dist/ui/player/providers/chunks-player-buffer/player-chunks-manager.svelte.js +125 -0
  103. package/dist/ui/player/providers/default-chunks-player-buffer.svelte.d.ts +20 -0
  104. package/dist/ui/player/providers/default-chunks-player-buffer.svelte.js +47 -0
  105. package/dist/ui/player/providers/default-feed-player-buffer.svelte.d.ts +27 -0
  106. package/dist/ui/player/providers/default-feed-player-buffer.svelte.js +78 -0
  107. package/dist/ui/player/providers/index.d.ts +3 -0
  108. package/dist/ui/player/providers/index.js +2 -0
  109. package/dist/ui/player/providers/types.d.ts +49 -0
  110. package/dist/ui/{player-slider → player/slider}/cmp.player-slider.svelte +7 -20
  111. package/dist/ui/{player-slider → player/slider}/cmp.player-slider.svelte.d.ts +4 -4
  112. package/dist/ui/{player-slider → player/slider}/index.d.ts +0 -2
  113. package/dist/ui/{player-slider → player/slider}/index.js +0 -1
  114. package/dist/ui/player/slider/types.d.ts +16 -0
  115. package/dist/ui/player/slider/types.js +1 -0
  116. package/package.json +4 -4
  117. package/dist/posts/posts-player/operations.generated.d.ts +0 -80
  118. package/dist/posts/posts-player/operations.generated.js +0 -229
  119. package/dist/posts/posts-player/operations.graphql +0 -7
  120. package/dist/short-videos/data-providers/operations.graphql +0 -9
  121. package/dist/streams/layout/element-views/stream-element-localization.d.ts +0 -7
  122. package/dist/streams/layout/element-views/stream-element-localization.js +0 -11
  123. package/dist/streams/stream-player/internal-stream-player-data-provider.d.ts +0 -12
  124. package/dist/streams/stream-player/internal-stream-player-data-provider.js +0 -48
  125. package/dist/streams/stream-player/stream-player-buffer.svelte.d.ts +0 -28
  126. package/dist/streams/stream-player/stream-player-buffer.svelte.js +0 -79
  127. package/dist/streams/stream-player/stream-player-view.svelte.d.ts +0 -8
  128. package/dist/ui/player-button/types.js +0 -1
  129. package/dist/ui/player-slider/player-buffer.svelte.d.ts +0 -32
  130. package/dist/ui/player-slider/player-buffer.svelte.js +0 -76
  131. package/dist/ui/player-slider/types.d.ts +0 -26
  132. /package/dist/posts/{posts-player → data-loaders}/mapper.js +0 -0
  133. /package/dist/streams/{stream-player → data-loaders}/mapper.js +0 -0
  134. /package/dist/streams/{stream-player → streams-player}/internal-stream-analytics-handler.d.ts +0 -0
  135. /package/dist/streams/{stream-player → streams-player}/internal-stream-analytics-handler.js +0 -0
  136. /package/dist/streams/{stream-player → streams-player}/stream-player-localization.d.ts +0 -0
  137. /package/dist/streams/{stream-player → streams-player}/stream-player-localization.js +0 -0
  138. /package/dist/streams/{stream-player → streams-player}/types.js +0 -0
  139. /package/dist/ui/{player-button → player/button}/cmp.player-buttons-group.svelte.d.ts +0 -0
  140. /package/dist/ui/{player-button → player/button}/index.d.ts +0 -0
  141. /package/dist/ui/{player-button → player/button}/index.js +0 -0
  142. /package/dist/ui/{player-slider → player/providers}/types.js +0 -0
  143. /package/dist/ui/{player-slider → player/slider}/prevent-slider-scroll.d.ts +0 -0
  144. /package/dist/ui/{player-slider → player/slider}/prevent-slider-scroll.js +0 -0
  145. /package/dist/ui/{player-slider → player/slider}/wheel-gestures-adapter.d.ts +0 -0
  146. /package/dist/ui/{player-slider → player/slider}/wheel-gestures-adapter.js +0 -0
@@ -1,48 +0,0 @@
1
- import { ImageScale } from '../..';
2
- import { createLocalGQLClient } from '../../core/graphql';
3
- import { mapToStreamPageViewerModel } from '../stream-page-viewer';
4
- import { mapToStreamPlayerModel } from './mapper';
5
- import { GetStreamDocument, GetStreamPagesDocument } from './operations.generated';
6
- export class InternalStreamPlayerDataProvider {
7
- graphql;
8
- constructor(input) {
9
- const { graphqlOrigin, initiator, graphql } = input;
10
- this.graphql = graphql ?? createLocalGQLClient(graphqlOrigin, initiator ? { 'x-initiator': initiator } : undefined);
11
- }
12
- getStream = async (id) => {
13
- const streamPayload = await this.graphql.query(GetStreamDocument, { id }).toPromise();
14
- if (!streamPayload.data?.stream) {
15
- return null;
16
- }
17
- return mapToStreamPlayerModel(streamPayload.data.stream);
18
- };
19
- getStreamPages = async (streamId, continuationToken) => {
20
- const emptyResult = { items: [], continuationToken: null };
21
- if (continuationToken === null) {
22
- return emptyResult;
23
- }
24
- try {
25
- const payload = await this.graphql
26
- .query(GetStreamPagesDocument, {
27
- input: {
28
- limit: 10,
29
- continuationToken,
30
- filter: { streamId }
31
- },
32
- image_scale: ImageScale.OriginalEncoded
33
- })
34
- .toPromise();
35
- const data = payload.data?.streamPages;
36
- if (!data) {
37
- return emptyResult;
38
- }
39
- return {
40
- items: data.items.map(mapToStreamPageViewerModel),
41
- continuationToken: data.continuationToken
42
- };
43
- }
44
- catch {
45
- return emptyResult;
46
- }
47
- };
48
- }
@@ -1,28 +0,0 @@
1
- import { type StreamPageViewerModel } from '../stream-page-viewer';
2
- import type { IPlayerBuffer } from '../../ui/player-slider';
3
- import type { IStreamPlayerDataProvider } from './types';
4
- export declare class StreamPlayerBuffer implements IPlayerBuffer<StreamPageViewerModel> {
5
- readonly loaded: StreamPageViewerModel[];
6
- readonly currentIndex: number;
7
- readonly current: StreamPageViewerModel | null;
8
- readonly canLoadNext: boolean;
9
- readonly canLoadPrevious: boolean;
10
- readonly navigationDisabled: boolean;
11
- readonly animationDuration = 300;
12
- private _currentIndex;
13
- private _loaded;
14
- private _pagesLoader;
15
- constructor(init: {
16
- streamId: string;
17
- dataProvider: IStreamPlayerDataProvider;
18
- on?: {
19
- preloaded?: (self: StreamPlayerBuffer) => void;
20
- };
21
- });
22
- loadMore: () => Promise<StreamPageViewerModel[]>;
23
- loadNext: () => Promise<void>;
24
- loadPrevious: () => Promise<void>;
25
- setIndex: (index: number) => void;
26
- reset: (onPreloaded?: (self: StreamPlayerBuffer) => void) => Promise<void>;
27
- private warmUpBuffer;
28
- }
@@ -1,79 +0,0 @@
1
- import { ContinuationToken } from '../../core/continuation-token';
2
- import { CursorDataLoader } from '../../core/data-loaders';
3
- import { Utils } from '../../core/utils';
4
- import {} from '../stream-page-viewer';
5
- export class StreamPlayerBuffer {
6
- loaded = $derived.by(() => this._loaded);
7
- currentIndex = $derived.by(() => this._currentIndex);
8
- current = $derived(this.currentIndex >= 0 ? this.loaded[this.currentIndex] : null);
9
- canLoadNext = $derived(this.currentIndex < this.loaded.length - 1);
10
- canLoadPrevious = $derived(this.currentIndex > 0);
11
- navigationDisabled = $derived(!this.canLoadNext && !this.canLoadPrevious);
12
- animationDuration = 300;
13
- _currentIndex = $state(-1);
14
- _loaded = $state.raw([]);
15
- _pagesLoader;
16
- constructor(init) {
17
- const { streamId, dataProvider, on } = init;
18
- this._pagesLoader = new CursorDataLoader({
19
- loadPage: async (continuationToken) => {
20
- const result = await dataProvider.getStreamPages(streamId, continuationToken.toNextChunkString());
21
- const items = result.items;
22
- this._loaded = [...this._loaded, ...items];
23
- return {
24
- items: items,
25
- continuationToken: ContinuationToken.fromPayload(result.continuationToken)
26
- };
27
- }
28
- });
29
- this.warmUpBuffer(on?.preloaded);
30
- this.loadNext = Utils.throttle(this.loadNext, this.animationDuration);
31
- this.loadPrevious = Utils.throttle(this.loadPrevious, this.animationDuration);
32
- }
33
- loadMore = () => this._pagesLoader.loadMore();
34
- loadNext = async () => {
35
- if (!this.canLoadNext) {
36
- return;
37
- }
38
- ++this._currentIndex;
39
- this.warmUpBuffer();
40
- };
41
- loadPrevious = async () => {
42
- if (!this.canLoadPrevious) {
43
- return;
44
- }
45
- --this._currentIndex;
46
- };
47
- setIndex = (index) => {
48
- this._currentIndex = index;
49
- this.warmUpBuffer();
50
- };
51
- reset = async (onPreloaded) => {
52
- this._loaded = [];
53
- this._currentIndex = -1;
54
- await this._pagesLoader.reset();
55
- this.warmUpBuffer(onPreloaded);
56
- };
57
- warmUpBuffer = async (onPreloaded) => {
58
- const bufferSize = 2;
59
- if (this.loaded.length >= this.currentIndex + bufferSize) {
60
- if (onPreloaded) {
61
- onPreloaded(this);
62
- }
63
- return;
64
- }
65
- try {
66
- await this.loadMore();
67
- if (this._currentIndex < 0) {
68
- if (this.loaded.length > 0) {
69
- this._currentIndex = 0;
70
- }
71
- }
72
- }
73
- finally {
74
- if (onPreloaded) {
75
- onPreloaded(this);
76
- }
77
- }
78
- };
79
- }
@@ -1,8 +0,0 @@
1
- import type { MediaCenterData } from '../../media-center/model/types';
2
- import type { StreamPlayerProps } from './types';
3
- type $$ComponentProps = StreamPlayerProps & {
4
- mediaCenterData?: MediaCenterData;
5
- };
6
- declare const StreamPlayerView: import("svelte").Component<$$ComponentProps, {}, "">;
7
- type StreamPlayerView = ReturnType<typeof StreamPlayerView>;
8
- export default StreamPlayerView;
@@ -1 +0,0 @@
1
- import { IconColor } from '../icon';
@@ -1,32 +0,0 @@
1
- import type { IPlayerBuffer, TExtended } from './types';
2
- export declare class PlayerBuffer<T extends {
3
- id: string;
4
- }> implements IPlayerBuffer<T> {
5
- readonly loaded: TExtended<T>[];
6
- readonly currentIndex: number;
7
- readonly current: TExtended<T> | null;
8
- readonly canLoadNext: boolean;
9
- readonly canLoadPrevious: boolean;
10
- readonly navigationDisabled: boolean;
11
- readonly animationDuration = 500;
12
- private _currentIndex;
13
- private _loaded;
14
- private loadMoreFn;
15
- private isLoading;
16
- constructor(provider: IPlayerItemsProvider<T>, on?: {
17
- preloaded?: (self: PlayerBuffer<T>) => void;
18
- });
19
- loadNext: () => Promise<void>;
20
- loadPrevious: () => Promise<void>;
21
- reset: (onPreloaded?: (self: PlayerBuffer<T>) => void) => void;
22
- private warmUpBuffer;
23
- }
24
- export interface IPlayerItemsProvider<T> {
25
- initialData: {
26
- prefetchedItems: T[];
27
- startIndex: number;
28
- startMediaIndex?: number;
29
- };
30
- prefetch?: () => Promise<void>;
31
- loadMore(): Promise<T[]>;
32
- }
@@ -1,76 +0,0 @@
1
- import { Utils } from '../../core/utils';
2
- export class PlayerBuffer {
3
- loaded = $derived.by(() => this._loaded);
4
- currentIndex = $derived.by(() => this._currentIndex);
5
- current = $derived(this.currentIndex >= 0 ? this.loaded[this.currentIndex] : null);
6
- canLoadNext = $derived(this.currentIndex < this.loaded.length - 1);
7
- canLoadPrevious = $derived(this.currentIndex > 0);
8
- navigationDisabled = $derived(!this.canLoadNext && !this.canLoadPrevious);
9
- animationDuration = 500;
10
- _currentIndex = $state(-1);
11
- _loaded = $state.raw([]);
12
- loadMoreFn;
13
- isLoading = false;
14
- constructor(provider, on) {
15
- this.loadMoreFn = provider.loadMore;
16
- this._loaded =
17
- provider.initialData.startIndex >= 0 && provider.initialData.startMediaIndex && provider.initialData.startMediaIndex > 0
18
- ? provider.initialData.prefetchedItems.map((i, index) => ({
19
- ...i,
20
- mediaIndex: index === provider.initialData.startIndex ? provider.initialData.startMediaIndex : 0
21
- }))
22
- : provider.initialData.prefetchedItems;
23
- this._currentIndex = provider.initialData.prefetchedItems.length
24
- ? provider.initialData.startIndex >= this._loaded.length
25
- ? provider.initialData.prefetchedItems.length - 1
26
- : provider.initialData.startIndex
27
- : -1;
28
- this.warmUpBuffer(on?.preloaded);
29
- this.loadNext = Utils.throttle(this.loadNext, this.animationDuration);
30
- this.loadPrevious = Utils.throttle(this.loadPrevious, this.animationDuration);
31
- }
32
- loadNext = async () => {
33
- if (!this.canLoadNext) {
34
- return;
35
- }
36
- ++this._currentIndex;
37
- this.warmUpBuffer();
38
- };
39
- loadPrevious = async () => {
40
- if (!this.canLoadPrevious) {
41
- return;
42
- }
43
- --this._currentIndex;
44
- };
45
- reset = (onPreloaded) => {
46
- this._loaded = [];
47
- this._currentIndex = -1;
48
- this.isLoading = false;
49
- this.warmUpBuffer(onPreloaded);
50
- };
51
- warmUpBuffer = async (onPreloaded) => {
52
- const bufferSize = 5;
53
- if (this._loaded.length >= this.currentIndex + bufferSize || this.isLoading) {
54
- if (onPreloaded) {
55
- onPreloaded(this);
56
- }
57
- return;
58
- }
59
- this.isLoading = true;
60
- try {
61
- const result = await this.loadMoreFn();
62
- this._loaded = [...this._loaded, ...result];
63
- if (this.currentIndex < 0) {
64
- if (this._loaded.length > 0) {
65
- this._currentIndex = 0;
66
- }
67
- }
68
- }
69
- finally {
70
- if (onPreloaded) {
71
- onPreloaded(this);
72
- }
73
- this.isLoading = false;
74
- }
75
- };
76
- }
@@ -1,26 +0,0 @@
1
- export interface IPlayerBuffer<T extends {
2
- id: string;
3
- }> {
4
- readonly current: TExtended<T> | null;
5
- readonly currentIndex: number;
6
- readonly loaded: TExtended<T>[];
7
- readonly canLoadNext: boolean;
8
- readonly canLoadPrevious: boolean;
9
- readonly navigationDisabled: boolean;
10
- readonly animationDuration: number;
11
- loadNext: () => void;
12
- loadPrevious: () => void;
13
- reset: () => void;
14
- }
15
- export type TExtended<T> = T & {
16
- mediaIndex?: number;
17
- };
18
- export type PlayerSliderCallbacks<T> = {
19
- itemPreActivated?: (e: T) => void;
20
- itemPreDeactivated?: (e: {
21
- itemId: string;
22
- loadingNext: boolean;
23
- }) => void;
24
- itemActivated?: (e: string) => void;
25
- itemDeactivated?: (e: string) => void;
26
- };