@soul-refiner/design-system 2.11.8 → 2.11.10
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.
- package/dist/components/media/video-player/misc.js +2 -2
- package/dist/components/media/video-player/video.js +2 -2
- package/dist/src/components/media/common.d.ts +5 -0
- package/dist/src/components/media/video-player/misc.d.ts +7 -1
- package/dist/src/components/media/video-player/video.d.ts +6 -2
- package/dist/src/components/navigation/tabs/tabs.d.ts +1 -1
- package/package.json +1 -1
- package/dist/styles/output.css +0 -1790
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
"use strict";var React=require("react"),styled=require("styled-components"),button=require("../../actions/button/button.js"),playlistItem=require("./playlist-item.js");function _interopDefaultCompat(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var React__default=_interopDefaultCompat(React);const TrailerListItem=({trailer:t,title:e,handleSetPlayingTrailer:l})=>React__default.default.createElement(playlistItem.PlaylistItem,{onClick:()=>l(!0),playable:!0,thumbnail:t.thumbnail,title:e+" Trailer"}),ButtonViewAll=({showingAll:t,orientation:e="horizontal",toggleShowingAll:l})=>React__default.default.createElement(ButtonViewAllWrapper,{$showAll:t,$orientation:e},React__default.default.createElement(button.Button,{onClick:l,size:"small",type:"text"},t?"Collapse":"View all")),ButtonViewAllWrapper=styled.styled.span`
|
|
2
|
+
"use strict";var React=require("react"),styled=require("styled-components"),button=require("../../actions/button/button.js"),playlistItem=require("./playlist-item.js");function _interopDefaultCompat(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var React__default=_interopDefaultCompat(React);const TrailerListItem=({trailer:t,title:e,handleSetPlayingTrailer:l})=>React__default.default.createElement(playlistItem.PlaylistItem,{onClick:()=>l(!0),playable:!0,thumbnail:t.thumbnail,title:e+" Trailer"}),LeaderListItem=({additionalMedia:t,title:e,handleSetPlayingTrailer:l})=>React__default.default.createElement(playlistItem.PlaylistItem,{onClick:()=>l(!0),playable:!0,thumbnail:t.thumbnail,title:e+" Leader"}),ButtonViewAll=({showingAll:t,orientation:e="horizontal",toggleShowingAll:l})=>React__default.default.createElement(ButtonViewAllWrapper,{$showAll:t,$orientation:e},React__default.default.createElement(button.Button,{onClick:l,size:"small",type:"text"},t?"Collapse":"View all")),ButtonViewAllWrapper=styled.styled.span`
|
|
3
3
|
margin-left: auto;
|
|
4
4
|
button {
|
|
5
5
|
background-color: var(--color-grey-2);
|
|
@@ -18,4 +18,4 @@
|
|
|
18
18
|
right: 20px;
|
|
19
19
|
z-index: 1000;
|
|
20
20
|
`:""}
|
|
21
|
-
`;exports.ButtonViewAll=ButtonViewAll,exports.TrailerListItem=TrailerListItem;
|
|
21
|
+
`;exports.ButtonViewAll=ButtonViewAll,exports.LeaderListItem=LeaderListItem,exports.TrailerListItem=TrailerListItem;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
"use strict";var React=require("react"),Image=require("next/image"),ReactPlayer=require("react-player"),styled=require("styled-components"),button=require("../../actions/button/button.js"),box=require("../../atoms/box/box.js"),tabs=(require("../../navigation/breadcrumb/breadcrumb.js"),require("../../navigation/inner/inner.js"),require("../../navigation/tabs/tabs.js")),select_item=require("../../../icons/basic/select_item.js"),heading=require("../../atoms/typography/heading.js"),paragraph=require("../../atoms/typography/paragraph.js"),lock_circle=require("../../../icons/security/lock_circle.js"),play_solid=require("../../../icons/audio_video/play_solid.js"),localStorage=require("../../../utils/local-storage.js"),playlistItem=require("./playlist-item.js"),misc=require("./misc.js");function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React),Image__default=_interopDefaultCompat(Image),ReactPlayer__default=_interopDefaultCompat(ReactPlayer);const RESOLUTION=1280/720,MIN_PIP_HEIGHT=200,MIN_PIP_WIDTH=RESOLUTION*MIN_PIP_HEIGHT,VideoPlayer=({activeIndex:e,pip:t,playable:a,playlist:l,onClickPreview:i,onPipChange:r,onProgress:
|
|
2
|
+
"use strict";var React=require("react"),Image=require("next/image"),ReactPlayer=require("react-player"),styled=require("styled-components"),button=require("../../actions/button/button.js"),box=require("../../atoms/box/box.js"),tabs=(require("../../navigation/breadcrumb/breadcrumb.js"),require("../../navigation/inner/inner.js"),require("../../navigation/tabs/tabs.js")),select_item=require("../../../icons/basic/select_item.js"),heading=require("../../atoms/typography/heading.js"),paragraph=require("../../atoms/typography/paragraph.js"),lock_circle=require("../../../icons/security/lock_circle.js"),play_solid=require("../../../icons/audio_video/play_solid.js"),localStorage=require("../../../utils/local-storage.js"),playlistItem=require("./playlist-item.js"),misc=require("./misc.js");function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React),Image__default=_interopDefaultCompat(Image),ReactPlayer__default=_interopDefaultCompat(ReactPlayer);const RESOLUTION=1280/720,MIN_PIP_HEIGHT=200,MIN_PIP_WIDTH=RESOLUTION*MIN_PIP_HEIGHT,VideoPlayer=({activeIndex:e,pip:t,playable:a,playlist:l,onClickPreview:i,onPipChange:r,onProgress:W,onStart:j,orientation:o,setMediaItem:M,onShowAllPlaylist:n,forwardedRef:d,subtitle:c,title:s,trailer:u,AdditionalMedia:p})=>{const g="undefined"!=typeof window?window:{innerHeight:0,innerWidth:600};var f=g.innerHeight/3,h=RESOLUTION*(g.innerHeight/3),m=React__default.default.useRef(null);const x=d||m,_=React__default.default.useRef({});d=React__default.default.useRef(null);const b=React__default.default.useRef(null),[y,w]=React__default.default.useState(0),[R,q]=React__default.default.useState(!1),[v,E]=React__default.default.useState(!a),[I,S]=React__default.default.useState(l?.[e].id||null),[A,N]=localStorage.useLocalStorage("videoPipHeight",f),[O,B]=localStorage.useLocalStorage("videoPipWidth",h),[V,U]=localStorage.useLocalStorage("video-volume",1),[P,X]=localStorage.useLocalStorage("videoPipRight",16),[$,Y]=localStorage.useLocalStorage("videoPipBottom",16),[k,z]=React__default.default.useState([0,0]),[D,C]=React__default.default.useState([0,0]),H=v?u:l?.[e];React__default.default.useEffect(()=>{const e=()=>{const e=_.current[I];e&&setTimeout(()=>{e.scrollIntoView({behavior:"smooth",block:"center"})},0)};return l?.length&&I&&("undefined"!=typeof window&&window.addEventListener("load",e),e()),()=>{"undefined"!=typeof window&&window.removeEventListener("load",e)}},[l,I]);const T=e=>{E(!1),M(e)};m=()=>{q(e=>!e),n&&n(!R)};const L=(e,t)=>{var a;!b?.current||(a=b.current.getBoundingClientRect()).x<16||a.y<16||e>=2*g.innerWidth/3||t>=2*g.innerHeight/3||e<MIN_PIP_WIDTH||t<MIN_PIP_HEIGHT||(B(e),N(t))};f=()=>{var e;b?.current&&(e=b.current.getBoundingClientRect(),C([e.width,e.height]))},h=e=>{var t,a,l,i;b?.current&&(t=e.currentTarget.getAttribute("class")?.split(" ")||[],a=window.innerWidth-e.clientX,i=window.innerHeight-e.clientY,e.clientX<0||e.clientY<0||(e.stopPropagation(),e.preventDefault(),t.includes("top")?(e=Math.round(i-k[1]+D[1]),l=Math.round(e*RESOLUTION),L(l,e)):t.includes("bottom")?(l=Math.round(k[1]-i+D[1]),e=Math.round(l*RESOLUTION),L(e,l)):t.includes("left")?(i=Math.round(a-k[0]+D[0]),e=Math.round(i/RESOLUTION),L(i,e)):t.includes("right")&&(l=Math.round(k[0]-a+D[0]),i=Math.round(l/RESOLUTION),L(l,i))))};return H?(e=React.useMemo(()=>{var e=[{label:"All lessons",color:"dark"}];return p?.length&&e.push({label:"Leader",color:"dark"}),e.push({label:"Trailer",color:"dark"}),e},[p]),React__default.default.createElement(Wrapper,{$orientation:o},React__default.default.createElement(InnerWrapper,{$orientation:o,$playable:a||v},"vertical"===o&&React__default.default.createElement(box.Box,{$dir:"column",$gap:4,sx:"margin: 24px;"},React__default.default.createElement(heading.H,{as:"h2",$bold:!0,$color:"white",$fontSize:28,$lineHeight:36},s),React__default.default.createElement(paragraph.P,{as:"h3",$bold:!0,$color:"grey-8"},c)),t&&React__default.default.createElement(ClosePip,null),React__default.default.createElement(PipWrapper,{$pip:!!t,draggable:t&&0===D[0],onDrag:t?e=>{var t,a,l,i;e.clientX<0||e.clientY<0||(t=window.innerWidth-e.clientX,e=window.innerHeight-e.clientY,a=P+(t-k[0]),l=$+(e-k[1]),b?.current&&(i=b.current.getBoundingClientRect(),a&&16<=a&&a<=g.innerWidth-16-i.width&&X(a),l)&&16<=l&&l<=g.innerHeight-16-i.height&&Y(l),z([t,e]))}:void 0,onMouseDown:e=>{z([window.innerWidth-e.clientX,window.innerHeight-e.clientY])},ref:b,style:t?{bottom:$,height:A,right:P,width:O}:void 0},t&&React__default.default.createElement(button.Button,{className:"close-pip",icon:React__default.default.createElement(select_item.SelectItem,{color:"grey-0"}),onClick:e=>{e.stopPropagation(),r&&r(!1)},size:"large",sx:`
|
|
3
3
|
display: none;
|
|
4
4
|
position: absolute;
|
|
5
5
|
top: 8px;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
svg {
|
|
9
9
|
fill: var(--color-white);
|
|
10
10
|
}
|
|
11
|
-
`,type:"text"}),React__default.default.createElement(ReactPlayer__default.default,{className:"player",config:{file:{attributes:{crossOrigin:"true",disablePictureInPicture:"true"},forceHLS:!0,hlsOptions:{autoStartLoad:!0},tracks:(H?.subtitles||[]).map(e=>({kind:"subtitles",label:e.label,src:e.src,srcLang:e.locale}))}},controls:!0,height:"100%",light:React__default.default.createElement(Image__default.default,{alt:"thumbnail for "+
|
|
11
|
+
`,type:"text"}),React__default.default.createElement(ReactPlayer__default.default,{className:"player",config:{file:{attributes:{crossOrigin:"true",disablePictureInPicture:"true"},forceHLS:!0,hlsOptions:{autoStartLoad:!0},tracks:(H?.subtitles||[]).map(e=>({kind:"subtitles",label:e.label,src:e.src,srcLang:e.locale}))}},controls:!0,height:"100%",light:React__default.default.createElement(Image__default.default,{alt:"thumbnail for "+s,layout:"fill",priority:!0,quality:100,style:{objectFit:"contain"},src:H.thumbnail}),progressInterval:4e3,onProgress:W,onStart:j,onClickPreview:i,onReady:()=>{v||0===x?.current?.getCurrentTime()&&0!==H?.progress&&x.current.seekTo(H.progress)},pip:t,playIcon:a||v?React__default.default.createElement(play_solid.PlaySolid,{color:"white",size:24,sx:"position: absolute; width: 54px; height: 54px;"}):React__default.default.createElement(lock_circle.LockCircle,{color:"white",size:24,sx:"position: absolute; width: 54px; height: 54px;"}),playing:a,ref:x,url:H.src,width:"100%",volume:V,onVolumeChange:e=>{U(e.target.volume)}}),t&&React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(Resizer,{className:"top horizontal",draggable:"false",onDrag:h,onMouseDown:f,onDragEnd:()=>C([0,0]),tabIndex:0}),React__default.default.createElement(Resizer,{className:"bottom horizontal",draggable:"false",onDrag:h,onMouseDown:f,onDragEnd:()=>C([0,0]),tabIndex:0}),React__default.default.createElement(Resizer,{className:"right vertical",draggable:"false",onDrag:h,onMouseDown:f,onDragEnd:()=>C([0,0]),tabIndex:0}),React__default.default.createElement(Resizer,{className:"left vertical",draggable:"false",onDrag:h,onMouseDown:f,onDragEnd:()=>C([0,0]),tabIndex:0}))),"horizontal"===o&&React__default.default.createElement(Side,null,React__default.default.createElement(ScalableContainerWrapper,{$showingAll:R},React__default.default.createElement(box.Box,{$dir:"column",$gap:4},React__default.default.createElement(heading.H,{as:"h2",$bold:!0,$color:"white",$fontSize:28,$lineHeight:36},s),React__default.default.createElement(paragraph.P,{as:"h3",$bold:!0,$color:"grey-8"},c)),React__default.default.createElement(box.Box,{$align:"center"},React__default.default.createElement(tabs.Tabs,{activeIndex:y,onChange:e=>w(e),items:e,size:"medium",sx:"justify-content: flex-start;"}),React__default.default.createElement(misc.ButtonViewAll,{showingAll:R,orientation:o,toggleShowingAll:m})),[React__default.default.createElement(HorizontalPlaylistWrapper,{ref:d,$showingAll:R},l.map((t,e)=>React__default.default.createElement(playlistItem.PlaylistItem,{comingSoon:t.comingSoon,nowplaying:I,key:t.id,ref:e=>{_.current[t.id]=e},playlistItemId:t.id,duration:t.duration,onClick:()=>{T(e),S(t.id)},playable:a,progress:t.progress,shortDescription:t.shortDescription,thumbnail:t.thumbnail,title:t.title}))),!!p?.length&&React__default.default.createElement(React__default.default.Fragment,null,p.map(e=>React__default.default.createElement(React__default.default.Fragment,{key:e.id},React__default.default.createElement(misc.LeaderListItem,{title:s,additionalMedia:e,handleSetPlayingTrailer:E})))),!!u&&React__default.default.createElement(misc.TrailerListItem,{title:s,handleSetPlayingTrailer:E,trailer:u})][y])),"vertical"===o&&React__default.default.createElement(box.Box,{$dir:"column",$gap:24,sx:R?"z-index: 3; position:relative;":"height: auto"},React__default.default.createElement(ScalableContainerWrapperVertical,{$showingAll:R},React__default.default.createElement(box.Box,{sx:"padding: 0 1.5rem;",$align:"center"},React__default.default.createElement(tabs.Tabs,{activeIndex:y,onChange:e=>w(e),items:e,size:"medium",sx:"justify-content: flex-start;"}),React__default.default.createElement(misc.ButtonViewAll,{showingAll:R,orientation:o,toggleShowingAll:m})),[React__default.default.createElement(VerticalPlaylistWrapper,{ref:d,$showingAll:R},l.map((t,e)=>React__default.default.createElement(playlistItem.PlaylistItem,{comingSoon:t.comingSoon,nowplaying:I,playlistItemId:t.id,duration:t.duration,key:t.id,ref:e=>{_.current[t.id]=e},onClick:()=>{T(e),S(t.id)},playable:a,progress:t.progress,shortDescription:t.shortDescription,thumbnail:t.thumbnail,title:t.title}))),!!u&&React__default.default.createElement(box.Box,{$dir:"column",$gap:8,sx:"margin: 0px 24px;"},React__default.default.createElement(misc.TrailerListItem,{title:s,handleSetPlayingTrailer:E,trailer:u}))][y]))))):null},Wrapper=styled.styled.div`
|
|
12
12
|
display: flex;
|
|
13
13
|
justify-content: center;
|
|
14
14
|
background-color: var(--color-grey-0);
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Trailer } from '../common';
|
|
2
|
+
import { AdditionalMedia, Trailer } from '../common';
|
|
3
3
|
type TrailerListItemProps = {
|
|
4
4
|
trailer: Trailer;
|
|
5
5
|
title: string;
|
|
6
6
|
handleSetPlayingTrailer: React.Dispatch<React.SetStateAction<boolean>>;
|
|
7
7
|
};
|
|
8
|
+
type AdditionalListItemProps = {
|
|
9
|
+
additionalMedia: AdditionalMedia;
|
|
10
|
+
title: string;
|
|
11
|
+
handleSetPlayingTrailer: React.Dispatch<React.SetStateAction<boolean>>;
|
|
12
|
+
};
|
|
8
13
|
type ButtonViewAllProps = {
|
|
9
14
|
showingAll: boolean;
|
|
10
15
|
orientation?: 'horizontal' | 'vertical';
|
|
11
16
|
toggleShowingAll: React.MouseEventHandler<HTMLButtonElement>;
|
|
12
17
|
};
|
|
13
18
|
export declare const TrailerListItem: ({ trailer, title, handleSetPlayingTrailer, }: TrailerListItemProps) => React.JSX.Element;
|
|
19
|
+
export declare const LeaderListItem: ({ additionalMedia, title, handleSetPlayingTrailer, }: AdditionalListItemProps) => React.JSX.Element;
|
|
14
20
|
export declare const ButtonViewAll: ({ showingAll, orientation, toggleShowingAll, }: ButtonViewAllProps) => React.JSX.Element;
|
|
15
21
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { MediaItem, Trailer } from '../common';
|
|
2
|
+
import { AdditionalMedia, MediaItem, Trailer } from '../common';
|
|
3
3
|
export interface VideoPlayerProps {
|
|
4
4
|
/**
|
|
5
5
|
* @param activeIndex the media item frm the playlist currently playing
|
|
@@ -56,6 +56,10 @@ export interface VideoPlayerProps {
|
|
|
56
56
|
* @param trailer if in
|
|
57
57
|
*/
|
|
58
58
|
trailer?: Trailer;
|
|
59
|
+
/**
|
|
60
|
+
* @param AdditionalMedia if in
|
|
61
|
+
*/
|
|
62
|
+
AdditionalMedia?: AdditionalMedia[];
|
|
59
63
|
/**
|
|
60
64
|
* @param volume the volume of the player
|
|
61
65
|
* @default 1 (100%)
|
|
@@ -71,4 +75,4 @@ export interface VideoPlayerProps {
|
|
|
71
75
|
* ReactPlayer props reference -> https://www.npmjs.com/package/react-player#props
|
|
72
76
|
* HLS Option props reference -> https://github.com/video-dev/hls.js/blob/master/docs/API.md#fine-tuning
|
|
73
77
|
*/
|
|
74
|
-
export declare const VideoPlayer: ({ activeIndex, pip, playable, playlist, onClickPreview, onPipChange, onProgress, onStart, orientation, setMediaItem, onShowAllPlaylist, forwardedRef, subtitle, title, trailer, }: VideoPlayerProps) => React.JSX.Element | null;
|
|
78
|
+
export declare const VideoPlayer: ({ activeIndex, pip, playable, playlist, onClickPreview, onPipChange, onProgress, onStart, orientation, setMediaItem, onShowAllPlaylist, forwardedRef, subtitle, title, trailer, AdditionalMedia, }: VideoPlayerProps) => React.JSX.Element | null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
type TabColors = 'blue' | 'grey' | 'green' | 'mint' | 'orange' | 'ocean' | 'pink' | 'purple' | 'red' | 'yellow' | 'dark';
|
|
2
|
+
export type TabColors = 'blue' | 'grey' | 'green' | 'mint' | 'orange' | 'ocean' | 'pink' | 'purple' | 'red' | 'yellow' | 'dark';
|
|
3
3
|
type TabSizes = 'small' | 'medium' | 'large';
|
|
4
4
|
export interface TabProps {
|
|
5
5
|
activeIndex: number;
|