@clickview/player 0.0.0-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 (190) hide show
  1. package/.eslintrc.json +3 -0
  2. package/.storybook/main.js +21 -0
  3. package/.storybook/preview-head.html +3 -0
  4. package/.storybook/stories/Base.stories.tsx +115 -0
  5. package/.storybook/stories/Clips.stories.tsx +64 -0
  6. package/.storybook/stories/Interactives.stories.tsx +65 -0
  7. package/.storybook/stories/Subtitles.stories.tsx +22 -0
  8. package/.storybook/stories/assets/chapters.vtt +19 -0
  9. package/.storybook/stories/assets/en.vtt +8 -0
  10. package/.storybook/stories/assets/es.vtt +8 -0
  11. package/.storybook/stories/assets/fr.vtt +8 -0
  12. package/.storybook/stories/assets/interactive.json +451 -0
  13. package/.storybook/stories/assets/sample_1280x720.mp4.jpg +0 -0
  14. package/.storybook/stories/assets/sample_1280x720.mp4.vtx +0 -0
  15. package/.storybook/stories/assets/thumbnails.vtt +62 -0
  16. package/.storybook/stories/assets/vertical.mp4 +0 -0
  17. package/.storybook/stories/utils/Wrap.tsx +18 -0
  18. package/.storybook/stories/utils/mock-playerapi.ts +181 -0
  19. package/.storybook/stories/utils/mock-setup.ts +23 -0
  20. package/README.md +1 -0
  21. package/dist/bundle.js +1 -0
  22. package/dist/font.scss +59 -0
  23. package/dist/libs/analytics/src/clients/CollectionApiClient.d.ts +48 -0
  24. package/dist/libs/analytics/src/constants/CountryRegionMapping.d.ts +7 -0
  25. package/dist/libs/analytics/src/constants/Regions.d.ts +6 -0
  26. package/dist/libs/analytics/src/enums/CountryCode.d.ts +5 -0
  27. package/dist/libs/analytics/src/enums/RegionName.d.ts +5 -0
  28. package/dist/libs/analytics/src/interfaces/AnalyticsTypes.d.ts +316 -0
  29. package/dist/libs/analytics/src/interfaces/Config.d.ts +3 -0
  30. package/dist/libs/analytics/src/interfaces/Folder.d.ts +3 -0
  31. package/dist/libs/analytics/src/interfaces/HashObject.d.ts +3 -0
  32. package/dist/libs/analytics/src/interfaces/Owner.d.ts +3 -0
  33. package/dist/libs/analytics/src/interfaces/Playlist.d.ts +3 -0
  34. package/dist/libs/analytics/src/interfaces/Rating.d.ts +4 -0
  35. package/dist/libs/analytics/src/interfaces/Region.d.ts +5 -0
  36. package/dist/libs/analytics/src/interfaces/RegionalUrl.d.ts +5 -0
  37. package/dist/libs/analytics/src/interfaces/Resource.d.ts +5 -0
  38. package/dist/libs/analytics/src/interfaces/Series.d.ts +3 -0
  39. package/dist/libs/analytics/src/interfaces/Subtitle.d.ts +4 -0
  40. package/dist/libs/analytics/src/interfaces/User.d.ts +17 -0
  41. package/dist/libs/analytics/src/interfaces/VersionData.d.ts +4 -0
  42. package/dist/libs/analytics/src/interfaces/Video.d.ts +16 -0
  43. package/dist/libs/analytics/src/interfaces/index.d.ts +15 -0
  44. package/dist/libs/analytics/src/interfaces/primitives/BaseObject.d.ts +7 -0
  45. package/dist/libs/analytics/src/models/AnalyticsEvent.d.ts +49 -0
  46. package/dist/libs/analytics/src/models/CollectionEvent.d.ts +61 -0
  47. package/dist/libs/analytics/src/utils/CollectionApiClientHelper.d.ts +6 -0
  48. package/dist/libs/analytics/src/utils/DataFormatHelper.d.ts +14 -0
  49. package/dist/libs/analytics/src/utils/EventWhitelistHelper.d.ts +19 -0
  50. package/dist/libs/analytics/src/utils/TypeHelper.d.ts +4 -0
  51. package/dist/libs/analytics/src/utils/UploadDataFormatHelper.d.ts +10 -0
  52. package/dist/libs/analytics/src/utils/UrlHelper.d.ts +3 -0
  53. package/dist/libs/analytics/src/utils/UserAgentHelper.d.ts +10 -0
  54. package/dist/libs/analytics/src/utils/VideoDataFormatHelper.d.ts +42 -0
  55. package/dist/libs/common/src/backbone/constants/CommonChannels.d.ts +5 -0
  56. package/dist/libs/common/src/backbone/core/AppLink.d.ts +37 -0
  57. package/dist/libs/common/src/backbone/core/BaseAppRouter.d.ts +99 -0
  58. package/dist/libs/common/src/backbone/core/BaseApplication.d.ts +76 -0
  59. package/dist/libs/common/src/backbone/core/BaseBehavior.d.ts +6 -0
  60. package/dist/libs/common/src/backbone/core/BaseCollection.d.ts +7 -0
  61. package/dist/libs/common/src/backbone/core/BaseCollectionView.d.ts +16 -0
  62. package/dist/libs/common/src/backbone/core/BaseError.d.ts +18 -0
  63. package/dist/libs/common/src/backbone/core/BaseLayoutView.d.ts +11 -0
  64. package/dist/libs/common/src/backbone/core/BaseModel.d.ts +27 -0
  65. package/dist/libs/common/src/backbone/core/BaseNestedModel.d.ts +21 -0
  66. package/dist/libs/common/src/backbone/core/BaseService.d.ts +10 -0
  67. package/dist/libs/common/src/backbone/core/BaseView.d.ts +131 -0
  68. package/dist/libs/common/src/backbone/core/EventNames.d.ts +16 -0
  69. package/dist/libs/common/src/backbone/core/LayoutService.d.ts +31 -0
  70. package/dist/libs/common/src/backbone/core/ListenToRadio.d.ts +3 -0
  71. package/dist/libs/common/src/backbone/core/LocationUtils.d.ts +23 -0
  72. package/dist/libs/common/src/backbone/core/Middleware.d.ts +10 -0
  73. package/dist/libs/common/src/backbone/core/Shell.d.ts +79 -0
  74. package/dist/libs/common/src/backbone/core/Types.d.ts +12 -0
  75. package/dist/libs/common/src/backbone/core/index.d.ts +18 -0
  76. package/dist/libs/common/src/backbone/errors/DevError.d.ts +4 -0
  77. package/dist/libs/common/src/backbone/index.d.ts +2 -0
  78. package/dist/libs/common/src/backbone/interfaces/StickitBinding.d.ts +38 -0
  79. package/dist/libs/common/src/backbone/services/EnvironmentVariables.d.ts +13 -0
  80. package/dist/libs/common/src/react/interfaces/HashObject.d.ts +3 -0
  81. package/dist/libs/shared/src/interfaces/models/primitives/BaseObject.d.ts +7 -0
  82. package/dist/player-app.css +71 -0
  83. package/dist/player-app.js +52 -0
  84. package/dist/projects/player/src/components/chapter-bar-items/chapter-bar-item.d.ts +79 -0
  85. package/dist/projects/player/src/components/chapter-bar-items/chapter-bar-items.d.ts +55 -0
  86. package/dist/projects/player/src/components/chapter-bar-items/chapter-bar-load-progress.d.ts +55 -0
  87. package/dist/projects/player/src/components/chapter-bar-items/chapter-bar-play-progress.d.ts +55 -0
  88. package/dist/projects/player/src/components/chapter-seek-bar/chapter-seek-bar.d.ts +1 -0
  89. package/dist/projects/player/src/components/chapters-button/chapter-menu-item.d.ts +60 -0
  90. package/dist/projects/player/src/components/chapters-button/chapters-button.d.ts +1 -0
  91. package/dist/projects/player/src/components/cog-button/cog-button.d.ts +38 -0
  92. package/dist/projects/player/src/components/collapserator/collapserator.d.ts +4 -0
  93. package/dist/projects/player/src/components/mouse-time-display/mouse-time-display.d.ts +3 -0
  94. package/dist/projects/player/src/components/playback-rate-button/playback-rate-button.d.ts +1 -0
  95. package/dist/projects/player/src/components/progress-control/progress-control.d.ts +1 -0
  96. package/dist/projects/player/src/components/quality-selector/quality-button.d.ts +1 -0
  97. package/dist/projects/player/src/components/quality-selector/quality-menu-item.d.ts +17 -0
  98. package/dist/projects/player/src/components/subs-caps-button/subs-caps-button.d.ts +1 -0
  99. package/dist/projects/player/src/components/thumbnail-display/thumbnail-display.d.ts +66 -0
  100. package/dist/projects/player/src/components/time-tooltip/time-tooltip.d.ts +15 -0
  101. package/dist/projects/player/src/components/time-wrapper/time-wrapper.d.ts +1 -0
  102. package/dist/projects/player/src/index.d.ts +12 -0
  103. package/dist/projects/player/src/interfaces/CollapsibleComponent.d.ts +10 -0
  104. package/dist/projects/player/src/interfaces/models/ApiError.d.ts +4 -0
  105. package/dist/projects/player/src/interfaces/models/PlaybackObject.d.ts +32 -0
  106. package/dist/projects/player/src/players/base-player.d.ts +64 -0
  107. package/dist/projects/player/src/players/create-clip-player.d.ts +16 -0
  108. package/dist/projects/player/src/players/interactive-player.d.ts +11 -0
  109. package/dist/projects/player/src/players/player.d.ts +15 -0
  110. package/dist/projects/player/src/plugins/clip-plugin/clip-plugin.d.ts +50 -0
  111. package/dist/projects/player/src/plugins/create-clip-plugin/components/clip-timepoint-selector/clip-timepoint-selector-handle.d.ts +54 -0
  112. package/dist/projects/player/src/plugins/create-clip-plugin/components/clip-timepoint-selector/clip-timepoint-selector.d.ts +89 -0
  113. package/dist/projects/player/src/plugins/create-clip-plugin/components/create-clip-seek-bar/create-clip-seek-bar.d.ts +14 -0
  114. package/dist/projects/player/src/plugins/create-clip-plugin/create-clip-plugin.d.ts +14 -0
  115. package/dist/projects/player/src/plugins/example-plugin/components/example-button/example-button.d.ts +1 -0
  116. package/dist/projects/player/src/plugins/example-plugin/components/example-react-button/example-react-button.d.ts +1 -0
  117. package/dist/projects/player/src/plugins/example-plugin/example-plugin.d.ts +2 -0
  118. package/dist/projects/player/src/plugins/fullscreen-on-rotate-plugin/fullscreen-on-rotate-plugin.d.ts +1 -0
  119. package/dist/projects/player/src/plugins/interactive-plugin/components/create-components/create-components.d.ts +4 -0
  120. package/dist/projects/player/src/plugins/interactive-plugin/components/create-components/create-short-answer.ts/create-short-answer.d.ts +10 -0
  121. package/dist/projects/player/src/plugins/interactive-plugin/components/create-components/create-type-selector/create-type-selector.d.ts +8 -0
  122. package/dist/projects/player/src/plugins/interactive-plugin/components/feedback/feedback.d.ts +7 -0
  123. package/dist/projects/player/src/plugins/interactive-plugin/components/incomplete-alert/incomplete-alert.d.ts +2 -0
  124. package/dist/projects/player/src/plugins/interactive-plugin/components/interactive/interactive-component.d.ts +1 -0
  125. package/dist/projects/player/src/plugins/interactive-plugin/components/seek-bar/interactive-bar-item.d.ts +21 -0
  126. package/dist/projects/player/src/plugins/interactive-plugin/components/seek-bar/interactive-bar-items.d.ts +66 -0
  127. package/dist/projects/player/src/plugins/interactive-plugin/components/timepoint/timepoint-component.d.ts +21 -0
  128. package/dist/projects/player/src/plugins/interactive-plugin/components/view-components/annotation/annotation-interaction.d.ts +3 -0
  129. package/dist/projects/player/src/plugins/interactive-plugin/components/view-components/image/image-interaction.d.ts +4 -0
  130. package/dist/projects/player/src/plugins/interactive-plugin/components/view-components/missing-word/missing-word-interaction.d.ts +9 -0
  131. package/dist/projects/player/src/plugins/interactive-plugin/components/view-components/multiple-choice/multiple-choice-interaction.d.ts +10 -0
  132. package/dist/projects/player/src/plugins/interactive-plugin/components/view-components/short-answer/short-answer-interaction.d.ts +9 -0
  133. package/dist/projects/player/src/plugins/interactive-plugin/components/view-components/view-components.d.ts +4 -0
  134. package/dist/projects/player/src/plugins/interactive-plugin/components/view-components/view-interaction-heading/view-interaction-heading.d.ts +8 -0
  135. package/dist/projects/player/src/plugins/interactive-plugin/interactive-plugin.d.ts +1 -0
  136. package/dist/projects/player/src/plugins/interactive-plugin/interfaces/InteractionComponent.d.ts +3 -0
  137. package/dist/projects/player/src/plugins/interactive-plugin/interfaces/InteractionProps.d.ts +8 -0
  138. package/dist/projects/player/src/plugins/interactive-plugin/interfaces/InteractiveMode.d.ts +4 -0
  139. package/dist/projects/player/src/plugins/interactive-plugin/interfaces/SubmissionFunction.d.ts +2 -0
  140. package/dist/projects/player/src/plugins/interactive-plugin/interfaces/ValidationFunction.d.ts +2 -0
  141. package/dist/projects/player/src/plugins/interactive-plugin/interfaces/index.d.ts +6 -0
  142. package/dist/projects/player/src/plugins/interactive-plugin/interfaces/models/ActionableItem.d.ts +6 -0
  143. package/dist/projects/player/src/plugins/interactive-plugin/interfaces/models/Interaction.d.ts +14 -0
  144. package/dist/projects/player/src/plugins/interactive-plugin/interfaces/models/InteractionType.d.ts +7 -0
  145. package/dist/projects/player/src/plugins/interactive-plugin/interfaces/models/InteractionTypeId.d.ts +8 -0
  146. package/dist/projects/player/src/plugins/interactive-plugin/interfaces/models/Interactive.d.ts +7 -0
  147. package/dist/projects/player/src/plugins/interactive-plugin/interfaces/models/Timepoint.d.ts +9 -0
  148. package/dist/projects/player/src/plugins/interactive-plugin/interfaces/models/index.d.ts +6 -0
  149. package/dist/projects/player/src/plugins/interactive-plugin/utils/getInteractionComponents.d.ts +2 -0
  150. package/dist/projects/player/src/plugins/interactive-plugin/utils/getInteractionStateId.d.ts +2 -0
  151. package/dist/projects/player/src/plugins/interactive-plugin/utils/getSubmissionFunction.d.ts +2 -0
  152. package/dist/projects/player/src/plugins/interactive-plugin/utils/getTimepointStateId.d.ts +2 -0
  153. package/dist/projects/player/src/plugins/interactive-plugin/utils/getValidationFunction.d.ts +2 -0
  154. package/dist/projects/player/src/plugins/interactive-plugin/utils/useInteractiveTrack.d.ts +17 -0
  155. package/dist/projects/player/src/plugins/open-externally-plugin/components/open-externally-button.d.ts +1 -0
  156. package/dist/projects/player/src/plugins/open-externally-plugin/interfaces/ExternalLinkOptions.d.ts +3 -0
  157. package/dist/projects/player/src/plugins/open-externally-plugin/open-externally-plugin.d.ts +1 -0
  158. package/dist/projects/player/src/plugins/persist-volume-plugin/persist-volume-plugin.d.ts +1 -0
  159. package/dist/projects/player/src/plugins/persist-volume-plugin/persist-volume-plugin.test.d.ts +1 -0
  160. package/dist/projects/player/src/plugins/progress-reporter-plugin/progress-reporter-plugin.d.ts +9 -0
  161. package/dist/projects/player/src/plugins/progressive-files-plugin/ProgressiveFilesPluginOptions.d.ts +4 -0
  162. package/dist/projects/player/src/plugins/progressive-files-plugin/ProgressiveRepresentation.d.ts +10 -0
  163. package/dist/projects/player/src/plugins/progressive-files-plugin/interfaces/Source.d.ts +6 -0
  164. package/dist/projects/player/src/plugins/progressive-files-plugin/progressive-files-plugin.d.ts +38 -0
  165. package/dist/projects/player/src/plugins/touch-controls-plugin/components/touch-controls/touch-controls.d.ts +59 -0
  166. package/dist/projects/player/src/plugins/touch-controls-plugin/touch-controls-plugin.d.ts +1 -0
  167. package/dist/projects/player/src/react/CreateClipPlayer.d.ts +3 -0
  168. package/dist/projects/player/src/react/EmbeddedPlayer.d.ts +7 -0
  169. package/dist/projects/player/src/react/InteractivePlayer.d.ts +9 -0
  170. package/dist/projects/player/src/react/Player.d.ts +8 -0
  171. package/dist/projects/player/src/react/react-component.d.ts +56 -0
  172. package/dist/projects/player/src/services/analytics-service.d.ts +15 -0
  173. package/dist/projects/player/src/utils/ajax-helper.d.ts +6 -0
  174. package/dist/projects/player/src/utils/fn.d.ts +14 -0
  175. package/dist/projects/player/src/utils/formatTime.d.ts +5 -0
  176. package/dist/projects/player/src/utils/hotkeys.d.ts +5 -0
  177. package/dist/projects/player/src/utils/scrollbar-helper.d.ts +6 -0
  178. package/dist/projects/player/src/utils/track-helper.d.ts +7 -0
  179. package/dist/projects/player/test/players/test-player.d.ts +17 -0
  180. package/dist/projects/player/test/setupTests.d.ts +0 -0
  181. package/dist/projects/player/test/utils/test-helpers.d.ts +8 -0
  182. package/jest.config.js +13 -0
  183. package/package.json +58 -0
  184. package/test/players/test-player.ts +31 -0
  185. package/test/setupTests.ts +8 -0
  186. package/test/utils/test-helpers.ts +22 -0
  187. package/tooling/externals.js +56 -0
  188. package/tooling/font-webpack.config.js +44 -0
  189. package/typings/libs/videojs-contrib-quality-levels.d.ts +29 -0
  190. package/typings/utils/imports.d.ts +12 -0
