@streamscloud/embeddable 12.1.0 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/dist/ads/ad-card/cmp.ad-card.svelte +4 -16
  2. package/dist/content-player/cmp.content-player.svelte +1 -1
  3. package/dist/content-player/content-player-config.svelte.d.ts +2 -12
  4. package/dist/content-player/content-player-config.svelte.js +1 -1
  5. package/dist/content-player/content-player-settings.svelte.d.ts +16 -0
  6. package/dist/content-player/content-player-settings.svelte.js +27 -0
  7. package/dist/content-player/controls-and-attachments.svelte +32 -2
  8. package/dist/content-player/controls-and-attachments.svelte.d.ts +1 -0
  9. package/dist/content-player/index.d.ts +1 -0
  10. package/dist/content-player/index.js +1 -0
  11. package/dist/content-player/overview-panel.svelte +2 -2
  12. package/dist/content-player/ui-manager.svelte.d.ts +2 -1
  13. package/dist/content-player/ui-manager.svelte.js +2 -1
  14. package/dist/core/enums.d.ts +3 -0
  15. package/dist/core/enums.js +4 -0
  16. package/dist/core/theme/index.d.ts +2 -0
  17. package/dist/core/theme/index.js +1 -0
  18. package/dist/core/theme/theme-store.svelte.d.ts +6 -0
  19. package/dist/core/theme/theme-store.svelte.js +10 -0
  20. package/dist/external-api/data-providers/index.d.ts +6 -0
  21. package/dist/external-api/data-providers/index.js +6 -0
  22. package/dist/external-api/data-providers/internal-media-center-data-provider.svelte.d.ts +15 -0
  23. package/dist/{media-center/config/internal-media-center-config.js → external-api/data-providers/internal-media-center-data-provider.svelte.js} +33 -17
  24. package/dist/{posts/handlers → external-api/data-providers}/internal-post-analytics-handler.d.ts +1 -1
  25. package/dist/{short-videos → external-api}/data-providers/internal-short-video-player-items-provider.js +1 -1
  26. package/dist/{streams/streams-player → external-api/data-providers}/internal-stream-analytics-handler.d.ts +1 -1
  27. package/dist/{streams/streams-player → external-api/data-providers}/internal-streams-player-data-provider.d.ts +1 -1
  28. package/dist/{streams/streams-player → external-api/data-providers}/internal-streams-player-data-provider.js +1 -1
  29. package/dist/{media-center/config → external-api/data-providers}/operations.generated.d.ts +6 -0
  30. package/dist/{media-center/config → external-api/data-providers}/operations.generated.js +13 -0
  31. package/dist/{media-center/config → external-api/data-providers}/operations.graphql +6 -0
  32. package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/mapper.d.ts +1 -1
  33. package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/mapper.js +2 -2
  34. package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/operations.generated.d.ts +1 -1
  35. package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/posts-loader.d.ts +2 -2
  36. package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/posts-loader.js +1 -1
  37. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/mapper.d.ts +1 -1
  38. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/mapper.js +1 -1
  39. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/operations.generated.d.ts +1 -1
  40. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/stream-pages-loader.d.ts +1 -1
  41. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/stream-pages-loader.js +2 -2
  42. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/streams-loader.d.ts +2 -2
  43. package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/streams-loader.js +6 -2
  44. package/dist/external-api/index.d.ts +3 -0
  45. package/dist/external-api/index.js +3 -0
  46. package/dist/external-api/media-page/index.d.ts +83 -0
  47. package/dist/external-api/media-page/index.js +82 -0
  48. package/dist/{short-videos → external-api}/short-videos-player/index.d.ts +27 -12
  49. package/dist/{short-videos → external-api}/short-videos-player/index.js +35 -28
  50. package/dist/external-api/streams-player/index.d.ts +105 -0
  51. package/dist/external-api/streams-player/index.js +110 -0
  52. package/dist/media-center/config/types.d.ts +28 -27
  53. package/dist/media-center/index.d.ts +3 -1
  54. package/dist/media-center/media-center/cmp.media-center-proxy.svelte +59 -0
  55. package/dist/media-center/media-center/cmp.media-center-proxy.svelte.d.ts +15 -0
  56. package/dist/media-center/media-center/discover/community-features-localization.d.ts +8 -0
  57. package/dist/media-center/media-center/discover/community-features-localization.js +31 -0
  58. package/dist/media-center/media-center/discover/community-features.svelte +171 -0
  59. package/dist/media-center/media-center/discover/community-features.svelte.d.ts +11 -0
  60. package/dist/media-center/media-center/discover/data-loading.d.ts +3 -3
  61. package/dist/media-center/media-center/discover/data-loading.js +5 -5
  62. package/dist/media-center/media-center/discover/discover-header.svelte +13 -65
  63. package/dist/media-center/media-center/discover/discover-header.svelte.d.ts +0 -2
  64. package/dist/media-center/media-center/discover/discover-view-handler.svelte.d.ts +3 -3
  65. package/dist/media-center/media-center/discover/discover-view-handler.svelte.js +4 -4
  66. package/dist/media-center/media-center/discover/discover-view.svelte +6 -6
  67. package/dist/media-center/media-center/discover/discover-view.svelte.d.ts +0 -2
  68. package/dist/media-center/media-center/feed/feed-handler.svelte.d.ts +5 -3
  69. package/dist/media-center/media-center/feed/feed-handler.svelte.js +18 -10
  70. package/dist/media-center/media-center/feed/feed-providers-generator.d.ts +11 -5
  71. package/dist/media-center/media-center/feed/feed-providers-generator.js +13 -9
  72. package/dist/media-center/media-center/footer/index.d.ts +1 -0
  73. package/dist/media-center/media-center/footer/index.js +1 -0
  74. package/dist/media-center/media-center/{header-footer → footer}/media-center-footer.svelte +5 -5
  75. package/dist/media-center/media-center/handlers/categories-handler.svelte.d.ts +3 -5
  76. package/dist/media-center/media-center/handlers/categories-handler.svelte.js +16 -13
  77. package/dist/media-center/media-center/handlers/media-center-settings-handler.svelte.d.ts +18 -5
  78. package/dist/media-center/media-center/handlers/media-center-settings-handler.svelte.js +21 -9
  79. package/dist/media-center/media-center/{header-footer → header}/index.d.ts +0 -1
  80. package/dist/media-center/media-center/{header-footer → header}/index.js +0 -1
  81. package/dist/media-center/media-center/{header-footer → header}/media-center-header-mobile.svelte +5 -4
  82. package/dist/media-center/media-center/{header-footer → header}/media-center-header.svelte +138 -35
  83. package/dist/media-center/media-center/{header-footer → header}/media-center-header.svelte.d.ts +2 -2
  84. package/dist/media-center/media-center/index.d.ts +2 -1
  85. package/dist/media-center/media-center/index.js +2 -1
  86. package/dist/media-center/media-center/media-center-context.svelte.d.ts +16 -20
  87. package/dist/media-center/media-center/media-center-context.svelte.js +61 -19
  88. package/dist/media-center/media-center/media-center-settings.svelte.d.ts +11 -0
  89. package/dist/media-center/media-center/media-center-settings.svelte.js +23 -0
  90. package/dist/media-center/media-center/{cmp.media-center.svelte → media-center-view.svelte} +65 -108
  91. package/dist/media-center/media-center/media-center-view.svelte.d.ts +9 -0
  92. package/dist/media-center/media-center/menu/category-following-wrapper.svelte.d.ts +1 -1
  93. package/dist/media-center/media-center/menu/menu.svelte +40 -35
  94. package/dist/media-center/media-center/menu/menu.svelte.d.ts +0 -2
  95. package/dist/media-center/media-center/menu/popular-streams-panel-handler.svelte.d.ts +3 -3
  96. package/dist/media-center/media-center/menu/popular-streams-panel-handler.svelte.js +4 -4
  97. package/dist/media-center/media-center/moments/cmp.moments-circle.svelte +24 -7
  98. package/dist/media-center/media-center/moments/index.d.ts +1 -0
  99. package/dist/media-center/media-center/moments/index.js +1 -0
  100. package/dist/media-center/media-center/moments/moments-feed-handler.svelte.d.ts +26 -0
  101. package/dist/media-center/media-center/moments/moments-feed-handler.svelte.js +49 -0
  102. package/dist/media-center/media-center/moments/moments-state.svelte.d.ts +20 -0
  103. package/dist/media-center/media-center/moments/moments-state.svelte.js +82 -0
  104. package/dist/media-center/media-center/streams-in-category/streams-in-category-panel-handler.svelte.d.ts +3 -3
  105. package/dist/media-center/media-center/streams-in-category/streams-in-category-panel-handler.svelte.js +4 -4
  106. package/dist/media-center/media-center/streams-in-category/streams-in-category-panel.svelte +2 -3
  107. package/dist/media-center/media-center/types.d.ts +4 -11
  108. package/dist/media-center/membership/index.d.ts +1 -0
  109. package/dist/media-center/membership/index.js +1 -0
  110. package/dist/media-center/membership/mock-membership-handler.svelte.d.ts +10 -0
  111. package/dist/media-center/membership/mock-membership-handler.svelte.js +21 -0
  112. package/dist/media-center/membership/types.d.ts +10 -0
  113. package/dist/media-center/membership/types.js +1 -0
  114. package/dist/media-center/navigation/index.d.ts +2 -0
  115. package/dist/media-center/navigation/index.js +1 -0
  116. package/dist/media-center/navigation/media-center-state.d.ts +19 -0
  117. package/dist/media-center/navigation/media-center-state.js +1 -0
  118. package/dist/media-center/navigation/mock-navigation-handler.svelte.d.ts +6 -0
  119. package/dist/media-center/navigation/mock-navigation-handler.svelte.js +6 -0
  120. package/dist/media-center/navigation/types.d.ts +5 -0
  121. package/dist/media-center/navigation/types.js +1 -0
  122. package/dist/media-page/cmp.media-page.svelte +45 -0
  123. package/dist/media-page/cmp.media-page.svelte.d.ts +11 -0
  124. package/dist/media-page/index.d.ts +42 -58
  125. package/dist/media-page/index.js +131 -17
  126. package/dist/posts/attachments/cmp.attachments.svelte +1 -1
  127. package/dist/posts/controls/cmp.controls.svelte +4 -1
  128. package/dist/posts/controls/cmp.controls.svelte.d.ts +2 -0
  129. package/dist/posts/post-viewer/attachments-horizontal.svelte +4 -12
  130. package/dist/posts/post-viewer/heading.svelte +4 -4
  131. package/dist/posts/post-viewer/media/post-media.svelte +1 -1
  132. package/dist/posts/post-viewer/post-texts.svelte +2 -2
  133. package/dist/posts/posts-player/cmp.posts-player.svelte.d.ts +1 -0
  134. package/dist/posts/posts-player/index.d.ts +31 -32
  135. package/dist/posts/posts-player/index.js +90 -35
  136. package/dist/posts/posts-player/posts-player-proxy.svelte +13 -4
  137. package/dist/posts/posts-player/posts-player-proxy.svelte.d.ts +1 -0
  138. package/dist/posts/posts-player/posts-player-view.svelte +1 -1
  139. package/dist/posts/posts-player/types.d.ts +2 -1
  140. package/dist/products/product-card/cmp.product-card.svelte +4 -16
  141. package/dist/short-videos/short-video-card/cmp.short-video-card.svelte +6 -6
  142. package/dist/streams/layout/styles-transformer.d.ts +1 -1
  143. package/dist/streams/stream-card/cmp.stream-card.svelte +1 -1
  144. package/dist/streams/streams-player/cmp.streams-player.svelte +42 -0
  145. package/dist/streams/streams-player/cmp.streams-player.svelte.d.ts +24 -0
  146. package/dist/streams/streams-player/index.d.ts +18 -83
  147. package/dist/streams/streams-player/index.js +85 -65
  148. package/dist/streams/streams-player/stream-overview.svelte +1 -1
  149. package/dist/streams/streams-player/streams-player-buffer.svelte.js +2 -1
  150. package/dist/streams/streams-player/streams-player-proxy.svelte +32 -0
  151. package/dist/streams/streams-player/streams-player-proxy.svelte.d.ts +26 -0
  152. package/dist/streams/streams-player/streams-player-view.svelte +1 -1
  153. package/dist/streams/streams-player/types.d.ts +3 -1
  154. package/dist/ui/button/cmp.options-button.svelte +123 -0
  155. package/dist/ui/button/cmp.options-button.svelte.d.ts +20 -0
  156. package/dist/ui/button/index.d.ts +1 -0
  157. package/dist/ui/button/index.js +1 -0
  158. package/dist/ui/button/resources/button-theme.svelte +6 -143
  159. package/dist/ui/button/resources/button-types.d.ts +0 -1
  160. package/dist/ui/button/resources/button-types.js +0 -1
  161. package/dist/ui/icon/cmp.icon.svelte +8 -28
  162. package/dist/ui/image/cmp.image-rounded.svelte +3 -10
  163. package/dist/ui/image/cmp.image-stub.svelte +1 -4
  164. package/dist/ui/image/cmp.image.svelte +1 -4
  165. package/dist/ui/loading/cmp.loading.svelte +1 -4
  166. package/dist/ui/player/button/cmp.mobile-player-buttons-group.svelte +2 -2
  167. package/dist/ui/player/button/cmp.mobile-player-buttons-group.svelte.d.ts +2 -2
  168. package/dist/ui/player/button/cmp.player-button.svelte +7 -3
  169. package/dist/ui/player/button/cmp.player-buttons-group.svelte +4 -3
  170. package/dist/ui/player/button/cmp.player-buttons-group.svelte.d.ts +2 -2
  171. package/dist/ui/player/button/index.d.ts +1 -1
  172. package/dist/ui/player/button/types.d.ts +1 -1
  173. package/dist/ui/player/colors/index.d.ts +1 -1
  174. package/dist/ui/player/colors/index.js +1 -1
  175. package/dist/ui/player/colors/player-colors.d.ts +15 -1
  176. package/dist/ui/player/colors/player-colors.js +24 -1
  177. package/dist/ui/player/providers/default-chunks-player-buffer.svelte.d.ts +1 -0
  178. package/dist/ui/player/providers/default-chunks-player-buffer.svelte.js +7 -1
  179. package/dist/ui/player/providers/default-feed-player-buffer.svelte.d.ts +1 -0
  180. package/dist/ui/player/providers/default-feed-player-buffer.svelte.js +7 -1
  181. package/dist/ui/player/providers/types.d.ts +3 -1
  182. package/dist/ui/shadow-dom/cmp.shadow-root.svelte +158 -0
  183. package/dist/ui/shadow-dom/colors.scss +74 -0
  184. package/dist/ui/shadow-dom/index.d.ts +1 -0
  185. package/dist/ui/shadow-dom/index.js +1 -0
  186. package/dist/ui/shadow-dom/shadow-root-service.js +0 -4
  187. package/dist/ui/slider/cmp.slider.svelte +5 -5
  188. package/package.json +5 -1
  189. package/dist/content-player/content-player-settings.d.ts +0 -12
  190. package/dist/content-player/content-player-settings.js +0 -22
  191. package/dist/media-center/config/internal-media-center-config.d.ts +0 -14
  192. package/dist/media-center/media-center/cmp.media-center.svelte.d.ts +0 -4
  193. package/dist/media-center/media-center/discover/discover-header-localization.d.ts +0 -6
  194. package/dist/media-center/media-center/discover/discover-header-localization.js +0 -15
  195. package/dist/posts/handlers/index.d.ts +0 -1
  196. package/dist/posts/handlers/index.js +0 -1
  197. package/dist/short-videos/data-providers/index.d.ts +0 -1
  198. package/dist/short-videos/data-providers/index.js +0 -1
  199. package/dist/ui/with-background/cmp.with-background.svelte +0 -86
  200. package/dist/ui/with-background/index.d.ts +0 -1
  201. package/dist/ui/with-background/index.js +0 -1
  202. /package/dist/{media-center/config → external-api/data-providers}/internal-media-center-analytics-handler.d.ts +0 -0
  203. /package/dist/{media-center/config → external-api/data-providers}/internal-media-center-analytics-handler.js +0 -0
  204. /package/dist/{posts/handlers → external-api/data-providers}/internal-post-analytics-handler.js +0 -0
  205. /package/dist/{short-videos → external-api}/data-providers/internal-short-video-player-items-provider.d.ts +0 -0
  206. /package/dist/{streams/streams-player → external-api/data-providers}/internal-stream-analytics-handler.js +0 -0
  207. /package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/index.d.ts +0 -0
  208. /package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/index.js +0 -0
  209. /package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/operations.generated.js +0 -0
  210. /package/dist/{posts/data-loaders → external-api/data-providers/post-data-loaders}/operations.graphql +0 -0
  211. /package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/index.d.ts +0 -0
  212. /package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/index.js +0 -0
  213. /package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/operations.generated.js +0 -0
  214. /package/dist/{streams/data-loaders → external-api/data-providers/stream-data-loaders}/operations.graphql +0 -0
  215. /package/dist/media-center/media-center/{header-footer → footer}/media-center-footer.svelte.d.ts +0 -0
  216. /package/dist/media-center/media-center/{header-footer → header}/media-center-header-localization.d.ts +0 -0
  217. /package/dist/media-center/media-center/{header-footer → header}/media-center-header-localization.js +0 -0
  218. /package/dist/media-center/media-center/{header-footer → header}/media-center-header-mobile.svelte.d.ts +0 -0
  219. /package/dist/ui/{with-background/cmp.with-background.svelte.d.ts → shadow-dom/cmp.shadow-root.svelte.d.ts} +0 -0
