@clickview/player 0.0.8-dev.3 → 0.0.8-dev.5

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 (48) hide show
  1. package/dist/libs/analytics/src/interfaces/AnalyticsTypes.d.ts +2 -1
  2. package/dist/libs/common/src/react/utils/ArrayHelper.d.ts +10 -7
  3. package/dist/libs/shared/src/components/actions/Actions.d.ts +1 -1
  4. package/dist/libs/shared/src/components/app-link/AppLink.d.ts +1 -0
  5. package/dist/libs/shared/src/components/tooltip/Tooltip.d.ts +1 -0
  6. package/dist/libs/shared/src/components/widgets/items/FixedWidgetItemProps.d.ts +18 -0
  7. package/dist/libs/shared/src/components/widgets/items/resource-widget-item/ResourceWidgetItem.d.ts +2 -8
  8. package/dist/libs/shared/src/enums/ContentRegion.d.ts +8 -0
  9. package/dist/libs/shared/src/enums/InstanceRegion.d.ts +6 -0
  10. package/dist/libs/shared/src/enums/ShareLinkPrivacy.d.ts +4 -0
  11. package/dist/libs/shared/src/enums/ShareLinkStatus.d.ts +4 -0
  12. package/dist/libs/shared/src/enums/ShareType.d.ts +4 -0
  13. package/dist/libs/shared/src/enums/WidgetContents.d.ts +1 -0
  14. package/dist/libs/shared/src/images/svg/ImportedSvgs.d.ts +4 -1
  15. package/dist/libs/shared/src/images/svg/actions/index.d.ts +2 -1
  16. package/dist/libs/shared/src/images/svg/objects/index.d.ts +3 -1
  17. package/dist/libs/shared/src/interfaces/DateRange.d.ts +6 -0
  18. package/dist/libs/shared/src/interfaces/collections/DirectShareCollection.d.ts +4 -0
  19. package/dist/libs/shared/src/interfaces/collections/PointOfInterestCollection.d.ts +3 -0
  20. package/dist/libs/shared/src/interfaces/collections/index.d.ts +2 -0
  21. package/dist/libs/shared/src/interfaces/index.d.ts +1 -0
  22. package/dist/libs/shared/src/interfaces/models/BaseShareObject.d.ts +11 -0
  23. package/dist/libs/shared/src/interfaces/models/ContentRegionObject.d.ts +5 -0
  24. package/dist/libs/shared/src/interfaces/models/Customer.d.ts +2 -2
  25. package/dist/libs/shared/src/interfaces/models/DirectShare.d.ts +7 -0
  26. package/dist/libs/shared/src/interfaces/models/PointOfInterest.d.ts +6 -0
  27. package/dist/libs/shared/src/interfaces/models/ShareLink.d.ts +14 -0
  28. package/dist/libs/shared/src/interfaces/models/ShareRecipient.d.ts +6 -0
  29. package/dist/libs/shared/src/interfaces/models/UnionShareObject.d.ts +2 -0
  30. package/dist/libs/shared/src/interfaces/models/User.d.ts +4 -2
  31. package/dist/libs/shared/src/interfaces/models/Video.d.ts +2 -4
  32. package/dist/libs/shared/src/interfaces/models/index.d.ts +6 -0
  33. package/dist/player-app.css +2 -0
  34. package/dist/player-app.js +18 -18
  35. package/dist/projects/player/src/components/cog-button/cog-button.d.ts +3 -0
  36. package/dist/projects/player/src/components/text-track-button/off-text-track-menu-item.d.ts +1 -0
  37. package/dist/projects/player/src/components/text-track-button/text-track-button.d.ts +1 -0
  38. package/dist/projects/player/src/components/time-tooltip/time-tooltip.d.ts +2 -0
  39. package/dist/projects/player/src/interfaces/models/PlaybackObject.d.ts +1 -0
  40. package/dist/projects/player/src/players/base-player.d.ts +1 -0
  41. package/dist/projects/player/src/players/player.d.ts +3 -0
  42. package/dist/projects/player/src/plugins/engagement-overlay-plugin/engagement-overlay-plugin.d.ts +1 -0
  43. package/dist/projects/player/src/plugins/points-of-interest-plugin/components/point-of-interest-indicator/point-of-interest-indicator.d.ts +83 -0
  44. package/dist/projects/player/src/plugins/points-of-interest-plugin/points-of-interest-plugin.d.ts +36 -0
  45. package/dist/projects/player/src/services/analytics-service.d.ts +1 -0
  46. package/dist/projects/player/src/utils/getBufferedEnd.d.ts +2 -0
  47. package/dist/projects/player/src/utils/track-helper.d.ts +1 -1
  48. package/package.json +3 -3