@@ -0,0 +1,181 @@
1
+ import { PlaybackObject, Files, Chapters, Subtitles } from '../../../src/interfaces/models/PlaybackObject';
2
+
3
+ const basicFiles = <Files> {
4
+ progressive: [{
5
+ url: 'https://static.clickview.com.au/testvideos/vpsbenchmark.mp4',
6
+ mimeType: 'video/mp4',
7
+ profile: '720'
8
+ }]
9
+ };
10
+
11
+ const multipleFiles = <Files> {
12
+ progressive: [{
13
+ mimeType: 'video/mp4',
14
+ profile: '240',
15
+ url: 'https://static.clickview.com.au/testvideos/vpsbenchmark.mp4?quality=240'
16
+ },{
17
+ mimeType: 'video/mp4',
18
+ profile: '720',
19
+ url: 'https://static.clickview.com.au/testvideos/vpsbenchmark.mp4?quality=720'
20
+ }]
21
+ }
22
+
23
+ const emptyChapters = <Chapters> {
24
+ list: []
25
+ };
26
+
27
+ const mockChapters = <Chapters> {
28
+ list: [{
29
+ name: 'Waves',
30
+ timestamp: 0,
31
+ endTimestamp: 5
32
+ },
33
+ {
34
+ name: 'Some More Waves',
35
+ timestamp: 5,
36
+ endTimestamp: 11
37
+ },
38
+ {
39
+ name: 'Waves hitting Rocks',
40
+ timestamp: 11,
41
+ endTimestamp: 13
42
+ },
43
+ {
44
+ name: 'Rocky Rocks',
45
+ timestamp: 13,
46
+ endTimestamp: 20
47
+ },
48
+ {
49
+ name: 'End of waves',
50
+ timestamp: 20,
51
+ endTimestamp: 28
52
+ }]
53
+ };
54
+
55
+ const emptySubtitles = <Subtitles> {
56
+ list: []
57
+ };
58
+
59
+ const multipleSubtitles = <Subtitles> {
60
+ list: [{
61
+ label: 'English',
62
+ language: 'en',
63
+ url: './en.vtt',
64
+ mimeType: 'text/vtt'
65
+ }, {
66
+ label: 'Spanish',
67
+ language: 'es',
68
+ url: './es.vtt',
69
+ mimeType: 'text/vtt'
70
+ },{
71
+ label: 'French',
72
+ language: 'fr',
73
+ url: './fr.vtt',
74
+ mimeType: 'text/vtt'
75
+ }]
76
+ };
77
+
78
+ const sources: { [key: string]: PlaybackObject } = {
79
+ basic: {
80
+ files: basicFiles,
81
+ chapters: emptyChapters,
82
+ subtitles: {
83
+ list: [{
84
+ isDefault: false,
85
+ label: 'English',
86
+ language: 'en-au',
87
+ url: './en.vtt',
88
+ mimeType: 'text/vtt'
89
+ }]
90
+ }
91
+ },
92
+ chapters: {
93
+ files: basicFiles,
94
+ chapters: mockChapters,
95
+ subtitles: emptySubtitles
96
+ },
97
+ vertical: {
98
+ files: {
99
+ progressive: [{
100
+ mimeType: 'video/mp4',
101
+ profile: '720',
102
+ url: './vertical.mp4'
103
+ }]
104
+ },
105
+ chapters: mockChapters,
106
+ subtitles: emptySubtitles
107
+ },
108
+ error: {
109
+ files: {
110
+ progressive: [{
111
+ mimeType: 'video/mp4',
112
+ profile: '240',
113
+
114
+ // This is intentionally not a video url
115
+ url: 'https://clickview.com.au'
116
+ }]
117
+ },
118
+ chapters: emptyChapters,
119
+ subtitles: emptySubtitles
120
+ },
121
+ multipleQualities: {
122
+ files: multipleFiles,
123
+ chapters: emptyChapters,
124
+ subtitles: emptySubtitles
125
+ },
126
+ poster: {
127
+ files: basicFiles,
128
+ chapters: emptyChapters,
129
+ posterUrl: 'https://image.api.stg.cvnet.io/v2/thumbnails/Q229lo',
130
+ subtitles: emptySubtitles
131
+ },
132
+ everything: {
133
+ files: multipleFiles,
134
+ chapters: mockChapters,
135
+ posterUrl: 'https://image.api.stg.cvnet.io/v2/thumbnails/Q229lo',
136
+ subtitles: multipleSubtitles
137
+ },
138
+ multipleSubtitles: {
139
+ files: basicFiles,
140
+ chapters: emptyChapters,
141
+ subtitles: multipleSubtitles
142
+ },
143
+ multipleTracksWithDefault: {
144
+ files: basicFiles,
145
+ chapters: emptyChapters,
146
+ subtitles: {
147
+ list: [{
148
+ label: 'English',
149
+ language: 'en',
150
+ url: './en.vtt',
151
+ mimeType: 'text/vtt'
152
+ }, {
153
+ label: 'Spanish',
154
+ language: 'es',
155
+ url: './es.vtt',
156
+ isDefault: true,
157
+ mimeType: 'text/vtt'
158
+ },{
159
+ label: 'French',
160
+ language: 'fr',
161
+ url: './fr.vtt',
162
+ mimeType: 'text/vtt'
163
+ }]
164
+ }
165
+ }
166
+ };
167
+
168
+ export function mockplayerApi(viewKey: string): Promise<PlaybackObject> {
169
+ const playbackObject = sources[viewKey];
170
+
171
+ if (!playbackObject)
172
+ throw Error('Unknown viewKey: ' + viewKey);
173
+
174
+ return new Promise<PlaybackObject>(resolve => {
175
+
176
+ // 200ms Timeout is just simulating an async api call to fetch tech info
177
+ window.setTimeout(() => {
178
+ resolve(playbackObject);
179
+ }, 200);
180
+ });
181
+ }
@@ -0,0 +1,23 @@
1
+ import { VideoJsPlayer } from 'video.js';
2
+ import { BasePlayerOptions } from '../../../src/players/base-player';
3
+
4
+ export const mockSetups: any = {
5
+ thumbnails: function(options: BasePlayerOptions, player: VideoJsPlayer): void {
6
+ player.addRemoteTextTrack({
7
+ kind: 'metadata',
8
+ src: './thumbnails.vtt',
9
+ label: 'thumbnails'
10
+ }, true);
11
+ },
12
+
13
+ clipPlayback: function(options: BasePlayerOptions, player: VideoJsPlayer): void {
14
+ player.clipPlugin({
15
+ startTime: 60,
16
+ duration: 180
17
+ });
18
+ },
19
+
20
+ everything: function(options: BasePlayerOptions, player: VideoJsPlayer): void {
21
+ mockSetups.thumbnails(options, player);
22
+ }
23
+ };
package/README.md ADDED
@@ -0,0 +1 @@
1
+ ClickView Player
package/dist/bundle.js ADDED
@@ -0,0 +1 @@
1
+ !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";r.r(t);r(1)},function(e,t,r){}]);
package/dist/font.scss ADDED
@@ -0,0 +1,59 @@
1
+ @font-face {
2
+ font-family: "CVPlayer";
3
+ src: url("data:application/font-woff;charset=utf-8;base64,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") format("woff");
4
+ }
5
+
6
+ .cv-icon {
7
+ line-height: 1;
8
+ }
9
+
10
+ .cv-icon:before {
11
+ font-family: CVPlayer !important;
12
+ font-style: normal;
13
+ font-weight: normal !important;
14
+ vertical-align: top;
15
+ }
16
+
17
+ .cv-icon-play:before {
18
+ content: "\f100";
19
+ }
20
+ .cv-icon-pause:before {
21
+ content: "\f101";
22
+ }
23
+ .cv-icon-mute:before {
24
+ content: "\f102";
25
+ }
26
+ .cv-icon-cog:before {
27
+ content: "\f103";
28
+ }
29
+ .cv-icon-casting:before {
30
+ content: "\f104";
31
+ }
32
+ .cv-icon-cc:before {
33
+ content: "\f105";
34
+ }
35
+ .cv-icon-chapters:before {
36
+ content: "\f106";
37
+ }
38
+ .cv-icon-cinema:before {
39
+ content: "\f107";
40
+ }
41
+ .cv-icon-contract:before {
42
+ content: "\f108";
43
+ }
44
+ .cv-icon-fullscreen:before {
45
+ content: "\f109";
46
+ }
47
+ .cv-icon-volume-high:before {
48
+ content: "\f10a";
49
+ }
50
+ .cv-icon-volume-mid:before {
51
+ content: "\f10b";
52
+ }
53
+ .cv-icon-volume-low:before {
54
+ content: "\f10c";
55
+ }
56
+ .cv-icon-replay:before {
57
+ content: "\f10d";
58
+ }
59
+
@@ -0,0 +1,48 @@
1
+ import 'whatwg-fetch';
2
+ import { IncomingEvent } from "../models/CollectionEvent";
3
+ import { HashObject } from "../interfaces/HashObject";
4
+ import { RegionalUrl } from "../interfaces/RegionalUrl";
5
+ import { User } from "../interfaces/User";
6
+ import { RegionName } from "../enums/RegionName";
7
+ interface CollectionApiClientOptions {
8
+ productName: string;
9
+ productVersion: string;
10
+ regionName: RegionName;
11
+ collectionApiUrls: RegionalUrl;
12
+ collectionApiClientId: string;
13
+ getUser: () => Promise<User>;
14
+ shouldLog?: (event: IncomingEvent) => boolean;
15
+ formatData?: (event: IncomingEvent) => HashObject | HashObject[];
16
+ }
17
+ /**
18
+ * A client for logging to CollectionApi.
19
+ * It should have no library dependencies and anything that it references
20
+ * should also have no library dependencies.
21
+ */
22
+ export declare class CollectionApiClient {
23
+ private options;
24
+ constructor(options: CollectionApiClientOptions);
25
+ initialize(): void;
26
+ get name(): string;
27
+ log(event: IncomingEvent | IncomingEvent[]): Promise<void>;
28
+ private logBulk;
29
+ private validateOptions;
30
+ private shouldLog;
31
+ private postData;
32
+ private getSignatureHeader;
33
+ private getRegionalUrl;
34
+ private validateEvent;
35
+ private formatData;
36
+ private getEventData;
37
+ private extractData;
38
+ private getUserData;
39
+ /**
40
+ * Until region is added to the user Auth claims, we use countryCode to obtain region.
41
+ */
42
+ private getRegion;
43
+ private getPlatformMetadata;
44
+ private getEventMetadata;
45
+ private getRegionByName;
46
+ private normalizeYearGroup;
47
+ }
48
+ export {};
@@ -0,0 +1,7 @@
1
+ import { CountryCode } from "../enums/CountryCode";
2
+ import { RegionName } from "../enums/RegionName";
3
+ export declare const CountryRegionMapping: {
4
+ [CountryCode.AU]: RegionName;
5
+ [CountryCode.NZ]: RegionName;
6
+ [CountryCode.UK]: RegionName;
7
+ };
@@ -0,0 +1,6 @@
1
+ import { Region } from "../interfaces/Region";
2
+ export declare const Regions: {
3
+ CvApSoutheast1: Region;
4
+ CvApSoutheast2: Region;
5
+ CvEuWest1: Region;
6
+ };
@@ -0,0 +1,5 @@
1
+ export declare enum CountryCode {
2
+ AU = "au",
3
+ NZ = "nz",
4
+ UK = "uk"
5
+ }
@@ -0,0 +1,5 @@
1
+ export declare enum RegionName {
2
+ CvApSoutheast1 = "cv-ap-southeast-1",
3
+ CvApSoutheast2 = "cv-ap-southeast-2",
4
+ CvEuWest1 = "cv-eu-west-1"
5
+ }
@@ -0,0 +1,316 @@
1
+ export declare type AnalyticsEventType = UserAction;
2
+ export interface AnalyticsOptions {
3
+ actionType?: UserAction;
4
+ productArea?: string;
5
+ entity?: EntityType;
6
+ location?: LocationContext;
7
+ descriptor?: ActionDescriptor;
8
+ workflowPhase?: WorkflowPhase;
9
+ eventVersion?: EventVersion;
10
+ }
11
+ export interface ActionContext {
12
+ productArea: string;
13
+ entity: EntityType;
14
+ location: LocationContext;
15
+ descriptor: ActionDescriptor;
16
+ workflowPhase: WorkflowPhase;
17
+ }
18
+ /**
19
+ * All events recorded are captured within the following action names
20
+ */
21
+ export declare enum UserAction {
22
+ /**
23
+ * The following events are listed in CollectionApi
24
+ */
25
+ Stream = "cv_product_stream",
26
+ StreamRaw = "cv_product_stream_raw",
27
+ WebPlayerStream = "cv_product_webplayer_stream",
28
+ StreamProgress = "cv_product_stream_progress",
29
+ Login = "cv_product_login",
30
+ LoginSsoRedirect = "cv_product_login_sso_redirect",
31
+ LoginFailed = "cv_product_login_failed",
32
+ Search = "cv_product_search",
33
+ InstantSearch = "cv_product_search",
34
+ SearchEmptyResult = "cv_product_search_empty_result",
35
+ Filter = "cv_product_search_filter",
36
+ SearchLanding = "cv_product_search_landing",
37
+ Share = "cv_product_share",
38
+ WorkspaceAdd = "cv_product_tv_add",
39
+ /**
40
+ * The following events are unlisted in CollectionApi
41
+ */
42
+ Rename = "cv_product_rename",
43
+ Move = "cv_product_move",
44
+ Sort = "cv_product_sort",
45
+ Create = "cv_product_create",
46
+ Delete = "cv_product_delete",
47
+ Associate = "cv_product_associate",
48
+ Dissociate = "cv_product_dissociate",
49
+ Edit = "cv_product_edit",
50
+ Approve = "cv_product_approve",
51
+ Reject = "cv_product_reject",
52
+ Disable = "cv_product_disable",
53
+ Upload = "cv_product_upload",
54
+ Download = "cv_product_download",
55
+ Navigate = "cv_product_navigate",
56
+ Click = "cv_product_click",
57
+ Suggest = "cv_product_suggest",
58
+ EditAssoc = "cv_product_edit_assoc",
59
+ Play = "cv_product_play",
60
+ Favourite = "cv_product_favourite",
61
+ Follow = "cv_product_follow",
62
+ Prefer = "cv_product_prefer",
63
+ Print = "cv_product_print",
64
+ Copy = "cv_product_copy",
65
+ Activate = "cv_product_activate",
66
+ SetAccess = "cv_product_set_access",
67
+ AddToLocalCache = "cv_product_add_to_lc",
68
+ /**
69
+ * Capture migration specific events in dedicated collection.
70
+ * The assumption here is that at some point in the distant future
71
+ * we will not longer care about these collections and it doesn't need to
72
+ * be part of the more general collections set.
73
+ */
74
+ ResolveWarning = "cv_product_resolve_warning",
75
+ DismissWarning = "cv_product_dismiss_warning"
76
+ }
77
+ export declare enum EntityType {
78
+ Folder = "folder",
79
+ Video = "video",
80
+ Rating = "rating",
81
+ Series = "series",
82
+ Library = "library",
83
+ Resource = "resource",
84
+ Tag = "tag",
85
+ Subtitle = "subtitle",
86
+ Chapter = "chapter",
87
+ Restriction = "restriction",
88
+ Interactive = "interactive",
89
+ PDF = "pdf",
90
+ CustomerSetting = "customer_setting",
91
+ UserSetting = "user_setting",
92
+ StaffRequest = "staff_request",
93
+ Logo = "logo",
94
+ Pagination = "pagination",
95
+ Thumbnail = "thumbnail",
96
+ Banner = "banner",
97
+ Link = "link",
98
+ Playlist = "playlist",
99
+ Person = "person",
100
+ Company = "company",
101
+ Classroom = "classroom",
102
+ ClassroomGroup = "classroom_group",
103
+ Classification = "classification",
104
+ ShareLink = "share_link",
105
+ Upload = "upload",
106
+ SearchResults = "search_results",
107
+ Audience = "audience",
108
+ User = "user",
109
+ Clip = "clip",
110
+ UserChannel = "user_channel",
111
+ Widget = "widget",
112
+ Url = "url"
113
+ }
114
+ export declare enum LocationContext {
115
+ TopNav = "top_nav",
116
+ LeftNav = "left_nav",
117
+ Popup = "popup",
118
+ Banner = "banner",
119
+ VideoList = "video_list",
120
+ VideoListItem = "video_list_item",
121
+ VideoListHeader = "video_header",
122
+ VideoThumbnail = "video_thumbnail",
123
+ VideoItemPreview = "video_item_preview",
124
+ VideoDetails = "video_details",
125
+ VideoDetailsHeader = "video_details_header",
126
+ EditVideoDetails = "edit_video_details",
127
+ EditVideoChapters = "edit_video_chapters",
128
+ EditVideoResources = "edit_video_resources",
129
+ VideoUpload = "video_upload",
130
+ VideoRequest = "video_request",
131
+ Pagination = "pagination",
132
+ SearchBar = "search_bar",
133
+ InstantSearch = "instant_search",
134
+ SearchFilters = "search_filters",
135
+ LibraryHeader = "library_header",
136
+ LibraryTiles = "library_tiles",
137
+ StaffRequestDetails = "staff_request_details",
138
+ SubFolderList = "sub_folder_list",
139
+ AwaitingReviewVideoListHeader = "awaiting_review_video_list_header",
140
+ AwaitingReviewVideoItem = "awaiting_review_video_item",
141
+ PastReleasesHeader = "past_releases_header",
142
+ MigrationWarnings = "migration_warnings",
143
+ PlaylistListHeader = "playlist_list_header",
144
+ PlaylistListItem = "playlist_list_item",
145
+ StaffManager = "staff_manager",
146
+ StaffManagerListItem = "staff_manager_list_item",
147
+ StudentManager = "student_manager",
148
+ StudentManagerListItem = "student_manager_list_item",
149
+ ClassroomsList = "classrooms_list",
150
+ ClassroomsListItem = "classrooms_list_item",
151
+ ClassroomOverview = "classroom_overview",
152
+ ClassroomOverviewStudentListItem = "classroom_overview_student_list_item",
153
+ ManageClassroomStudents = "manage_classroom_students",
154
+ ManageClassroomStudentListItem = "manage_classroom_student_list_item",
155
+ ManageClassroomGroups = "manage_classroom_groups",
156
+ ManageClassroomGroupListItem = "manage_classroom_group_list_item",
157
+ PlayPage = "play_page",
158
+ Player = "player",
159
+ FloatingPlayer = "floating_player",
160
+ InteractivePlayer = "interactive_player",
161
+ EmbeddedPlayer = "embedded_player",
162
+ ContentUpdatesClassificationBanner = "content_updates_classification_banner",
163
+ PreferencesSettings = "preferences_settings",
164
+ MyUploads = "my_uploads",
165
+ SlidingList = "sliding_list",
166
+ HeroBannerItem = "hero_banner_item",
167
+ SlidingListItem = "sliding_list_item",
168
+ ClassificationListItem = "classification_list_item",
169
+ ClassificationComingSoon = "classification_coming_soon",
170
+ Dashboard = "dashboard"
171
+ }
172
+ export declare enum WorkflowPhase {
173
+ Start = "start",
174
+ Complete = "complete",
175
+ Save = "save",
176
+ Discard = "discard"
177
+ }
178
+ /**
179
+ * Action descriptor sub-types
180
+ */
181
+ export declare enum PageDescriptor {
182
+ PageLoad = "page_load"
183
+ }
184
+ export declare enum OperationDescriptor {
185
+ Single = "single",
186
+ Bulk = "bulk",
187
+ All = "all"
188
+ }
189
+ export declare enum SortDescriptor {
190
+ ProductionYear = "production_year",
191
+ Alphabetical = "alphabetical"
192
+ }
193
+ export declare enum FilterDescriptor {
194
+ Content = "content",
195
+ Quality = "quality",
196
+ Duration = "duration",
197
+ Reset = "reset"
198
+ }
199
+ export declare enum DirectSearchDescriptor {
200
+ Submit = "submit",
201
+ ShowAll = "show_all",
202
+ Recent = "recent",
203
+ SearchIcon = "search_icon"
204
+ }
205
+ export declare enum PlaybackDescriptor {
206
+ Start = "start",
207
+ Finish = "finish",
208
+ Terminate = "terminate",
209
+ Play = "play",
210
+ Pause = "pause",
211
+ Playback = "playback",
212
+ NextChapter = "next_chapter",
213
+ PreviousChapter = "previous_chapter",
214
+ FullScreenEnter = "full_screen_enter",
215
+ FullScreenExit = "full_screen_exit"
216
+ }
217
+ export declare enum ClickDescriptor {
218
+ TogglePreview = "toggle_preview",
219
+ NavigateHome = "navigate_home",
220
+ OpenInStaffView = "open_in_staff_view",
221
+ Title = "title",
222
+ ToggleHideValidListings = "toggle_hide_valid_listings",
223
+ LaunchImmersiveReader = "launch_immersive_reader",
224
+ CopyEmbedHtml = "copy_embed_html",
225
+ Close = "close",
226
+ Open = "open",
227
+ Button = "button",
228
+ Link = "link",
229
+ Tile = "tile",
230
+ Thumbnail = "thumbnail",
231
+ Cover = "cover",
232
+ TallPoster = "tall_poster",
233
+ Slide = "slide"
234
+ }
235
+ export declare enum VideoActionDescriptor {
236
+ FeatureUserChannelVideo = "feature_user_channel_video",
237
+ RemoveFromUserChannelPlaylist = "remove_from_user_channel_playlist",
238
+ ShareClip = "share_clip",
239
+ ViewOriginalVideo = "view_original_video",
240
+ ShareInteractive = "share_interactive",
241
+ DeleteInteractiveVideo = "delete_interactive_video",
242
+ CopyInteractiveVideo = "copy_interactive_video",
243
+ EditInteractiveVideo = "edit_interactive_video",
244
+ PrintAsWorksheet = "print_as_worksheet",
245
+ PreviewInteractiveVideo = "preview_interactive_video",
246
+ ViewResults = "view_results",
247
+ MoveToAnotherFolder = "move_to_another_folder",
248
+ CreateInteractiveVideo = "create_interactive_video",
249
+ ShareVideo = "share_video",
250
+ EditVideo = "edit_video",
251
+ DownloadVideo = "download_video",
252
+ AddToExchange = "add_to_exchange",
253
+ AddToUserChannel = "add_to_user_channel",
254
+ CreateClip = "create_clip",
255
+ FlagVideo = "flag_video",
256
+ AddToLibrary = "add_to_library",
257
+ AddToWorkspace = "add_to_workspace",
258
+ AddToPlaylist = "add_to_playlist",
259
+ RemoveFromPlaylist = "remove_from_playlist",
260
+ AddCurriculumLink = "add_curriculum_link",
261
+ ViewCurriculumLinks = "view_curriculum_links",
262
+ OpenInCurator = "open_in_curator",
263
+ ManageVideoAccess = "manage_video_access",
264
+ Approve = "approve",
265
+ AddToLocalCache = "add_to_local_cache",
266
+ OpenInLibraryEditor = "open_in_library_editor",
267
+ PlayClip = "play_clip",
268
+ EditClip = "edit_clip",
269
+ DeleteClip = "delete_clip"
270
+ }
271
+ export declare enum CustomerSettingDescriptor {
272
+ LibraryReview = "library_review"
273
+ }
274
+ export declare enum InteractionTypeDescriptor {
275
+ FileSelect = "file_select",
276
+ DragDrop = "drag_drop"
277
+ }
278
+ export declare enum SuggestionDescriptor {
279
+ Edit = "edit"
280
+ }
281
+ export declare enum AssocDescriptor {
282
+ Image = "image",
283
+ User = "user",
284
+ Playlist = "playlist",
285
+ Link = "link"
286
+ }
287
+ export declare enum ToggleDescriptor {
288
+ On = "on",
289
+ Off = "off"
290
+ }
291
+ /**
292
+ * Action descriptors give further context to UserActions
293
+ */
294
+ export declare type ActionDescriptor = OperationDescriptor | SortDescriptor | FilterDescriptor | DirectSearchDescriptor | PageDescriptor | PlaybackDescriptor | CustomerSettingDescriptor | SuggestionDescriptor | InteractionTypeDescriptor | AssocDescriptor | ClickDescriptor | ToggleDescriptor | VideoActionDescriptor;
295
+ /**
296
+ * Placeholder values to be used in circumstances where we need
297
+ * to simply signify that a change has occurred. Particularly if it is
298
+ * being collected as a set of other changes.
299
+ */
300
+ export declare enum EventDefaultValue {
301
+ EntityRemoved = "cv_entity_removed",
302
+ ValueUpdated = "cv_value_updated"
303
+ }
304
+ export declare enum InteractionType {
305
+ FileSelect = "file_select",
306
+ DragDrop = "drag_drop"
307
+ }
308
+ export declare enum SearchQueryType {
309
+ Video = "videos",
310
+ Folder = "categories",
311
+ Series = "series",
312
+ Tags = "tags"
313
+ }
314
+ export declare enum EventVersion {
315
+ V1 = 1
316
+ }
@@ -0,0 +1,3 @@
1
+ import { BaseObject } from "./";
2
+ export interface Config extends BaseObject {
3
+ }
@@ -0,0 +1,3 @@
1
+ import { BaseObject } from "./";
2
+ export interface Folder extends BaseObject {
3
+ }
@@ -0,0 +1,3 @@
1
+ export interface HashObject<T = any> {
2
+ [key: string]: T;
3
+ }
@@ -0,0 +1,3 @@
1
+ import { BaseObject } from "./";
2
+ export interface Owner extends BaseObject {
3
+ }