@maestro_io/maestro-web-sdk 5.1.2 → 5.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/dist/1.maestro-web-sdk.esm.js +1 -1
  2. package/dist/1.maestro-web-sdk.esm.js.map +1 -1
  3. package/dist/10.maestro-web-sdk.esm.js +1 -1
  4. package/dist/10.maestro-web-sdk.esm.js.map +1 -1
  5. package/dist/11.maestro-web-sdk.esm.js +1 -1
  6. package/dist/11.maestro-web-sdk.esm.js.map +1 -1
  7. package/dist/12.maestro-web-sdk.esm.js +1 -1
  8. package/dist/12.maestro-web-sdk.esm.js.map +1 -1
  9. package/dist/13.maestro-web-sdk.esm.js +1 -1
  10. package/dist/13.maestro-web-sdk.esm.js.map +1 -1
  11. package/dist/14.maestro-web-sdk.esm.js +1 -1
  12. package/dist/14.maestro-web-sdk.esm.js.map +1 -1
  13. package/dist/15.maestro-web-sdk.esm.js +1 -1
  14. package/dist/15.maestro-web-sdk.esm.js.map +1 -1
  15. package/dist/16.maestro-web-sdk.esm.js +1 -1
  16. package/dist/16.maestro-web-sdk.esm.js.map +1 -1
  17. package/dist/17.maestro-web-sdk.esm.js +1 -1
  18. package/dist/17.maestro-web-sdk.esm.js.map +1 -1
  19. package/dist/18.maestro-web-sdk.esm.js +1 -1
  20. package/dist/18.maestro-web-sdk.esm.js.map +1 -1
  21. package/dist/19.maestro-web-sdk.esm.js +1 -1
  22. package/dist/19.maestro-web-sdk.esm.js.map +1 -1
  23. package/dist/2.maestro-web-sdk.esm.js +1 -1
  24. package/dist/20.maestro-web-sdk.esm.js +1 -1
  25. package/dist/20.maestro-web-sdk.esm.js.map +1 -1
  26. package/dist/21.maestro-web-sdk.esm.js +1 -1
  27. package/dist/21.maestro-web-sdk.esm.js.map +1 -1
  28. package/dist/22.maestro-web-sdk.esm.js +1 -1
  29. package/dist/22.maestro-web-sdk.esm.js.map +1 -1
  30. package/dist/23.maestro-web-sdk.esm.js +1 -1
  31. package/dist/23.maestro-web-sdk.esm.js.map +1 -1
  32. package/dist/24.maestro-web-sdk.esm.js +1 -1
  33. package/dist/24.maestro-web-sdk.esm.js.map +1 -1
  34. package/dist/25.maestro-web-sdk.esm.js +1 -1
  35. package/dist/25.maestro-web-sdk.esm.js.map +1 -1
  36. package/dist/26.maestro-web-sdk.esm.js +1 -1
  37. package/dist/26.maestro-web-sdk.esm.js.map +1 -1
  38. package/dist/27.maestro-web-sdk.esm.js +1 -1
  39. package/dist/27.maestro-web-sdk.esm.js.map +1 -1
  40. package/dist/28.maestro-web-sdk.esm.js +1 -1
  41. package/dist/28.maestro-web-sdk.esm.js.map +1 -1
  42. package/dist/29.maestro-web-sdk.esm.js +1 -1
  43. package/dist/29.maestro-web-sdk.esm.js.map +1 -1
  44. package/dist/3.maestro-web-sdk.esm.js +1 -1
  45. package/dist/3.maestro-web-sdk.esm.js.map +1 -1
  46. package/dist/30.maestro-web-sdk.esm.js +1 -1
  47. package/dist/30.maestro-web-sdk.esm.js.map +1 -1
  48. package/dist/31.maestro-web-sdk.esm.js +1 -1
  49. package/dist/31.maestro-web-sdk.esm.js.map +1 -1
  50. package/dist/32.maestro-web-sdk.esm.js +1 -1
  51. package/dist/32.maestro-web-sdk.esm.js.map +1 -1
  52. package/dist/33.maestro-web-sdk.esm.js +1 -1
  53. package/dist/33.maestro-web-sdk.esm.js.map +1 -1
  54. package/dist/34.maestro-web-sdk.esm.js +1 -1
  55. package/dist/34.maestro-web-sdk.esm.js.map +1 -1
  56. package/dist/35.maestro-web-sdk.esm.js +1 -1
  57. package/dist/35.maestro-web-sdk.esm.js.map +1 -1
  58. package/dist/36.maestro-web-sdk.esm.js +1 -1
  59. package/dist/36.maestro-web-sdk.esm.js.map +1 -1
  60. package/dist/37.maestro-web-sdk.esm.js +1 -1
  61. package/dist/37.maestro-web-sdk.esm.js.map +1 -1
  62. package/dist/38.maestro-web-sdk.esm.js +1 -1
  63. package/dist/38.maestro-web-sdk.esm.js.map +1 -1
  64. package/dist/39.maestro-web-sdk.esm.js +2 -0
  65. package/dist/39.maestro-web-sdk.esm.js.map +1 -0
  66. package/dist/4.maestro-web-sdk.esm.js +1 -1
  67. package/dist/4.maestro-web-sdk.esm.js.map +1 -1
  68. package/dist/40.maestro-web-sdk.esm.js +2 -0
  69. package/dist/40.maestro-web-sdk.esm.js.map +1 -0
  70. package/dist/5.maestro-web-sdk.esm.js +1 -1
  71. package/dist/5.maestro-web-sdk.esm.js.map +1 -1
  72. package/dist/6.maestro-web-sdk.esm.js +1 -1
  73. package/dist/6.maestro-web-sdk.esm.js.map +1 -1
  74. package/dist/7.maestro-web-sdk.esm.js +1 -1
  75. package/dist/7.maestro-web-sdk.esm.js.map +1 -1
  76. package/dist/8.maestro-web-sdk.esm.js +1 -1
  77. package/dist/8.maestro-web-sdk.esm.js.map +1 -1
  78. package/dist/9.maestro-web-sdk.esm.js +1 -1
  79. package/dist/9.maestro-web-sdk.esm.js.map +1 -1
  80. package/dist/index.d.ts +4 -1
  81. package/dist/maestro-web-sdk.esm.js +3 -3
  82. package/dist/maestro-web-sdk.esm.js.map +1 -1
  83. package/dist/maestro-web-sdk.umd.js +3 -3
  84. package/dist/maestro-web-sdk.umd.js.map +1 -1
  85. package/dist/package.json +1 -1
  86. package/dist/src/components/atoms/SvgIcon/AddIcon.d.ts +3 -0
  87. package/dist/src/components/atoms/SvgIcon/AddIcon.js +6 -0
  88. package/dist/src/components/atoms/SvgIcon/Icon.js +2 -0
  89. package/dist/src/components/core/PanelManager/PanelManager.js +5 -3
  90. package/dist/src/components/molecules/NetworkDialog/NetworkDialog.d.ts +11 -0
  91. package/dist/src/components/molecules/NetworkDialog/NetworkDialog.js +34 -0
  92. package/dist/src/components/molecules/NetworkDialog/index.d.ts +2 -0
  93. package/dist/src/components/molecules/NetworkDialog/index.js +2 -0
  94. package/dist/src/components/molecules/NetworkError/NetworkError.d.ts +104 -0
  95. package/dist/src/components/molecules/NetworkError/NetworkError.js +26 -0
  96. package/dist/src/components/molecules/NetworkError/index.d.ts +2 -0
  97. package/dist/src/components/molecules/NetworkError/index.js +2 -0
  98. package/dist/src/components/molecules/PanelNavButton/PanelNavButton.d.ts +1 -0
  99. package/dist/src/components/molecules/PanelNavButton/PanelNavButton.js +16 -7
  100. package/dist/src/components/organisms/PanelNavigation/PanelNavigation.d.ts +1 -0
  101. package/dist/src/components/organisms/PanelNavigation/PanelNavigation.js +11 -7
  102. package/dist/src/development/MaestroEventDelegate.js +1 -0
  103. package/dist/src/helpers/site.d.ts +1 -0
  104. package/dist/src/helpers/site.js +6 -0
  105. package/dist/src/helpers/siteConfig.d.ts +1 -0
  106. package/dist/src/helpers/siteConfig.js +5 -0
  107. package/dist/src/models/IPanel.d.ts +1 -1
  108. package/dist/src/models/IPanel.js +1 -1
  109. package/dist/src/modules/espn/bets/services/BetsService.js +5 -5
  110. package/dist/src/modules/espn/bets/view/BetsView.js +1 -1
  111. package/dist/src/modules/espn/components/TabLoadError/TabLoadError.d.ts +96 -0
  112. package/dist/src/modules/espn/components/TabLoadError/TabLoadError.js +14 -0
  113. package/dist/src/modules/espn/components/TabLoadError/index.d.ts +2 -0
  114. package/dist/src/modules/espn/components/TabLoadError/index.js +2 -0
  115. package/dist/src/modules/espn/fantasy/components/TournamentOverflowQR/TournamentOverflowQR.d.ts +5 -5
  116. package/dist/src/modules/espn/fantasy/components/TournamentOverflowQR/TournamentOverflowQR.js +7 -73
  117. package/dist/src/modules/espn/fantasy/services/FantasyService.js +4 -1
  118. package/dist/src/modules/espn/fantasy/view/FantasyItemView.js +1 -1
  119. package/dist/src/modules/espn/fantasy/view/FantasyView.js +3 -2
  120. package/dist/src/modules/espn/fantasy/view-model/FantasyViewModel.FantasyPolling.d.ts +1 -1
  121. package/dist/src/modules/espn/fantasy/view-model/FantasyViewModel.FantasyPolling.js +10 -7
  122. package/dist/src/modules/espn/fantasy/view-model/FantasyViewModel.LeagueManagerPolling.d.ts +1 -1
  123. package/dist/src/modules/espn/fantasy/view-model/FantasyViewModel.LeagueManagerPolling.js +10 -7
  124. package/dist/src/modules/espn/fantasy/view-model/FantasyViewModel.TournamentPolling.d.ts +1 -1
  125. package/dist/src/modules/espn/fantasy/view-model/FantasyViewModel.TournamentPolling.js +10 -7
  126. package/dist/src/modules/espn/fantasy/view-model/FantasyViewModel.d.ts +1 -0
  127. package/dist/src/modules/espn/fantasy/view-model/FantasyViewModel.js +42 -32
  128. package/dist/src/modules/espn/key-plays/view/KeyPlayErrorStateView.js +1 -1
  129. package/dist/src/modules/espn/shop/services/ShopService.js +1 -1
  130. package/dist/src/modules/espn/shop/view/ShopView.js +1 -1
  131. package/dist/src/modules/espn/stats/services/StatsService.js +2 -2
  132. package/dist/src/modules/espn/stats/view/StatsView.js +1 -1
  133. package/dist/src/modules/fox/components/TabLoadError/TabLoadError.d.ts +96 -0
  134. package/dist/src/modules/fox/components/TabLoadError/TabLoadError.js +19 -0
  135. package/dist/src/modules/fox/components/TabLoadError/index.d.ts +2 -0
  136. package/dist/src/modules/fox/components/TabLoadError/index.js +2 -0
  137. package/dist/src/modules/fox/multi-view/interfaces/IMultiViewViewModel.d.ts +3 -0
  138. package/dist/src/modules/fox/multi-view/interfaces/IMultiViewViewModel.js +1 -0
  139. package/dist/src/modules/fox/multi-view/services/MultiViewService.d.ts +104 -0
  140. package/dist/src/modules/fox/multi-view/services/MultiViewService.js +97 -0
  141. package/dist/src/modules/fox/multi-view/types.d.ts +48 -42
  142. package/dist/src/modules/fox/multi-view/types.js +79 -82
  143. package/dist/src/modules/fox/multi-view/view/BuildYourOwn/BuildYourOwn.d.ts +7 -0
  144. package/dist/src/modules/fox/multi-view/view/BuildYourOwn/BuildYourOwn.js +99 -0
  145. package/dist/src/modules/fox/multi-view/view/BuildYourOwn/index.d.ts +2 -0
  146. package/dist/src/modules/fox/multi-view/view/BuildYourOwn/index.js +2 -0
  147. package/dist/src/modules/fox/multi-view/view/CuratedMultiview/CuratedMultiviews.d.ts +8 -0
  148. package/dist/src/modules/fox/multi-view/view/CuratedMultiview/CuratedMultiviews.js +92 -0
  149. package/dist/src/modules/fox/multi-view/view/CuratedMultiview/index.d.ts +2 -0
  150. package/dist/src/modules/fox/multi-view/view/CuratedMultiview/index.js +2 -0
  151. package/dist/src/modules/fox/multi-view/view/FoxMultiView.d.ts +1 -0
  152. package/dist/src/modules/fox/multi-view/view/FoxMultiView.js +65 -2
  153. package/dist/src/modules/fox/multi-view/view/components/BuildYourOwnTabs/BuildYourOwnTabs.d.ts +8 -0
  154. package/dist/src/modules/fox/multi-view/view/components/BuildYourOwnTabs/BuildYourOwnTabs.js +30 -0
  155. package/dist/src/modules/fox/multi-view/view/components/BuildYourOwnTabs/index.d.ts +2 -0
  156. package/dist/src/modules/fox/multi-view/view/components/BuildYourOwnTabs/index.js +2 -0
  157. package/dist/src/modules/fox/multi-view/view/components/CustomMultiviewStreamsCard/CustomMultiviewStreamsCard.d.ts +118 -0
  158. package/dist/src/modules/fox/multi-view/view/components/CustomMultiviewStreamsCard/CustomMultiviewStreamsCard.js +51 -0
  159. package/dist/src/modules/fox/multi-view/view/components/CustomMultiviewStreamsCard/index.d.ts +2 -0
  160. package/dist/src/modules/fox/multi-view/view/components/CustomMultiviewStreamsCard/index.js +2 -0
  161. package/dist/src/modules/fox/multi-view/view/components/LayoutSelector/LayoutSelector.d.ts +1 -1
  162. package/dist/src/modules/fox/multi-view/view/components/LayoutSelector/LayoutSelector.js +11 -14
  163. package/dist/src/modules/fox/multi-view/view/components/curated-multiview-card/CuratedMultiviewCard.d.ts +101 -0
  164. package/dist/src/modules/fox/multi-view/view/components/curated-multiview-card/CuratedMultiviewCard.js +41 -0
  165. package/dist/src/modules/fox/multi-view/view/components/curated-multiview-card/index.d.ts +2 -0
  166. package/dist/src/modules/fox/multi-view/view/components/curated-multiview-card/index.js +2 -0
  167. package/dist/src/modules/fox/multi-view/view-model/MultiViewViewModel.d.ts +84 -0
  168. package/dist/src/modules/fox/multi-view/view-model/MultiViewViewModel.js +509 -0
  169. package/dist/src/modules/fox/multi-view/view-model/index.d.ts +1 -0
  170. package/dist/src/modules/fox/multi-view/view-model/index.js +1 -0
  171. package/dist/src/services/NetworkManager/NetworkManager.js +1 -1
  172. package/dist/src/services/NetworkManager/errors.d.ts +3 -1
  173. package/dist/src/services/NetworkManager/errors.js +15 -1
  174. package/dist/src/services/StaticService/StaticService.js +1 -0
  175. package/dist/src/view-models/MaestroEventViewModel.d.ts +2 -0
  176. package/dist/src/view-models/MaestroEventViewModel.js +17 -1
  177. package/package.json +1 -1
