@streamscloud/embeddable 12.2.0 → 13.0.1

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 (162) hide show
  1. package/dist/content-player/content-player-config.svelte.d.ts +2 -13
  2. package/dist/content-player/content-player-config.svelte.js +1 -1
  3. package/dist/content-player/content-player-settings.svelte.d.ts +16 -0
  4. package/dist/content-player/content-player-settings.svelte.js +27 -0
  5. package/dist/content-player/index.d.ts +1 -0
  6. package/dist/content-player/index.js +1 -0
  7. package/dist/core/theme/index.d.ts +1 -0
  8. package/dist/core/theme/theme-store.svelte.d.ts +3 -2
  9. package/dist/external-api/data-providers/index.d.ts +6 -0
  10. package/dist/external-api/data-providers/index.js +6 -0
  11. package/dist/external-api/data-providers/internal-media-center-data-provider.svelte.d.ts +15 -0
  12. package/dist/{media-center/config/internal-media-center-config.js → external-api/data-providers/internal-media-center-data-provider.svelte.js} +33 -17
  13. package/dist/{posts/handlers → external-api/data-providers}/internal-post-analytics-handler.d.ts +1 -1
  14. package/dist/{short-videos → external-api}/data-providers/internal-short-video-player-items-provider.js +1 -1
  15. package/dist/{streams/streams-player → external-api/data-providers}/internal-stream-analytics-handler.d.ts +1 -1
  16. package/dist/{streams/streams-player → external-api/data-providers}/internal-streams-player-data-provider.d.ts +1 -1
  17. package/dist/{streams/streams-player → external-api/data-providers}/internal-streams-player-data-provider.js +1 -1
  18. package/dist/{media-center/config → external-api/data-providers}/operations.generated.d.ts +6 -0
  19. package/dist/{media-center/config → external-api/data-providers}/operations.generated.js +13 -0
  20. package/dist/{media-center/config → external-api/data-providers}/operations.graphql +6 -0
  21. package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/mapper.d.ts +1 -1
  22. package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/mapper.js +2 -2
  23. package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/operations.generated.d.ts +1 -1
  24. package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/posts-loader.d.ts +2 -2
  25. package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/posts-loader.js +1 -1
  26. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/mapper.d.ts +1 -1
  27. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/mapper.js +1 -1
  28. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/operations.generated.d.ts +1 -1
  29. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/stream-pages-loader.d.ts +1 -1
  30. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/stream-pages-loader.js +2 -2
  31. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/streams-loader.d.ts +2 -2
  32. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/streams-loader.js +1 -1
  33. package/dist/external-api/index.d.ts +3 -0
  34. package/dist/external-api/index.js +3 -0
  35. package/dist/external-api/media-page/index.d.ts +83 -0
  36. package/dist/external-api/media-page/index.js +82 -0
  37. package/dist/{short-videos → external-api}/short-videos-player/index.d.ts +27 -12
  38. package/dist/{short-videos → external-api}/short-videos-player/index.js +35 -28
  39. package/dist/external-api/streams-player/index.d.ts +105 -0
  40. package/dist/external-api/streams-player/index.js +110 -0
  41. package/dist/media-center/config/types.d.ts +28 -27
  42. package/dist/media-center/index.d.ts +3 -1
  43. package/dist/media-center/media-center/cmp.media-center-proxy.svelte +4 -4
  44. package/dist/media-center/media-center/cmp.media-center-proxy.svelte.d.ts +7 -4
  45. package/dist/media-center/media-center/discover/community-features-localization.d.ts +8 -0
  46. package/dist/media-center/media-center/discover/community-features-localization.js +31 -0
  47. package/dist/media-center/media-center/discover/community-features.svelte +171 -0
  48. package/dist/media-center/media-center/discover/community-features.svelte.d.ts +11 -0
  49. package/dist/media-center/media-center/discover/data-loading.d.ts +3 -3
  50. package/dist/media-center/media-center/discover/data-loading.js +5 -5
  51. package/dist/media-center/media-center/discover/discover-header.svelte +7 -56
  52. package/dist/media-center/media-center/discover/discover-view-handler.svelte.d.ts +3 -3
  53. package/dist/media-center/media-center/discover/discover-view-handler.svelte.js +4 -4
  54. package/dist/media-center/media-center/feed/feed-handler.svelte.d.ts +5 -3
  55. package/dist/media-center/media-center/feed/feed-handler.svelte.js +18 -10
  56. package/dist/media-center/media-center/feed/feed-providers-generator.d.ts +11 -5
  57. package/dist/media-center/media-center/feed/feed-providers-generator.js +13 -9
  58. package/dist/media-center/media-center/footer/index.d.ts +1 -0
  59. package/dist/media-center/media-center/footer/index.js +1 -0
  60. package/dist/media-center/media-center/handlers/categories-handler.svelte.d.ts +3 -5
  61. package/dist/media-center/media-center/handlers/categories-handler.svelte.js +16 -13
  62. package/dist/media-center/media-center/handlers/media-center-settings-handler.svelte.d.ts +18 -7
  63. package/dist/media-center/media-center/handlers/media-center-settings-handler.svelte.js +18 -25
  64. package/dist/media-center/media-center/{header-footer → header}/index.d.ts +0 -1
  65. package/dist/media-center/media-center/{header-footer → header}/index.js +0 -1
  66. package/dist/media-center/media-center/{header-footer → header}/media-center-header.svelte +138 -31
  67. package/dist/media-center/media-center/{header-footer → header}/media-center-header.svelte.d.ts +2 -0
  68. package/dist/media-center/media-center/index.d.ts +1 -0
  69. package/dist/media-center/media-center/index.js +1 -0
  70. package/dist/media-center/media-center/media-center-context.svelte.d.ts +15 -9
  71. package/dist/media-center/media-center/media-center-context.svelte.js +57 -19
  72. package/dist/media-center/media-center/media-center-settings.svelte.d.ts +11 -0
  73. package/dist/media-center/media-center/media-center-settings.svelte.js +23 -0
  74. package/dist/media-center/media-center/media-center-view.svelte +11 -3
  75. package/dist/media-center/media-center/media-center-view.svelte.d.ts +2 -0
  76. package/dist/media-center/media-center/menu/category-following-wrapper.svelte.d.ts +1 -1
  77. package/dist/media-center/media-center/menu/menu.svelte +15 -14
  78. package/dist/media-center/media-center/menu/popular-streams-panel-handler.svelte.d.ts +3 -3
  79. package/dist/media-center/media-center/menu/popular-streams-panel-handler.svelte.js +4 -4
  80. package/dist/media-center/media-center/moments/cmp.moments-circle.svelte +22 -9
  81. package/dist/media-center/media-center/moments/index.d.ts +1 -0
  82. package/dist/media-center/media-center/moments/index.js +1 -0
  83. package/dist/media-center/media-center/moments/moments-feed-handler.svelte.d.ts +26 -0
  84. package/dist/media-center/media-center/moments/moments-feed-handler.svelte.js +49 -0
  85. package/dist/media-center/media-center/moments/moments-state.svelte.d.ts +20 -0
  86. package/dist/media-center/media-center/moments/moments-state.svelte.js +82 -0
  87. package/dist/media-center/media-center/streams-in-category/streams-in-category-panel-handler.svelte.d.ts +3 -3
  88. package/dist/media-center/media-center/streams-in-category/streams-in-category-panel-handler.svelte.js +4 -4
  89. package/dist/media-center/media-center/types.d.ts +3 -3
  90. package/dist/media-center/membership/index.d.ts +1 -0
  91. package/dist/media-center/membership/index.js +1 -0
  92. package/dist/media-center/membership/mock-membership-handler.svelte.d.ts +10 -0
  93. package/dist/media-center/membership/mock-membership-handler.svelte.js +21 -0
  94. package/dist/media-center/membership/types.d.ts +10 -0
  95. package/dist/media-center/membership/types.js +1 -0
  96. package/dist/media-center/navigation/index.d.ts +2 -0
  97. package/dist/media-center/navigation/index.js +1 -0
  98. package/dist/media-center/navigation/media-center-state.d.ts +19 -0
  99. package/dist/media-center/navigation/media-center-state.js +1 -0
  100. package/dist/media-center/navigation/mock-navigation-handler.svelte.d.ts +6 -0
  101. package/dist/media-center/navigation/mock-navigation-handler.svelte.js +6 -0
  102. package/dist/media-center/navigation/types.d.ts +5 -0
  103. package/dist/media-center/navigation/types.js +1 -0
  104. package/dist/media-page/cmp.media-page.svelte +10 -4
  105. package/dist/media-page/cmp.media-page.svelte.d.ts +6 -5
  106. package/dist/media-page/index.d.ts +40 -58
  107. package/dist/media-page/index.js +129 -16
  108. package/dist/posts/posts-player/index.d.ts +31 -33
  109. package/dist/posts/posts-player/index.js +90 -35
  110. package/dist/posts/posts-player/posts-player-view.svelte +1 -1
  111. package/dist/posts/posts-player/types.d.ts +2 -1
  112. package/dist/streams/layout/styles-transformer.d.ts +1 -1
  113. package/dist/streams/streams-player/index.d.ts +17 -83
  114. package/dist/streams/streams-player/index.js +84 -64
  115. package/dist/streams/streams-player/streams-player-buffer.svelte.js +2 -1
  116. package/dist/streams/streams-player/streams-player-view.svelte +1 -1
  117. package/dist/streams/streams-player/types.d.ts +3 -1
  118. package/dist/ui/button/cmp.options-button.svelte +123 -0
  119. package/dist/ui/button/cmp.options-button.svelte.d.ts +20 -0
  120. package/dist/ui/button/index.d.ts +1 -0
  121. package/dist/ui/button/index.js +1 -0
  122. package/dist/ui/button/resources/button-theme.svelte +16 -2
  123. package/dist/ui/player/colors/index.d.ts +1 -1
  124. package/dist/ui/player/colors/index.js +1 -1
  125. package/dist/ui/player/colors/player-colors.d.ts +14 -1
  126. package/dist/ui/player/colors/player-colors.js +24 -1
  127. package/dist/ui/player/providers/default-chunks-player-buffer.svelte.d.ts +1 -0
  128. package/dist/ui/player/providers/default-chunks-player-buffer.svelte.js +7 -1
  129. package/dist/ui/player/providers/default-feed-player-buffer.svelte.d.ts +1 -0
  130. package/dist/ui/player/providers/default-feed-player-buffer.svelte.js +7 -1
  131. package/dist/ui/player/providers/types.d.ts +3 -1
  132. package/dist/ui/shadow-dom/cmp.shadow-root.svelte +6 -4
  133. package/dist/ui/shadow-dom/colors.scss +6 -4
  134. package/package.json +5 -1
  135. package/dist/content-player/content-player-settings.d.ts +0 -12
  136. package/dist/content-player/content-player-settings.js +0 -23
  137. package/dist/media-center/config/internal-media-center-config.d.ts +0 -14
  138. package/dist/media-center/media-center/discover/discover-header-localization.d.ts +0 -6
  139. package/dist/media-center/media-center/discover/discover-header-localization.js +0 -15
  140. package/dist/posts/handlers/index.d.ts +0 -1
  141. package/dist/posts/handlers/index.js +0 -1
  142. package/dist/short-videos/data-providers/index.d.ts +0 -1
  143. package/dist/short-videos/data-providers/index.js +0 -1
  144. /package/dist/{media-center/config → external-api/data-providers}/internal-media-center-analytics-handler.d.ts +0 -0
  145. /package/dist/{media-center/config → external-api/data-providers}/internal-media-center-analytics-handler.js +0 -0
  146. /package/dist/{posts/handlers → external-api/data-providers}/internal-post-analytics-handler.js +0 -0
  147. /package/dist/{short-videos → external-api}/data-providers/internal-short-video-player-items-provider.d.ts +0 -0
  148. /package/dist/{streams/streams-player → external-api/data-providers}/internal-stream-analytics-handler.js +0 -0
  149. /package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/index.d.ts +0 -0
  150. /package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/index.js +0 -0
  151. /package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/operations.generated.js +0 -0
  152. /package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/operations.graphql +0 -0
  153. /package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/index.d.ts +0 -0
  154. /package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/index.js +0 -0
  155. /package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/operations.generated.js +0 -0
  156. /package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/operations.graphql +0 -0
  157. /package/dist/media-center/media-center/{header-footer → footer}/media-center-footer.svelte +0 -0
  158. /package/dist/media-center/media-center/{header-footer → footer}/media-center-footer.svelte.d.ts +0 -0
  159. /package/dist/media-center/media-center/{header-footer → header}/media-center-header-localization.d.ts +0 -0
  160. /package/dist/media-center/media-center/{header-footer → header}/media-center-header-localization.js +0 -0
  161. /package/dist/media-center/media-center/{header-footer → header}/media-center-header-mobile.svelte +0 -0
  162. /package/dist/media-center/media-center/{header-footer → header}/media-center-header-mobile.svelte.d.ts +0 -0
