@streamscloud/embeddable 16.0.7-1772107327250 → 16.0.7-1772112133122

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.
@@ -4,7 +4,7 @@ import type { AppLocaleValue } from '@streamscloud/kit/core/locale';
4
4
  type Props = {
5
5
  sections: ArticleSectionModel[];
6
6
  metadata: ArticleMetadata;
7
- theme: ThemeValue;
7
+ theme: ThemeValue | undefined;
8
8
  locale: AppLocaleValue | undefined;
9
9
  };
10
10
  declare const ArticleProxy: import("svelte").Component<Props, {}, "">;
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">import { createShadowRoot } from '../../ui/shadow-dom';
2
2
  import { default as ArticleProxy } from './article-proxy.svelte';
3
3
  import { mount, unmount } from 'svelte';
4
- let { sections, metadata, theme = 'dark', locale } = $props();
4
+ let { sections, metadata, theme, locale } = $props();
5
5
  const initHost = (node) => {
6
6
  const shadowRoot = createShadowRoot(node);
7
7
  const mounted = mount(ArticleProxy, {
@@ -3,7 +3,7 @@ import { createLocalGQLClient } from '../../core/graphql';
3
3
  import { GetEmbedArticleDocument } from './operations.generated';
4
4
  import { Loading } from '@streamscloud/kit/ui/loading';
5
5
  import { untrack } from 'svelte';
6
- let { id, slug, initiator, graphqlOrigin, theme = 'light', on } = $props();
6
+ let { id, slug, initiator, graphqlOrigin, theme, on } = $props();
7
7
  let sections = $state.raw(null);
8
8
  let metadata = $state.raw(null);
9
9
  let notFound = $state(false);
@@ -1,15 +1,20 @@
1
1
  <script lang="ts">import {} from '../../ui/player/close-orchestrator';
2
2
  import { ShadowRoot } from '../../ui/shadow-dom';
3
3
  import { MediaCenterContext } from './media-center-context.svelte';
4
+ import { MediaCenterSettings } from './media-center-settings.svelte';
4
5
  import { default as MediaCenterView } from './media-center-view.svelte';
5
6
  import { Utils } from '@streamscloud/kit/core/utils';
6
7
  import { Loading } from '@streamscloud/kit/ui/loading';
7
8
  import { untrack } from 'svelte';
8
9
  let { dataProvider, modeProps, settings, closeOrchestrator, dynamicActions } = $props();
10
+ const settingsHolder = untrack(() => new MediaCenterSettings(settings));
11
+ $effect(() => {
12
+ settingsHolder.update(settings);
13
+ });
9
14
  const context = untrack(() => new MediaCenterContext({
10
15
  dataProvider,
11
16
  closeOrchestrator,
12
- settings,
17
+ settings: settingsHolder,
13
18
  on: {
14
19
  initialized: (instance) => {
15
20
  switch (modeProps.mode) {
@@ -26,8 +31,8 @@ const context = untrack(() => new MediaCenterContext({
26
31
  });
27
32
  break;
28
33
  case 'default':
29
- if (settings.state) {
30
- instance.restoreState(settings.state);
34
+ if (settingsHolder.state) {
35
+ instance.restoreState(settingsHolder.state);
31
36
  }
32
37
  else {
33
38
  instance.activateDiscover({ categoryId: null });
@@ -50,7 +55,7 @@ const context = untrack(() => new MediaCenterContext({
50
55
  {:else if !context.initialized}
51
56
  Not initialized placeholder
52
57
  {:else}
53
- <ShadowRoot locale={settings?.locale} theme={settings?.theme ?? 'dark'} {...context.backgroundWrapperProps}>
58
+ <ShadowRoot locale={settingsHolder.locale} theme={settingsHolder.theme} {...context.backgroundWrapperProps}>
54
59
  <MediaCenterView context={context} dynamicActions={dynamicActions} />
55
60
  </ShadowRoot>
56
61
  {/if}
@@ -1,11 +1,10 @@
1
1
  import type { IMediaCenterDataProvider } from '../config/types';
2
2
  import { type ICloseOrchestrator } from '../../ui/player/close-orchestrator';
3
- import type { MediaCenterSettings } from './media-center-settings.svelte';
4
- import type { MediaCenterModeProps } from './types';
3
+ import type { IMediaCenterSettings, MediaCenterModeProps } from './types';
5
4
  import { type Snippet } from 'svelte';
6
5
  type Props = {
7
6
  dataProvider: IMediaCenterDataProvider;
8
- settings: MediaCenterSettings;
7
+ settings?: IMediaCenterSettings;
9
8
  modeProps: MediaCenterModeProps;
10
9
  closeOrchestrator: ICloseOrchestrator;
11
10
  dynamicActions?: Snippet;
@@ -1,2 +1 @@
1
1
  export { default as MediaCenterProxy } from './cmp.media-center-proxy.svelte';
2
- export { MediaCenterSettings } from './media-center-settings.svelte';
@@ -1,2 +1 @@
1
1
  export { default as MediaCenterProxy } from './cmp.media-center-proxy.svelte';
2
- export { MediaCenterSettings } from './media-center-settings.svelte';
@@ -6,7 +6,7 @@ export declare class MediaCenterSettings {
6
6
  locale: AppLocaleValue;
7
7
  showStreamsCloudWatermark: boolean;
8
8
  disableBackground: boolean;
9
- theme: ThemeValue;
9
+ theme: ThemeValue | undefined;
10
10
  state: MediaCenterState | null;
11
11
  constructor(init: IMediaCenterSettings | undefined);
12
12
  update: (data: IMediaCenterSettings | undefined) => void;
@@ -2,7 +2,7 @@ export class MediaCenterSettings {
2
2
  locale = $state('en');
3
3
  showStreamsCloudWatermark = $state(false);
4
4
  disableBackground = $state(false);
5
- theme = $state('dark');
5
+ theme = $state(undefined);
6
6
  state = $state.raw(null);
7
7
  constructor(init) {
8
8
  this.update(init);
@@ -11,7 +11,7 @@ export class MediaCenterSettings {
11
11
  this.locale = data?.locale ?? 'en';
12
12
  this.showStreamsCloudWatermark = data?.showStreamsCloudWatermark ?? false;
13
13
  this.disableBackground = data?.disableBackground ?? false;
14
- this.theme = data?.theme ?? 'dark';
14
+ this.theme = data?.theme;
15
15
  this.state = data?.state ?? null;
16
16
  };
17
17
  }
@@ -1,22 +1,23 @@
1
1
  <script lang="ts">import { MediaCenterProxy } from '../media-center/media-center';
2
- import { MediaCenterSettings } from '../media-center/media-center/media-center-settings.svelte';
3
2
  import { CloseOrchestrator } from '../ui/player/close-orchestrator';
4
3
  import { createShadowRoot } from '../ui/shadow-dom';
5
- import { mount, unmount, untrack } from 'svelte';
4
+ import { mount, unmount } from 'svelte';
6
5
  let { dataProvider, settings, dynamicActions } = $props();
7
- const settingsHolder = untrack(() => new MediaCenterSettings(settings));
8
- $effect(() => {
9
- settingsHolder.update(settings);
10
- });
11
6
  const initHost = (node) => {
12
7
  const shadowRoot = createShadowRoot(node);
13
8
  const mounted = mount(MediaCenterProxy, {
14
9
  target: shadowRoot,
15
10
  props: {
16
- dataProvider,
17
- settings: settingsHolder,
11
+ get dataProvider() {
12
+ return dataProvider;
13
+ },
14
+ get settings() {
15
+ return settings;
16
+ },
18
17
  modeProps: { mode: 'default' },
19
- dynamicActions,
18
+ get dynamicActions() {
19
+ return dynamicActions;
20
+ },
20
21
  closeOrchestrator: new CloseOrchestrator({
21
22
  closeFn: async () => {
22
23
  await unmount(mounted);
@@ -1,5 +1,5 @@
1
1
  import {} from '../media-center/config/types';
2
- import { MediaCenterProxy, MediaCenterSettings } from '../media-center/media-center';
2
+ import { MediaCenterProxy } from '../media-center/media-center';
3
3
  import { CloseOrchestrator } from '../ui/player/close-orchestrator';
4
4
  import { ModalShadowHost } from '../ui/shadow-dom';
5
5
  import { mount, unmount } from 'svelte';
@@ -83,7 +83,7 @@ export function openMediaPageModal(init) {
83
83
  target: shadowHost.shadowRoot,
84
84
  props: {
85
85
  dataProvider,
86
- settings: new MediaCenterSettings(viewerSettings),
86
+ settings: viewerSettings,
87
87
  modeProps: {
88
88
  mode: 'default'
89
89
  },
@@ -110,7 +110,7 @@ export function openMediaPageModalWithInitialPostsProvider(init) {
110
110
  target: shadowHost.shadowRoot,
111
111
  props: {
112
112
  dataProvider: mediaCenterDataProvider,
113
- settings: new MediaCenterSettings(viewerSettings),
113
+ settings: viewerSettings,
114
114
  modeProps: {
115
115
  mode: 'posts',
116
116
  props: {
@@ -141,7 +141,7 @@ export function openMediaPageModalWithInitialStreamsProvider(init) {
141
141
  target: shadowHost.shadowRoot,
142
142
  props: {
143
143
  dataProvider: mediaCenterDataProvider,
144
- settings: new MediaCenterSettings(viewerSettings),
144
+ settings: viewerSettings,
145
145
  modeProps: {
146
146
  mode: 'streams',
147
147
  props: {
@@ -1,30 +1,37 @@
1
1
  <script lang="ts">import { CloseOrchestrator } from '../../ui/player/close-orchestrator';
2
2
  import { createShadowRoot } from '../../ui/shadow-dom';
3
- import { PostsPlayerHostSettings } from './posts-player-host-settings.svelte';
4
3
  import { default as PostsPlayerProxy } from './posts-player-proxy.svelte';
5
- import { mount, unmount, untrack } from 'svelte';
4
+ import { mount, unmount } from 'svelte';
6
5
  let { dataProvider, socialInteractionsHandler, sharingHandler, playerSettings, analyticsHandler, on } = $props();
7
- const settingsHolder = untrack(() => new PostsPlayerHostSettings(playerSettings));
8
- $effect(() => {
9
- settingsHolder.update(playerSettings);
10
- });
11
6
  const initHost = (node) => {
12
7
  const shadowRoot = createShadowRoot(node);
13
8
  const mounted = mount(PostsPlayerProxy, {
14
9
  target: shadowRoot,
15
10
  props: {
16
- dataProvider,
17
- socialInteractionsHandler,
18
- sharingHandler,
19
- playerSettings: settingsHolder,
20
- analyticsHandler,
11
+ get dataProvider() {
12
+ return dataProvider;
13
+ },
14
+ get socialInteractionsHandler() {
15
+ return socialInteractionsHandler;
16
+ },
17
+ get sharingHandler() {
18
+ return sharingHandler;
19
+ },
20
+ get playerSettings() {
21
+ return playerSettings;
22
+ },
23
+ get analyticsHandler() {
24
+ return analyticsHandler;
25
+ },
21
26
  closeOrchestrator: new CloseOrchestrator({
22
27
  closeFn: async () => {
23
28
  await unmount(mounted);
24
29
  },
25
30
  canClose: false
26
31
  }),
27
- on
32
+ get on() {
33
+ return on;
34
+ }
28
35
  }
29
36
  });
30
37
  return {
@@ -10,7 +10,7 @@ const handleBackgroundImagedLoaded = (url) => {
10
10
 
11
11
  <ShadowRoot
12
12
  locale={playerSettings?.locale}
13
- theme={playerSettings?.theme ?? 'dark'}
13
+ theme={playerSettings?.theme}
14
14
  backgroundDisabled={playerSettings?.disableBackground === true}
15
15
  backgroundImageUrl={backgroundImageUrl}>
16
16
  <PostsPlayerView
@@ -1,31 +1,40 @@
1
1
  <script lang="ts">import { CloseOrchestrator } from '../../ui/player/close-orchestrator';
2
2
  import { createShadowRoot } from '../../ui/shadow-dom';
3
- import { StreamsPlayerHostSettings } from './streams-player-host-settings.svelte';
4
3
  import { default as StreamsPlayerProxy } from './streams-player-proxy.svelte';
5
- import { mount, unmount, untrack } from 'svelte';
4
+ import { mount, unmount } from 'svelte';
6
5
  let { dataProvider, postSocialInteractionsHandler, sharingHandler, amplificationParameters, playerSettings, analyticsHandler, on } = $props();
7
- const settingsHolder = untrack(() => new StreamsPlayerHostSettings(playerSettings));
8
- $effect(() => {
9
- settingsHolder.update(playerSettings);
10
- });
11
6
  const initHost = (node) => {
12
7
  const shadowRoot = createShadowRoot(node);
13
8
  const mounted = mount(StreamsPlayerProxy, {
14
9
  target: shadowRoot,
15
10
  props: {
16
- dataProvider,
17
- postSocialInteractionsHandler,
18
- sharingHandler,
19
- analyticsHandler,
20
- amplificationParameters,
21
- playerSettings: settingsHolder,
11
+ get dataProvider() {
12
+ return dataProvider;
13
+ },
14
+ get postSocialInteractionsHandler() {
15
+ return postSocialInteractionsHandler;
16
+ },
17
+ get sharingHandler() {
18
+ return sharingHandler;
19
+ },
20
+ get analyticsHandler() {
21
+ return analyticsHandler;
22
+ },
23
+ get amplificationParameters() {
24
+ return amplificationParameters;
25
+ },
26
+ get playerSettings() {
27
+ return playerSettings;
28
+ },
22
29
  closeOrchestrator: new CloseOrchestrator({
23
30
  closeFn: async () => {
24
31
  await unmount(mounted);
25
32
  },
26
33
  canClose: false
27
34
  }),
28
- on
35
+ get on() {
36
+ return on;
37
+ }
29
38
  }
30
39
  });
31
40
  return {
@@ -10,7 +10,7 @@ const handleBackgroundImagedLoaded = (url) => {
10
10
 
11
11
  <ShadowRoot
12
12
  locale={playerSettings?.locale}
13
- theme={playerSettings?.theme ?? 'dark'}
13
+ theme={playerSettings?.theme}
14
14
  backgroundDisabled={playerSettings?.disableBackground === true}
15
15
  backgroundImageUrl={backgroundImageUrl}>
16
16
  <StreamsPlayerView
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">import { brandColors } from '../../core/theme';
2
2
  import { AppLocale } from '@streamscloud/kit/core/locale';
3
- let { locale, theme = 'dark', backgroundDisabled, backgroundImageUrl, children } = $props();
3
+ let { locale, theme, backgroundDisabled, backgroundImageUrl, children } = $props();
4
4
  $effect(() => {
5
5
  if (locale) {
6
6
  AppLocale.change(locale);
@@ -42,7 +42,7 @@ const styles = $derived.by(() => {
42
42
  class:shadow-root--background-enabled={!backgroundDisabled}
43
43
  class:shadow-root--background-active={!backgroundDisabled && backgroundImageUrl && backgroundImageUrl !== 'not-applicable'}
44
44
  class:shadow-root--background-loading={!backgroundDisabled && !backgroundImageUrl}
45
- style:color-scheme={theme}
45
+ style:color-scheme={theme ?? 'light dark'}
46
46
  style={styles}>
47
47
  {@render children()}
48
48
  </div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@streamscloud/embeddable",
3
- "version": "16.0.7-1772107327250",
3
+ "version": "16.0.7-1772112133122",
4
4
  "author": "StreamsCloud",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,20 +0,0 @@
1
- import type { ThemeValue } from '../../core/theme';
2
- import type { AppLocaleValue } from '@streamscloud/kit/core/locale';
3
- export declare class PostsPlayerHostSettings {
4
- locale: AppLocaleValue | undefined;
5
- showStreamsCloudWatermark: boolean | undefined;
6
- disableBackground: boolean | undefined;
7
- theme: ThemeValue | undefined;
8
- constructor(init: {
9
- locale?: AppLocaleValue;
10
- showStreamsCloudWatermark?: boolean;
11
- disableBackground?: boolean;
12
- theme?: ThemeValue;
13
- } | undefined);
14
- update: (data: {
15
- locale?: AppLocaleValue;
16
- showStreamsCloudWatermark?: boolean;
17
- disableBackground?: boolean;
18
- theme?: ThemeValue;
19
- } | undefined) => void;
20
- }
@@ -1,15 +0,0 @@
1
- export class PostsPlayerHostSettings {
2
- locale = $state();
3
- showStreamsCloudWatermark = $state();
4
- disableBackground = $state();
5
- theme = $state();
6
- constructor(init) {
7
- this.update(init);
8
- }
9
- update = (data) => {
10
- this.locale = data?.locale;
11
- this.showStreamsCloudWatermark = data?.showStreamsCloudWatermark;
12
- this.disableBackground = data?.disableBackground;
13
- this.theme = data?.theme;
14
- };
15
- }
@@ -1,20 +0,0 @@
1
- import type { ThemeValue } from '../../core/theme';
2
- import type { AppLocaleValue } from '@streamscloud/kit/core/locale';
3
- export declare class StreamsPlayerHostSettings {
4
- locale: AppLocaleValue | undefined;
5
- showStreamsCloudWatermark: boolean | undefined;
6
- disableBackground: boolean | undefined;
7
- theme: ThemeValue | undefined;
8
- constructor(init: {
9
- locale?: AppLocaleValue;
10
- showStreamsCloudWatermark?: boolean;
11
- disableBackground?: boolean;
12
- theme?: ThemeValue;
13
- } | undefined);
14
- update: (data: {
15
- locale?: AppLocaleValue;
16
- showStreamsCloudWatermark?: boolean;
17
- disableBackground?: boolean;
18
- theme?: ThemeValue;
19
- } | undefined) => void;
20
- }
@@ -1,15 +0,0 @@
1
- export class StreamsPlayerHostSettings {
2
- locale = $state();
3
- showStreamsCloudWatermark = $state();
4
- disableBackground = $state();
5
- theme = $state();
6
- constructor(init) {
7
- this.update(init);
8
- }
9
- update = (data) => {
10
- this.locale = data?.locale;
11
- this.showStreamsCloudWatermark = data?.showStreamsCloudWatermark;
12
- this.disableBackground = data?.disableBackground;
13
- this.theme = data?.theme;
14
- };
15
- }