@clickview/lite 0.0.21 → 0.0.22-dev.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 (210) hide show
  1. package/dist/css/0.chunk.css +3 -3
  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/2.chunk.css +1 -1
  10. package/dist/css/20.chunk.css +2 -2
  11. package/dist/css/21.chunk.css +2 -6
  12. package/dist/css/22.chunk.css +6 -2
  13. package/dist/css/23.chunk.css +2 -2
  14. package/dist/css/24.chunk.css +3 -1
  15. package/dist/css/25.chunk.css +1 -3
  16. package/dist/css/26.chunk.css +2 -2
  17. package/dist/css/27.chunk.css +3 -1
  18. package/dist/css/28.chunk.css +1 -3
  19. package/dist/css/29.chunk.css +2 -2
  20. package/dist/css/30.chunk.css +4 -0
  21. package/dist/css/4.chunk.css +2 -2
  22. package/dist/css/46.chunk.css +1 -1
  23. package/dist/css/48.chunk.css +2 -0
  24. package/dist/en.json +1 -1
  25. package/dist/libs/analytics/src/clients/CollectionApiClient.d.ts +3 -1
  26. package/dist/libs/analytics/src/interfaces/AnalyticsTypes.d.ts +5 -6
  27. package/dist/libs/analytics/src/interfaces/User.d.ts +11 -0
  28. package/dist/libs/analytics/src/models/CollectionEvent.d.ts +6 -0
  29. package/dist/libs/analytics/src/utils/CollectionApiClientHelper.d.ts +1 -1
  30. package/dist/libs/analytics/src/utils/UrlHelper.d.ts +3 -0
  31. package/dist/libs/common/src/backbone/services/data-providers/SignalRDataProvider.d.ts +3 -3
  32. package/dist/libs/common/src/backbone/utils/UrlHelper.d.ts +1 -0
  33. package/dist/libs/common/src/react/utils/ArrayHelper.d.ts +4 -0
  34. package/dist/libs/common/src/react/utils/TextHelper.d.ts +3 -0
  35. package/dist/libs/shared/src/apps/subjects/components/preferences/index.d.ts +1 -0
  36. package/dist/libs/shared/src/apps/subjects/components/preferences/preference-item/PreferenceItem.d.ts +15 -0
  37. package/dist/libs/shared/src/apps/subjects/components/preferences/progress/PreferenceProgress.d.ts +1 -0
  38. package/dist/libs/shared/src/apps/subjects/components/preferences/subject-preference-grid/SubjectPreferenceGrid.d.ts +2 -1
  39. package/dist/libs/shared/src/apps/subjects/components/preferences/subject-preference-item/SubjectPreferenceItem.d.ts +1 -0
  40. package/dist/libs/shared/src/components/actions/ActionButton.d.ts +7 -2
  41. package/dist/libs/shared/src/components/actions/Actions.d.ts +1 -0
  42. package/dist/libs/shared/src/components/actions/ActionsDropdown.d.ts +2 -1
  43. package/dist/libs/shared/src/components/popup/Popup.d.ts +6 -0
  44. package/dist/libs/shared/src/components/spinner-button/SpinnerButton.d.ts +1 -0
  45. package/dist/libs/shared/src/components/svgs/clickview-logo/ClickViewLogo.d.ts +3 -0
  46. package/dist/libs/shared/src/components/thumbnails/video/VideoThumbnailWatchProgressBar.d.ts +8 -0
  47. package/dist/libs/shared/src/components/widgets/fixed-widget/FixedWidgetUtils.d.ts +1 -1
  48. package/dist/libs/shared/src/enums/PlaylistPrivacy.d.ts +5 -0
  49. package/dist/libs/shared/src/enums/PresentationType.d.ts +4 -0
  50. package/dist/libs/shared/src/enums/SettingKind.d.ts +4 -0
  51. package/dist/libs/shared/src/enums/SettingName.d.ts +3 -0
  52. package/dist/libs/shared/src/flight-requests/PlaylistRequests.d.ts +3 -0
  53. package/dist/libs/shared/src/flight-requests/PreferenceRequests.d.ts +12 -4
  54. package/dist/libs/shared/src/hooks/UseLazyLoad.d.ts +1 -1
  55. package/dist/libs/shared/src/interfaces/collections/VideoHistoryCollection.d.ts +4 -0
  56. package/dist/libs/shared/src/interfaces/collections/index.d.ts +1 -0
  57. package/dist/libs/shared/src/interfaces/models/EntitySetting.d.ts +9 -0
  58. package/dist/libs/shared/src/interfaces/models/Library.d.ts +2 -0
  59. package/dist/libs/shared/src/interfaces/models/Playlist.d.ts +4 -1
  60. package/dist/libs/shared/src/interfaces/models/Presentation.d.ts +3 -0
  61. package/dist/libs/shared/src/interfaces/models/Video.d.ts +4 -2
  62. package/dist/libs/shared/src/interfaces/models/VideoHistory.d.ts +9 -0
  63. package/dist/libs/shared/src/interfaces/models/Widget.d.ts +2 -1
  64. package/dist/libs/shared/src/interfaces/models/index.d.ts +3 -1
  65. package/dist/projects/lite/src/app.d.ts +2 -1
  66. package/dist/projects/lite/src/apps/default/LiteDefaultApplication.d.ts +1 -1
  67. package/dist/projects/lite/src/apps/watch-history/LiteWatchHistoryApplication.d.ts +18 -0
  68. package/dist/projects/lite/src/apps/watch-history/components/watch-history-video-list/WatchHistoryVideoList.d.ts +9 -0
  69. package/dist/projects/lite/src/apps/watch-history/flight-requests/VideoHistoryRequests.d.ts +6 -0
  70. package/dist/projects/lite/src/apps/watch-history/views/watch-history/WatchHistoryView.d.ts +6 -0
  71. package/dist/projects/lite/src/polyfills.d.ts +2 -0
  72. package/dist/projects/lite/src/shared/components/web-player/WebPlayer.d.ts +1 -0
  73. package/dist/projects/lite/src/shared/constants/LiteActions.d.ts +3 -1
  74. package/dist/projects/lite/src/shared/constants/LiteRadioChannels.d.ts +1 -0
  75. package/dist/projects/lite/src/shared/flight-requests/VideoRequests.d.ts +2 -0
  76. package/dist/projects/lite/src/shared/views/play/PlayView.d.ts +1 -0
  77. package/dist/scripts/0-06e6d224db.chunk.js +1 -0
  78. package/dist/scripts/1-887b4b1b62.chunk.js +17 -0
  79. package/dist/scripts/12-c3a787026a.chunk.js +1 -0
  80. package/dist/scripts/13-55a4846990.chunk.js +1 -0
  81. package/dist/scripts/14-388f94a450.chunk.js +1 -0
  82. package/dist/scripts/15-77df8b5af3.chunk.js +1 -0
  83. package/dist/scripts/16-0ffeb64f54.chunk.js +1 -0
  84. package/dist/scripts/17-955a29c4e0.chunk.js +1 -0
  85. package/dist/scripts/18-e6136d62c6.chunk.js +1 -0
  86. package/dist/scripts/19-880910202d.chunk.js +1 -0
  87. package/dist/scripts/2-fd038171b4.chunk.js +1 -0
  88. package/dist/scripts/20-44be150b5d.chunk.js +1 -0
  89. package/dist/scripts/21-0ed98b49d9.chunk.js +1 -0
  90. package/dist/scripts/22-0af19d7662.chunk.js +1 -0
  91. package/dist/scripts/23-864af936a5.chunk.js +1 -0
  92. package/dist/scripts/24-4d8f7bcedd.chunk.js +1 -0
  93. package/dist/scripts/25-8ace9850cd.chunk.js +1 -0
  94. package/dist/scripts/26-cdbba9cd45.chunk.js +1 -0
  95. package/dist/scripts/27-e37f663d43.chunk.js +1 -0
  96. package/dist/scripts/28-fbaeae6ce9.chunk.js +1 -0
  97. package/dist/scripts/29-5cc304ffac.chunk.js +1 -0
  98. package/dist/scripts/3-80777701d5.chunk.js +7 -0
  99. package/dist/scripts/30-eacfd37725.chunk.js +1 -0
  100. package/dist/scripts/31-b251e1cc9f.chunk.js +1 -0
  101. package/dist/scripts/32-89eee7291c.chunk.js +1 -0
  102. package/dist/scripts/33-fc331f7e45.chunk.js +1 -0
  103. package/dist/scripts/34-7abcf2c85d.chunk.js +1 -0
  104. package/dist/scripts/35-6c3ad9d973.chunk.js +1 -0
  105. package/dist/scripts/36-4487d884c4.chunk.js +1 -0
  106. package/dist/scripts/37-3756ebfbf8.chunk.js +1 -0
  107. package/dist/scripts/38-dc36b72523.chunk.js +1 -0
  108. package/dist/scripts/39-40fb064bfa.chunk.js +1 -0
  109. package/dist/scripts/4-921a74ad8c.chunk.js +1 -0
  110. package/dist/scripts/40-06a34b9e0e.chunk.js +1 -0
  111. package/dist/scripts/41-37fb45611f.chunk.js +1 -0
  112. package/dist/scripts/42-2e0a141dd0.chunk.js +1 -0
  113. package/dist/scripts/43-3b21cd4021.chunk.js +1 -0
  114. package/dist/scripts/44-a689986917.chunk.js +1 -0
  115. package/dist/scripts/45-929a705c77.chunk.js +1 -0
  116. package/dist/scripts/46-92ef9358e1.chunk.js +1 -0
  117. package/dist/scripts/47-73308b0e36.chunk.js +1 -0
  118. package/dist/scripts/48-4e1c2af176.chunk.js +1 -0
  119. package/dist/scripts/49-6860509ec9.chunk.js +1 -0
  120. package/dist/scripts/5-8cac703d8e.chunk.js +1 -0
  121. package/dist/scripts/50-ce92cdc08d.chunk.js +1 -0
  122. package/dist/scripts/51-f7ca510503.chunk.js +1 -0
  123. package/dist/scripts/52-f1cd5fb0bf.chunk.js +1 -0
  124. package/dist/scripts/53-048ecda135.chunk.js +1 -0
  125. package/dist/scripts/54-65486573ee.chunk.js +1 -0
  126. package/dist/scripts/55-294432b05b.chunk.js +1 -0
  127. package/dist/scripts/56-386250e4ec.chunk.js +1 -0
  128. package/dist/scripts/57-b59de63c5a.chunk.js +1 -0
  129. package/dist/scripts/58-5b7bee48c2.chunk.js +1 -0
  130. package/dist/scripts/59-00659eeeca.chunk.js +1 -0
  131. package/dist/scripts/6-176dc103e5.chunk.js +1 -0
  132. package/dist/scripts/60-d2c07fa4ea.chunk.js +1 -0
  133. package/dist/scripts/61-89b6e187bd.chunk.js +1 -0
  134. package/dist/scripts/7-26644d5b55.chunk.js +1 -0
  135. package/dist/scripts/8-d64d1cc3c2.chunk.js +1 -0
  136. package/dist/scripts/9-45dbfb578e.chunk.js +1 -0
  137. package/dist/scripts/bundle-697354e29e.min.js +8 -0
  138. package/dist/scripts/bundles.json +2 -1
  139. package/dist/scripts/polyfills-b6dc96dd56.min.js +1 -0
  140. package/package.json +4 -3
  141. package/typings/libs/intersection-observer.d.ts +83 -0
  142. package/dist/css/11.chunk.css +0 -22
  143. package/dist/css/44.chunk.css +0 -2
  144. package/dist/libs/analytics/src/utils/VideoDataFormatHelper.d.ts +0 -42
  145. package/dist/libs/shared/src/interfaces/models/VideoWithRestrictions.d.ts +0 -5
  146. package/dist/libs/shared/src/utils/RestrictionHelper.d.ts +0 -5
  147. package/dist/scripts/0-901d9a5174.chunk.js +0 -1
  148. package/dist/scripts/1-2b6afccaa5.chunk.js +0 -17
  149. package/dist/scripts/11-7040a1a9eb.chunk.js +0 -1
  150. package/dist/scripts/12-56399321c2.chunk.js +0 -1
  151. package/dist/scripts/13-6f6dd6876b.chunk.js +0 -1
  152. package/dist/scripts/14-85b1c4519e.chunk.js +0 -1
  153. package/dist/scripts/15-a708c0a441.chunk.js +0 -1
  154. package/dist/scripts/16-672f637430.chunk.js +0 -1
  155. package/dist/scripts/17-f535d75948.chunk.js +0 -1
  156. package/dist/scripts/18-a0fa688611.chunk.js +0 -1
  157. package/dist/scripts/19-efdc78b01d.chunk.js +0 -1
  158. package/dist/scripts/2-959e3f07c5.chunk.js +0 -1
  159. package/dist/scripts/20-b3b942d3ee.chunk.js +0 -1
  160. package/dist/scripts/21-5d0bf18256.chunk.js +0 -1
  161. package/dist/scripts/22-bf7f6a09af.chunk.js +0 -1
  162. package/dist/scripts/23-ce69478417.chunk.js +0 -1
  163. package/dist/scripts/24-2f573144dd.chunk.js +0 -1
  164. package/dist/scripts/25-c0a7edb46b.chunk.js +0 -1
  165. package/dist/scripts/26-eda1f676ce.chunk.js +0 -1
  166. package/dist/scripts/27-19a73a8e3c.chunk.js +0 -1
  167. package/dist/scripts/28-543f35676a.chunk.js +0 -1
  168. package/dist/scripts/29-c8624a459e.chunk.js +0 -1
  169. package/dist/scripts/3-4681a2970b.chunk.js +0 -7
  170. package/dist/scripts/30-250405639f.chunk.js +0 -1
  171. package/dist/scripts/31-973623b2b8.chunk.js +0 -1
  172. package/dist/scripts/32-56b87645a5.chunk.js +0 -1
  173. package/dist/scripts/33-8139dd6b22.chunk.js +0 -1
  174. package/dist/scripts/34-4305b444d2.chunk.js +0 -1
  175. package/dist/scripts/35-b00e2d430e.chunk.js +0 -1
  176. package/dist/scripts/36-b1ac1d234c.chunk.js +0 -1
  177. package/dist/scripts/37-887ece8f25.chunk.js +0 -1
  178. package/dist/scripts/38-6b761c580b.chunk.js +0 -1
  179. package/dist/scripts/39-15c7fb0629.chunk.js +0 -1
  180. package/dist/scripts/4-c79da2c235.chunk.js +0 -1
  181. package/dist/scripts/40-d06a006479.chunk.js +0 -1
  182. package/dist/scripts/41-9ca185cca0.chunk.js +0 -1
  183. package/dist/scripts/42-1169517631.chunk.js +0 -1
  184. package/dist/scripts/43-0e9beea9c1.chunk.js +0 -1
  185. package/dist/scripts/44-d113f9e462.chunk.js +0 -1
  186. package/dist/scripts/45-705a98b85d.chunk.js +0 -1
  187. package/dist/scripts/46-6aea461612.chunk.js +0 -1
  188. package/dist/scripts/47-56b20a5099.chunk.js +0 -1
  189. package/dist/scripts/48-cbbb4a5715.chunk.js +0 -1
  190. package/dist/scripts/49-109e79ce55.chunk.js +0 -1
  191. package/dist/scripts/5-29933b6e8c.chunk.js +0 -1
  192. package/dist/scripts/50-6f6935b631.chunk.js +0 -1
  193. package/dist/scripts/51-7fa8424b75.chunk.js +0 -1
  194. package/dist/scripts/52-a94a759a27.chunk.js +0 -1
  195. package/dist/scripts/53-482d232c95.chunk.js +0 -1
  196. package/dist/scripts/54-de14c911e7.chunk.js +0 -1
  197. package/dist/scripts/55-3394848440.chunk.js +0 -1
  198. package/dist/scripts/56-ad1ab23edb.chunk.js +0 -1
  199. package/dist/scripts/57-853a2f73e6.chunk.js +0 -1
  200. package/dist/scripts/58-80fcc2da85.chunk.js +0 -1
  201. package/dist/scripts/6-5f5d06a387.chunk.js +0 -1
  202. package/dist/scripts/7-11cf07c243.chunk.js +0 -1
  203. package/dist/scripts/8-410d69ed5a.chunk.js +0 -1
  204. package/dist/scripts/9-c78686d1cc.chunk.js +0 -1
  205. package/dist/scripts/bundle-86b9401ad3.min.js +0 -1
  206. /package/dist/css/{31.chunk.css → 32.chunk.css} +0 -0
  207. /package/dist/css/{34.chunk.css → 35.chunk.css} +0 -0
  208. /package/dist/css/{38.chunk.css → 39.chunk.css} +0 -0
  209. /package/dist/libs/shared/src/apps/subjects/components/preferences/{subject-preference-item/SubjectPreferenceItemStatus.d.ts → preference-item/PreferenceItemStatus.d.ts} +0 -0
  210. /package/dist/{projects/lite/src/shared → libs/shared/src}/components/toggle-switch/ToggleSwitch.d.ts +0 -0