@@ -6,7 +6,7 @@ export class DefaultFeedPlayerBuffer {
6
6
  loaded = $derived.by(() => this._loaded);
7
7
  currentIndex = $derived.by(() => this._currentIndex);
8
8
  current = $derived(this.currentIndex >= 0 ? this.loaded[this.currentIndex] : null);
9
- canLoadNext = $derived(this.currentIndex < this.loaded.length - 1);
9
+ canLoadNext = $derived.by(() => this.currentIndex < this.loaded.length - 1 || !!this._onEndReachedFn);
10
10
  canLoadPrevious = $derived(this.currentIndex > 0);
11
11
  navigationDisabled = $derived(!this.canLoadNext && !this.canLoadPrevious);
12
12
  animationDuration = 500;
@@ -14,7 +14,9 @@ export class DefaultFeedPlayerBuffer {
14
14
  _loaded = $state.raw([]);
15
15
  _loadMoreFn;
16
16
  _fetchDeferred = $state.raw(null);
17
+ _onEndReachedFn;
17
18
  constructor(provider) {
19
+ this._onEndReachedFn = provider.onEndReached;
18
20
  this._loadMoreFn = provider.loadMore;
19
21
  // Throttle navigation methods
20
22
  this.loadNext = Utils.throttle(this.loadNext, this.animationDuration);
@@ -25,6 +27,10 @@ export class DefaultFeedPlayerBuffer {
25
27
  if (!this.canLoadNext) {
26
28
  return;
27
29
  }
30
+ if (this.currentIndex >= this.loaded.length - 1) {
31
+ this._onEndReachedFn?.();
32
+ return;
33
+ }
28
34
  ++this._currentIndex;
29
35
  this.warmUpBuffer();
30
36
  };
@@ -6,7 +6,8 @@ export interface IFeedPlayerDataProvider<T extends WithId> {
6
6
  startIndex: number;
7
7
  startMediaIndex?: number;
8
8
  };
9
- loadMore(): Promise<T[]>;
9
+ loadMore: () => Promise<T[]>;
10
+ onEndReached?: () => void;
10
11
  }
11
12
  export interface IChunksPlayerDataProvider<TItem extends WithId, TChunk extends WithId = WithId> {
12
13
  kind: 'chunks';
@@ -19,6 +20,7 @@ export interface IChunksPlayerDataProvider<TItem extends WithId, TChunk extends
19
20
  items: TItem[];
20
21
  continuationToken: string | null;
21
22
  }>;
23
+ onEndReached?: () => void;
22
24
  }
23
25
  export type IPlayerBuffer<T extends WithId> = IFeedPlayerBuffer<T> | IChunksPlayerBuffer<T>;
24
26
  export interface IPlayerBufferBase<T extends WithId> {
@@ -53,10 +53,11 @@ const styles = $derived.by(() => {
53
53
  :host,
54
54
  :global([data-theme="default"]) {
55
55
  /* Backgrounds */
56
- --sc-mc-color--bg-screen: #f9fafb;
56
+ --sc-mc-color--bg-button: #ffffff;
57
57
  --sc-mc-color--bg-card: #ffffff;
58
- --sc-mc-color--bg-panel: #ffffff;
59
58
  --sc-mc-color--bg-image: #d1d5db;
59
+ --sc-mc-color--bg-panel: #ffffff;
60
+ --sc-mc-color--bg-screen: #f9fafb;
60
61
  /* Borders */
61
62
  --sc-mc-color--border-brand: #144ab0;
62
63
  --sc-mc-color--border-card: #f2f2f2;
@@ -84,10 +85,11 @@ const styles = $derived.by(() => {
84
85
 
85
86
  :global([data-theme="dark"]) {
86
87
  /* Backgrounds */
87
- --sc-mc-color--bg-screen: #1e1e1e;
88
+ --sc-mc-color--bg-button: #111827;
88
89
  --sc-mc-color--bg-card: #000000;
89
- --sc-mc-color--bg-panel: #000000;
90
90
  --sc-mc-color--bg-image: #374151;
91
+ --sc-mc-color--bg-panel: #000000;
92
+ --sc-mc-color--bg-screen: #1e1e1e;
91
93
  /* Borders */
92
94
  --sc-mc-color--border-brand: #5a8dec;
93
95
  --sc-mc-color--border-card: #000000;
@@ -3,10 +3,11 @@
3
3
  :host,
4
4
  :global([data-theme='default']) {
5
5
  /* Backgrounds */
6
- --sc-mc-color--bg-screen: #{colors.$color-neutral-50};
6
+ --sc-mc-color--bg-button: #{colors.$color-white};
7
7
  --sc-mc-color--bg-card: #{colors.$color-white};
8
- --sc-mc-color--bg-panel: #{colors.$color-white};
9
8
  --sc-mc-color--bg-image: #{colors.$color-neutral-300};
9
+ --sc-mc-color--bg-panel: #{colors.$color-white};
10
+ --sc-mc-color--bg-screen: #{colors.$color-neutral-50};
10
11
 
11
12
  /* Borders */
12
13
  --sc-mc-color--border-brand: #{colors.$color-primary-500};
@@ -38,10 +39,11 @@
38
39
 
39
40
  :global([data-theme='dark']) {
40
41
  /* Backgrounds */
41
- --sc-mc-color--bg-screen: #{colors.$color-dark-800};
42
+ --sc-mc-color--bg-button: #{colors.$color-neutral-900};
42
43
  --sc-mc-color--bg-card: #{colors.$color-black};
43
- --sc-mc-color--bg-panel: #{colors.$color-black};
44
44
  --sc-mc-color--bg-image: #{colors.$color-neutral-700};
45
+ --sc-mc-color--bg-panel: #{colors.$color-black};
46
+ --sc-mc-color--bg-screen: #{colors.$color-dark-800};
45
47
 
46
48
  /* Borders */
47
49
  --sc-mc-color--border-brand: #{colors.$color-primary-400};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@streamscloud/embeddable",
3
- "version": "12.2.0",
3
+ "version": "13.0.1",
4
4
  "author": "StreamsCloud",
5
5
  "repository": {
6
6
  "type": "git",
@@ -33,6 +33,10 @@
33
33
  "types": "./dist/index.d.ts",
34
34
  "svelte": "./dist/index.js"
35
35
  },
36
+ "./external-api": {
37
+ "types": "./dist/external-api/index.d.ts",
38
+ "svelte": "./dist/external-api/index.js"
39
+ },
36
40
  "./media-center": {
37
41
  "types": "./dist/media-center/index.d.ts",
38
42
  "svelte": "./dist/media-center/index.js"
@@ -1,12 +0,0 @@
1
- import type { Locale } from '../core/locale';
2
- import type { PlayerColors } from '../ui/player/colors';
3
- export declare class ContentPlayerSettings {
4
- locale: Locale;
5
- showStreamsCloudWatermark: boolean;
6
- playerColors: NonNullable<PlayerColors>;
7
- constructor(init?: {
8
- locale?: Locale;
9
- showStreamsCloudWatermark?: boolean;
10
- playerColors?: PlayerColors;
11
- });
12
- }
@@ -1,23 +0,0 @@
1
- export class ContentPlayerSettings {
2
- locale = 'en';
3
- showStreamsCloudWatermark = false;
4
- playerColors = {
5
- brand: null,
6
- button: null,
7
- buttonInactive: null,
8
- cardButton: null,
9
- cardBackground: null,
10
- menuBackground: null,
11
- playerBackground: null,
12
- price: null,
13
- salePrice: null,
14
- sidebarBackground: null
15
- };
16
- constructor(init) {
17
- if (init) {
18
- this.locale = init.locale ?? this.locale;
19
- this.showStreamsCloudWatermark = init.showStreamsCloudWatermark ?? this.showStreamsCloudWatermark;
20
- this.playerColors = init?.playerColors ?? this.playerColors;
21
- }
22
- }
23
- }
@@ -1,14 +0,0 @@
1
- import type { IMediaCenterConfig } from './types';
2
- export declare class InternalMediaCenterConfig implements IMediaCenterConfig {
3
- postsPlayer: IMediaCenterConfig['postsPlayer'];
4
- streamPlayer: IMediaCenterConfig['streamPlayer'];
5
- handlers: IMediaCenterConfig['handlers'];
6
- getConfig: IMediaCenterConfig['getConfig'];
7
- private graphql;
8
- constructor(input: {
9
- mediaPageId: string;
10
- initiator?: string;
11
- graphqlOrigin?: string;
12
- testingStuff?: boolean;
13
- });
14
- }
@@ -1,6 +0,0 @@
1
- import { type Locale } from '../../../core/locale';
2
- export declare class DiscoverHeaderLocalization {
3
- membersLabel: (count: number) => string;
4
- locale: Locale;
5
- constructor(locale: Locale);
6
- }
@@ -1,15 +0,0 @@
1
- import {} from '../../../core/locale';
2
- export class DiscoverHeaderLocalization {
3
- membersLabel;
4
- locale;
5
- constructor(locale) {
6
- this.membersLabel = loc.membersLabel[locale];
7
- this.locale = locale;
8
- }
9
- }
10
- const loc = {
11
- membersLabel: {
12
- en: (count) => (count === 1 ? `Member` : `Members`),
13
- no: (count) => (count === 1 ? `Medlem` : `Medlemmer`)
14
- }
15
- };
@@ -1 +0,0 @@
1
- export { InternalPostAnalyticsHandler } from './internal-post-analytics-handler';
@@ -1 +0,0 @@
1
- export { InternalPostAnalyticsHandler } from './internal-post-analytics-handler';
@@ -1 +0,0 @@
1
- export { InternalShortVideoPlayerItemsProvider } from './internal-short-video-player-items-provider';
@@ -1 +0,0 @@
1
- export { InternalShortVideoPlayerItemsProvider } from './internal-short-video-player-items-provider';