@@ -0,0 +1,101 @@
1
+ /// <reference types="prop-types" />
2
+ import React from 'react';
3
+ import './CuratedMultiviewCard.style.css';
4
+ import { WithFocusableProps } from '@/external/spatial-navigation';
5
+ import { CuratedMultiviewListing } from '../../../types';
6
+ export type CuratedMultiviewCardProps = {
7
+ listings: CuratedMultiviewListing[];
8
+ selected: boolean;
9
+ };
10
+ declare const _default: {
11
+ new (props: (CuratedMultiviewCardProps & WithFocusableProps) | Readonly<CuratedMultiviewCardProps & WithFocusableProps>): {
12
+ state: import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState;
13
+ navigation: import("../../../../../../external/spatial-navigation/spatialNavigation").default;
14
+ getChildContext(): {
15
+ parentFocusKey: string;
16
+ };
17
+ setFocus: (focusKey: string) => void;
18
+ navigateByDirection: (direction: import("../../../../../../external/spatial-navigation/utils").Direction, details?: import("../../../../../../external/spatial-navigation/utils").Details) => void;
19
+ stealFocus: () => void;
20
+ onUpdateFocus: (focused: boolean) => void;
21
+ onUpdateHasFocusedChild: (hasFocusedChild: boolean) => void;
22
+ onEnterPressHandler: (details: import("../../../../../../external/spatial-navigation/utils").Details) => void;
23
+ onClickPressHandler: (details: import("../../../../../../external/spatial-navigation/utils").Details) => void;
24
+ onEnterReleaseHandler: () => void;
25
+ onBackPressHandler: (details: import("../../../../../../external/spatial-navigation/utils").Details) => void;
26
+ onArrowPressHandler: (direction: import("../../../../../../external/spatial-navigation/utils").Direction, details: import("../../../../../../external/spatial-navigation/utils").Details) => boolean | void;
27
+ onBecameFocusedHandler: (layout: import("../../../../../../external/spatial-navigation/utils").Layout, details: import("../../../../../../external/spatial-navigation/utils").Details) => void;
28
+ onBecameBlurredHandler: (layout: import("../../../../../../external/spatial-navigation/utils").Layout, details: import("../../../../../../external/spatial-navigation/utils").Details) => void;
29
+ componentDidMount(): void;
30
+ componentDidUpdate(): void;
31
+ componentWillUnmount(): void;
32
+ render(): React.ReactElement<CuratedMultiviewCardProps & WithFocusableProps, string | React.JSXElementConstructor<any>>;
33
+ context: any;
34
+ setState<K extends keyof import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState>(state: import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState | ((prevState: Readonly<import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState>, props: Readonly<CuratedMultiviewCardProps & WithFocusableProps>) => import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState | Pick<import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState, K> | null) | Pick<import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState, K> | null, callback?: (() => void) | undefined): void;
35
+ forceUpdate(callback?: (() => void) | undefined): void;
36
+ readonly props: Readonly<CuratedMultiviewCardProps & WithFocusableProps> & Readonly<{
37
+ children?: React.ReactNode;
38
+ }>;
39
+ refs: {
40
+ [key: string]: React.ReactInstance;
41
+ };
42
+ shouldComponentUpdate?(nextProps: Readonly<CuratedMultiviewCardProps & WithFocusableProps>, nextState: Readonly<import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState>, nextContext: any): boolean;
43
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
44
+ getSnapshotBeforeUpdate?(prevProps: Readonly<CuratedMultiviewCardProps & WithFocusableProps>, prevState: Readonly<import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState>): any;
45
+ componentWillMount?(): void;
46
+ UNSAFE_componentWillMount?(): void;
47
+ componentWillReceiveProps?(nextProps: Readonly<CuratedMultiviewCardProps & WithFocusableProps>, nextContext: any): void;
48
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<CuratedMultiviewCardProps & WithFocusableProps>, nextContext: any): void;
49
+ componentWillUpdate?(nextProps: Readonly<CuratedMultiviewCardProps & WithFocusableProps>, nextState: Readonly<import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState>, nextContext: any): void;
50
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<CuratedMultiviewCardProps & WithFocusableProps>, nextState: Readonly<import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState>, nextContext: any): void;
51
+ };
52
+ new (props: CuratedMultiviewCardProps & WithFocusableProps, context: any): {
53
+ state: import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState;
54
+ navigation: import("../../../../../../external/spatial-navigation/spatialNavigation").default;
55
+ getChildContext(): {
56
+ parentFocusKey: string;
57
+ };
58
+ setFocus: (focusKey: string) => void;
59
+ navigateByDirection: (direction: import("../../../../../../external/spatial-navigation/utils").Direction, details?: import("../../../../../../external/spatial-navigation/utils").Details) => void;
60
+ stealFocus: () => void;
61
+ onUpdateFocus: (focused: boolean) => void;
62
+ onUpdateHasFocusedChild: (hasFocusedChild: boolean) => void;
63
+ onEnterPressHandler: (details: import("../../../../../../external/spatial-navigation/utils").Details) => void;
64
+ onClickPressHandler: (details: import("../../../../../../external/spatial-navigation/utils").Details) => void;
65
+ onEnterReleaseHandler: () => void;
66
+ onBackPressHandler: (details: import("../../../../../../external/spatial-navigation/utils").Details) => void;
67
+ onArrowPressHandler: (direction: import("../../../../../../external/spatial-navigation/utils").Direction, details: import("../../../../../../external/spatial-navigation/utils").Details) => boolean | void;
68
+ onBecameFocusedHandler: (layout: import("../../../../../../external/spatial-navigation/utils").Layout, details: import("../../../../../../external/spatial-navigation/utils").Details) => void;
69
+ onBecameBlurredHandler: (layout: import("../../../../../../external/spatial-navigation/utils").Layout, details: import("../../../../../../external/spatial-navigation/utils").Details) => void;
70
+ componentDidMount(): void;
71
+ componentDidUpdate(): void;
72
+ componentWillUnmount(): void;
73
+ render(): React.ReactElement<CuratedMultiviewCardProps & WithFocusableProps, string | React.JSXElementConstructor<any>>;
74
+ context: any;
75
+ setState<K extends keyof import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState>(state: import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState | ((prevState: Readonly<import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState>, props: Readonly<CuratedMultiviewCardProps & WithFocusableProps>) => import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState | Pick<import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState, K> | null) | Pick<import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState, K> | null, callback?: (() => void) | undefined): void;
76
+ forceUpdate(callback?: (() => void) | undefined): void;
77
+ readonly props: Readonly<CuratedMultiviewCardProps & WithFocusableProps> & Readonly<{
78
+ children?: React.ReactNode;
79
+ }>;
80
+ refs: {
81
+ [key: string]: React.ReactInstance;
82
+ };
83
+ shouldComponentUpdate?(nextProps: Readonly<CuratedMultiviewCardProps & WithFocusableProps>, nextState: Readonly<import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState>, nextContext: any): boolean;
84
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
85
+ getSnapshotBeforeUpdate?(prevProps: Readonly<CuratedMultiviewCardProps & WithFocusableProps>, prevState: Readonly<import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState>): any;
86
+ componentWillMount?(): void;
87
+ UNSAFE_componentWillMount?(): void;
88
+ componentWillReceiveProps?(nextProps: Readonly<CuratedMultiviewCardProps & WithFocusableProps>, nextContext: any): void;
89
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<CuratedMultiviewCardProps & WithFocusableProps>, nextContext: any): void;
90
+ componentWillUpdate?(nextProps: Readonly<CuratedMultiviewCardProps & WithFocusableProps>, nextState: Readonly<import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState>, nextContext: any): void;
91
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<CuratedMultiviewCardProps & WithFocusableProps>, nextState: Readonly<import("../../../../../../external/spatial-navigation/withFocusable").WithFocusableState>, nextContext: any): void;
92
+ };
93
+ contextTypes: {
94
+ parentFocusKey: import("prop-types").Requireable<string>;
95
+ };
96
+ childContextTypes: {
97
+ parentFocusKey: import("prop-types").Requireable<string>;
98
+ };
99
+ contextType?: React.Context<any> | undefined;
100
+ };
101
+ export default _default;
@@ -0,0 +1,41 @@
1
+ import React from 'react';
2
+ import './CuratedMultiviewCard.style.css';
3
+ import { withFocusable, } from '@/external/spatial-navigation';
4
+ import Icon from '@/components/atoms/SvgIcon';
5
+ function getScreenDetails(listings) {
6
+ const imageLists = [];
7
+ const descriptionLists = [];
8
+ listings.forEach((listing) => {
9
+ if (listing.backgroundImage)
10
+ imageLists.push({ id: listing.id, image: listing.backgroundImage });
11
+ if (listing.description)
12
+ descriptionLists.push({
13
+ id: listing.id,
14
+ description: listing.description,
15
+ });
16
+ });
17
+ return {
18
+ imageLists,
19
+ descriptionLists,
20
+ };
21
+ }
22
+ const StreamScreen = ({ screenDetails }) => {
23
+ const { imageLists, descriptionLists } = screenDetails;
24
+ return (React.createElement(React.Fragment, null,
25
+ React.createElement("div", { className: "curated-multiview-screen" },
26
+ React.createElement("div", null,
27
+ React.createElement("div", null, imageLists.map((imageList) => (React.createElement("img", { key: imageList.id, src: imageList.image, alt: imageList.id })))))),
28
+ React.createElement("div", { className: "curated-multiview-screen-description" }, descriptionLists.map((descriptionList) => (React.createElement("span", { key: descriptionList.id }, descriptionList.description))))));
29
+ };
30
+ const CuratedMultiviewCard = (props) => {
31
+ const { listings, selected, focused } = props;
32
+ const screenDetails = getScreenDetails(listings);
33
+ return (React.createElement("div", { className: "curated-multiview-card focus-ring", "data-focused": focused },
34
+ React.createElement("div", { className: "curated-multiview-card-row" },
35
+ React.createElement("div", { className: "curated-multiview-card-cell curated-multiview-card-cell-screens" },
36
+ React.createElement("div", { className: "curated-multiview-screens-container" },
37
+ React.createElement(StreamScreen, { screenDetails: screenDetails }))),
38
+ React.createElement("div", { className: "curated-multiview-card-cell curated-multiview-card-cell-radio" },
39
+ React.createElement("div", { className: "curated-multiview-radio", "data-selected": selected }, selected && React.createElement(Icon, { iconName: "checkmark", width: 22.5, height: 22 }))))));
40
+ };
41
+ export default withFocusable()(CuratedMultiviewCard);
@@ -0,0 +1,2 @@
1
+ import CuratedMultiviewCard from './CuratedMultiviewCard';
2
+ export default CuratedMultiviewCard;
@@ -0,0 +1,2 @@
1
+ import CuratedMultiviewCard from './CuratedMultiviewCard';
2
+ export default CuratedMultiviewCard;
@@ -0,0 +1,84 @@
1
+ import { ViewModel } from '@/view-models/ViewModel';
2
+ import { Observable } from '@/helpers/Observable';
3
+ import { CuratedMultiviewListing, CustomMultiviewStream, MultiViewLayout } from '../types';
4
+ import IMaestroEventDelegate from '@/interfaces/IMaestroEventDelegate';
5
+ import { CuratedMultiviewResponse, MultiViewListingRequest } from '../services/MultiViewService';
6
+ import AnalyticsService from '@/services/AnalyticsService/AnalyticsService';
7
+ export type CuratedMultiviewItem = {
8
+ id: string;
9
+ isSelected: boolean;
10
+ listings: CuratedMultiviewListing[];
11
+ };
12
+ export type CuratedMultiviewsItem = {
13
+ type: 'curated-multiviews';
14
+ items: CuratedMultiviewItem[];
15
+ };
16
+ export type BuildYourOwnItem = {
17
+ type: 'build-your-own';
18
+ streams: CustomMultiviewStream[];
19
+ };
20
+ export type MultiviewItem = CuratedMultiviewsItem | BuildYourOwnItem;
21
+ export declare class MultiViewViewModel extends ViewModel {
22
+ private _layouts;
23
+ private _isPolling;
24
+ private service;
25
+ private delegate;
26
+ private eventId;
27
+ private analyticsService;
28
+ isDataLoading: Observable<boolean>;
29
+ private pollingTask;
30
+ private pollingInterval;
31
+ items: Observable<MultiviewItem[]>;
32
+ private hasEverSuccessfullyLoaded;
33
+ private onAuthError?;
34
+ private _selectedLayoutId;
35
+ private lastResponseHash;
36
+ constructor(eventId: string, delegate: IMaestroEventDelegate, analyticsService: AnalyticsService);
37
+ getLayouts(): MultiViewLayout[];
38
+ getIsPolling(): Observable<boolean>;
39
+ getIsDataLoading(): Observable<boolean>;
40
+ getEventId(): string;
41
+ private updateBuildYourOwnItem;
42
+ private calculateElapsedTime;
43
+ private buildStreamsFromItems;
44
+ private mergeStreams;
45
+ getLayoutsObservable(): Observable<MultiViewLayout[]>;
46
+ getSelectedLayoutId(): Observable<string | null>;
47
+ onSelectLayout(layoutId: string): void;
48
+ onToggleCamera(streamId: string, cameraId: string): void;
49
+ /**
50
+ * Notify client app about a Product API auth error.
51
+ * Uses configured callback first, and falls back to onPanelEvent.
52
+ */
53
+ private notifyProductAPIUnauthorized;
54
+ private trackPanelView;
55
+ init(): Promise<void>;
56
+ fetchLayouts(): Promise<void>;
57
+ setDataToPanel(data: Record<string, any>): Promise<void>;
58
+ onSelectCustomMultiview(params: MultiViewListingRequest): Promise<void>;
59
+ /**
60
+ * Clean up resources when the ViewModel is no longer needed
61
+ */
62
+ cleanup(): void;
63
+ /**
64
+ * Called when a curated multiview is selected. Notifies the client via onPanelEvent
65
+ * so the app can switch the video player to the selected multiview.
66
+ */
67
+ onSelectCuratedMultiview(item: CuratedMultiviewItem): void;
68
+ /**
69
+ * @description Update polling interval from panel config.
70
+ * Refresh polling if necessary.
71
+ */
72
+ private updatePollingInterval;
73
+ private getPanelConfigInterval;
74
+ /**
75
+ * Stop polling for multiview data
76
+ */
77
+ stopPolling(): void;
78
+ /**
79
+ * Refresh polling for curated multiviews
80
+ */
81
+ refreshPolling(): void;
82
+ processCuratedMultiviewData(data: CuratedMultiviewResponse): void;
83
+ clearTabLoadFailure(): Promise<void>;
84
+ }