@@ -197,7 +197,8 @@ export declare enum LocationContext {
197
197
  ClassificationHero = "classification_hero",
198
198
  Dashboard = "dashboard",
199
199
  ProductBanner = "product_banner",
200
- Settings = "settings"
200
+ Settings = "settings",
201
+ StudentFeed = "student_feed"
201
202
  }
202
203
  export declare enum WorkflowPhase {
203
204
  Start = "start",
@@ -16,20 +16,23 @@ export declare const ArrayHelper: {
16
16
  groupBy<T_11>(arr: T_11[], property: string): {
17
17
  [index: string]: T_11[];
18
18
  };
19
- flatten<T_12>(arr: T_12[][], shallow?: boolean): T_12[];
20
- intersection<T_13>(...arrays: T_13[][]): T_13[];
19
+ countBy<T_12, TCount>(arr: T_12[], iteratee?: Iterator<T_12, TCount> | keyof T_12): {
20
+ [index: string]: number;
21
+ };
22
+ flatten<T_13>(arr: T_13[][], shallow?: boolean): T_13[];
23
+ intersection<T_14>(...arrays: T_14[][]): T_14[];
21
24
  /**
22
25
  * Add a value to an array, or if it is already in the array, remove it.
23
26
  *
24
27
  * @param arr array of values
25
28
  * @param value value to be added or removed.
26
29
  */
27
- addOrRemove<T_14 = string | number>(arr: T_14[], value: T_14): T_14[];
30
+ addOrRemove<T_15 = string | number>(arr: T_15[], value: T_15): T_15[];
28
31
  /**
29
32
  * This is the same addOrRemove function above, except it doesn't mutate the array in the argument
30
33
  * and returns a branch new array.
31
34
  */
32
- addOrRemoveImmutable<T_15>(arr: T_15[], value: T_15): T_15[];
35
+ addOrRemoveImmutable<T_16>(arr: T_16[], value: T_16): T_16[];
33
36
  /**
34
37
  * Returns a (stably) sorted copy of list, ranked in ascending order
35
38
  * by the results of running each value through iteratee.
@@ -37,9 +40,9 @@ export declare const ArrayHelper: {
37
40
  * @param arr array of values
38
41
  * @param iteratee an iterator function or a string name of the property to sort by.
39
42
  */
40
- sortBy<T_16 extends HashObject<any>, TSort = T_16>(arr: T_16[], iteratee?: Iterator<T_16, TSort> | keyof T_16): T_16[];
41
- chunk<T_17>(array: _.Collection<T_17>, count: number): T_17[][];
42
- uniq<T_18 extends string | number | HashObject<any>, TSort_1 = T_18>(array: T_18[], iteratee?: Iterator<T_18, TSort_1> | keyof T_18): T_18[];
43
+ sortBy<T_17 extends HashObject<any>, TSort = T_17>(arr: T_17[], iteratee?: Iterator<T_17, TSort> | keyof T_17): T_17[];
44
+ chunk<T_18>(array: _.Collection<T_18>, count: number): T_18[][];
45
+ uniq<T_19 extends string | number | HashObject<any>, TSort_1 = T_19>(array: T_19[], iteratee?: Iterator<T_19, TSort_1> | keyof T_19): T_19[];
43
46
  /**
44
47
  * Transform array to an object.
45
48
  *
@@ -5,7 +5,7 @@ import { AnalyticsOptions } from 'libs/analytics/interfaces';
5
5
  import { BaseObject } from 'libs/shared/interfaces';
6
6
  export interface ActionOptions {
7
7
  order?: number;
8
- label?: string;
8
+ label?: string | (() => JSX.Element);
9
9
  appLink?: Core.AppLink;
10
10
  onClick?: () => void;
11
11
  svgName?: string;
@@ -12,6 +12,7 @@ export interface AppLinkProps {
12
12
  analyticsData?: HashObject;
13
13
  analyticsOptions?: AnalyticsOptions;
14
14
  title?: string;
15
+ openInNewTab?: boolean;
15
16
  }
16
17
  export declare function AppLink(props: React.PropsWithChildren<AppLinkProps>): React.ReactElement;
17
18
  export declare namespace AppLink {
@@ -6,6 +6,7 @@ interface TooltipProps {
6
6
  placement?: Placement;
7
7
  trigger?: TriggerType | TriggerType[];
8
8
  spanHack?: boolean;
9
+ spanHackClassName?: string;
9
10
  }
10
11
  export declare function Tooltip(props: React.PropsWithChildren<TooltipProps>): React.ReactElement;
11
12
  export declare namespace Tooltip {
@@ -0,0 +1,18 @@
1
+ import { Core } from 'libs/common/core';
2
+ import { HashObject } from 'libs/common/react/interfaces';
3
+ import { WidgetContext, BaseObject } from 'libs/shared/interfaces';
4
+ import { ImageSize } from 'libs/shared/enums/Images';
5
+ import { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';
6
+ import { AnalyticsOptions } from 'libs/analytics/interfaces';
7
+ export interface FixedWidgetItemProps<TObject extends BaseObject = BaseObject> {
8
+ data: TObject;
9
+ context: WidgetContext;
10
+ analyticsData: HashObject;
11
+ analyticsOptions: AnalyticsOptions;
12
+ appLink: Core.AppLink;
13
+ collectionAppLink: Core.AppLink;
14
+ preloadImage: boolean;
15
+ thumbnailSize: ImageSize;
16
+ forcedMediaQuery: MediaQueryStrings;
17
+ onHover: (isHovering: boolean) => void;
18
+ }
@@ -1,12 +1,8 @@
1
1
  import React from 'react';
2
- import { Core } from 'libs/common/core';
3
- import { HashObject } from 'libs/common/react/interfaces';
4
- import { AnalyticsOptions } from 'libs/analytics/interfaces';
5
2
  import { Resource, Link } from 'libs/shared/interfaces';
3
+ import { FixedWidgetItemProps } from 'libs/shared/components/widgets/items/FixedWidgetItemProps';
6
4
  interface ResourceTileProps {
7
5
  data: Resource | Link;
8
- analyticsData?: HashObject;
9
- analyticsOptions?: AnalyticsOptions;
10
6
  imageCdnUrl: string;
11
7
  imageErrorFallbackUrl?: string;
12
8
  }
@@ -16,8 +12,6 @@ interface ResourceTileProps {
16
12
  * on where this is rendered (e.g. primary play page vs embedded player)
17
13
  */
18
14
  export declare function ResourceTile(props: ResourceTileProps): JSX.Element;
19
- export interface ResourceWidgetItemProps extends ResourceTileProps {
20
- appLink: Core.AppLink;
21
- }
15
+ export declare type ResourceWidgetItemProps = ResourceTileProps & FixedWidgetItemProps<Resource | Link>;
22
16
  export declare const ResourceWidgetItem: React.NamedExoticComponent<ResourceWidgetItemProps>;
23
17
  export {};
@@ -0,0 +1,8 @@
1
+ export declare enum ContentRegion {
2
+ AU = "content-ap-southeast-1",
3
+ NZ = "content-ap-southeast-2",
4
+ UK = "content-eu-west-1",
5
+ SCOT = "content-eu-west-2",
6
+ US = "content-na-central-1",
7
+ GLOBAL = "content-global"
8
+ }
@@ -0,0 +1,6 @@
1
+ export declare enum InstanceRegion {
2
+ AU = "cv-ap-southeast-1",
3
+ NZ = "cv-ap-southeast-2",
4
+ UK = "cv-eu-west-1",
5
+ US = "cv-na-west-1"
6
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum ShareLinkPrivacy {
2
+ JustMySchool = 0,
3
+ Public = 1
4
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum ShareLinkStatus {
2
+ Expired = "expired",
3
+ Active = "active"
4
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum ShareType {
2
+ DirectShare = 1,
3
+ ShareLink = 2
4
+ }
@@ -1,5 +1,6 @@
1
1
  export declare enum WidgetContents {
2
2
  Videos = "videos",
3
+ FeedVideos = "feed videos",
3
4
  Series = "series",
4
5
  Subjects = "subjects",
5
6
  Playlists = "playlists",
@@ -95,5 +95,8 @@ export declare enum localSvgs {
95
95
  CrossCircle = "cross-circle",
96
96
  CrossCircleFilled = "cross-circle-filled",
97
97
  Hamburger = "hamburger",
98
- Library = "library"
98
+ Library = "library",
99
+ InteractiveResults = "interactive-results",
100
+ House = "house",
101
+ MonitorPlay = "monitor-play"
99
102
  }
@@ -24,4 +24,5 @@ import Print from './print.svg';
24
24
  import CreateInteractive from './create-interactive.svg';
25
25
  import Play from './play.svg';
26
26
  import PlayCircle from './play-circle.svg';
27
- export { AddToPlaylist, Close, Delete, Edit, Expand, Minus, More, NewWindow, Plus, Preview, Search, Share, Upload, Down, Right, UpDown, VisibleOff, VisibleOn, NoEdit, EditClickView, Share2, Download, Print, CreateInteractive, Play, PlayCircle };
27
+ import InteractiveResults from './interactive-results.svg';
28
+ export { AddToPlaylist, Close, Delete, Edit, Expand, Minus, More, NewWindow, Plus, Preview, Search, Share, Upload, Down, Right, UpDown, VisibleOff, VisibleOn, NoEdit, EditClickView, Share2, Download, Print, CreateInteractive, Play, PlayCircle, InteractiveResults };
@@ -10,6 +10,7 @@ import Folder from './folder.svg';
10
10
  import Handle from './handle.svg';
11
11
  import Heart from './heart.svg';
12
12
  import HeartOutline from './heart-outline.svg';
13
+ import House from './house.svg';
13
14
  import Interactive from './interactive.svg';
14
15
  import Link from './link.svg';
15
16
  import Playlist from './playlist.svg';
@@ -33,6 +34,7 @@ import Group from './group.svg';
33
34
  import Hamburger from './hamburger.svg';
34
35
  import Image from './image.svg';
35
36
  import Library from './library.svg';
37
+ import MonitorPlay from './monitor-play.svg';
36
38
  import File from './file.svg';
37
39
  import FilePDF from './file-pdf.svg';
38
40
  import FileImg from './file-img.svg';
@@ -42,4 +44,4 @@ import FileZip from './file-zip.svg';
42
44
  import FileExcel from './file-excel.svg';
43
45
  import Twitter from './twitter.svg';
44
46
  import Facebook from './facebook.svg';
45
- export { Archive, Bell, Bookmark, Broadcast, Calendar, Cog, CrossCircle, CrossCircleFilled, Folder, Handle, Interactive, Link, Playlist, PublisherArchive, Resources, StarOutline, Star, Tag, Time, Video, Subject, Series, File, Image, FilePDF, FileImg, FilePowerpoint, FileWord, FileZip, FileExcel, Heart, HeartOutline, WhiteWave, Compass, History, Email, YearLevel, Subjects, Twitter, Facebook, Classrooms, Group, Hamburger, Library };
47
+ export { Archive, Bell, Bookmark, Broadcast, Calendar, Cog, CrossCircle, CrossCircleFilled, Folder, Handle, Interactive, Link, Playlist, PublisherArchive, Resources, StarOutline, Star, Tag, Time, Video, Subject, Series, File, Image, FilePDF, FileImg, FilePowerpoint, FileWord, FileZip, FileExcel, Heart, HeartOutline, WhiteWave, Compass, History, Email, YearLevel, Subjects, Twitter, Facebook, Classrooms, Group, Hamburger, Library, House, MonitorPlay };
@@ -0,0 +1,6 @@
1
+ export interface DateRange {
2
+ name?: string;
3
+ startDate?: Date;
4
+ endDate?: Date;
5
+ default?: boolean;
6
+ }
@@ -0,0 +1,4 @@
1
+ import { BaseObject, BasePaginatedCollection, DirectShare } from 'libs/shared/interfaces';
2
+ export interface DirectShareCollection extends Omit<BasePaginatedCollection<BaseObject>, 'data'> {
3
+ data: DirectShare[];
4
+ }
@@ -0,0 +1,3 @@
1
+ import { BasePaginatedCollection, PointOfInterest } from 'libs/shared/interfaces';
2
+ export interface PointOfInterestCollection extends BasePaginatedCollection<PointOfInterest> {
3
+ }
@@ -24,3 +24,5 @@ export * from './ClassificationCollection';
24
24
  export * from './ClassroomCollection';
25
25
  export * from './ClassroomGroupCollection';
26
26
  export * from './YearGroupCollection';
27
+ export * from './DirectShareCollection';
28
+ export * from './PointOfInterestCollection';
@@ -14,3 +14,4 @@ export * from './WidgetContext';
14
14
  export * from './RegionalUrl';
15
15
  export * from './VideoTypes';
16
16
  export * from './FavouriteFunc';
17
+ export * from './DateRange';
@@ -0,0 +1,11 @@
1
+ import { BaseObject } from 'libs/shared/interfaces';
2
+ import { MasterType } from 'libs/shared/enums/MasterType';
3
+ import { ShareType } from 'libs/shared/enums/ShareType';
4
+ export interface BaseShareObject extends Omit<BaseObject, 'type'> {
5
+ objectId: string;
6
+ objectTypeId: MasterType;
7
+ ownerId: string;
8
+ ownerCustomerId: string;
9
+ ownerCountryCode: string;
10
+ type: ShareType;
11
+ }
@@ -0,0 +1,5 @@
1
+ import { ContentRegion } from 'libs/shared/enums/ContentRegion';
2
+ import { BaseObject } from 'libs/shared/interfaces';
3
+ export interface ContentRegionObject extends BaseObject {
4
+ systemName: ContentRegion;
5
+ }
@@ -1,8 +1,8 @@
1
- import { BaseObject, Country, Organisation, Logo } from 'libs/shared/interfaces';
1
+ import { BaseObject, Country, ContentRegionObject, Organisation, Logo } from 'libs/shared/interfaces';
2
2
  export interface Customer extends BaseObject {
3
3
  crmId: string;
4
4
  instanceRegion: string;
5
- contentRegion: string;
5
+ contentRegion: ContentRegionObject;
6
6
  organisation?: Organisation;
7
7
  country?: Country;
8
8
  logo?: Logo;
@@ -0,0 +1,7 @@
1
+ import { ShareRecipient } from 'libs/shared/interfaces';
2
+ import { ShareType } from 'libs/shared/enums/ShareType';
3
+ import { BaseShareObject } from './BaseShareObject';
4
+ export interface DirectShare extends BaseShareObject {
5
+ recipients: ShareRecipient[];
6
+ type: ShareType.DirectShare;
7
+ }
@@ -0,0 +1,6 @@
1
+ import { BaseObject } from 'libs/shared/interfaces';
2
+ export interface PointOfInterest extends BaseObject {
3
+ description: string;
4
+ startTime: number;
5
+ endTime: number;
6
+ }
@@ -0,0 +1,14 @@
1
+ import { ShareLinkPrivacy } from 'libs/shared/enums/ShareLinkPrivacy';
2
+ import { ShareLinkStatus } from 'libs/shared/enums/ShareLinkStatus';
3
+ import { ShareType } from 'libs/shared/enums/ShareType';
4
+ import { BaseShareObject } from './BaseShareObject';
5
+ export interface ShareLink extends BaseShareObject {
6
+ url: string;
7
+ passwordHash?: string;
8
+ passwordSalt?: string;
9
+ linkExpireDate?: string;
10
+ privacy: ShareLinkPrivacy;
11
+ status: ShareLinkStatus;
12
+ isPasswordProtected: boolean;
13
+ type: ShareType.ShareLink;
14
+ }
@@ -0,0 +1,6 @@
1
+ import { MasterType } from 'libs/shared/enums/MasterType';
2
+ export interface ShareRecipient {
3
+ id: string;
4
+ typeId: MasterType;
5
+ dateShared?: string;
6
+ }
@@ -0,0 +1,2 @@
1
+ import { DirectShare, ShareLink } from 'libs/shared/interfaces';
2
+ export declare type UnionShareObject = ShareLink | DirectShare;
@@ -3,7 +3,9 @@ import { UserRole } from 'libs/shared/enums/UserRole';
3
3
  import { OnlineUserRole } from 'libs/shared/enums/UserRole';
4
4
  import { UserGroup } from 'libs/shared/enums/UserGroup';
5
5
  import { ObjectStatus } from 'libs/shared/enums/ObjectStatus';
6
+ import { InstanceRegion } from 'libs/shared/enums/InstanceRegion';
6
7
  import { VirtualObject } from './primitives';
8
+ import { ContentRegion } from 'libs/shared/enums/ContentRegion';
7
9
  export declare type OnlineYearGroup = 'Kindergarten' | 'Year 1' | 'Year 2' | 'Year 3' | 'Year 4' | 'Year 5' | 'Year 6' | 'Year 7' | 'Year 8' | 'Year 9' | 'Year 10' | 'Year 11' | 'Year 12' | 'Year 13' | 'Staff';
8
10
  /**
9
11
  * Master User
@@ -79,14 +81,14 @@ export interface CurrentUser extends BaseObject {
79
81
  *
80
82
  * This is not the same as CountryCode or ContentRegion.
81
83
  */
82
- instanceRegion: string;
84
+ instanceRegion: InstanceRegion;
83
85
  /**
84
86
  * The content set the user should have access to.
85
87
  *
86
88
  * @remarks
87
89
  * Content is not tied to a country or instance region.
88
90
  */
89
- contentRegion: string;
91
+ contentRegion: ContentRegion;
90
92
  /**
91
93
  * User's Country in Master
92
94
  *
@@ -1,7 +1,4 @@
1
- import { BaseObject, CompanyCollection, PersonCollection, CategoryCollection, Channel, InteractiveCollection, LibraryCollection, Rating, Series, Thumbnail, TagCollection, Season, AudienceCollection, ResourceCollection, LinkCollection, ClipCollection, Glance, HeroBanner, RestrictedObject, VideoProgress, UserCollection, HasInteractive, CurriculumLinks } from 'libs/shared/interfaces';
2
- import { HasCurriculumLinks } from './Curriculum';
3
- import { User } from './User';
4
- import { SubtitleCollection } from '../collections';
1
+ import { BaseObject, CompanyCollection, PersonCollection, CategoryCollection, Channel, InteractiveCollection, LibraryCollection, Rating, Series, Thumbnail, TagCollection, Season, AudienceCollection, ResourceCollection, LinkCollection, ClipCollection, Glance, HeroBanner, RestrictedObject, VideoProgress, UserCollection, HasInteractive, CurriculumLinks, PointOfInterestCollection, SubtitleCollection, HasCurriculumLinks, User } from 'libs/shared/interfaces';
5
2
  import { VirtualObject } from './primitives';
6
3
  import { CurationStatus } from 'libs/shared/enums/CurationStatus';
7
4
  export interface Video extends BaseObject {
@@ -35,6 +32,7 @@ export interface Video extends BaseObject {
35
32
  restrictions?: RestrictedObject[];
36
33
  lastProgressPoint?: number;
37
34
  favouritedBy?: UserCollection;
35
+ pointsOfInterest?: PointOfInterestCollection;
38
36
  _hasInteractives?: HasInteractive;
39
37
  _videoProgress?: VideoProgress;
40
38
  _hasCurriculumLinks?: HasCurriculumLinks;
@@ -43,6 +43,7 @@ export * from './Link';
43
43
  export * from './Folder';
44
44
  export * from './Glance';
45
45
  export * from './Customer';
46
+ export * from './ContentRegionObject';
46
47
  export * from './Organisation';
47
48
  export * from './TallPoster';
48
49
  export * from './Share';
@@ -61,3 +62,8 @@ export * from './YearGroup';
61
62
  export * from './Country';
62
63
  export * from './Logo';
63
64
  export * from './MasterNestedObject';
65
+ export * from './ShareLink';
66
+ export * from './ShareRecipient';
67
+ export * from './DirectShare';
68
+ export * from './UnionShareObject';
69
+ export * from './PointOfInterest';
@@ -86,6 +86,8 @@
86
86
 
87
87
  .video-js .cv-favourite-button{opacity:0;transition:opacity 1s;position:absolute;top:1.25rem;right:1.25rem;padding:0;width:3.3em;height:3.3em;border-radius:50%;background-color:rgba(241,241,241,0.5);box-shadow:0 0.5rem 1rem rgba(51,51,51,0.15);z-index:2}.video-js .cv-favourite-button .vjs-icon-placeholder::before{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);font-size:3.15em !important;font-family:CVPlayer;content:"\f11a";color:#333;display:block}.video-js .cv-favourite-button:hover .vjs-icon-placeholder::before{content:"\f119";color:#D9584F;opacity:0.75}.video-js .cv-favourite-button.cv-favourited .vjs-icon-placeholder::before{content:"\f119";color:#D9584F}.video-js .cv-favourite-button.cv-favourited:hover .vjs-icon-placeholder::before{opacity:1}.video-js.vjs-has-started .cv-favourite-button{opacity:1}.video-js.vjs-has-started.vjs-user-inactive.vjs-playing .cv-favourite-button{opacity:0}
88
88
 
89
+ .video-js .cv-point-of-interest-indicator{position:absolute;width:.6em;height:.6em;margin-top:-.3em;margin-left:-.3em;top:50%;background-color:rgba(78,154,206,0.8);border-radius:50%;z-index:4;box-shadow:0 0 0 .2em rgba(255,255,255,0.4)}.video-js .cv-point-of-interest-indicator.cv-point-of-interest-indicator-buffered{box-shadow:0 0 0 .2em #fff;background-color:#4E9ACE}.video-js .cv-point-of-interest-indicator.cv-point-of-interest-indicator-played{box-shadow:0 0 0 .2em #f8981d;background-color:#4E9ACE}.video-js .vjs-progress-control:hover .vjs-progress-holder .cv-point-of-interest-indicator{width:.36em;height:.36em;margin-top:-.18em;margin-left:-.18em;box-shadow:0 0 0 .12em rgba(255,255,255,0.4)}.video-js .vjs-progress-control:hover .vjs-progress-holder .cv-point-of-interest-indicator.cv-point-of-interest-indicator-buffered{box-shadow:0 0 0 .12em #fff}.video-js .vjs-progress-control:hover .vjs-progress-holder .cv-point-of-interest-indicator.cv-point-of-interest-indicator-played{box-shadow:0 0 0 .12em #f8981d}.video-js .vjs-progress-control:hover .vjs-progress-holder .cv-point-of-interest-indicator:hover{width:.6em;height:.6em;margin-top:-.3em;margin-left:-.3em;box-shadow:0 0 0 .2em rgba(255,255,255,0.4)}.video-js .vjs-progress-control:hover .vjs-progress-holder .cv-point-of-interest-indicator:hover.cv-point-of-interest-indicator-buffered{box-shadow:0 0 0 .2em #fff}.video-js .vjs-progress-control:hover .vjs-progress-holder .cv-point-of-interest-indicator:hover.cv-point-of-interest-indicator-played{box-shadow:0 0 0 .2em #f8981d}
90
+
89
91
  .cv-clip-timepoint-selector{position:relative;top:-2px;height:calc(100% + 4px);border:2px solid #4E9ACE;margin:0;background-color:#E1EEF7;cursor:-webkit-grab;cursor:grab}.cv-clip-timepoint-selector:active{cursor:-webkit-grabbing;cursor:grabbing}.cv-clip-timepoint-handle{position:absolute;top:-2px;bottom:-2px;width:10px;background-color:#4E9ACE;padding:4px 2px}.cv-clip-timepoint-handle svg{opacity:0.8;width:100%;height:100%}.cv-clip-start-handle{left:-10px;border-radius:3px 0 0 3px}.cv-clip-end-handle{right:-10px;border-radius:0 3px 3px 0}
90
92
 
91
93
  .video-js.cv-create-clip-player .vjs-progress-control{padding:0 20px 4px 20px;height:100%}.video-js.cv-create-clip-player .vjs-progress-control .vjs-progress-holder.cv-create-clip-seek-bar{height:18px;background-color:#B5B5B5;border-radius:3px;font-size:1em;margin-top:0}.video-js.cv-create-clip-player .vjs-progress-control .vjs-progress-holder.cv-create-clip-seek-bar .vjs-play-progress.vjs-slider-bar{background-color:transparent}.video-js.cv-create-clip-player .vjs-progress-control .vjs-progress-holder.cv-create-clip-seek-bar .vjs-play-progress.vjs-slider-bar:before{top:calc(18px + 3px);content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid white}.video-js.cv-create-clip-player .vjs-progress-control .vjs-progress-holder.cv-create-clip-seek-bar .vjs-play-progress.vjs-slider-bar .vjs-time-tooltip{display:none}.video-js.cv-create-clip-player .vjs-progress-control .vjs-progress-holder.cv-create-clip-seek-bar .vjs-mouse-display{font-size:1.66666666666em}