@streamscloud/embeddable 12.2.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.
- package/dist/content-player/content-player-config.svelte.d.ts +2 -13
- package/dist/content-player/content-player-config.svelte.js +1 -1
- package/dist/content-player/content-player-settings.svelte.d.ts +16 -0
- package/dist/content-player/content-player-settings.svelte.js +27 -0
- package/dist/content-player/index.d.ts +1 -0
- package/dist/content-player/index.js +1 -0
- package/dist/core/theme/index.d.ts +1 -0
- package/dist/core/theme/theme-store.svelte.d.ts +3 -2
- package/dist/external-api/data-providers/index.d.ts +6 -0
- package/dist/external-api/data-providers/index.js +6 -0
- package/dist/external-api/data-providers/internal-media-center-data-provider.svelte.d.ts +15 -0
- package/dist/{media-center/config/internal-media-center-config.js → external-api/data-providers/internal-media-center-data-provider.svelte.js} +33 -17
- package/dist/{posts/handlers → external-api/data-providers}/internal-post-analytics-handler.d.ts +1 -1
- package/dist/{short-videos → external-api}/data-providers/internal-short-video-player-items-provider.js +1 -1
- package/dist/{streams/streams-player → external-api/data-providers}/internal-stream-analytics-handler.d.ts +1 -1
- package/dist/{streams/streams-player → external-api/data-providers}/internal-streams-player-data-provider.d.ts +1 -1
- package/dist/{streams/streams-player → external-api/data-providers}/internal-streams-player-data-provider.js +1 -1
- package/dist/{media-center/config → external-api/data-providers}/operations.generated.d.ts +6 -0
- package/dist/{media-center/config → external-api/data-providers}/operations.generated.js +13 -0
- package/dist/{media-center/config → external-api/data-providers}/operations.graphql +6 -0
- package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/mapper.d.ts +1 -1
- package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/mapper.js +2 -2
- package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/operations.generated.d.ts +1 -1
- package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/posts-loader.d.ts +2 -2
- package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/posts-loader.js +1 -1
- package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/mapper.d.ts +1 -1
- package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/mapper.js +1 -1
- package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/operations.generated.d.ts +1 -1
- package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/stream-pages-loader.d.ts +1 -1
- package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/stream-pages-loader.js +2 -2
- package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/streams-loader.d.ts +2 -2
- package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/streams-loader.js +1 -1
- package/dist/external-api/index.d.ts +3 -0
- package/dist/external-api/index.js +3 -0
- package/dist/external-api/media-page/index.d.ts +83 -0
- package/dist/external-api/media-page/index.js +82 -0
- package/dist/{short-videos → external-api}/short-videos-player/index.d.ts +27 -12
- package/dist/{short-videos → external-api}/short-videos-player/index.js +35 -28
- package/dist/external-api/streams-player/index.d.ts +105 -0
- package/dist/external-api/streams-player/index.js +110 -0
- package/dist/media-center/config/types.d.ts +28 -27
- package/dist/media-center/index.d.ts +3 -1
- package/dist/media-center/media-center/cmp.media-center-proxy.svelte +4 -4
- package/dist/media-center/media-center/cmp.media-center-proxy.svelte.d.ts +7 -4
- package/dist/media-center/media-center/discover/community-features-localization.d.ts +8 -0
- package/dist/media-center/media-center/discover/community-features-localization.js +31 -0
- package/dist/media-center/media-center/discover/community-features.svelte +171 -0
- package/dist/media-center/media-center/discover/community-features.svelte.d.ts +11 -0
- package/dist/media-center/media-center/discover/data-loading.d.ts +3 -3
- package/dist/media-center/media-center/discover/data-loading.js +5 -5
- package/dist/media-center/media-center/discover/discover-header.svelte +7 -56
- package/dist/media-center/media-center/discover/discover-view-handler.svelte.d.ts +3 -3
- package/dist/media-center/media-center/discover/discover-view-handler.svelte.js +4 -4
- package/dist/media-center/media-center/feed/feed-handler.svelte.d.ts +5 -3
- package/dist/media-center/media-center/feed/feed-handler.svelte.js +18 -10
- package/dist/media-center/media-center/feed/feed-providers-generator.d.ts +11 -5
- package/dist/media-center/media-center/feed/feed-providers-generator.js +13 -9
- package/dist/media-center/media-center/footer/index.d.ts +1 -0
- package/dist/media-center/media-center/footer/index.js +1 -0
- package/dist/media-center/media-center/handlers/categories-handler.svelte.d.ts +3 -5
- package/dist/media-center/media-center/handlers/categories-handler.svelte.js +16 -13
- package/dist/media-center/media-center/handlers/media-center-settings-handler.svelte.d.ts +18 -7
- package/dist/media-center/media-center/handlers/media-center-settings-handler.svelte.js +18 -25
- package/dist/media-center/media-center/{header-footer → header}/index.d.ts +0 -1
- package/dist/media-center/media-center/{header-footer → header}/index.js +0 -1
- package/dist/media-center/media-center/{header-footer → header}/media-center-header.svelte +133 -28
- package/dist/media-center/media-center/{header-footer → header}/media-center-header.svelte.d.ts +2 -0
- package/dist/media-center/media-center/index.d.ts +1 -0
- package/dist/media-center/media-center/index.js +1 -0
- package/dist/media-center/media-center/media-center-context.svelte.d.ts +15 -9
- package/dist/media-center/media-center/media-center-context.svelte.js +57 -19
- package/dist/media-center/media-center/media-center-settings.svelte.d.ts +11 -0
- package/dist/media-center/media-center/media-center-settings.svelte.js +23 -0
- package/dist/media-center/media-center/media-center-view.svelte +11 -3
- package/dist/media-center/media-center/media-center-view.svelte.d.ts +2 -0
- package/dist/media-center/media-center/menu/category-following-wrapper.svelte.d.ts +1 -1
- package/dist/media-center/media-center/menu/menu.svelte +15 -14
- package/dist/media-center/media-center/menu/popular-streams-panel-handler.svelte.d.ts +3 -3
- package/dist/media-center/media-center/menu/popular-streams-panel-handler.svelte.js +4 -4
- package/dist/media-center/media-center/moments/cmp.moments-circle.svelte +22 -9
- package/dist/media-center/media-center/moments/index.d.ts +1 -0
- package/dist/media-center/media-center/moments/index.js +1 -0
- package/dist/media-center/media-center/moments/moments-feed-handler.svelte.d.ts +26 -0
- package/dist/media-center/media-center/moments/moments-feed-handler.svelte.js +49 -0
- package/dist/media-center/media-center/moments/moments-state.svelte.d.ts +20 -0
- package/dist/media-center/media-center/moments/moments-state.svelte.js +82 -0
- package/dist/media-center/media-center/streams-in-category/streams-in-category-panel-handler.svelte.d.ts +3 -3
- package/dist/media-center/media-center/streams-in-category/streams-in-category-panel-handler.svelte.js +4 -4
- package/dist/media-center/media-center/types.d.ts +3 -3
- package/dist/media-center/membership/index.d.ts +1 -0
- package/dist/media-center/membership/index.js +1 -0
- package/dist/media-center/membership/mock-membership-handler.svelte.d.ts +10 -0
- package/dist/media-center/membership/mock-membership-handler.svelte.js +21 -0
- package/dist/media-center/membership/types.d.ts +10 -0
- package/dist/media-center/membership/types.js +1 -0
- package/dist/media-center/navigation/index.d.ts +2 -0
- package/dist/media-center/navigation/index.js +1 -0
- package/dist/media-center/navigation/media-center-state.d.ts +19 -0
- package/dist/media-center/navigation/media-center-state.js +1 -0
- package/dist/media-center/navigation/mock-navigation-handler.svelte.d.ts +6 -0
- package/dist/media-center/navigation/mock-navigation-handler.svelte.js +6 -0
- package/dist/media-center/navigation/types.d.ts +5 -0
- package/dist/media-center/navigation/types.js +1 -0
- package/dist/media-page/cmp.media-page.svelte +10 -4
- package/dist/media-page/cmp.media-page.svelte.d.ts +6 -5
- package/dist/media-page/index.d.ts +40 -58
- package/dist/media-page/index.js +129 -16
- package/dist/posts/posts-player/index.d.ts +31 -33
- package/dist/posts/posts-player/index.js +90 -35
- package/dist/posts/posts-player/posts-player-view.svelte +1 -1
- package/dist/posts/posts-player/types.d.ts +2 -1
- package/dist/streams/layout/styles-transformer.d.ts +1 -1
- package/dist/streams/streams-player/index.d.ts +17 -83
- package/dist/streams/streams-player/index.js +84 -64
- package/dist/streams/streams-player/streams-player-buffer.svelte.js +2 -1
- package/dist/streams/streams-player/streams-player-view.svelte +1 -1
- package/dist/streams/streams-player/types.d.ts +3 -1
- package/dist/ui/button/cmp.options-button.svelte +123 -0
- package/dist/ui/button/cmp.options-button.svelte.d.ts +20 -0
- package/dist/ui/button/index.d.ts +1 -0
- package/dist/ui/button/index.js +1 -0
- package/dist/ui/button/resources/button-theme.svelte +16 -2
- package/dist/ui/player/colors/index.d.ts +1 -1
- package/dist/ui/player/colors/index.js +1 -1
- package/dist/ui/player/colors/player-colors.d.ts +14 -1
- package/dist/ui/player/colors/player-colors.js +24 -1
- package/dist/ui/player/providers/default-chunks-player-buffer.svelte.d.ts +1 -0
- package/dist/ui/player/providers/default-chunks-player-buffer.svelte.js +7 -1
- package/dist/ui/player/providers/default-feed-player-buffer.svelte.d.ts +1 -0
- package/dist/ui/player/providers/default-feed-player-buffer.svelte.js +7 -1
- package/dist/ui/player/providers/types.d.ts +3 -1
- package/dist/ui/shadow-dom/cmp.shadow-root.svelte +6 -4
- package/dist/ui/shadow-dom/colors.scss +6 -4
- package/package.json +5 -1
- package/dist/content-player/content-player-settings.d.ts +0 -12
- package/dist/content-player/content-player-settings.js +0 -23
- package/dist/media-center/config/internal-media-center-config.d.ts +0 -14
- package/dist/media-center/media-center/discover/discover-header-localization.d.ts +0 -6
- package/dist/media-center/media-center/discover/discover-header-localization.js +0 -15
- package/dist/posts/handlers/index.d.ts +0 -1
- package/dist/posts/handlers/index.js +0 -1
- package/dist/short-videos/data-providers/index.d.ts +0 -1
- package/dist/short-videos/data-providers/index.js +0 -1
- /package/dist/{media-center/config → external-api/data-providers}/internal-media-center-analytics-handler.d.ts +0 -0
- /package/dist/{media-center/config → external-api/data-providers}/internal-media-center-analytics-handler.js +0 -0
- /package/dist/{posts/handlers → external-api/data-providers}/internal-post-analytics-handler.js +0 -0
- /package/dist/{short-videos → external-api}/data-providers/internal-short-video-player-items-provider.d.ts +0 -0
- /package/dist/{streams/streams-player → external-api/data-providers}/internal-stream-analytics-handler.js +0 -0
- /package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/index.d.ts +0 -0
- /package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/index.js +0 -0
- /package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/operations.generated.js +0 -0
- /package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/operations.graphql +0 -0
- /package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/index.d.ts +0 -0
- /package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/index.js +0 -0
- /package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/operations.generated.js +0 -0
- /package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/operations.graphql +0 -0
- /package/dist/media-center/media-center/{header-footer → footer}/media-center-footer.svelte +0 -0
- /package/dist/media-center/media-center/{header-footer → footer}/media-center-footer.svelte.d.ts +0 -0
- /package/dist/media-center/media-center/{header-footer → header}/media-center-header-localization.d.ts +0 -0
- /package/dist/media-center/media-center/{header-footer → header}/media-center-header-localization.js +0 -0
- /package/dist/media-center/media-center/{header-footer → header}/media-center-header-mobile.svelte +0 -0
- /package/dist/media-center/media-center/{header-footer → header}/media-center-header-mobile.svelte.d.ts +0 -0
|
@@ -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,18 +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
|
-
menuBackground: string | null;
|
|
38
|
-
playerBackground: string | null;
|
|
39
|
-
price: string | null;
|
|
40
|
-
salePrice: string | null;
|
|
41
|
-
sidebarBackground: string | null;
|
|
42
|
-
};
|
|
31
|
+
get playerColors(): import("../ui/player/colors").PlayerColors;
|
|
43
32
|
get trackingParams(): ContentPlayerConfig<T>['_trackingParams'];
|
|
44
33
|
itemAsPostViewerModel: (item: T & {
|
|
45
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
|
+
}
|
|
@@ -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 '
|
|
4
|
-
import {
|
|
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 {
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
22
|
+
this.fetchModel = async () => {
|
|
19
23
|
const payload = await this.graphql.query(GetMediaPageConfigDocument, { mediaPageId }).toPromise();
|
|
20
24
|
if (!payload.data?.embedMediaPage) {
|
|
21
|
-
|
|
25
|
+
this.model = null;
|
|
22
26
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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
|
}
|
package/dist/{posts/handlers → external-api/data-providers}/internal-post-analytics-handler.d.ts
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IPostAnalyticsHandler } from '
|
|
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 '
|
|
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 '
|
|
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 '
|
|
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
|
}
|
package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/mapper.d.ts
RENAMED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { PostPlayerModel } from '
|
|
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 '
|
|
2
|
-
import { mapToPostModel } from '
|
|
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 '
|
|
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;
|
package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/posts-loader.d.ts
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { PostType, Status } from '
|
|
2
|
-
import type { PostPlayerModel } from '
|
|
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: {
|
package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/posts-loader.js
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PostType, Status } from '
|
|
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) => {
|
package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/mapper.d.ts
RENAMED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { StreamPlayerModel } from '
|
|
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 type * as SchemaTypes from '
|
|
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,5 +1,5 @@
|
|
|
1
|
-
import { ImageScale } from '
|
|
2
|
-
import { mapToStreamPageViewerModel } from '
|
|
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;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { StreamStatus } from '
|
|
2
|
-
import type { StreamPlayerModel } from '
|
|
1
|
+
import { StreamStatus } from '../../../core/enums';
|
|
2
|
+
import type { StreamPlayerModel } from '../../../streams/streams-player/types';
|
|
3
3
|
import type { Client } from '@urql/core';
|
|
4
4
|
export declare const getStreamsCursor: (input: {
|
|
5
5
|
filter: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EmbedStreamsOrderBy, StreamStatus } from '
|
|
1
|
+
import { EmbedStreamsOrderBy, StreamStatus } from '../../../core/enums';
|
|
2
2
|
import { mapToStreamPlayerModel } from './mapper';
|
|
3
3
|
import { GetStreamsDocument } from './operations.generated';
|
|
4
4
|
export const getStreamsCursor = async (input) => {
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { Locale } from '../../core/locale';
|
|
2
|
+
import { type IMediaCenterDataProvider } from '../../media-center/config/types';
|
|
3
|
+
export type { IMediaCenterDataProvider };
|
|
4
|
+
/**
|
|
5
|
+
* Opens the media page modal using an internal media-center configuration.
|
|
6
|
+
*
|
|
7
|
+
* This function is a thin wrapper around the internal `openMediaPageModal`
|
|
8
|
+
* from `$lib/media-page`. It constructs an `InternalMediaCenterDataProvider`
|
|
9
|
+
* from the provided media page ID and GraphQL parameters, then opens
|
|
10
|
+
* the modal with that configuration.
|
|
11
|
+
*
|
|
12
|
+
* @param init Configuration options.
|
|
13
|
+
*
|
|
14
|
+
* @param {string} init.id
|
|
15
|
+
* Media page ID, used to construct an internal media-center config.
|
|
16
|
+
*
|
|
17
|
+
* @param {string} init.initiator
|
|
18
|
+
* Initiator identifier (used for tracking/analytics and GraphQL).
|
|
19
|
+
*
|
|
20
|
+
* @param {string} [init.graphqlOrigin]
|
|
21
|
+
* Optional GraphQL origin (base URL). If omitted, the default origin is
|
|
22
|
+
* determined internally.
|
|
23
|
+
*
|
|
24
|
+
* @param {Object} [init.viewerSettings]
|
|
25
|
+
* Viewer UI and behavior settings passed through to the internal
|
|
26
|
+
* `openMediaPageModal`.
|
|
27
|
+
*
|
|
28
|
+
* Fields of `viewerSettings`:
|
|
29
|
+
* - {boolean} [disableBackground]
|
|
30
|
+
* If true, hides the player's background image.
|
|
31
|
+
* - {boolean} [hideCloseButton]
|
|
32
|
+
* If true, hides the close button.
|
|
33
|
+
* - {Locale} [locale='en']
|
|
34
|
+
* Localization for the player UI. Supported values: 'en' | 'no'.
|
|
35
|
+
* If omitted, the default locale 'en' is used.
|
|
36
|
+
* - {boolean} [showStreamsCloudWatermark]
|
|
37
|
+
* If true, shows the StreamsCloud watermark.
|
|
38
|
+
* - {'light' | 'dark'} [theme]
|
|
39
|
+
* Optional theme for the player UI.
|
|
40
|
+
*
|
|
41
|
+
* @param {{ closed?: () => void }} [init.on]
|
|
42
|
+
* Optional event handlers.
|
|
43
|
+
*
|
|
44
|
+
* @param {() => void} [init.on.closed]
|
|
45
|
+
* Called after the modal is fully closed (after unmount and removal
|
|
46
|
+
* from the DOM).
|
|
47
|
+
*
|
|
48
|
+
* @returns {void}
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* import { openMediaPageModal } from '@streamscloud/embeddable/media-page';
|
|
53
|
+
*
|
|
54
|
+
* openMediaPageModal({
|
|
55
|
+
* id: 'media-page-123',
|
|
56
|
+
* initiator: 'marketing-campaign',
|
|
57
|
+
* graphqlOrigin: 'https://api.example.com',
|
|
58
|
+
* viewerSettings: {
|
|
59
|
+
* locale: 'en',
|
|
60
|
+
* hideCloseButton: false,
|
|
61
|
+
* theme: 'dark',
|
|
62
|
+
* },
|
|
63
|
+
* on: {
|
|
64
|
+
* closed: () => console.log('Media page modal closed'),
|
|
65
|
+
* },
|
|
66
|
+
* });
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export declare function openMediaPageModal(init: {
|
|
70
|
+
id: string;
|
|
71
|
+
initiator: string;
|
|
72
|
+
graphqlOrigin?: string;
|
|
73
|
+
viewerSettings?: {
|
|
74
|
+
disableBackground?: boolean;
|
|
75
|
+
locale?: Locale;
|
|
76
|
+
showStreamsCloudWatermark?: boolean;
|
|
77
|
+
hideCloseButton?: boolean;
|
|
78
|
+
theme?: 'light' | 'dark';
|
|
79
|
+
};
|
|
80
|
+
on?: {
|
|
81
|
+
closed?: () => void;
|
|
82
|
+
};
|
|
83
|
+
}): void;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { InternalMediaCenterDataProvider } from '../data-providers';
|
|
2
|
+
import {} from '../../media-center/config/types';
|
|
3
|
+
import { openMediaPageModal as openMediaPageModalInternal } from '../../media-page';
|
|
4
|
+
/**
|
|
5
|
+
* Opens the media page modal using an internal media-center configuration.
|
|
6
|
+
*
|
|
7
|
+
* This function is a thin wrapper around the internal `openMediaPageModal`
|
|
8
|
+
* from `$lib/media-page`. It constructs an `InternalMediaCenterDataProvider`
|
|
9
|
+
* from the provided media page ID and GraphQL parameters, then opens
|
|
10
|
+
* the modal with that configuration.
|
|
11
|
+
*
|
|
12
|
+
* @param init Configuration options.
|
|
13
|
+
*
|
|
14
|
+
* @param {string} init.id
|
|
15
|
+
* Media page ID, used to construct an internal media-center config.
|
|
16
|
+
*
|
|
17
|
+
* @param {string} init.initiator
|
|
18
|
+
* Initiator identifier (used for tracking/analytics and GraphQL).
|
|
19
|
+
*
|
|
20
|
+
* @param {string} [init.graphqlOrigin]
|
|
21
|
+
* Optional GraphQL origin (base URL). If omitted, the default origin is
|
|
22
|
+
* determined internally.
|
|
23
|
+
*
|
|
24
|
+
* @param {Object} [init.viewerSettings]
|
|
25
|
+
* Viewer UI and behavior settings passed through to the internal
|
|
26
|
+
* `openMediaPageModal`.
|
|
27
|
+
*
|
|
28
|
+
* Fields of `viewerSettings`:
|
|
29
|
+
* - {boolean} [disableBackground]
|
|
30
|
+
* If true, hides the player's background image.
|
|
31
|
+
* - {boolean} [hideCloseButton]
|
|
32
|
+
* If true, hides the close button.
|
|
33
|
+
* - {Locale} [locale='en']
|
|
34
|
+
* Localization for the player UI. Supported values: 'en' | 'no'.
|
|
35
|
+
* If omitted, the default locale 'en' is used.
|
|
36
|
+
* - {boolean} [showStreamsCloudWatermark]
|
|
37
|
+
* If true, shows the StreamsCloud watermark.
|
|
38
|
+
* - {'light' | 'dark'} [theme]
|
|
39
|
+
* Optional theme for the player UI.
|
|
40
|
+
*
|
|
41
|
+
* @param {{ closed?: () => void }} [init.on]
|
|
42
|
+
* Optional event handlers.
|
|
43
|
+
*
|
|
44
|
+
* @param {() => void} [init.on.closed]
|
|
45
|
+
* Called after the modal is fully closed (after unmount and removal
|
|
46
|
+
* from the DOM).
|
|
47
|
+
*
|
|
48
|
+
* @returns {void}
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* import { openMediaPageModal } from '@streamscloud/embeddable/media-page';
|
|
53
|
+
*
|
|
54
|
+
* openMediaPageModal({
|
|
55
|
+
* id: 'media-page-123',
|
|
56
|
+
* initiator: 'marketing-campaign',
|
|
57
|
+
* graphqlOrigin: 'https://api.example.com',
|
|
58
|
+
* viewerSettings: {
|
|
59
|
+
* locale: 'en',
|
|
60
|
+
* hideCloseButton: false,
|
|
61
|
+
* theme: 'dark',
|
|
62
|
+
* },
|
|
63
|
+
* on: {
|
|
64
|
+
* closed: () => console.log('Media page modal closed'),
|
|
65
|
+
* },
|
|
66
|
+
* });
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export function openMediaPageModal(init) {
|
|
70
|
+
const { id, graphqlOrigin, initiator, viewerSettings, on } = init;
|
|
71
|
+
const dataProvider = new InternalMediaCenterDataProvider({ mediaPageId: id, graphqlOrigin, initiator });
|
|
72
|
+
openMediaPageModalInternal({
|
|
73
|
+
dataProvider,
|
|
74
|
+
viewerSettings: {
|
|
75
|
+
hideCloseButton: viewerSettings?.hideCloseButton,
|
|
76
|
+
locale: viewerSettings?.locale,
|
|
77
|
+
showStreamsCloudWatermark: true,
|
|
78
|
+
theme: viewerSettings?.theme
|
|
79
|
+
},
|
|
80
|
+
on
|
|
81
|
+
});
|
|
82
|
+
}
|