@@ -0,0 +1,123 @@
1
+ <script lang="ts">import { Dropdown } from '../dropdown';
2
+ import { Icon } from '../icon';
3
+ import ButtonBase from './resources/button-base.svelte';
4
+ import ButtonTheme from './resources/button-theme.svelte';
5
+ import IconChevronDown from '@fluentui/svg-icons/icons/chevron_down_20_regular.svg?raw';
6
+ let { type = 'button', disabled = false, autofocus = false, style = null, size = null, optionsPosition = 'bottom-start', on, children, options, rightOptions } = $props();
7
+ </script>
8
+
9
+ <ButtonTheme style={style} size={size}>
10
+ <div class="options-button" class:options-button--disabled={disabled}>
11
+ {#if options}
12
+ <div class="options-button__options">
13
+ <Dropdown position={optionsPosition} disabled={disabled} offset={4}>
14
+ {#snippet trigger()}
15
+ <button class="options-button__options-trigger" type="button" disabled={disabled} aria-label="none">
16
+ <Icon src={IconChevronDown} />
17
+ </button>
18
+ {/snippet}
19
+ {@render options()}
20
+ </Dropdown>
21
+ </div>
22
+ <span class="options-button__options-separator">&zwj;</span>
23
+ {/if}
24
+ <div class="options-button__trigger">
25
+ <ButtonBase type={type} disabled={disabled} autofocus={autofocus} on={on}>
26
+ {@render children()}
27
+ </ButtonBase>
28
+ </div>
29
+ {#if rightOptions}
30
+ <span class="options-button__options-separator">&zwj;</span>
31
+ <div class="options-button__options">
32
+ <Dropdown position={optionsPosition} disabled={disabled} offset={4}>
33
+ {#snippet trigger()}
34
+ <button class="options-button__options-trigger" type="button" disabled={disabled} aria-label="none">
35
+ <Icon src={IconChevronDown} />
36
+ </button>
37
+ {/snippet}
38
+ {@render rightOptions()}
39
+ </Dropdown>
40
+ </div>
41
+ {/if}
42
+ </div>
43
+ </ButtonTheme>
44
+
45
+ <style>@keyframes fadeIn {
46
+ 0% {
47
+ opacity: 1;
48
+ }
49
+ 50% {
50
+ opacity: 0.4;
51
+ }
52
+ 100% {
53
+ opacity: 1;
54
+ }
55
+ }
56
+ .options-button {
57
+ --_options-button--font--color: var(--button--font--color, black);
58
+ --_options-button--font-weight: var(--button--font-weight, 400);
59
+ --_options-button--text--font-size: var(--button--text--font-size, 0.875em);
60
+ --_options-button--background: var(--button--background, white);
61
+ --_options-button--background--hover: var(--button--background--hover, var(--_options-button--background));
62
+ --_options-button--background--active: var(--button--background--active, var(--_options-button--background));
63
+ --_options-button--background--disabled: var(--button--background--disabled, var(--_options-button--background));
64
+ --_options-button--border: var(--button--border, none);
65
+ --_options-button--border-radius: var(--button--border-radius, 0.25em);
66
+ --_options-button--box-shadow: var(--button--box-shadow, none);
67
+ --_options-button--padding--vertical: var(--button--padding--vertical, 0);
68
+ --_options-button--min-width: var(--button--min-width, 0);
69
+ --_options-button--height: var(--button--height, 2em);
70
+ --_options-button--separator--border: 1px solid var(--_options-button--font--color);
71
+ --_options-button--dropdown--min-width: var(--options-button--dropdown--min-width, 10em);
72
+ font-weight: var(--_options-button--font-weight);
73
+ color: var(--_options-button--font--color);
74
+ background: var(--_options-button--background);
75
+ border: var(--_options-button--border);
76
+ border-radius: var(--_options-button--border-radius);
77
+ min-width: var(--_options-button--min-width);
78
+ height: var(--_options-button--height);
79
+ display: inline-flex;
80
+ align-items: center;
81
+ vertical-align: middle;
82
+ white-space: nowrap;
83
+ box-shadow: var(--_options-button--box-shadow);
84
+ }
85
+ .options-button--disabled {
86
+ background: var(--_options-button--background--disabled);
87
+ }
88
+ .options-button__trigger {
89
+ display: inline-flex;
90
+ height: 100%;
91
+ flex: 1;
92
+ --button--min-width: 100%;
93
+ --button--box-shadow: none;
94
+ --button--border: none;
95
+ --button--border--disabled: none;
96
+ --button--height: 100%;
97
+ --button--background: transparent;
98
+ --button--background--disabled: transparent;
99
+ }
100
+ .options-button__options-trigger {
101
+ height: 100%;
102
+ font-size: var(--_options-button--text--font-size);
103
+ border-radius: var(--_options-button--border-radius);
104
+ }
105
+ .options-button__options {
106
+ height: 100%;
107
+ --dropdown-item--min-width: var(--_options-button--dropdown--min-width);
108
+ --button--min-width: 100%;
109
+ --button--justify-content: flex-start;
110
+ }
111
+ .options-button__options-trigger {
112
+ padding: var(--_options-button--padding--vertical) 0.5em;
113
+ }
114
+ .options-button__options-trigger:not(:disabled):hover {
115
+ background: var(--_options-button--background--hover);
116
+ }
117
+ .options-button__options-trigger:not(:disabled):active {
118
+ background: var(--_options-button--background--active);
119
+ }
120
+ .options-button__options-separator {
121
+ border-right: var(--_options-button--separator--border);
122
+ height: var(--_options-button--text--font-size);
123
+ }</style>
@@ -0,0 +1,20 @@
1
+ import { type DropdownPosition } from '../dropdown';
2
+ import type { ButtonStyle, ButtonSize } from './resources/button-types';
3
+ import type { Snippet } from 'svelte';
4
+ type Props = {
5
+ type?: 'button' | 'submit' | 'reset';
6
+ disabled?: boolean;
7
+ autofocus?: boolean;
8
+ style?: ButtonStyle | null;
9
+ size?: ButtonSize | null;
10
+ optionsPosition?: DropdownPosition;
11
+ on?: {
12
+ click: (e: MouseEvent) => void;
13
+ };
14
+ children: Snippet;
15
+ options?: Snippet;
16
+ rightOptions?: Snippet;
17
+ };
18
+ declare const Cmp: import("svelte").Component<Props, {}, "">;
19
+ type Cmp = ReturnType<typeof Cmp>;
20
+ export default Cmp;
@@ -1,2 +1,3 @@
1
1
  export { default as Button } from './cmp.button.svelte';
2
+ export { default as OptionsButton } from './cmp.options-button.svelte';
2
3
  export { ButtonStyle, ButtonSize } from './resources/button-types';
@@ -1,2 +1,3 @@
1
1
  export { default as Button } from './cmp.button.svelte';
2
+ export { default as OptionsButton } from './cmp.options-button.svelte';
2
3
  export { ButtonStyle, ButtonSize } from './resources/button-types';
@@ -10,7 +10,6 @@ let { style = undefined, size = ButtonSize.Standard, children } = $props();
10
10
  class:button-theme--white={style === ButtonStyle.White}
11
11
  class:button-theme--gray={style === ButtonStyle.Gray}
12
12
  class:button-theme--green={style === ButtonStyle.Green}
13
- class:button-theme--black={style === ButtonStyle.Black}
14
13
  class:button-theme--text-only={style === ButtonStyle.TextOnly}
15
14
  class:button-theme--transparent-success={style === ButtonStyle.TransparentSuccess}
16
15
  class:button-theme--transparent-primary={style === ButtonStyle.TransparentPrimary}
@@ -37,158 +36,22 @@ let { style = undefined, size = ButtonSize.Standard, children } = $props();
37
36
  }
38
37
  .button-theme {
39
38
  display: contents;
40
- /*Style*/
41
39
  /*Size*/
42
40
  }
43
- .button-theme--primary {
44
- --button--font--color: #ffffff;
45
- --button--background: #144ab0;
46
- --button--background--hover: #1244a0;
47
- --button--background--active: #103a89;
48
- --button--background--disabled: #91b3f3;
49
- }
50
- :global([data-theme="dark"]) .button-theme--primary {
51
- --button--background--disabled: #91b3f3;
52
- }
53
41
  .button-theme--standard {
54
- --button--font--color: #2e2e2e;
55
- --button--background: #ffffff;
42
+ --button--font--color: var(--sc-mc-color--text-primary);
43
+ --button--background: var(--sc-mc-color--bg-button);
56
44
  --button--background--hover: #f9fafb;
57
- --button--background--active: #f3f4f6;
58
- --button--background--disabled: #f3f4f6;
45
+ --button--background--active: #f2f2f3;
46
+ --button--background--disabled: #f2f2f3;
59
47
  --button--border: 1px solid #e5e7eb;
60
48
  }
61
49
  :global([data-theme="dark"]) .button-theme--standard {
62
- --button--font--color: #ffffff;
63
- --button--background: #111827;
64
- --button--background--hover: #1f2937;
65
- --button--background--active: #374151;
66
- --button--background--disabled: #374151;
67
- }
68
- :global([data-theme="dark"]) .button-theme--standard {
69
- --button--border: 1px solid #4b5563;
70
- }
71
- .button-theme--white {
72
- --button--font--color: #2e2e2e;
73
- --button--background: #ffffff;
74
- --button--background--hover: #f9fafb;
75
- --button--background--active: #f3f4f6;
76
- --button--background--disabled: #f3f4f6;
77
- }
78
- :global([data-theme="dark"]) .button-theme--white {
79
- --button--font--color: #ffffff;
80
- --button--background: #111827;
81
- --button--background--hover: #1f2937;
82
- --button--background--active: #374151;
83
- --button--background--disabled: #374151;
84
- }
85
- .button-theme--gray {
86
- --button--font--color: #2e2e2e;
87
- --button--background: #f3f4f6;
88
- --button--background--hover: #f9fafb;
89
- --button--background--active: #f3f4f6;
90
- --button--background--disabled: #f3f4f6;
91
- --button--border: 1px solid #e5e7eb;
92
- }
93
- :global([data-theme="dark"]) .button-theme--gray {
94
- --button--font--color: #ffffff;
95
- --button--background: #374151;
96
- --button--background--hover: #1f2937;
97
- --button--background--active: #374151;
98
- --button--background--disabled: #374151;
99
- --button--border: 1px solid #4b5563;
100
- }
101
- .button-theme--green {
102
- --button--font--color: #0cce6b;
103
- --button--background: #066031;
104
- --button--background--hover: #088745;
105
- --button--background--active: #088745;
106
- --button--background--disabled: #0aa454;
107
- --button--border: 1px solid #066031;
108
- }
109
- :global([data-theme="dark"]) .button-theme--green {
110
- --button--font--color: #ffffff;
111
- --button--background: #374151;
112
50
  --button--background--hover: #1f2937;
113
51
  --button--background--active: #374151;
114
52
  --button--background--disabled: #374151;
115
53
  --button--border: 1px solid #4b5563;
116
54
  }
117
- .button-theme--black {
118
- --button--font--color: #ffffff;
119
- --button--background: #1c1c1c;
120
- --button--background--hover: #1f2937;
121
- --button--background--active: #374151;
122
- --button--background--disabled: #374151;
123
- }
124
- :global([data-theme="dark"]) .button-theme--black {
125
- --button--font--color: #2e2e2e;
126
- --button--background: #fafafa;
127
- --button--background--hover: #f3f4f6;
128
- --button--background--active: #e5e7eb;
129
- --button--background--disabled: #e5e7eb;
130
- }
131
- .button-theme--alert {
132
- --button--font--color: #ffffff;
133
- --button--background: #e71d36;
134
- --button--background--hover: #d4172d;
135
- --button--background--active: #b81427;
136
- --button--background--disabled: #f6a7b1;
137
- }
138
- .button-theme--text-only {
139
- --button--font--color: #2e2e2e;
140
- --button--background: transparent;
141
- --button--background--hover: #f3f4f6;
142
- --button--background--active: #e5e7eb;
143
- --button--border: none;
144
- }
145
- :global([data-theme="dark"]) .button-theme--text-only {
146
- --button--font--color: #ffffff;
147
- --button--background--hover: #111827;
148
- --button--background--active: #1f2937;
149
- --button--border: none;
150
- }
151
- .button-theme--transparent-success {
152
- --button--font--color: #0cce6b;
153
- --button--background: #ecfef4;
154
- --button--border: 1px solid #0cce6b;
155
- --button--background--active: #d4fce7;
156
- }
157
- .button-theme--transparent-primary {
158
- --button--font--color: #144ab0;
159
- --button--background: #f1f6fd;
160
- --button--border: 1px solid #144ab0;
161
- --button--background--active: #dfe9fb;
162
- }
163
- .button-theme--transparent-white {
164
- --button--font--color: #ffffff;
165
- --button--background: transparent;
166
- --button--border: 1px solid #ffffff;
167
- }
168
- .button-theme--transparent-gray {
169
- --button--font--color: #6b7280;
170
- --button--background: #f9fafb;
171
- --button--border: 1px solid #6b7280;
172
- --button--background--active: #f3f4f6;
173
- }
174
- :global([data-theme="dark"]) .button-theme--transparent-gray {
175
- --button--font--color: #e5e7eb;
176
- --button--background: #1f2937;
177
- --button--border: 1px solid #e5e7eb;
178
- --button--background--active: #374151;
179
- }
180
- .button-theme--transparent-warning {
181
- --button--font--color: #ffa62b;
182
- --button--background: #fffbeb;
183
- --button--border: 1px solid #ffa62b;
184
- --button--background--active: #fef3c7;
185
- }
186
- .button-theme--transparent-destructive {
187
- --button--font--color: #e71d36;
188
- --button--background: #fef1f3;
189
- --button--border: 1px solid #e71d36;
190
- --button--background--active: #fde8ea;
191
- }
192
55
  .button-theme--size-standard {
193
56
  --button--height: 2em;
194
57
  --button--text--font-size: 0.75em;
@@ -200,6 +63,6 @@ let { style = undefined, size = ButtonSize.Standard, children } = $props();
200
63
  --button--text--font-size: 0.9375em;
201
64
  }
202
65
  .button-theme--size-small {
203
- --button--height: 1.5em;
204
- --button--text--font-size: 0.625em;
66
+ --button--height: 1.75em;
67
+ --button--text--font-size: 0.75em;
205
68
  }</style>
@@ -5,7 +5,6 @@ export declare enum ButtonStyle {
5
5
  White = "white",
6
6
  Gray = "gray",
7
7
  Green = "green",
8
- Black = "black",
9
8
  TextOnly = "text-only",
10
9
  TransparentSuccess = "transparent-success",
11
10
  TransparentPrimary = "transparent-primary",
@@ -6,7 +6,6 @@ export var ButtonStyle;
6
6
  ButtonStyle["White"] = "white";
7
7
  ButtonStyle["Gray"] = "gray";
8
8
  ButtonStyle["Green"] = "green";
9
- ButtonStyle["Black"] = "black";
10
9
  ButtonStyle["TextOnly"] = "text-only";
11
10
  ButtonStyle["TransparentSuccess"] = "transparent-success";
12
11
  ButtonStyle["TransparentPrimary"] = "transparent-primary";
@@ -32,50 +32,30 @@ let { src, color = null } = $props();
32
32
  --_icon--size: var(--icon--size, 1.25em);
33
33
  --_icon--stroke-color: var(--icon--stroke-color);
34
34
  --_icon--stroke-width: var(--icon--stroke-width, 0);
35
+ /*--_icon--filter: drop-shadow(1px 1px 0 rgb(from var(--_icon--color) calc(255 - r) calc(255 - g) calc(255 - b) / 90%));*/
35
36
  --_icon--filter: var(--icon--filter, none);
36
37
  display: contents;
37
38
  }
38
39
  .icon--white {
39
- --_icon--color: #ffffff;
40
- }
41
- :global([data-theme="dark"]) .icon--white {
42
- --_icon--color: #ffffff;
40
+ --_icon--color: var(--sc-mc-color--icon-overlay);
43
41
  }
44
42
  .icon--text {
45
- --_icon--color: #2e2e2e;
46
- }
47
- :global([data-theme="dark"]) .icon--text {
48
- --_icon--color: #ffffff;
43
+ --_icon--color: var(--sc-mc-color--text-primary);
49
44
  }
50
45
  .icon--gray {
51
- --_icon--color: #6b7280;
52
- }
53
- :global([data-theme="dark"]) .icon--gray {
54
- --_icon--color: #6b7280;
46
+ --_icon--color: var(--sc-mc-color--icon-secondary);
55
47
  }
56
48
  .icon--green {
57
- --_icon--color: #0cce6b;
58
- }
59
- :global([data-theme="dark"]) .icon--green {
60
- --_icon--color: #0cce6b;
49
+ --_icon--color: var(--sc-mc-color--icon-success);
61
50
  }
62
51
  .icon--red {
63
- --_icon--color: #e71d36;
64
- }
65
- :global([data-theme="dark"]) .icon--red {
66
- --_icon--color: #e71d36;
52
+ --_icon--color: var(--sc-mc-color--icon-destructive);
67
53
  }
68
54
  .icon--orange {
69
- --_icon--color: #ffa62b;
70
- }
71
- :global([data-theme="dark"]) .icon--orange {
72
- --_icon--color: #ffa62b;
55
+ --_icon--color: var(--sc-mc-color--icon-warning);
73
56
  }
74
57
  .icon--blue {
75
- --_icon--color: #144ab0;
76
- }
77
- :global([data-theme="dark"]) .icon--blue {
78
- --_icon--color: #91b3f3;
58
+ --_icon--color: var(--sc-mc-color--icon-brand);
79
59
  }
80
60
  .icon :global(svg) {
81
61
  display: inline-block;
@@ -27,19 +27,16 @@ let { src, alt = '', noBorders = false, on } = $props();
27
27
  --image--rounded--image--border-radius,
28
28
  calc(var(--image--rounded--inner--border-radius_) - var(--image--rounded--inner--border-width_))
29
29
  );
30
- --image--rounded--inner--border-color_: var(--image--rounded--inner--border-color, #ffffff);
30
+ --image--rounded--inner--border-color_: var(--image--rounded--inner--border-color, var(--sc-mc-color--bg-card));
31
31
  --image--rounded--inner--border-radius_: var(
32
32
  --image--rounded--inner--border-radius,
33
33
  calc(var(--image--rounded--outer--border-radius_) - var(--image--rounded--outer--border-width_))
34
34
  );
35
35
  --image--rounded--inner--border-width_: var(--image--rounded--inner--border-width, 4px);
36
- --image--rounded--outer--border-color_: var(
37
- --image--rounded--outer--border-color,
38
- linear-gradient(#144ab0, #dfe9fb)
39
- );
36
+ --image--rounded--outer--border-color_: var(--image--rounded--outer--border-color, var(--sc-mc-color--bg-card));
40
37
  --image--rounded--outer--border-radius_: var(--image--rounded--outer--border-radius, 0);
41
38
  --image--rounded--outer--border-width_: var(--image--rounded--outer--border-width, 2px);
42
- --image--rounded--stub--background_: var(--image--rounded--stub--background, #f3f4f6);
39
+ --image--rounded--stub--background_: var(--image--rounded--stub--background, var(--sc-mc-color--bg-image));
43
40
  width: var(--image--rounded--width_);
44
41
  height: var(--image--rounded--height_);
45
42
  border-radius: var(--image--rounded--outer--border-radius_);
@@ -47,10 +44,6 @@ let { src, alt = '', noBorders = false, on } = $props();
47
44
  background: var(--image--rounded--outer--border-color_);
48
45
  overflow: hidden;
49
46
  }
50
- :global([data-theme="dark"]) .rounded-img {
51
- --image--rounded--inner--border-color_: var(--image--rounded--inner--border-color, #000000);
52
- --image--rounded--stub--background_: var(--image--rounded--stub--background, #374151);
53
- }
54
47
  .rounded-img--stub {
55
48
  background: var(--image--rounded--stub--background_);
56
49
  }
@@ -18,7 +18,7 @@ import IconImage from '@fluentui/svg-icons/icons/image_20_regular.svg?raw';
18
18
  }
19
19
  }
20
20
  .image-stub {
21
- --_image-stub--color: var(--image-stub--color, #d1d5db);
21
+ --_image-stub--color: var(--image-stub--color, var(--sc-mc-color--bg-image));
22
22
  width: 100%;
23
23
  height: 100%;
24
24
  z-index: 2;
@@ -28,7 +28,4 @@ import IconImage from '@fluentui/svg-icons/icons/image_20_regular.svg?raw';
28
28
  color: var(--_image-stub--color);
29
29
  border: 1px solid var(--_image-stub--color);
30
30
  border-radius: 0.25rem;
31
- }
32
- :global([data-theme="dark"]) .image-stub {
33
- --_image-stub--color: var(--image-stub--color, #374151);
34
31
  }</style>
@@ -49,7 +49,7 @@ const onLoadError = () => {
49
49
  --_image--background: var(--image--background, transparent);
50
50
  --_image--border-radius: var(--image--border-radius, 0);
51
51
  --_image--object-fit: var(--image--object-fit, cover);
52
- --_image--stub--background: var(--image--stub--background, #e5e7eb);
52
+ --_image--stub--background: var(--image--stub--background, var(--sc-mc-color--bg-image));
53
53
  position: relative;
54
54
  width: 100%;
55
55
  height: 100%;
@@ -57,9 +57,6 @@ const onLoadError = () => {
57
57
  border-radius: var(--_image--border-radius);
58
58
  background: var(--_image--background);
59
59
  }
60
- :global([data-theme="dark"]) .image {
61
- --_image--stub--background: var(--image--stub--background, #374151);
62
- }
63
60
  .image__img {
64
61
  width: 100%;
65
62
  height: 100%;
@@ -43,7 +43,7 @@ onMount(() => {
43
43
  }
44
44
 
45
45
  .la-ball-clip-rotate {
46
- --loading--spinner-color_: var(--loading--spinner-color, #144ab0);
46
+ --loading--spinner-color_: var(--loading--spinner-color, var(--sc-mc-color--text-brand));
47
47
  color: var(--loading--spinner-color_);
48
48
  display: block;
49
49
  opacity: 0;
@@ -51,9 +51,6 @@ onMount(() => {
51
51
  height: 2em;
52
52
  z-index: 10;
53
53
  }
54
- :global([data-theme="dark"]) .la-ball-clip-rotate {
55
- --loading--spinner-color_: var(--loading--spinner-color, #5a8dec);
56
- }
57
54
  .la-ball-clip-rotate--visible {
58
55
  opacity: 1;
59
56
  }
@@ -35,9 +35,9 @@ let { actions } = $props();
35
35
  justify-content: center;
36
36
  align-items: center;
37
37
  padding: 1rem;
38
- --icon--color: #ffffff;
38
+ --icon--color: var(--sc-mc-color--icon-overlay);
39
39
  --icon--size: 2rem;
40
- --icon--filter: drop-shadow(1px 1px 0 rgba(0, 0, 0, 0.2));
40
+ --icon--filter: var(--sc-mc-color--icon-overlay-shadow);
41
41
  }
42
42
  .mobile-player-buttons-group__action-icon {
43
43
  display: block;
@@ -1,6 +1,6 @@
1
- import type { PlayerButtonsGroupAction } from './types';
1
+ import type { PlayerButtonDef } from './types';
2
2
  type Props = {
3
- actions: PlayerButtonsGroupAction[];
3
+ actions: PlayerButtonDef[];
4
4
  };
5
5
  declare const Cmp: import("svelte").Component<Props, {}, "">;
6
6
  type Cmp = ReturnType<typeof Cmp>;
@@ -30,8 +30,11 @@ const styles = $derived.by(() => {
30
30
  }
31
31
  }
32
32
  .player-button {
33
- --_player-button--color: var(--player-button--color, rgb(from #000000 r g b / 95%));
34
- --_player-button--color--inactive: var(--player-button--color--inactive, rgb(from var(--_player-button--color, #000000) r g b / 60%));
33
+ --_player-button--color: var(--player-button--color, rgb(from var(--sc-mc-color--button-player) r g b / 95%));
34
+ --_player-button--color--inactive: var(
35
+ --player-button--color--inactive,
36
+ rgb(from var(--_player-button--color, var(--sc-mc-color--button-player)) r g b / 60%)
37
+ );
35
38
  --_player-button--icon-scale: 1;
36
39
  pointer-events: auto;
37
40
  padding: 0.625rem;
@@ -41,7 +44,8 @@ const styles = $derived.by(() => {
41
44
  background-color: var(--_player-button--color--inactive);
42
45
  transition: background-color 0.5s;
43
46
  border-radius: 50%;
44
- --icon--color: #ffffff;
47
+ color: var(--sc-mc-color--text-white);
48
+ --icon--color: var(--sc-mc-color--icon-overlay);
45
49
  --icon--size: 1.75rem;
46
50
  /* Set 'container-type: inline-size;' to reference container*/
47
51
  }
@@ -34,10 +34,10 @@ const styles = $derived.by(() => {
34
34
  }
35
35
  }
36
36
  .player-buttons-group {
37
- --_player-buttons-group--active-color: var(--player-buttons-group--active-color, rgb(from #000000 r g b / 95%));
37
+ --_player-buttons-group--active-color: var(--player-buttons-group--active-color, rgb(from var(--sc-mc-color--button-player) r g b / 95%));
38
38
  --_player-buttons-group--background-color: var(
39
39
  --player-buttons-group--background-color,
40
- rgb(from var(--_player-buttons-group--active-color, #000000) r g b / 60%)
40
+ rgb(from var(--_player-buttons-group--active-color, var(--sc-mc-color--button-player)) r g b / 60%)
41
41
  );
42
42
  cursor: pointer;
43
43
  display: flex;
@@ -56,7 +56,8 @@ const styles = $derived.by(() => {
56
56
  align-items: center;
57
57
  padding: 0.5625rem;
58
58
  border-radius: 1.25rem;
59
- --icon--color: #ffffff;
59
+ color: var(--sc-mc-color--text-white);
60
+ --icon--color: var(--sc-mc-color--icon-overlay);
60
61
  --icon--size: 1.75rem;
61
62
  transition: background-color 0.5s;
62
63
  }
@@ -1,8 +1,8 @@
1
- import type { PlayerButtonsGroupAction } from './types';
1
+ import type { PlayerButtonDef } from './types';
2
2
  type Props = {
3
3
  activeColor: string | null;
4
4
  backgroundColor: string | null;
5
- actions: PlayerButtonsGroupAction[];
5
+ actions: PlayerButtonDef[];
6
6
  scaleEffect?: boolean;
7
7
  };
8
8
  declare const Cmp: import("svelte").Component<Props, {}, "">;
@@ -1,4 +1,4 @@
1
1
  export { default as PlayerButton } from './cmp.player-button.svelte';
2
2
  export { default as PlayerButtonsGroup } from './cmp.player-buttons-group.svelte';
3
3
  export { default as MobilePlayerButtonsGroup } from './cmp.mobile-player-buttons-group.svelte';
4
- export type { PlayerButtonsGroupAction } from './types';
4
+ export type { PlayerButtonDef } from './types';
@@ -1,5 +1,5 @@
1
1
  import { IconColor } from '../../icon';
2
- export type PlayerButtonsGroupAction = {
2
+ export type PlayerButtonDef = {
3
3
  icon: string;
4
4
  iconColor?: IconColor;
5
5
  callback: () => void;
@@ -1 +1 @@
1
- export type { PlayerColors } from './player-colors';
1
+ export { PlayerColors, type IPlayerColors } from './player-colors';
@@ -1 +1 @@
1
- export {};
1
+ export { PlayerColors } from './player-colors';
@@ -1,11 +1,25 @@
1
- export type PlayerColors = {
1
+ export type IPlayerColors = {
2
2
  brand: string | null;
3
3
  button: string | null;
4
4
  buttonInactive: string | null;
5
5
  cardButton: string | null;
6
6
  cardBackground: string | null;
7
+ menuBackground: string | null;
7
8
  playerBackground: string | null;
8
9
  price: string | null;
9
10
  salePrice: string | null;
10
11
  sidebarBackground: string | null;
11
12
  } | null;
13
+ export declare class PlayerColors implements NonNullable<IPlayerColors> {
14
+ brand: string | null;
15
+ button: string | null;
16
+ buttonInactive: string | null;
17
+ cardButton: string | null;
18
+ cardBackground: string | null;
19
+ menuBackground: string | null;
20
+ playerBackground: string | null;
21
+ price: string | null;
22
+ salePrice: string | null;
23
+ sidebarBackground: string | null;
24
+ constructor(init: IPlayerColors | null | undefined);
25
+ }
@@ -1 +1,24 @@
1
- export {};
1
+ export class PlayerColors {
2
+ brand;
3
+ button;
4
+ buttonInactive;
5
+ cardButton;
6
+ cardBackground;
7
+ menuBackground;
8
+ playerBackground;
9
+ price;
10
+ salePrice;
11
+ sidebarBackground;
12
+ constructor(init) {
13
+ this.brand = init?.brand ?? null;
14
+ this.button = init?.button ?? null;
15
+ this.buttonInactive = init?.buttonInactive ?? null;
16
+ this.cardButton = init?.cardButton ?? null;
17
+ this.cardBackground = init?.cardBackground ?? null;
18
+ this.menuBackground = init?.menuBackground ?? null;
19
+ this.playerBackground = init?.playerBackground ?? null;
20
+ this.price = init?.price ?? null;
21
+ this.salePrice = init?.salePrice ?? null;
22
+ this.sidebarBackground = init?.sidebarBackground ?? null;
23
+ }
24
+ }