@clickview/lite 0.0.21-rc.1 → 0.0.22-dev.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 (192) hide show
  1. package/dist/css/0.chunk.css +2 -2
  2. package/dist/css/12.chunk.css +11 -9
  3. package/dist/css/13.chunk.css +15 -5
  4. package/dist/css/14.chunk.css +5 -7
  5. package/dist/css/15.chunk.css +6 -12
  6. package/dist/css/16.chunk.css +12 -6
  7. package/dist/css/17.chunk.css +9 -3
  8. package/dist/css/18.chunk.css +4 -2
  9. package/dist/css/20.chunk.css +2 -2
  10. package/dist/css/21.chunk.css +2 -6
  11. package/dist/css/22.chunk.css +6 -2
  12. package/dist/css/23.chunk.css +2 -2
  13. package/dist/css/24.chunk.css +3 -1
  14. package/dist/css/25.chunk.css +1 -3
  15. package/dist/css/26.chunk.css +2 -2
  16. package/dist/css/27.chunk.css +3 -1
  17. package/dist/css/28.chunk.css +1 -3
  18. package/dist/css/29.chunk.css +2 -2
  19. package/dist/css/30.chunk.css +4 -0
  20. package/dist/css/46.chunk.css +1 -1
  21. package/dist/css/48.chunk.css +2 -0
  22. package/dist/en.json +1 -1
  23. package/dist/libs/analytics/src/clients/CollectionApiClient.d.ts +1 -0
  24. package/dist/libs/analytics/src/interfaces/AnalyticsTypes.d.ts +5 -6
  25. package/dist/libs/analytics/src/interfaces/User.d.ts +11 -0
  26. package/dist/libs/analytics/src/models/CollectionEvent.d.ts +6 -0
  27. package/dist/libs/analytics/src/utils/CollectionApiClientHelper.d.ts +1 -1
  28. package/dist/libs/analytics/src/utils/UrlHelper.d.ts +3 -0
  29. package/dist/libs/common/src/react/utils/ArrayHelper.d.ts +2 -1
  30. package/dist/libs/common/src/react/utils/TextHelper.d.ts +3 -0
  31. package/dist/libs/shared/src/components/actions/ActionButton.d.ts +6 -2
  32. package/dist/libs/shared/src/components/actions/ActionsDropdown.d.ts +2 -1
  33. package/dist/libs/shared/src/components/popup/Popup.d.ts +6 -0
  34. package/dist/libs/shared/src/components/svgs/clickview-logo/ClickViewLogo.d.ts +3 -0
  35. package/dist/libs/shared/src/components/thumbnails/video/VideoThumbnailWatchProgressBar.d.ts +8 -0
  36. package/dist/libs/shared/src/components/widgets/fixed-widget/FixedWidgetUtils.d.ts +1 -1
  37. package/dist/libs/shared/src/enums/PlaylistPrivacy.d.ts +5 -0
  38. package/dist/libs/shared/src/flight-requests/PlaylistRequests.d.ts +3 -0
  39. package/dist/libs/shared/src/hooks/UseLazyLoad.d.ts +1 -1
  40. package/dist/libs/shared/src/interfaces/collections/VideoHistoryCollection.d.ts +4 -0
  41. package/dist/libs/shared/src/interfaces/collections/index.d.ts +1 -0
  42. package/dist/libs/shared/src/interfaces/models/Library.d.ts +2 -0
  43. package/dist/libs/shared/src/interfaces/models/Playlist.d.ts +4 -1
  44. package/dist/libs/shared/src/interfaces/models/Video.d.ts +4 -2
  45. package/dist/libs/shared/src/interfaces/models/VideoHistory.d.ts +9 -0
  46. package/dist/libs/shared/src/interfaces/models/Widget.d.ts +2 -1
  47. package/dist/libs/shared/src/interfaces/models/index.d.ts +2 -1
  48. package/dist/libs/shared/src/utils/ImageHelper.d.ts +1 -1
  49. package/dist/projects/lite/src/app.d.ts +2 -1
  50. package/dist/projects/lite/src/apps/default/LiteDefaultApplication.d.ts +1 -1
  51. package/dist/projects/lite/src/apps/watch-history/LiteWatchHistoryApplication.d.ts +18 -0
  52. package/dist/projects/lite/src/apps/watch-history/components/watch-history-video-list/WatchHistoryVideoList.d.ts +9 -0
  53. package/dist/projects/lite/src/apps/watch-history/flight-requests/VideoHistoryRequests.d.ts +6 -0
  54. package/dist/projects/lite/src/apps/watch-history/views/watch-history/WatchHistoryView.d.ts +6 -0
  55. package/dist/projects/lite/src/polyfills.d.ts +2 -0
  56. package/dist/projects/lite/src/shared/components/web-player/WebPlayer.d.ts +1 -0
  57. package/dist/projects/lite/src/shared/constants/LiteActions.d.ts +3 -1
  58. package/dist/projects/lite/src/shared/constants/LiteRadioChannels.d.ts +1 -0
  59. package/dist/projects/lite/src/shared/flight-requests/VideoRequests.d.ts +2 -0
  60. package/dist/projects/lite/src/shared/views/play/PlayView.d.ts +1 -0
  61. package/dist/scripts/0-3db1d4a61f.chunk.js +1 -0
  62. package/dist/scripts/1-bed7d6b5a5.chunk.js +17 -0
  63. package/dist/scripts/12-ca5fc733db.chunk.js +1 -0
  64. package/dist/scripts/13-995f12908b.chunk.js +1 -0
  65. package/dist/scripts/14-1b99fa7015.chunk.js +1 -0
  66. package/dist/scripts/15-e7854cec3e.chunk.js +1 -0
  67. package/dist/scripts/16-55c726e10d.chunk.js +1 -0
  68. package/dist/scripts/17-2643f97081.chunk.js +1 -0
  69. package/dist/scripts/18-11cef5bcf3.chunk.js +1 -0
  70. package/dist/scripts/19-fc439ce862.chunk.js +1 -0
  71. package/dist/scripts/2-5bac58243f.chunk.js +1 -0
  72. package/dist/scripts/20-35232dcedb.chunk.js +1 -0
  73. package/dist/scripts/21-1c765a2af4.chunk.js +1 -0
  74. package/dist/scripts/22-cf4cd5b423.chunk.js +1 -0
  75. package/dist/scripts/23-0001e847cf.chunk.js +1 -0
  76. package/dist/scripts/24-39f23edf1d.chunk.js +1 -0
  77. package/dist/scripts/25-4559dda681.chunk.js +1 -0
  78. package/dist/scripts/26-6dac8156a5.chunk.js +1 -0
  79. package/dist/scripts/27-d035960b01.chunk.js +1 -0
  80. package/dist/scripts/28-8bb49cbfa5.chunk.js +1 -0
  81. package/dist/scripts/29-4e74367dd1.chunk.js +1 -0
  82. package/dist/scripts/3-ea3348993e.chunk.js +7 -0
  83. package/dist/scripts/30-f46c3b29b0.chunk.js +1 -0
  84. package/dist/scripts/31-b39a72f547.chunk.js +1 -0
  85. package/dist/scripts/32-3f06b03ff5.chunk.js +1 -0
  86. package/dist/scripts/33-72625e7232.chunk.js +1 -0
  87. package/dist/scripts/34-d966d61bc1.chunk.js +1 -0
  88. package/dist/scripts/35-30a5124bbd.chunk.js +1 -0
  89. package/dist/scripts/36-5146c1a852.chunk.js +1 -0
  90. package/dist/scripts/37-b7607c6340.chunk.js +1 -0
  91. package/dist/scripts/38-edaf06e2d3.chunk.js +1 -0
  92. package/dist/scripts/39-5f4593a41e.chunk.js +1 -0
  93. package/dist/scripts/4-a2bfbc0fb0.chunk.js +1 -0
  94. package/dist/scripts/40-193bf60c24.chunk.js +1 -0
  95. package/dist/scripts/41-5f8ed7b29a.chunk.js +1 -0
  96. package/dist/scripts/42-a965f02204.chunk.js +1 -0
  97. package/dist/scripts/43-9409c3af32.chunk.js +1 -0
  98. package/dist/scripts/44-7abf200c1d.chunk.js +1 -0
  99. package/dist/scripts/45-877894675f.chunk.js +1 -0
  100. package/dist/scripts/46-8638631056.chunk.js +1 -0
  101. package/dist/scripts/47-1ff533645f.chunk.js +1 -0
  102. package/dist/scripts/48-8ace559cc8.chunk.js +1 -0
  103. package/dist/scripts/49-e2c2efa5e7.chunk.js +1 -0
  104. package/dist/scripts/5-b11963bcb5.chunk.js +1 -0
  105. package/dist/scripts/50-2f2fb309c7.chunk.js +1 -0
  106. package/dist/scripts/51-9d5d98a8bd.chunk.js +1 -0
  107. package/dist/scripts/52-fb51cc8ca4.chunk.js +1 -0
  108. package/dist/scripts/53-692abe6add.chunk.js +1 -0
  109. package/dist/scripts/54-71847b1dde.chunk.js +1 -0
  110. package/dist/scripts/55-ffb9f1e1d0.chunk.js +1 -0
  111. package/dist/scripts/56-7177b62da6.chunk.js +1 -0
  112. package/dist/scripts/57-7399fd43ae.chunk.js +1 -0
  113. package/dist/scripts/58-9f01e77d64.chunk.js +1 -0
  114. package/dist/scripts/59-54a131d51c.chunk.js +1 -0
  115. package/dist/scripts/6-ed5d5ed348.chunk.js +1 -0
  116. package/dist/scripts/60-630b402922.chunk.js +1 -0
  117. package/dist/scripts/61-8c0ab9f959.chunk.js +1 -0
  118. package/dist/scripts/7-269c812a9c.chunk.js +1 -0
  119. package/dist/scripts/8-5ea96683a4.chunk.js +1 -0
  120. package/dist/scripts/9-8075d42274.chunk.js +1 -0
  121. package/dist/scripts/bundle-fc028564a0.min.js +1 -0
  122. package/dist/scripts/bundles.json +2 -1
  123. package/dist/scripts/polyfills-2100b58308.min.js +1 -0
  124. package/package.json +4 -3
  125. package/typings/libs/intersection-observer.d.ts +83 -0
  126. package/dist/css/11.chunk.css +0 -22
  127. package/dist/css/44.chunk.css +0 -2
  128. package/dist/libs/analytics/src/utils/VideoDataFormatHelper.d.ts +0 -42
  129. package/dist/libs/shared/src/interfaces/models/VideoWithRestrictions.d.ts +0 -5
  130. package/dist/libs/shared/src/utils/RestrictionHelper.d.ts +0 -5
  131. package/dist/scripts/0-901d9a5174.chunk.js +0 -1
  132. package/dist/scripts/1-2b6afccaa5.chunk.js +0 -17
  133. package/dist/scripts/11-7040a1a9eb.chunk.js +0 -1
  134. package/dist/scripts/12-56399321c2.chunk.js +0 -1
  135. package/dist/scripts/13-6f6dd6876b.chunk.js +0 -1
  136. package/dist/scripts/14-85b1c4519e.chunk.js +0 -1
  137. package/dist/scripts/15-a708c0a441.chunk.js +0 -1
  138. package/dist/scripts/16-672f637430.chunk.js +0 -1
  139. package/dist/scripts/17-f535d75948.chunk.js +0 -1
  140. package/dist/scripts/18-a0fa688611.chunk.js +0 -1
  141. package/dist/scripts/19-efdc78b01d.chunk.js +0 -1
  142. package/dist/scripts/2-959e3f07c5.chunk.js +0 -1
  143. package/dist/scripts/20-b3b942d3ee.chunk.js +0 -1
  144. package/dist/scripts/21-5d0bf18256.chunk.js +0 -1
  145. package/dist/scripts/22-bf7f6a09af.chunk.js +0 -1
  146. package/dist/scripts/23-ce69478417.chunk.js +0 -1
  147. package/dist/scripts/24-2f573144dd.chunk.js +0 -1
  148. package/dist/scripts/25-c0a7edb46b.chunk.js +0 -1
  149. package/dist/scripts/26-eda1f676ce.chunk.js +0 -1
  150. package/dist/scripts/27-19a73a8e3c.chunk.js +0 -1
  151. package/dist/scripts/28-543f35676a.chunk.js +0 -1
  152. package/dist/scripts/29-c8624a459e.chunk.js +0 -1
  153. package/dist/scripts/3-4681a2970b.chunk.js +0 -7
  154. package/dist/scripts/30-250405639f.chunk.js +0 -1
  155. package/dist/scripts/31-973623b2b8.chunk.js +0 -1
  156. package/dist/scripts/32-56b87645a5.chunk.js +0 -1
  157. package/dist/scripts/33-8139dd6b22.chunk.js +0 -1
  158. package/dist/scripts/34-4305b444d2.chunk.js +0 -1
  159. package/dist/scripts/35-b00e2d430e.chunk.js +0 -1
  160. package/dist/scripts/36-b1ac1d234c.chunk.js +0 -1
  161. package/dist/scripts/37-887ece8f25.chunk.js +0 -1
  162. package/dist/scripts/38-6b761c580b.chunk.js +0 -1
  163. package/dist/scripts/39-15c7fb0629.chunk.js +0 -1
  164. package/dist/scripts/4-c79da2c235.chunk.js +0 -1
  165. package/dist/scripts/40-d06a006479.chunk.js +0 -1
  166. package/dist/scripts/41-9ca185cca0.chunk.js +0 -1
  167. package/dist/scripts/42-1169517631.chunk.js +0 -1
  168. package/dist/scripts/43-0e9beea9c1.chunk.js +0 -1
  169. package/dist/scripts/44-d113f9e462.chunk.js +0 -1
  170. package/dist/scripts/45-705a98b85d.chunk.js +0 -1
  171. package/dist/scripts/46-6aea461612.chunk.js +0 -1
  172. package/dist/scripts/47-56b20a5099.chunk.js +0 -1
  173. package/dist/scripts/48-cbbb4a5715.chunk.js +0 -1
  174. package/dist/scripts/49-109e79ce55.chunk.js +0 -1
  175. package/dist/scripts/5-29933b6e8c.chunk.js +0 -1
  176. package/dist/scripts/50-6f6935b631.chunk.js +0 -1
  177. package/dist/scripts/51-7fa8424b75.chunk.js +0 -1
  178. package/dist/scripts/52-a94a759a27.chunk.js +0 -1
  179. package/dist/scripts/53-482d232c95.chunk.js +0 -1
  180. package/dist/scripts/54-de14c911e7.chunk.js +0 -1
  181. package/dist/scripts/55-3394848440.chunk.js +0 -1
  182. package/dist/scripts/56-ad1ab23edb.chunk.js +0 -1
  183. package/dist/scripts/57-853a2f73e6.chunk.js +0 -1
  184. package/dist/scripts/58-80fcc2da85.chunk.js +0 -1
  185. package/dist/scripts/6-5f5d06a387.chunk.js +0 -1
  186. package/dist/scripts/7-11cf07c243.chunk.js +0 -1
  187. package/dist/scripts/8-410d69ed5a.chunk.js +0 -1
  188. package/dist/scripts/9-c78686d1cc.chunk.js +0 -1
  189. package/dist/scripts/bundle-3b7a922c7a.min.js +0 -1
  190. /package/dist/css/{31.chunk.css → 32.chunk.css} +0 -0
  191. /package/dist/css/{34.chunk.css → 35.chunk.css} +0 -0
  192. /package/dist/css/{38.chunk.css → 39.chunk.css} +0 -0