@@ -23,7 +23,9 @@ export declare enum UserAction {
23
23
  * The following events are listed in CollectionApi
24
24
  */
25
25
  Stream = "cv_product_stream",
26
+ StreamRaw = "cv_product_stream_raw",
26
27
  WebPlayerStream = "cv_product_webplayer_stream",
28
+ StreamProgress = "cv_product_stream_progress",
27
29
  Login = "cv_product_login",
28
30
  LoginSsoRedirect = "cv_product_login_sso_redirect",
29
31
  LoginFailed = "cv_product_login_failed",
@@ -99,12 +101,7 @@ export declare enum EntityType {
99
101
  Upload = "upload",
100
102
  SearchResults = "search_results",
101
103
  Audience = "audience",
102
- /**
103
- * `user` cannot be the value here because when we log these events to Snowflake, the event object
104
- * puts the current user's data under the `user` key. If we were to log events with `user` as the entity
105
- * name, this data would be overwritten and lost.
106
- */
107
- User = "target_user"
104
+ User = "user"
108
105
  }
109
106
  export declare enum LocationContext {
110
107
  TopNav = "top_nav",
@@ -151,6 +148,8 @@ export declare enum LocationContext {
151
148
  ManageClassroomGroupListItem = "manage_classroom_group_list_item",
152
149
  PlayPage = "play_page",
153
150
  FloatingPlayer = "floating_player",
151
+ InteractivePlayer = "interactive_player",
152
+ EmbeddedPlayer = "embedded_player",
154
153
  ContentUpdatesClassificationBanner = "content_updates_classification_banner",
155
154
  PreferencesSettings = "preferences_settings",
156
155
  MyUploads = "my_uploads"
@@ -1,6 +1,17 @@
1
1
  import { BaseObject } from "./";
2
+ export declare enum UserGroup {
3
+ Staff = "staff",
4
+ Learner = "learner",
5
+ Unknown = "unknown"
6
+ }
2
7
  export interface User extends BaseObject {
3
8
  countryCode?: string;
4
9
  customerId?: string;
10
+ customerGuid?: string;
11
+ customerName?: string;
12
+ crmId?: number;
5
13
  role?: string;
14
+ userGroup?: UserGroup;
15
+ yearGroup?: string;
16
+ isOpenCustomer?: boolean;
6
17
  }
@@ -22,10 +22,16 @@ export interface PlatformData {
22
22
  export interface CollectionEventUserData {
23
23
  id: string;
24
24
  role: string;
25
+ userGroup: string;
26
+ yearGroup: string;
25
27
  customer: {
26
28
  id: string;
29
+ name: string;
27
30
  country: CountryCode;
28
31
  region: Region;
32
+ customerGuid: string;
33
+ crmId: number;
34
+ openCustomer: boolean;
29
35
  };
30
36
  }
31
37
  export interface CollectionEventData {
@@ -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
+ };
@@ -17,7 +17,6 @@ export interface SocketToken {
17
17
  }
18
18
  export declare abstract class SignalRDataProvider extends Marionette.Object implements DataProvider {
19
19
  private connection;
20
- private hub;
21
20
  private connectionState;
22
21
  private authEndpoint;
23
22
  private subscribeEvent;
@@ -28,11 +27,12 @@ export declare abstract class SignalRDataProvider extends Marionette.Object impl
28
27
  private setProviderOptions;
29
28
  openConnection(): JQueryPromise<any>;
30
29
  connect(): JQueryPromise<any>;
31
- start(data: any): JQueryPromise<any>;
32
- stop(async?: boolean, notifyServer?: boolean): any;
30
+ start(data: any): Promise<any>;
31
+ stop(): Promise<void>;
33
32
  private attachSocketEvents;
34
33
  private onReconnect;
35
34
  private onConnectionError;
35
+ private createConnection;
36
36
  private getConnectionToken;
37
37
  private setConnectionState;
38
38
  private isConnectedOrConnecting;
@@ -9,5 +9,6 @@ export declare const UrlHelper: {
9
9
  buildFilter(params: FilterParams): string;
10
10
  makeHttps(url: string): string;
11
11
  safeUrlConcat(baseUrl: string, path: string): string;
12
+ removeTrailingSlash(baseUrl: string): string;
12
13
  };
13
14
  export {};
@@ -24,6 +24,10 @@ export declare const ArrayHelper: {
24
24
  * @param value value to be added or removed.
25
25
  */
26
26
  addOrRemove<T_13 = import("react").Key>(arr: T_13[], value: T_13): T_13[];
27
+ /**
28
+ * This is the same addOrRemove function above, except it doesn't mutate the array in the argument
29
+ * and returns a branch new array.
30
+ */
27
31
  addOrRemoveImmutable<T_14>(arr: T_14[], value: T_14): T_14[];
28
32
  /**
29
33
  * 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").Key, str2: import("react").Key): boolean;
9
+ toTitleCase(str: string): string;
7
10
  };
@@ -2,3 +2,4 @@ export * from './footer/PreferenceFooter';
2
2
  export * from './progress/PreferenceProgress';
3
3
  export * from './subject-preference-grid/SubjectPreferenceGrid';
4
4
  export * from './subject-preference-item/SubjectPreferenceItem';
5
+ export * from './preference-item/PreferenceItem';
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ interface PreferenceItemProps {
3
+ name: string;
4
+ imageUrl: string;
5
+ onClick?: (event: React.MouseEvent<HTMLLIElement, MouseEvent>) => void;
6
+ isDisabled?: boolean;
7
+ isSelected: boolean;
8
+ hideStatus?: boolean;
9
+ isExpandable?: boolean;
10
+ expand?: boolean;
11
+ selectedChildCount?: number;
12
+ extraClasses?: string;
13
+ }
14
+ export declare function PreferenceItem(props: PreferenceItemProps): JSX.Element;
15
+ export {};
@@ -3,6 +3,7 @@ import { Core } from "../../../../../../../common/src/backbone";
3
3
  export interface PreferenceStepHash {
4
4
  appLink: Core.AppLink;
5
5
  active: boolean;
6
+ disabled?: boolean;
6
7
  }
7
8
  interface PreferenceProgressProps {
8
9
  steps: PreferenceStepHash[];
@@ -5,6 +5,7 @@ interface SubjectPreferenceGridProps {
5
5
  subjects: ClassificationPreference[];
6
6
  onSelect: (subject: Classification) => void;
7
7
  onExpand: (subject: Classification) => void;
8
+ disableAll?: boolean;
8
9
  }
9
- export declare function SubjectPreferenceGrid({ subjects, ...eventHandlers }: SubjectPreferenceGridProps): JSX.Element;
10
+ export declare function SubjectPreferenceGrid(props: SubjectPreferenceGridProps): JSX.Element;
10
11
  export {};
@@ -6,6 +6,7 @@ interface SubjectPreferenceItemProps {
6
6
  disabled?: boolean;
7
7
  onClick?: (event: React.MouseEvent<HTMLLIElement, MouseEvent>) => void;
8
8
  extraClasses?: string;
9
+ hideStatus?: boolean;
9
10
  }
10
11
  export declare function SubjectPreferenceItem(props: SubjectPreferenceItemProps): JSX.Element;
11
12
  export {};
@@ -1,7 +1,12 @@
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;
9
+ showSpinner?: boolean;
5
10
  }
6
11
  export declare function ActionButton(props: React.PropsWithChildren<ActionButtonProps>): JSX.Element;
7
12
  export {};
@@ -9,6 +9,7 @@ export interface ActionOptions {
9
9
  className?: string;
10
10
  button?: boolean;
11
11
  tooltip?: string;
12
+ showSpinner?: boolean;
12
13
  }
13
14
  export declare type ActionGenerator = (obj: BaseObject) => ActionOptions[];
14
15
  interface ActionsProps {
@@ -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 {};
@@ -3,5 +3,6 @@ import { ButtonProps } from 'react-bootstrap';
3
3
  export interface SpinnerButtonProps extends ButtonProps {
4
4
  showSpinner: boolean;
5
5
  onClick?: () => void;
6
+ className?: string;
6
7
  }
7
8
  export declare function SpinnerButton(props: React.PropsWithChildren<SpinnerButtonProps>): React.ReactElement;
@@ -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
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum PresentationType {
2
+ Subject = "subject",
3
+ Curriculum = "curriculum"
4
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum SettingKind {
2
+ Permanent = 0,
3
+ Temporary = 1
4
+ }
@@ -0,0 +1,3 @@
1
+ export declare enum SettingName {
2
+ HasCompletedOnboarding = "has_completed_onboarding"
3
+ }
@@ -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
  };
@@ -1,17 +1,25 @@
1
1
  import { Flight } from "../../../common/src/react";
2
+ import { PresentationType } from "../enums/PresentationType";
3
+ import { Presentation } from "../interfaces";
2
4
  export declare const PreferenceRequests: {
5
+ /**
6
+ * Presentations
7
+ */
8
+ currentPresentations(type?: PresentationType): Flight.Request;
9
+ availablePresentations(type?: PresentationType): Flight.Request;
10
+ setPresentation(presentation: Presentation, type: PresentationType, success?: () => void): Flight.Request;
3
11
  /**
4
12
  * Subjects
5
13
  */
6
14
  allSubjectPreferences(): Flight.Request;
7
15
  mySubjectPreferences(): Flight.Request;
8
- followSubjects(subjectIds: string[], success: () => void, always: () => void): Flight.Request;
9
- unfollowSubjects(subjectIds: string[], success: () => void, always: () => void): Flight.Request;
16
+ followSubjects(subjectIds: string[], success: () => void, error?: () => void, always?: () => void): Flight.Request;
17
+ unfollowSubjects(subjectIds: string[], success: () => void, error?: () => void, always?: () => void): Flight.Request;
10
18
  /**
11
19
  * Levels
12
20
  */
13
21
  allLevelPreferences(): Flight.Request;
14
22
  myLevelPreferences(): Flight.Request;
15
- followLevels(levelIds: string[], success: () => void, always: () => void): Flight.Request;
16
- unfollowLevels(levelIds: string[], success: () => void, always: () => void): Flight.Request;
23
+ followLevels(levelIds: string[], success: () => void, error?: () => void, always?: () => void): Flight.Request;
24
+ unfollowLevels(levelIds: string[], success: () => void, error?: () => void, always?: () => void): Flight.Request;
17
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';
@@ -0,0 +1,9 @@
1
+ import { SettingKind } from "../../enums/SettingKind";
2
+ import { SettingName } from "../../enums/SettingName";
3
+ export interface EntitySetting {
4
+ name: SettingName;
5
+ displayName: string;
6
+ value: any;
7
+ type: string;
8
+ kind: SettingKind;
9
+ }
@@ -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,3 +1,6 @@
1
1
  import { BaseObject } from "./..";
2
+ import { PresentationType } from "../../enums/PresentationType";
2
3
  export interface Presentation extends BaseObject {
4
+ coverUrl: string;
5
+ type: PresentationType;
3
6
  }
@@ -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,9 @@ 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';
46
+ export * from './EntitySetting';
@@ -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 {};