@@ -2,5 +2,5 @@ import { IncomingEvent } from "../models/CollectionEvent";
2
2
  import { HashObject } from "../interfaces";
3
3
  export declare const CollectionApiClientHelper: {
4
4
  shouldLog(event: IncomingEvent): boolean;
5
- formatData(event: IncomingEvent): HashObject<any>;
5
+ formatData(event: IncomingEvent): HashObject<any> | HashObject<any>[];
6
6
  };
@@ -0,0 +1,3 @@
1
+ export declare const UrlHelper: {
2
+ safeUrlConcat(baseUrl: string, path: string): string;
3
+ };
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import * as _ from 'underscore';
2
3
  declare type Iterator<T, TResult = T> = (value: T, index: number, list: T[]) => TResult;
3
4
  export declare const ArrayHelper: {
@@ -22,7 +23,7 @@ export declare const ArrayHelper: {
22
23
  * @param arr array of values
23
24
  * @param value value to be added or removed.
24
25
  */
25
- addOrRemove<T_13 = string | number>(arr: T_13[], value: T_13): T_13[];
26
+ addOrRemove<T_13 = import("react").ReactText>(arr: T_13[], value: T_13): T_13[];
26
27
  addOrRemoveImmutable<T_14>(arr: T_14[], value: T_14): T_14[];
27
28
  /**
28
29
  * Returns a (stably) sorted copy of list, ranked in ascending order
@@ -1,7 +1,10 @@
1
+ /// <reference types="react" />
1
2
  import { ObjectHash } from 'backbone';
2
3
  export declare const TextHelper: {
3
4
  escapeExpression(text: string): string;
4
5
  escapeRegExp(str: string): string;
5
6
  slugify(str: string): string;
6
7
  linkifyText(text: string, options?: ObjectHash): string;
8
+ isEqual(str1: import("react").ReactText, str2: import("react").ReactText): boolean;
9
+ toTitleCase(str: string): string;
7
10
  };
@@ -1,7 +1,11 @@
1
1
  import * as React from 'react';
2
- import { ActionOptions } from './Actions';
2
+ import { Core } from "../../../../common/src/backbone";
3
3
  interface ActionButtonProps {
4
- actionOptions: ActionOptions;
4
+ appLink?: Core.AppLink;
5
+ onClick?: (e: React.MouseEvent) => void;
6
+ svgName?: string;
7
+ className?: string;
8
+ tooltip?: string;
5
9
  }
6
10
  export declare function ActionButton(props: React.PropsWithChildren<ActionButtonProps>): JSX.Element;
7
11
  export {};
@@ -1,7 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import { ActionOptions } from './Actions';
3
+ declare type DropdownActionOptions = Omit<ActionOptions, 'button' | 'tooltip'>;
3
4
  interface ActionsDropdownProps {
4
- actions: ActionOptions[];
5
+ actions: DropdownActionOptions[];
5
6
  className?: string;
6
7
  dropdownToggleClassName?: string;
7
8
  }
@@ -4,7 +4,13 @@ interface PopupProps {
4
4
  closeButton?: boolean;
5
5
  closePopup: () => void;
6
6
  onEntered?: () => void;
7
+ size?: 'sm' | 'lg' | 'xl';
7
8
  showLoadingSpinner?: boolean;
8
9
  }
9
10
  export declare function Popup(props: React.PropsWithChildren<PopupProps>): React.ReactElement;
11
+ export declare namespace Popup {
12
+ var defaultProps: {
13
+ closeButton: boolean;
14
+ };
15
+ }
10
16
  export {};
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare function ClickViewLogo(): React.ReactElement;
3
+ export declare function ClickViewLogoInverted(): React.ReactElement;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { Video } from "../../../interfaces";
3
+ interface VideoThumbnailWatchProgressBarProps {
4
+ video: Video;
5
+ className: string;
6
+ }
7
+ export declare function VideoThumbnailWatchProgressBar(props: VideoThumbnailWatchProgressBarProps): JSX.Element;
8
+ export {};
@@ -13,7 +13,7 @@ export interface WidgetData {
13
13
  name?: string;
14
14
  description?: string;
15
15
  }
16
- export declare function useFetchData(props: FixedWidgetProps, dispatch: Function, state: FixedWidgetState, mediaQueryType: MediaQueryStrings, shouldFetch: boolean): Flight.Response<any>;
16
+ export declare function useFetchData(props: FixedWidgetProps, dispatch: Function, mediaQueryType: MediaQueryStrings, shouldFetch: boolean): Flight.Response<any>;
17
17
  /**
18
18
  * This function wrapper determines which widget item images should be pre-fetched by the LazyImage component.
19
19
  * It does this by looking at which images are going to be shown after the users clicks on the "Next"
@@ -0,0 +1,5 @@
1
+ export declare enum PlaylistPrivacy {
2
+ Private = 1,
3
+ Customer = 2,
4
+ Public = 3
5
+ }
@@ -1,6 +1,7 @@
1
1
  import { Flight } from "../../../common/src/react";
2
2
  import { Xhr } from "../../../common/src/backbone/interfaces";
3
3
  import { ReorderRequest } from "../interfaces";
4
+ import { PlaylistPrivacy } from "../enums/PlaylistPrivacy";
4
5
  import { CreateOrUpdatePlaylistRequest, PlaylistCollectionIdentifier } from "../apps/playlists/interfaces";
5
6
  export declare const PlaylistRequests: {
6
7
  getPlaylist(id: string, success?: (data: any) => void, error?: (data: any) => void): Flight.Request;
@@ -18,5 +19,7 @@ export declare const PlaylistRequests: {
18
19
  removePlaylistVideo(playlistId: string, videoId: string, success?: (data: any) => void, error?: (data: any) => void): Flight.Request;
19
20
  followPlaylist(playlistId: string, userId: string): Flight.Request;
20
21
  unfollowPlaylist(playlistId: string, userId: string): Flight.Request;
22
+ getPlaylistPrivacy(playlistId: string): Flight.Request;
23
+ updatePlaylistPrivacy(playlistId: string, privacy: PlaylistPrivacy, success?: (data: any) => void, error?: (xhr: Xhr) => void, always?: () => void): Flight.Request;
21
24
  getMigrationTask(success?: (data: any) => void, error?: (xhr: Xhr) => void): Flight.Request;
22
25
  };
@@ -2,5 +2,5 @@ interface LazyUtils {
2
2
  ref: (node?: Element) => void | null;
3
3
  inView: boolean;
4
4
  }
5
- export declare function useLazyLoad(lazyLoadProp: boolean): LazyUtils;
5
+ export declare function useLazyLoad(prevent?: boolean): LazyUtils;
6
6
  export {};
@@ -0,0 +1,4 @@
1
+ import { BasePaginatedCollection } from './primitives';
2
+ import { VideoHistory } from "../models";
3
+ export interface VideoHistoryCollection extends BasePaginatedCollection<VideoHistory> {
4
+ }
@@ -9,6 +9,7 @@ export * from './SeriesCollection';
9
9
  export * from './TagCollection';
10
10
  export * from './UserCollection';
11
11
  export * from './VideoCollection';
12
+ export * from './VideoHistoryCollection';
12
13
  export * from './WidgetCollection';
13
14
  export * from './PresentationAudienceCollection';
14
15
  export * from './ResourceCollection';
@@ -1,3 +1,5 @@
1
1
  import { BaseObject } from "./..";
2
2
  export interface Library extends BaseObject {
3
+ isHiddenLibrary: boolean;
4
+ type: 'custom_library' | 'hosted_library' | 'exchange' | 'workspace' | 'online_supplementary_library';
3
5
  }
@@ -1,4 +1,5 @@
1
- import { BaseObject, Cover, VideoCollection, User, Thumbnail, Banner, PresentationAudienceCollection } from "./..";
1
+ import { BaseObject, Cover, VideoCollection, User, Thumbnail, Banner, PresentationAudienceCollection, UserCollection } from "./..";
2
+ import { PlaylistPrivacy } from "../../enums/PlaylistPrivacy";
2
3
  export interface Playlist extends BaseObject {
3
4
  description?: string;
4
5
  thumbnail?: Thumbnail;
@@ -7,4 +8,6 @@ export interface Playlist extends BaseObject {
7
8
  cover?: Cover;
8
9
  banner?: Banner;
9
10
  subjectPresentationAudiences?: PresentationAudienceCollection;
11
+ followers?: UserCollection;
12
+ privacy?: PlaylistPrivacy;
10
13
  }
@@ -1,4 +1,4 @@
1
- import { BaseObject, CompanyCollection, PersonCollection, CategoryCollection, Channel, InteractiveCollection, LibraryCollection, Rating, Series, Thumbnail, TagCollection, Season, AudienceCollection, ResourceCollection, LinkCollection, ClipCollection, Glance, HeroBanner } from "./..";
1
+ import { BaseObject, CompanyCollection, PersonCollection, CategoryCollection, Channel, InteractiveCollection, LibraryCollection, Rating, Series, Thumbnail, TagCollection, Season, AudienceCollection, ResourceCollection, LinkCollection, ClipCollection, Glance, HeroBanner, RestrictedObject } from "./..";
2
2
  export interface Video extends BaseObject {
3
3
  categories?: CategoryCollection;
4
4
  channel?: Channel;
@@ -6,7 +6,7 @@ export interface Video extends BaseObject {
6
6
  duration?: number;
7
7
  interactives?: InteractiveCollection;
8
8
  libraries?: LibraryCollection;
9
- productionYear: number;
9
+ productionYear?: number;
10
10
  rating?: Rating;
11
11
  series?: Series;
12
12
  thumbnail?: Thumbnail;
@@ -25,4 +25,6 @@ export interface Video extends BaseObject {
25
25
  isFavourited?: boolean;
26
26
  hasSubtitle?: boolean;
27
27
  heroBanner?: HeroBanner;
28
+ restrictions?: RestrictedObject[];
29
+ lastProgressPoint?: number;
28
30
  }
@@ -0,0 +1,9 @@
1
+ import { BaseObject } from './primitives';
2
+ export interface VideoHistory extends Omit<BaseObject, 'id' | 'name'> {
3
+ videoId: string;
4
+ userId: string;
5
+ customerId: string;
6
+ lastDateWatched: string;
7
+ lastTimeWatched: string;
8
+ lastProgressPoint: number;
9
+ }
@@ -6,7 +6,8 @@ import { BaseObject } from "./..";
6
6
  export declare enum WidgetType {
7
7
  Row = 0,
8
8
  LargeRow = 1,
9
- Hero = 2
9
+ Hero = 2,
10
+ ResourcesTile = 3
10
11
  }
11
12
  export interface Widget extends BaseObject {
12
13
  collectionId: number;
@@ -38,7 +38,8 @@ export * from './Organisation';
38
38
  export * from './TallPoster';
39
39
  export * from './Share';
40
40
  export * from './Restriction';
41
- export * from './VideoWithRestrictions';
41
+ export * from './Video';
42
42
  export * from './Following';
43
43
  export * from './UserChannel';
44
44
  export * from './Group';
45
+ export * from './VideoHistory';
@@ -26,5 +26,5 @@ export declare const ImageHelper: {
26
26
  Rfc3986EncodeURIComponent(str: string): string;
27
27
  _createCategoryMappedUrl(mappingOptions: CategoryMapperImageOptions, options?: ImageOptions): string;
28
28
  _createUrl(baseUrl: string, options?: ImageOptions): string;
29
- legacyCreateThumbnailUrl(thumbnail: string | Core.Model | HashObject<any>, options?: ImageOptions): string;
29
+ legacyCreateThumbnailUrl(thumbnail: string | HashObject<any> | Core.Model, options?: ImageOptions): string;
30
30
  };
@@ -75,6 +75,8 @@ import './apps/user-manager/views/school-teacher-manager/empty-state/school-teac
75
75
  import './apps/user-manager/views/school-teacher-manager/school-teacher-manager.lang.json';
76
76
  import './apps/user-manager/views/student-upload-review/student-upload-review.lang.json';
77
77
  import './apps/user-manager/views/teacher-upload-review/teacher-upload-review.lang.json';
78
+ import './apps/watch-history/components/watch-history-video-list/watch-history-video-list.lang.json';
79
+ import './apps/watch-history/views/watch-history/watch-history.lang.json';
78
80
  import './shared/components/clips/clips.lang.json';
79
81
  import './shared/components/immersive-reader/immersive-reader.lang.json';
80
82
  import './shared/components/interactives/interactives.lang.json';
@@ -123,5 +125,4 @@ import '../../../libs/shared/src/components/widgets/items/subject-widget-item/su
123
125
  import '../../../libs/shared/src/legacy/components/pagination/pagination.lang.json';
124
126
  import '../../../libs/shared/src/utils/shared-utils.lang.json';
125
127
  import '../../../libs/shared/src/utils/video-actions/video-actions-helper.lang.json';
126
- import 'regenerator-runtime/runtime';
127
128
  import './styles';
@@ -15,7 +15,7 @@ export declare class DefaultApplication extends ReactApplication {
15
15
  get channelName(): string;
16
16
  static get router(): typeof DefaultAppRouter;
17
17
  share(id: string, params: HashObject): void;
18
- playVideo(id: string, slug: string): void;
18
+ playVideo(id: string, slug: string, params: HashObject): void;
19
19
  playSharedVideo(shortCode: string): void;
20
20
  myUploads(params: HashObject): void;
21
21
  editVideo(videoId: string): void;
@@ -0,0 +1,18 @@
1
+ import { Core } from "../../../../../libs/common/src/backbone";
2
+ import { HashObject } from "../../../../../libs/common/src/react/interfaces/HashObject";
3
+ import { ReactApplication } from "../../../../../libs/common/src/react/core/ReactApplication";
4
+ import { TeacherLayoutViewOptions, TeacherLayoutView } from 'shared/layouts/teacher-layout/TeacherLayoutView';
5
+ declare class WatchHistoryAppRouter extends Core.AppRouter {
6
+ protected get channelName(): string;
7
+ protected get appRoutes(): HashObject;
8
+ protected get appLinks(): string[];
9
+ }
10
+ export declare class WatchHistoryApplication extends ReactApplication {
11
+ protected layout: TeacherLayoutView;
12
+ get name(): string;
13
+ protected get layoutOptions(): Core.LayoutOptions<TeacherLayoutViewOptions>;
14
+ get channelName(): string;
15
+ static get router(): typeof WatchHistoryAppRouter;
16
+ index(params: HashObject): void;
17
+ }
18
+ export {};
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { VideoHistoryCollection, Video } from "../../../../../../../libs/shared/src/interfaces";
3
+ interface WatchHistoryVideoListProps {
4
+ videoHistory: VideoHistoryCollection;
5
+ videos: Video[];
6
+ setFavourite: (videoId: string, shouldFavourite: boolean, onError?: () => void) => void;
7
+ }
8
+ export declare function WatchHistoryVideoList(props: WatchHistoryVideoListProps): JSX.Element;
9
+ export {};
@@ -0,0 +1,6 @@
1
+ import { Flight } from "../../../../../../libs/common/src/react";
2
+ import { HashObject } from "../../../../../../libs/common/src/react/interfaces";
3
+ import { Xhr } from "../../../../../../libs/common/src/backbone/interfaces";
4
+ export declare const VideoHistoryRequests: {
5
+ userVideoHistory(customerId: string, userId: string, cursor?: string, success?: (data: HashObject<any>) => void, error?: (Xhr: Xhr) => void, always?: () => void): Flight.Request;
6
+ };
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ interface WatchHistoryViewProps {
3
+ cursor?: string;
4
+ }
5
+ export declare function WatchHistoryView(props: WatchHistoryViewProps): JSX.Element;
6
+ export {};
@@ -0,0 +1,2 @@
1
+ import 'core-js/stable';
2
+ import 'regenerator-runtime/runtime';
@@ -3,6 +3,7 @@ interface WebPlayerProps {
3
3
  className?: string;
4
4
  webPlayerHost: string;
5
5
  id: string;
6
+ startTime?: number;
6
7
  }
7
8
  export declare function WebPlayer(props: WebPlayerProps): React.ReactElement;
8
9
  export {};
@@ -10,7 +10,6 @@ export declare const Actions: {
10
10
  EDIT_VIDEO: string;
11
11
  EDIT_UPLOAD: string;
12
12
  SHARE: string;
13
- WATCH_HISTORY: string;
14
13
  };
15
14
  Playlists: {
16
15
  HOME: string;
@@ -72,4 +71,7 @@ export declare const Actions: {
72
71
  Settings: {
73
72
  HOME: string;
74
73
  };
74
+ WatchHistory: {
75
+ HOME: string;
76
+ };
75
77
  };
@@ -11,6 +11,7 @@ export declare const AppChannels: {
11
11
  UPLOAD: string;
12
12
  CLASSROOMS: string;
13
13
  SETTINGS: string;
14
+ WATCH_HISTORY: string;
14
15
  };
15
16
  export declare const ServiceChannels: {
16
17
  COMBINE_UPLOADS: string;
@@ -1,9 +1,11 @@
1
1
  import { Flight } from "../../../../../libs/common/src/react";
2
+ import { Xhr } from "../../../../../libs/common/src/backbone/interfaces";
2
3
  import { Video, UpdateVideoRequest } from "../../../../../libs/shared/src/interfaces";
3
4
  export declare const VideoRequests: {
4
5
  video(id: string): Flight.Request;
5
6
  workspace(id: string, cursor: string): Flight.Request;
6
7
  videos(ids: string[], success?: (videos: Video[]) => void): Flight.Request;
8
+ hydratedVideos(ids: string[], success?: (videos: Video[]) => void, error?: (Xhr: Xhr) => void, always?: () => void): Flight.Request;
7
9
  updateVideo(data: UpdateVideoRequest, success?: () => void): Flight.Request;
8
10
  /**
9
11
  * This is simply an example to show the prototype for useVideoMixin
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  interface PlayViewProps {
3
3
  id: string;
4
+ startTime?: number;
4
5
  }
5
6
  export declare function PlayView(props: PlayViewProps): React.ReactElement;
6
7
  export {};
@@ -0,0 +1 @@
1
+ (window.webpackJsonp_clickview_lite=window.webpackJsonp_clickview_lite||[]).push([[0],{1006:function(e,t,a){"use strict";var n=a(0),r=a(40),i=a(769),o=a(850),c=a(228),l=a(47),s=a(789),u=a(808),m=a(141),d=function(e){return!!e&&e.series&&!!e.series.id},p=a(11),v=a(143),f=a(803),b=a(39),g=a(791),y=a(229),E=a(115),N=a(1152),k=a.n(N),h=[E.a.AddToPlaylist,E.a.Share];function S(e){var t=n.useContext(y.a),a=t.videoActions,r=void 0===a?h:a,i=t.getActionAppLink,o=Object(v.a)(m.a.XS);if(!b.a.isFunction(i))return n.createElement(n.Fragment,null);var c=[];return r.forEach((function(t){var a=i(e.video,t);a&&c.push(Object.assign({appLink:a,className:"btn btn-link",button:!o},Object(E.b)()[t]))})),n.createElement(g.a,{actions:c,className:"float-right mt-n1",actionsDropdownClassName:"btn btn-link rounded-circle p-0 ".concat(k.a.actionsDropdown)})}var w=a(805),x=a(792);function C(e){return n.createElement(w.a,null,n.createElement(x.a,{type:x.b.Rating,data:e.video.rating}),n.createElement(x.a,{type:x.b.ProductionYear,data:e.video.productionYear}),n.createElement(x.a,{type:x.b.Interactive,data:e.video.interactives}))}var O=a(77),j=a(1153),L=a.n(j);function P(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var a=[],n=!0,r=!1,i=void 0;try{for(var o,c=e[Symbol.iterator]();!(n=(o=c.next()).done)&&(a.push(o.value),!t||a.length!==t);n=!0);}catch(e){r=!0,i=e}finally{try{n||null==c.return||c.return()}finally{if(r)throw i}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return B(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return B(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function B(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function T(e){var t=Object(v.a)(m.a.XS),a=21*(Object(v.a)(m.a.SM)?2:4),r=function(e){var t=P(Object(n.useState)(!1),2),a=t[0],r=t[1],i=P(Object(n.useState)(!1),2),o=i[0],c=i[1],l=Object(n.useRef)();return Object(n.useEffect)((function(){l&&l.current&&(l.current.offsetHeight<=e||(r(!0),c(!0)))}),[l]),{ref:l,isExpandable:a,isTruncated:o,toggleTruncation:function(){return c((function(e){return!e}))}}}(a),i=r.ref,o=r.isExpandable,c=r.isTruncated,l=r.toggleTruncation;if(t)return n.createElement(n.Fragment,null);var s={className:"position-relative overflow-hidden"};return c&&(s.style={maxHeight:"".concat(a,"px")}),e.forceTruncate&&!c&&l(),n.createElement("div",Object.assign({},s),n.createElement("p",{ref:i,className:"m-0"},e.video.description,!!o&&n.createElement("span",{className:"cursor-pointer ".concat(L.a.ellipsis),onClick:l},n.createElement(O.b,{namespace:"shared.videoItemDescription",phrase:c?"showMore":"showLess"}))))}var _=a(48);function A(e){return n.createElement(_.a,{appLink:e.appLink},n.createElement("h5",{className:"d-inline-block m-0 mb-1"},e.video.name))}var I=a(1154),F=a.n(I);a.d(t,"b",(function(){return V})),a.d(t,"a",(function(){return D}));var R=Object(i.SortableHandle)((function(){return n.createElement(r.Col,{xs:2,className:"d-flex justify-content-center align-items-center cursor-pointer ".concat(F.a.dragHandleContainer)},n.createElement(l.a,{svgName:p.b.Handle,size:l.b.Small}))}));function V(e){var t,a=Object(v.a)(m.a.XS),i=n.useContext(f.a),l=i.isSortable,p=i.currentSortingIndex,b=l&&!a,g=e.getVideoAppLink(e.video),y=d(e.video)&&e.getSeriesAppLink(e.video.series);return n.createElement(r.Row,{className:"py-2"},n.createElement(r.Col,{xs:a?12:4,className:"flex-column align-items-flex-start mb-1"},n.createElement(r.Row,null,!!b&&n.createElement(R,null),n.createElement(r.Col,{xs:(t=b,t?10:12)},n.createElement(o.a,{video:e.video,appLink:g,seriesAppLink:y,size:b?s.a.Small:s.a.Medium,textPosition:u.a.Independent,setFavourite:e.setFavourite,type:"static"})))),n.createElement(r.Col,{xs:a?12:8},n.createElement(S,{video:e.video}),n.createElement(c.a,{video:e.video,appLink:y}),n.createElement(A,{video:e.video,appLink:e.getVideoAppLink(e.video)}),n.createElement(C,{video:e.video}),n.createElement(T,{video:e.video,forceTruncate:Number.isInteger(p)&&e.idx===p})))}var D=Object(i.SortableElement)((function(e){return n.createElement(V,Object.assign({},e))}))},1152:function(e,t,a){e.exports={actionsDropdown:"XR0aX"}},1153:function(e,t,a){e.exports={ellipsis:"LJY5U"}},1154:function(e,t,a){e.exports={dragHandleContainer:"_24s1b"}},774:function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(140),r=a(41),i=a(52),o=function(){var e=Object(n.a)(i.a.ALERT);return{success:function(t){e.success(t)()},error:function(t){e.error(t)()},warning:function(t){e.createAlert({type:r.a.Warning,heading:r.c.Warning,message:t})}}}},775:function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(0);function r(e){return n.createElement("div",{role:"button",tabIndex:0,className:"".concat(e.className?e.className:""," cursor-pointer"),onKeyDown:function(t){return"Enter"===t.key&&e.onClick(t)},onClick:e.onClick,style:e.style?e.style:{}},e.children)}},782:function(e,t,a){"use strict";a.d(t,"b",(function(){return n})),a.d(t,"a",(function(){return d}));var n,r,i=a(0),o=a(140),c=a(47),l=a(11),s=a(10),u=a(831),m=a.n(u);function d(e){var t=e.type,a=e.mediaType,u=e.extraClasses,d=(Object(o.a)(s.b.ImageUrl).getImageUrls(),function(e){return e===n.Video?m.a.videoFallback:e===n.Playlist?m.a.playlistFallback:e===n.Series||e===n.TallSubject?m.a.posterFallback:e===n.Subject?m.a.subjectFallback:""}(t)),p=function(e,t){return e===n.Video?l.b.Play:e===n.Playlist?l.b.Playlist:e===n.Series?l.b.Series:e===n.Subject||e===n.TallSubject?l.b.Subject:""}(t),v="".concat(function(e,t){return t===n.Subject?m.a.subjectFallbackContainer:e===r.Svg?m.a.svgFallbackContainer:m.a.baseFallbackContainer}(a,t));return u&&(v+=" ".concat(e.extraClasses)),i.createElement("div",{className:v},a===r.Svg?i.createElement(c.a,{svgName:p,className:d,tagName:"div"}):i.createElement("div",{className:m.a.fallbackThumbnailImage,style:{backgroundImage:"url('".concat(p,"')")}}))}!function(e){e[e.Video=0]="Video",e[e.Playlist=1]="Playlist",e[e.Series=2]="Series",e[e.Subject=3]="Subject",e[e.TallSubject=4]="TallSubject"}(n||(n={})),function(e){e[e.Svg=0]="Svg",e[e.Image=1]="Image"}(r||(r={})),d.defaultProps={mediaType:r.Svg}},786:function(e,t,a){"use strict";var n,r=a(0),i=a(51),o=a(804),c=a(829),l=a.n(c),s=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a},u=r.memo((function(e){var t=e.forceLoad,a=s(e,["forceLoad"]),n=Object(o.a)(),i=n.ref,c=n.inView;if(!i)return r.createElement("img",Object.assign({alt:""},a));var u=a.src,m=s(a,["src"]),d=Object.assign(Object.assign({alt:""},m),c||t?{src:u}:{});return t||(d.ref=i),r.createElement("img",Object.assign({className:l.a.image},d))})),m=a(48),d=a(789),p=a(830),v=a.n(p);function f(e){var t="thumbnail ".concat(v.a.thumbnail),a="";return e.aspectRatio===n.SixteenByNine&&(a=v.a.sixteenByNine),e.aspectRatio===n.NineBySixteen&&(a=v.a.nineBySixteen),e.aspectRatio===n.OneByOne&&(a=v.a.oneByOne),e.aspectRatio===n.TwoByThree&&(a=v.a.twoByThree),a&&(t+=" ".concat(a)),e.className&&(t+=" ".concat(e.className)),t}function b(e){var t=e.data,a=e.size,n=e.appLink,o=e.preload,c="";"string"==typeof t?c=t:i.a.isObject(t)&&(c=t.url);var l=c&&function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d.a.Small;return"".concat(e,"?size=").concat(t)}(c,a);return r.createElement("div",{className:f(e)},r.createElement(m.a,{appLink:n},e.children,l&&r.createElement(u,{src:l,forceLoad:o})))}a.d(t,"a",(function(){return n})),a.d(t,"b",(function(){return b})),function(e){e[e.SixteenByNine=0]="SixteenByNine",e[e.OneByOne=1]="OneByOne",e[e.TwoByThree=2]="TwoByThree",e[e.NineBySixteen=3]="NineBySixteen"}(n||(n={}))},789:function(e,t,a){"use strict";var n;a.d(t,"a",(function(){return n})),function(e){e.Small="small",e.Medium="medium",e.Large="large",e.Raw="raw"}(n||(n={}))},791:function(e,t,a){"use strict";var n=a(0),r=a(40),i=a(231),o=a(47),c=a(48),l=a(11),s=a(815),u=a.n(s);function m(e){if(!e.actions||!e.actions.length)return n.createElement(n.Fragment,null);var t="actions-dropdown-".concat(i.a.getRandomInt()),a="px-0 ".concat(u.a.dropdownToggle);return e.dropdownToggleClassName&&(a+=" ".concat(e.dropdownToggleClassName)),n.createElement(r.Dropdown,{className:e.className?e.className:"",alignRight:!0},n.createElement(r.Dropdown.Toggle,{as:"button",type:"button",id:t,className:a},n.createElement(o.a,{svgName:l.b.More,size:o.b.Small})),n.createElement(r.Dropdown.Menu,null,e.actions.map((function(e,t){return n.createElement(c.a,{key:t,appLink:e.appLink,onClick:e.onClick,className:(a=e.className,r="dropdown-item",a&&(r+=" ".concat(a)),r)},e.label);var a,r}))))}m.defaultProps={dropdownToggleClassName:"btn btn-light"};var d=a(219),p=a(145);function v(e){var t="ml-2";return e.className&&(t+=" ".concat(e.className)),e.tooltip?n.createElement(p.a,{title:e.tooltip},n.createElement(d.a,{appLink:e.appLink,svgName:e.svgName,onClick:e.onClick,className:t},e.children)):e.svgName?n.createElement(d.a,{onClick:e.onClick,appLink:e.appLink,svgName:e.svgName,className:t},e.children):e.appLink?n.createElement(c.a,{onClick:e.onClick,appLink:e.appLink,className:t},e.children):n.createElement("button",{onClick:e.onClick,className:t},e.children)}function f(e){var t=[],a=[];e.actions.forEach((function(e){e.button?t.push(e):a.push(e)}));var r="d-flex";return e.className&&(r+=" ".concat(e.className)),n.createElement("div",{className:r},n.createElement(n.Fragment,null,!!t.length&&n.createElement("span",{className:u.a.buttonList},t.map((function(e,t){return n.createElement(v,{key:t,appLink:e.appLink,onClick:e.onClick,svgName:e.svgName,className:e.className,tooltip:e.tooltip},e.label)}))),e.sortComponent?e.sortComponent:"",!!a.length&&n.createElement(m,{actions:a,className:!!t.length&&"ml-2",dropdownToggleClassName:e.actionsDropdownClassName})))}a.d(t,"a",(function(){return f}))},792:function(e,t,a){"use strict";var n,r=a(0),i=a(40),o=function(e){if(!e)return"";return function(e){switch(!0){case e<32:return"bg-purple";case e<48:return"bg-success";case e<80:return"bg-info";case e<96:return"bg-danger";case e<128:return"bg-pink";case e>=128:return"bg-warning";default:return""}}(e)},c=a(232),l=a(819),s=a.n(l);function u(e){var t=e.type,a=e.data;if(!function(e,t){return e===n.Rating?t&&!!t.value:!!t}(t,a))return r.createElement(r.Fragment,null);var l=function(e,t){var a="";return e===n.Duration&&(a=s.a.duration),e===n.Interactive&&(a=s.a.interactive),e===n.Rating&&(a="".concat(s.a.rating," ").concat(o(t.value))),e===n.ProductionYear&&(a=s.a.productionYear),"".concat("badge"," ").concat(a)}(t,a),u=function(e,t){return e===n.Interactive?"Interactive":e===n.Duration?c.a.ToDisplayDuration(t):e===n.Rating?t.code:e===n.ProductionYear?t:void 0}(t,a),m=function(e,t){return e===n.Rating?{title:t.name,placement:"top"}:null}(t,a);return m?r.createElement(i.OverlayTrigger,{placement:m.placement,overlay:r.createElement(i.Tooltip,{id:m.title},m.title)},r.createElement("span",{className:l},u)):r.createElement("span",{className:l},u)}a.d(t,"b",(function(){return n})),a.d(t,"a",(function(){return u})),function(e){e.Duration="duration",e.Interactive="interactive",e.Rating="rating",e.ProductionYear="production-year"}(n||(n={}))},803:function(e,t,a){"use strict";a.d(t,"a",(function(){return l})),a.d(t,"c",(function(){return s})),a.d(t,"b",(function(){return u}));var n=a(0),r=a(769),i=a(2),o=a(845),c=a(1006),l=n.createContext({isSortable:!1});function s(e){var t=n.useContext(l).isSortable?c.a:c.b,a=i.a.AppLinkHelper.getCurrentAppLink();return n.createElement(n.Fragment,null,n.createElement("div",{className:"position-relative"},e.videos.map((function(a,r){return n.createElement(t,{key:a.id,idx:r,index:r,video:a,getVideoAppLink:e.getVideoAppLink,getSeriesAppLink:e.getSeriesAppLink,setFavourite:e.setFavourite})}))),e.cursors&&n.createElement(o.b,{appLink:a,cursors:e.cursors}))}var u=Object(r.SortableContainer)((function(e){return n.createElement(l.Provider,{value:{isSortable:!0,currentSortingIndex:e.currentSortingIndex}},n.createElement(s,Object.assign({},e)))}))},804:function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(767);function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var a=[],n=!0,r=!1,i=void 0;try{for(var o,c=e[Symbol.iterator]();!(n=(o=c.next()).done)&&(a.push(o.value),!t||a.length!==t);n=!0);}catch(e){r=!0,i=e}finally{try{n||null==c.return||c.return()}finally{if(r)throw i}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function o(e){var t=r(n.useInView({triggerOnce:!0}),2),a=t[0],i=t[1];return!0!==e&&void 0!==window.IntersectionObserver||(i=!0,a=null),{ref:a,inView:i}}},805:function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(0),r=a(819),i=a.n(r);function o(e){var t="d-flex ".concat(i.a.badgeList);return e.className&&(t+=" ".concat(e.className)),n.createElement("div",{className:t},e.children)}},807:function(e,t,a){"use strict";a.d(t,"a",(function(){return m}));var n=a(0),r=a(8),i=a(11),o=a(47),c=a(774);function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var a=[],n=!0,r=!1,i=void 0;try{for(var o,c=e[Symbol.iterator]();!(n=(o=c.next()).done)&&(a.push(o.value),!t||a.length!==t);n=!0);}catch(e){r=!0,i=e}finally{try{n||null==c.return||c.return()}finally{if(r)throw i}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return s(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return s(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}var u=r.a.encloseNamespace("shared.favouriteButton");function m(e){var t=Object(c.a)(),a="boolean"==typeof e.video.isFavourited,r=!!e.video.isFavourited,s=l(n.useState(r),2),m=s[0],d=s[1];n.useEffect((function(){d(r)}),[r]);var p="cursor-pointer text".concat(m?"-danger":"-dark");return e.className&&(p+=" ".concat(e.className)),a?n.createElement("div",{className:p,onClick:function(){var a=!m;d(a),e.setFavourite(e.video.id,a,(function(){t.error(u(a?"favouriteError":"unfavouriteError")),d(!a)}))}},n.createElement(o.a,{svgName:m?i.b.Heart:i.b.HeartOutline,size:o.b.Small})):n.createElement(n.Fragment,null)}},808:function(e,t,a){"use strict";var n;a.d(t,"a",(function(){return n})),function(e){e[e.Below=1]="Below",e[e.Overlay=2]="Overlay",e[e.Independent=3]="Independent"}(n||(n={}))},815:function(e,t,a){e.exports={buttonList:"_2v9CT",dropdownToggle:"AYBvQ"}},819:function(e,t,a){e.exports={duration:"_3XH_S",interactive:"INxgX",productionYear:"Bt6Bx",rating:"_3bOtF",badgeList:"_1BsVS"}},829:function(e,t,a){e.exports={image:"_1YW-E"}},830:function(e,t,a){e.exports={thumbnail:"_3lfBf",sixteenByNine:"_2LqZ8",nineBySixteen:"_136ry",oneByOne:"_2wYLa",twoByThree:"_1eC6Q"}},831:function(e,t,a){e.exports={baseFallbackContainer:"_1wRjB",svgFallbackContainer:"_2t1jq",subjectFallbackContainer:"_12D74",videoFallback:"_6BPy-",playlistFallback:"_1slQX",posterFallback:"i0o8n",subjectFallback:"_2Srdd",fallbackThumbnailImage:"_2L_tV"}},845:function(e,t,a){"use strict";a.d(t,"b",(function(){return u})),a.d(t,"a",(function(){return m}));var n=a(0),r=a(775),i=a(48),o=a(77),c=a(44),l=a(3);function s(e,t){return t?{application:e.application,action:e.action,args:e.args,params:Object.assign({},e.params,{cursor:t})}:null}function u(e){var t=e.appLink,a=e.cursors,r=e.className;function u(e){c.a.logUserAction({page:e},{location:l.j.Pagination,entity:l.d.Pagination,actionType:l.n.Navigate,workflowPhase:l.o.Complete})}return n.createElement(o.a.Provider,{value:"shared.pagination"},n.createElement("div",{className:r},n.createElement(i.a,{appLink:s(t,a.previous),className:"btn btn-secondary mr-1 ".concat(a.previous?"":"disabled"),onClick:function(){return u("previous")}},n.createElement(o.b,{phrase:"previous"})),n.createElement(i.a,{appLink:s(t,a.next),className:"btn btn-secondary ".concat(a.next?"":"disabled"),onClick:function(){return u("next")}},n.createElement(o.b,{phrase:"next"}))))}function m(e){function t(e){c.a.logUserAction({page:e},{location:l.j.Pagination,entity:l.d.Pagination,actionType:l.n.Navigate,workflowPhase:l.o.Complete})}return n.createElement(o.a.Provider,{value:"shared.pagination"},n.createElement("div",{className:e.className},n.createElement(r.a,{onClick:function(){1!==e.currentPage&&(t("previous"),e.onClickBack())},className:"btn btn-secondary mr-1 cursor-pointer ".concat(1===e.currentPage?"disabled":"")},n.createElement(o.b,{phrase:"previous"})),n.createElement(r.a,{onClick:function(){e.currentPage!==e.totalPages&&(t("next"),e.onClickNext())},className:"btn btn-secondary cursor-pointer ".concat(e.currentPage===e.totalPages?"disabled":"")},n.createElement(o.b,{phrase:"next"}))))}u.defaultProps={className:"py-2"},m.defaultProps={className:"py-2"}},850:function(e,t,a){"use strict";var n=a(0),r=a.n(n),i=a(39),o=a(807),c=a(786),l=a(782),s=a(228),u=a(805),m=a(792),d=a(47),p=a(11),v=a(856),f=a.n(v);function b(e){var t,a=e.video,n=e.appLink,v=e.size,b=e.setFavourite,g=e.preload,y=e.hovering;return r.a.createElement("div",{className:"position-relative rounded overflow-hidden"},!!i.a.isFunction(b)&&r.a.createElement("div",{className:f.a.favouriteContainer},r.a.createElement(o.a,{setFavourite:b,video:a,className:"rounded-circle p-1 ".concat(f.a.favouriteButton)})),r.a.createElement(c.b,{data:a.thumbnail,appLink:n,aspectRatio:c.a.SixteenByNine,size:v,preload:g,className:f.a.gradient},y&&r.a.createElement(d.a,{className:f.a.playIcon,svgName:p.b.PlayCircle}),r.a.createElement(l.a,{type:l.b.Video}),r.a.createElement("div",{className:f.a.overlayContainer},r.a.createElement("div",{className:"".concat(f.a.title," ").concat(y?f.a.downScale:"")},!!(null===(t=e.video.series)||void 0===t?void 0:t.id)&&r.a.createElement(s.a,{className:"text-shadow clamp-1",video:a,appLink:null}),r.a.createElement("span",{className:"h6 text-reset text-shadow clamp-1 mb-0"},a.name),y&&r.a.createElement(u.a,{className:"align-items-center mb-n1"},r.a.createElement(m.a,{type:m.b.Duration,data:a.duration}),r.a.createElement(m.a,{type:m.b.Rating,data:a.rating}),a.hasSubtitle&&r.a.createElement("span",{className:"badge p-0"},r.a.createElement(d.a,{svgName:p.b.CloseCaptionBadge})))))))}var g,y=a(808),E=a(857),N=a.n(E);function k(e){var t=e.type,a=function(e){return e===g.Video?N.a.video:e===g.Playlist?N.a.playlist:""}(t),r=function(e){return e===g.Video?p.b.PlayCircle:e===g.Playlist?p.b.AddToPlaylists:""}(t);return n.createElement("div",{className:N.a.maskContainer},n.createElement("div",{className:N.a.mask}),n.createElement(d.a,{svgName:r,className:a}))}!function(e){e[e.Video=0]="Video",e[e.Playlist=1]="Playlist"}(g||(g={}));var h=a(48);function S(e){var t=e.video.lastProgressPoint&&e.video.duration&&e.video.lastProgressPoint/e.video.duration*1e5;return t?n.createElement("div",{className:e.className},n.createElement("div",{className:"bg-primary h-100",style:{width:"".concat(t,"%")}})):n.createElement(n.Fragment,null)}var w=a(858),x=a.n(w);function C(e){var t,a=e.video,n=e.seriesAppLink,i=e.textPosition,o=e.appLink,c=i===y.a.Overlay,l=c?x.a.titleOverlay:x.a.titleBelow;return r.a.createElement("div",{className:l},!!(null===(t=e.video.series)||void 0===t?void 0:t.id)&&r.a.createElement(s.a,{className:c?"text-shadow clamp-1":"clamp-2",video:a,appLink:c?null:n}),c?r.a.createElement("span",{className:"h6 text-reset text-shadow clamp-1 mb-0"},a.name):r.a.createElement(h.a,{className:"h6 text-reset clamp-2 mb-0",appLink:o},a.name))}function O(e){var t=e.video,a=e.appLink,n=e.textPosition,s=e.size,d=e.setFavourite,p=e.preload,v="position-relative";return n===y.a.Overlay&&(v+=" rounded overflow-hidden"),r.a.createElement("div",{className:v},!!i.a.isFunction(d)&&r.a.createElement("div",{className:x.a.favouriteContainer},r.a.createElement(o.a,{setFavourite:d,video:t,className:"rounded-circle p-1 ".concat(x.a.favouriteButton)})),r.a.createElement(c.b,{data:t.thumbnail,appLink:a,aspectRatio:c.a.SixteenByNine,size:s,preload:p,className:n===y.a.Overlay?x.a.gradient:""},r.a.createElement(k,{type:g.Video}),r.a.createElement(l.a,{type:l.b.Video}),r.a.createElement("div",{className:x.a.overlayContainer},n===y.a.Overlay&&r.a.createElement(C,Object.assign({},e)),r.a.createElement(S,{video:t,className:x.a.watchProgress}),r.a.createElement(u.a,{className:x.a.badgeContainer},r.a.createElement(m.a,{type:m.b.Duration,data:t.duration})))),n===y.a.Below&&r.a.createElement(C,Object.assign({},e)))}function j(e){return"expandable"===e.type?n.createElement(b,Object.assign({},e)):n.createElement(O,Object.assign({},e))}a.d(t,"a",(function(){return j}))},856:function(e,t,a){e.exports={overlayContainer:"_1MQy4",favouriteContainer:"_2obuZ",favouriteButton:"_1UfdO",title:"Q1km-",downScale:"_2_7sb",gradient:"Of_Cn",playIcon:"B9cJG"}},857:function(e,t,a){e.exports={mask:"_3nE2p",video:"KdGwU",playlist:"_1cBmC",maskContainer:"_3si6K"}},858:function(e,t,a){e.exports={titleOverlay:"_1JIh4",titleBelow:"_1OKu_",overlayContainer:"_1BBKk",favouriteContainer:"_23tXc",favouriteButton:"_2lJ57",badgeContainer:"_28ZUf",watchProgress:"_3YP9l",gradient:"_1o4aT"}}}]);