@soul-refiner/design-system 2.7.30 → 2.8.2

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.
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- "use strict";var React=require("react"),Image=require("next/image"),styled=require("styled-components"),box=require("../../atoms/box/box.js"),heading=require("../../atoms/typography/heading.js"),paragraph=require("../../atoms/typography/paragraph.js"),modal=require("../../surfaces/modal/modal.js"),button=require("../../actions/button/button.js"),dropdown=require("../../actions/dropdown/dropdown.js"),calendar=require("../../../icons/time/calendar.js"),graduation_cap=require("../../../icons/basic/graduation_cap.js"),clock=require("../../../icons/time/clock.js"),pin=require("../../../icons/maps/pin.js"),forward_bold=require("../../../icons/arrow/forward_bold.js"),star_filled=require("../../../icons/basic/star_filled.js"),star=require("../../../icons/basic/star.js"),ellipsis_horizontal=require("../../../icons/basic/ellipsis_horizontal.js"),tooltip=(require("../../feedback/badge/badge.js"),require("../../feedback/banner/banner.js"),require("../../feedback/loader/loader.js"),require("../../feedback/notification/notification.js"),require("../../feedback/progress/progress.js"),require("../../feedback/toast/toast.js"),require("../../feedback/tooltip/tooltip.js"));function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../../feedback/animated_toast/animated_toast.js");var RSVP,React__default=_interopDefaultCompat(React),Image__default=_interopDefaultCompat(Image);!function(e){e.INTERESTED="INTERESTED",e.NOT_INTERESTED="NOT_INTERESTED"}(RSVP=RSVP||{});const MeetingCard=({href:e,image:t,sx:a,title:l,actions:o,course:r,startDate:i,endDate:n,startTime:d,endTime:c,location:u,shareModal:s,handleInterestedOnClick:p,handleNotInterestedOnClick:f,handleVisibleToConnectionsOnClick:_,rsvp:m,dotsActions:g})=>{var E=[];return p&&E.push({value:"interested",label:"Interested",onClick:p,icon:React__default.default.createElement(tooltip.Tooltip,{content:"Interested",place:"top"},React__default.default.createElement(star_filled.StarFilled,{color:"yellow-5"})),color:m===RSVP.INTERESTED?"primary-blue-2":void 0}),f&&E.push({value:"notInterested",label:"Not Interested",onClick:f,icon:React__default.default.createElement(tooltip.Tooltip,{content:"Not Interested",place:"top"},React__default.default.createElement(star_filled.StarFilled,{color:"red-4"})),color:m===RSVP.NOT_INTERESTED?"primary-blue-2":void 0}),_&&E.push("break",{value:"visibleToConnections",label:"Visible to connections",onClick:_}),React__default.default.createElement(Wrapper,{$isLink:!!e,$sx:a,as:e?"a":"div",href:e},React__default.default.createElement(Figure,null,React__default.default.createElement(Image__default.default,{alt:"",height:160,quality:100,src:t,width:312}),React__default.default.createElement(OverlayTopContainer,{id:"overlayTop"},g&&!!g.length&&React__default.default.createElement(dropdown.Dropdown,{hasArrow:!0,maintainState:!1,options:g,trigger:React__default.default.createElement(button.Button,{icon:React__default.default.createElement(ellipsis_horizontal.EllipsisHorizontal,null),showChevron:!1,type:"outlined",size:"small",className:"icon"}),onClick:e=>e.preventDefault()})),React__default.default.createElement(OverlayBottomContainer,{id:"overlayBottom"},s&&React__default.default.createElement(modal.Modal,null,React__default.default.createElement(modal.Modal.Trigger,null,React__default.default.createElement(tooltip.Tooltip,{content:"Share",place:"top"},React__default.default.createElement(button.Button,{icon:React__default.default.createElement(forward_bold.ForwardBold,null),type:"outlined",size:"small",onClick:e=>e.preventDefault(),className:"icon"}))),React__default.default.createElement(modal.Modal.Content,{onClick:e=>e.preventDefault()},s)),!!E.length&&React__default.default.createElement(dropdown.Dropdown,{open:"left",offset:[40,10],maintainState:!1,options:E,trigger:React__default.default.createElement(button.Button,{icon:React__default.default.createElement(tooltip.Tooltip,{content:m===RSVP.INTERESTED?"Interested":m===RSVP.NOT_INTERESTED?"Not Interested":"",place:"top"},m===RSVP.INTERESTED&&React__default.default.createElement(star_filled.StarFilled,{sx:"color: var(--color-yellow-5);"})||m===RSVP.NOT_INTERESTED&&React__default.default.createElement(star_filled.StarFilled,{sx:"color: var(--color-red-4);"})||React__default.default.createElement(star.Star,null)),type:"outlined",size:"small",className:"icon"}),onClick:e=>e.preventDefault()}))),React__default.default.createElement(box.Box,{$dir:"column",$padding:24},React__default.default.createElement(heading.H.Eight,{$textAlign:"center",$color:"grey-2",$mediumBold:!0},l),React__default.default.createElement(MeetingInformation,null,r&&React__default.default.createElement(box.Box,{$align:"center",$gap:20},React__default.default.createElement(graduation_cap.GraduationCap,{color:"grey-6"}),React__default.default.createElement(paragraph.P,{as:"span",$color:"grey-3",$lineHeight:20,$fontSize:14},r)),React__default.default.createElement(box.Box,{$align:"center",$gap:20},React__default.default.createElement(calendar.Calendar,{color:"grey-6"}),React__default.default.createElement(paragraph.P,{as:"span",$color:"grey-3",$lineHeight:20,$fontSize:14},i," - ",n)),React__default.default.createElement(box.Box,{$align:"center",$gap:20},React__default.default.createElement(clock.Clock,{color:"grey-6"}),React__default.default.createElement(paragraph.P,{as:"span",$color:"grey-3",$lineHeight:20,$fontSize:14},d," - ",c)),React__default.default.createElement(box.Box,{$align:"center",$gap:20,sx:"max-width: 264px;"},React__default.default.createElement(pin.Pin,{color:"grey-6"}),React__default.default.createElement(paragraph.P,{as:"span",$color:"grey-3",$lineHeight:20,$fontSize:14},u))),React__default.default.createElement(box.Box,{$display:"flex",$dir:"row",$gap:8,sx:"margin-top: 32px; width: 100%;"},React__default.default.Children.toArray(o))))},Wrapper=styled.styled.div`
2
+ "use strict";var React=require("react"),Image=require("next/image"),styled=require("styled-components"),box=require("../../atoms/box/box.js"),heading=require("../../atoms/typography/heading.js"),paragraph=require("../../atoms/typography/paragraph.js"),modal=require("../../surfaces/modal/modal.js"),button=require("../../actions/button/button.js"),dropdown=require("../../actions/dropdown/dropdown.js"),calendar=require("../../../icons/time/calendar.js"),graduation_cap=require("../../../icons/basic/graduation_cap.js"),clock=require("../../../icons/time/clock.js"),pin=require("../../../icons/maps/pin.js"),forward_bold=require("../../../icons/arrow/forward_bold.js"),star_filled=require("../../../icons/basic/star_filled.js"),star=require("../../../icons/basic/star.js"),ellipsis_horizontal=require("../../../icons/basic/ellipsis_horizontal.js"),tooltip=(require("../../feedback/badge/badge.js"),require("../../feedback/banner/banner.js"),require("../../feedback/loader/loader.js"),require("../../feedback/notification/notification.js"),require("../../feedback/progress/progress.js"),require("../../feedback/toast/toast.js"),require("../../feedback/tooltip/tooltip.js"));function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../../feedback/animated_toast/animated_toast.js");var RSVP,React__default=_interopDefaultCompat(React),Image__default=_interopDefaultCompat(Image);!function(e){e.INTERESTED="INTERESTED",e.NOT_INTERESTED="NOT_INTERESTED"}(RSVP=RSVP||{});const MeetingCard=({href:e,image:t,sx:a,title:l,actions:o,course:r,startDate:i,endDate:n,startTime:d,endTime:c,location:u,shareModal:s,handleInterestedOnClick:p,handleNotInterestedOnClick:f,handleVisibleToConnectionsOnClick:_,rsvp:m,dotsActions:g})=>{var E=[];return p&&E.push({value:"interested",label:"Interested",onClick:p,icon:React__default.default.createElement(tooltip.Tooltip,{content:"Interested",place:"top"},React__default.default.createElement(star_filled.StarFilled,{color:"yellow-5"})),color:m===RSVP.INTERESTED?"primary-blue-2":void 0}),f&&E.push({value:"notInterested",label:"Not Interested",onClick:f,icon:React__default.default.createElement(tooltip.Tooltip,{content:"Not Interested",place:"top"},React__default.default.createElement(star_filled.StarFilled,{color:"red-4"})),color:m===RSVP.NOT_INTERESTED?"primary-blue-2":void 0}),_&&E.push("break",{value:"visibleToConnections",label:"Visible to connections",onClick:_}),React__default.default.createElement(Wrapper,{$isLink:!!e,$sx:a,as:e?"a":"div",href:e},React__default.default.createElement(Figure,null,React__default.default.createElement(Image__default.default,{alt:"",height:160,quality:100,src:t,width:312}),React__default.default.createElement(OverlayTopContainer,{id:"overlayTop"},g&&!!g.length&&React__default.default.createElement(dropdown.Dropdown,{hasArrow:!0,maintainState:!1,options:g,trigger:React__default.default.createElement(button.Button,{icon:React__default.default.createElement(ellipsis_horizontal.EllipsisHorizontal,null),showChevron:!1,type:"outlined",size:"small",className:"icon"}),onClick:e=>e.preventDefault()})),React__default.default.createElement(OverlayBottomContainer,{id:"overlayBottom"},s&&React__default.default.createElement(modal.Modal,null,React__default.default.createElement(modal.Modal.Trigger,null,React__default.default.createElement(tooltip.Tooltip,{content:"Share",place:"top"},React__default.default.createElement(button.Button,{icon:React__default.default.createElement(forward_bold.ForwardBold,null),type:"outlined",size:"small",onClick:e=>e.preventDefault(),className:"icon"}))),React__default.default.createElement(modal.Modal.Content,{onClick:e=>e.preventDefault()},s)),!!E.length&&React__default.default.createElement(dropdown.Dropdown,{open:"left",offset:[40,10],maintainState:!1,options:E,trigger:React__default.default.createElement(button.Button,{icon:React__default.default.createElement(tooltip.Tooltip,{content:m===RSVP.NOT_INTERESTED?"Not Interested":"Interested",place:"top"},m===RSVP.INTERESTED&&React__default.default.createElement(star_filled.StarFilled,{sx:"color: var(--color-yellow-5);"})||m===RSVP.NOT_INTERESTED&&React__default.default.createElement(star_filled.StarFilled,{sx:"color: var(--color-red-4);"})||React__default.default.createElement(star.Star,null)),type:"outlined",size:"small",className:"icon"}),onClick:e=>e.preventDefault()}))),React__default.default.createElement(box.Box,{$dir:"column",$padding:24},React__default.default.createElement(heading.H.Eight,{$textAlign:"center",$color:"grey-2",$mediumBold:!0},l),React__default.default.createElement(MeetingInformation,null,r&&React__default.default.createElement(box.Box,{$align:"center",$gap:20},React__default.default.createElement(graduation_cap.GraduationCap,{color:"grey-6"}),React__default.default.createElement(paragraph.P,{as:"span",$color:"grey-3",$lineHeight:20,$fontSize:14},r)),React__default.default.createElement(box.Box,{$align:"center",$gap:20},React__default.default.createElement(calendar.Calendar,{color:"grey-6"}),React__default.default.createElement(paragraph.P,{as:"span",$color:"grey-3",$lineHeight:20,$fontSize:14},i," - ",n)),React__default.default.createElement(box.Box,{$align:"center",$gap:20},React__default.default.createElement(clock.Clock,{color:"grey-6"}),React__default.default.createElement(paragraph.P,{as:"span",$color:"grey-3",$lineHeight:20,$fontSize:14},d," - ",c)),React__default.default.createElement(box.Box,{$align:"center",$gap:20,sx:"max-width: 264px;"},React__default.default.createElement(pin.Pin,{color:"grey-6"}),React__default.default.createElement(paragraph.P,{as:"span",$color:"grey-3",$lineHeight:20,$fontSize:14},u))),React__default.default.createElement(box.Box,{$display:"flex",$dir:"row",$gap:8,sx:"margin-top: 32px; width: 100%;"},React__default.default.Children.toArray(o))))},Wrapper=styled.styled.div`
3
3
  min-width: 312px;
4
4
  position: relative;
5
5
  display: block;
@@ -0,0 +1,16 @@
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,toggleShowingAll:e})=>React__default.default.createElement(ButtonViewAllWrapper,null,React__default.default.createElement(button.Button,{onClick:e,size:"small",type:"text"},t?"Collapse":"View all")),ButtonViewAllWrapper=styled.styled.span`
3
+ margin-left: auto;
4
+ button {
5
+ background-color: var(--color-grey-2);
6
+ border: 1px solid var(--color-white) !important;
7
+ border-radius: 32px;
8
+ color: var(--color-white) !important;
9
+ height: 32px;
10
+ padding: 6px 16px;
11
+ &:hover {
12
+ background-color: var(--color-grey-4);
13
+ color: var(--color-white);
14
+ }
15
+ }
16
+ `;exports.ButtonViewAll=ButtonViewAll,exports.TrailerListItem=TrailerListItem;
@@ -1,4 +1,4 @@
1
- "use strict";var React=require("react"),Image=require("next/image"),styled=require("styled-components"),box=require("../../atoms/box/box.js"),seconds_to_duration=require("../../atoms/seconds_to_duration/seconds_to_duration.js"),paragraph=require("../../atoms/typography/paragraph.js"),lock=require("../../../icons/security/lock.js"),play_solid=require("../../../icons/audio_video/play_solid.js"),tooltip=(require("../../feedback/badge/badge.js"),require("../../feedback/banner/banner.js"),require("../../feedback/loader/loader.js"),require("../../feedback/notification/notification.js"),require("../../feedback/progress/progress.js"),require("../../feedback/toast/toast.js"),require("../../feedback/tooltip/tooltip.js"));function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../../feedback/animated_toast/animated_toast.js");var React__default=_interopDefaultCompat(React),Image__default=_interopDefaultCompat(Image);const PlaylistItem=React__default.default.forwardRef(({duration:e,onClick:t,playable:a,progress:l=0,shortDescription:r,thumbnail:o,nowplaying:i,playlistItemId:n,title:s},d)=>React__default.default.createElement(Wrapper,{ref:d,onClick:a?t:void 0,$playable:a,playlistItemId:n,nowplaying:i},a?React__default.default.createElement(play_solid.PlaySolid,{color:"white",size:16,sx:"position: absolute; left: 10px; bottom: 10px;"}):React__default.default.createElement(lock.Lock,{color:"white",size:16,sx:"position: absolute; left: 10px; bottom: 10px;"}),React__default.default.createElement(Image__default.default,{alt:"thumbnail for "+s,height:75,quality:100,src:o,width:133}),l&&e?React__default.default.createElement(ProgressBar,{progressPercent:l/e}):null,React__default.default.createElement(box.Box,{$dir:"column",$gap:4,sx:"margin-left: 16px; margin-right: auto; flex: 0 1 auto; flex-basis: content;"},React__default.default.createElement(paragraph.P,{$color:"grey-10",$semiBold:!0},s),React__default.default.createElement(box.Box,{$gap:4,$align:"flex-end"},r&&React__default.default.createElement(paragraph.P,{$color:"grey-9",$fontSize:14,$lineHeight:20,$textClampLines:2,sx:"max-width: min(500px, 100%);"},r),r&&70<r?.length&&React__default.default.createElement(box.Box,{$justify:"flex-start",sx:"div{ text-align: left !important; z-index: 99; } .opaque { opacity: 1 !important;} margin-right: 16px; "},React__default.default.createElement(tooltip.Tooltip,{content:r,place:"left"},React__default.default.createElement(paragraph.P,{$fontSize:14,$color:"white"},"More"))))),e&&React__default.default.createElement(paragraph.P,{$color:"grey-8",$fontSize:14,$lineHeight:20,sx:"flex-shrink: 0;"},React__default.default.createElement(seconds_to_duration.SecToDuration,{seconds:e})))),Wrapper=styled.styled.div`
1
+ "use strict";var React=require("react"),Image=require("next/image"),styled=require("styled-components"),box=require("../../atoms/box/box.js"),seconds_to_duration=require("../../atoms/seconds_to_duration/seconds_to_duration.js"),paragraph=require("../../atoms/typography/paragraph.js"),lock=require("../../../icons/security/lock.js"),play_solid=require("../../../icons/audio_video/play_solid.js"),tooltip=(require("../../feedback/badge/badge.js"),require("../../feedback/banner/banner.js"),require("../../feedback/loader/loader.js"),require("../../feedback/notification/notification.js"),require("../../feedback/progress/progress.js"),require("../../feedback/toast/toast.js"),require("../../feedback/tooltip/tooltip.js"));function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../../feedback/animated_toast/animated_toast.js");var React__default=_interopDefaultCompat(React),Image__default=_interopDefaultCompat(Image);const PlaylistItem=React__default.default.forwardRef(({duration:e,onClick:t,playable:a,progress:l=0,shortDescription:r,thumbnail:o,nowplaying:i,playlistItemId:n,title:s},d)=>React__default.default.createElement(Wrapper,{ref:d,onClick:a?t:void 0,$playable:a,$playlistItemId:n,$nowplaying:i},a?React__default.default.createElement(play_solid.PlaySolid,{color:"white",size:16,sx:"position: absolute; left: 10px; bottom: 10px;"}):React__default.default.createElement(lock.Lock,{color:"white",size:16,sx:"position: absolute; left: 10px; bottom: 10px;"}),React__default.default.createElement(Image__default.default,{alt:"thumbnail for "+s,height:75,quality:100,src:o,width:133}),l&&e?React__default.default.createElement(ProgressBar,{progressPercent:l/e}):null,React__default.default.createElement(box.Box,{$dir:"column",$gap:4,sx:"margin-left: 16px; margin-right: auto; flex: 0 1 auto; flex-basis: content;"},React__default.default.createElement(paragraph.P,{$color:"grey-10",$semiBold:!0},s),React__default.default.createElement(box.Box,{$gap:4,$align:"flex-end"},r&&React__default.default.createElement(paragraph.P,{$color:"grey-9",$fontSize:14,$lineHeight:20,$textClampLines:2,sx:"max-width: min(500px, 100%);"},r),r&&70<r?.length&&React__default.default.createElement(box.Box,{$justify:"flex-start",sx:"div{ text-align: left !important; z-index: 99; } .opaque { opacity: 1 !important;} margin-right: 16px; "},React__default.default.createElement(tooltip.Tooltip,{content:r,place:"left"},React__default.default.createElement(paragraph.P,{$fontSize:14,$color:"white"},"More"))))),e&&React__default.default.createElement(paragraph.P,{$color:"grey-8",$fontSize:14,$lineHeight:20,sx:"flex-shrink: 0;"},React__default.default.createElement(seconds_to_duration.SecToDuration,{seconds:e})))),Wrapper=styled.styled.div`
2
2
  width: 100%;
3
3
  flex: 0 1 auto;
4
4
  padding: 6px;
@@ -6,12 +6,13 @@
6
6
  align-items: center;
7
7
  position: relative;
8
8
  &:hover {
9
- ${({playlistItemId:e,nowplaying:t})=>e===t?"":"background: var(--color-grey-1);"}
9
+ ${({$playlistItemId:e,$nowplaying:t})=>e===t?"":"background: var(--color-grey-1);"}
10
10
  }
11
11
  box-sizing: border-box;
12
12
  cursor: pointer;
13
+ user-select: none;
13
14
  ${({$playable:e})=>e?"":"pointer-events: none; cursor: initial;"}
14
- ${({playlistItemId:e,nowplaying:t})=>null!=t&&e===t?"background-color: #4a4f55;":"background-color: initial;"}
15
+ ${({$playlistItemId:e,$nowplaying:t})=>null!=t&&e===t?"background-color: #4a4f55;":"background-color: initial;"}
15
16
  `,ProgressBar=({progressPercent:e})=>React__default.default.createElement(ProgressBarSvg,{viewBox:"0 0 133 2",fill:"none",xmlns:"http://www.w3.org/2000/svg"},React__default.default.createElement("rect",{width:133*e,height:"2",fill:"var(--color-primary-blue-2)"}),React__default.default.createElement("rect",{x:133*e,width:133-133*e,height:"2",fill:"var(--color-grey-8)"})),ProgressBarSvg=styled.styled.svg`
16
17
  width: 133px;
17
18
  position: absolute;
@@ -1,5 +1,14 @@
1
1
  "use client";
2
- "use strict";var React=require("react"),Image=require("next/image"),ReactPlayer=require("react-player"),styled=require("styled-components"),box=require("../../atoms/box/box.js"),tabs=(require("../../navigation/breadcrumb/breadcrumb.js"),require("../../navigation/inner/inner.js"),require("../../navigation/tabs/tabs.js")),heading=require("../../atoms/typography/heading.js"),paragraph=require("../../atoms/typography/paragraph.js"),button=require("../../actions/button/button.js"),lock_circle=require("../../../icons/security/lock_circle.js"),play_solid=require("../../../icons/audio_video/play_solid.js"),playlistItem=require("./playlist-item.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 TrailerListItem=({trailer:e,title:t,handleSetPlayingTrailer:a})=>React__default.default.createElement(playlistItem.PlaylistItem,{onClick:()=>a(!0),playable:!0,thumbnail:e.thumbnail,title:t+" Trailer"}),ButtonViewAll=({showingAll:e,toggleShowingAll:t})=>React__default.default.createElement(ButtonViewAllWrapper,null,React__default.default.createElement(button.Button,{onClick:t,size:"small",type:"text"},e?"Collapse":"View all")),VideoPlayer=({activeIndex:e,pip:t,playable:a,playlist:l,onClickPreview:r,onPipChange:i,onProgress:o,onStart:n,orientation:d,setMediaItem:c,forwardedRef:s,subtitle:u,title:p,trailer:f,volume:g=1})=>{const[b,x]=React__default.default.useState(0),[h,m]=React__default.default.useState(!1),[y,_]=React__default.default.useState(!a),[w,v]=React__default.default.useState(l?.[e].id||null);var R=React__default.default.useRef(null);const $=s||R,k=React__default.default.useRef({});s=React__default.default.useRef(null);const E=y?f:l?.[e];React__default.default.useEffect(()=>{const e=()=>{const e=k.current[w];e&&setTimeout(()=>{e.scrollIntoView({behavior:"smooth",block:"center"})},0)};return l?.length&&w&&("undefined"!=typeof window&&window.addEventListener("load",e),e()),()=>{"undefined"!=typeof window&&window.removeEventListener("load",e)}},[l,w]);const I=e=>{_(!1),c(e)};R=()=>m(e=>!e);return E?React__default.default.createElement(Wrapper,{$orientation:d},React__default.default.createElement(InnerWrapper,{$orientation:d,$playable:a||y},"vertical"===d&&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},p),React__default.default.createElement(paragraph.P,{as:"h3",$bold:!0,$color:"grey-8"},u)),React__default.default.createElement(ReactPlayer__default.default,{className:"player",config:{file:{attributes:{crossOrigin:"true"},forceHLS:!0,hlsOptions:{autoStartLoad:!0},tracks:(E?.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 "+p,layout:"fill",priority:!0,quality:100,style:{objectFit:"contain"},src:E.thumbnail}),progressInterval:4e3,onDisablePIP:()=>i&&i(!1),onEnablePIP:()=>i&&i(!0),onProgress:o,onStart:n,onClickPreview:r,onReady:()=>{y||0===$?.current?.getCurrentTime()&&0!==E?.progress&&$.current.seekTo(E.progress)},pip:t,playIcon:a||y?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:$,style:{backgroundColor:"var(--color-grey-0)",maxHeight:720,maxWidth:"100%",minHeight:480,overflow:"hidden",position:"relative"},url:E.src,width:"100%",volume:g}),"horizontal"===d&&React__default.default.createElement(Side,null,React__default.default.createElement(ScalableContainerWrapper,{$showingAll:h},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},p),React__default.default.createElement(paragraph.P,{as:"h3",$bold:!0,$color:"grey-8"},u)),React__default.default.createElement(box.Box,{$align:"center"},React__default.default.createElement(tabs.Tabs,{activeIndex:b,onChange:e=>x(e),items:[{label:"All lessons",color:"dark"},{label:"Trailer",color:"dark"}],size:"medium",sx:"justify-content: flex-start;"}),React__default.default.createElement(ButtonViewAll,{showingAll:h,toggleShowingAll:R})),[React__default.default.createElement(HorizontalPlaylistWrapper,{ref:s,$showingAll:h},l.map((t,e)=>React__default.default.createElement(playlistItem.PlaylistItem,{nowplaying:w,key:t.id,ref:e=>{k.current[t.id]=e},playlistItemId:t.id,duration:t.duration,onClick:()=>{I(e),v(t.id)},playable:!0,progress:t.progress,shortDescription:t.shortDescription,thumbnail:t.thumbnail,title:t.title}))),!!f&&React__default.default.createElement(TrailerListItem,{title:p,handleSetPlayingTrailer:_,trailer:f})][b])),"vertical"===d&&React__default.default.createElement(box.Box,{$dir:"column",$gap:24,sx:h?"z-index: 3; position:relative;":"height: auto"},React__default.default.createElement(ScalableContainerWrapperVertical,{$showingAll:h},React__default.default.createElement(box.Box,{sx:"padding: 0 1.5rem;",$align:"center"},React__default.default.createElement(tabs.Tabs,{activeIndex:b,onChange:e=>x(e),items:[{label:"All lessons",color:"dark"},{label:"Trailer",color:"dark"}],size:"medium",sx:"justify-content: flex-start;"}),React__default.default.createElement(ButtonViewAll,{showingAll:h,toggleShowingAll:R})),[React__default.default.createElement(VerticalPlaylistWrapper,{ref:s,$showingAll:h},l.map((t,e)=>React__default.default.createElement(playlistItem.PlaylistItem,{nowplaying:w,playlistItemId:t.id,duration:t.duration,key:t.id,ref:e=>{k.current[t.id]=e},onClick:()=>{I(e),v(t.id)},playable:a,progress:t.progress,shortDescription:t.shortDescription,thumbnail:t.thumbnail,title:t.title}))),!!f&&React__default.default.createElement(box.Box,{$dir:"column",$gap:8,sx:"margin: 0px 24px;"},React__default.default.createElement(TrailerListItem,{title:p,handleSetPlayingTrailer:_,trailer:f}))][b])))):null},Wrapper=styled.styled.div`
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:o,onStart:n,orientation:d,setMediaItem:c,forwardedRef:s,subtitle:u,title:p,trailer:g,volume:D=1})=>{const f="undefined"!=typeof window?window:{innerHeight:0,innerWidth:600};var h=f.innerHeight/3,x=RESOLUTION*(f.innerHeight/3),m=React__default.default.useRef(null);const b=s||m,_=React__default.default.useRef({});s=React__default.default.useRef(null);const y=React__default.default.useRef(null),[w,R]=React__default.default.useState(0),[v,L]=React__default.default.useState(!1),[I,E]=React__default.default.useState(!a),[P,$]=React__default.default.useState(l?.[e].id||null),[M,q]=localStorage.useLocalStorage("videoPipHeight",h),[N,A]=localStorage.useLocalStorage("videoPipWidth",x),[k,O]=localStorage.useLocalStorage("videoPipRight",16),[S,B]=localStorage.useLocalStorage("videoPipBottom",16),[z,H]=React__default.default.useState([0,0]),[T,V]=React__default.default.useState([0,0]),C=I?g:l?.[e];React__default.default.useEffect(()=>{const e=()=>{const e=_.current[P];e&&setTimeout(()=>{e.scrollIntoView({behavior:"smooth",block:"center"})},0)};return l?.length&&P&&("undefined"!=typeof window&&window.addEventListener("load",e),e()),()=>{"undefined"!=typeof window&&window.removeEventListener("load",e)}},[l,P]);const W=e=>{E(!1),c(e)};m=()=>L(e=>!e);const j=(e,t)=>{var a;!y?.current||(a=y.current.getBoundingClientRect()).x<16||a.y<16||e>=2*f.innerWidth/3||t>=2*f.innerHeight/3||e<MIN_PIP_WIDTH||t<MIN_PIP_HEIGHT||(A(e),q(t))};h=()=>{var e;y?.current&&(e=y.current.getBoundingClientRect(),V([e.width,e.height]))},x=e=>{var t,a,l,i;y?.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-z[1]+T[1]),l=Math.round(e*RESOLUTION),j(l,e)):t.includes("bottom")?(l=Math.round(z[1]-i+T[1]),e=Math.round(l*RESOLUTION),j(e,l)):t.includes("left")?(i=Math.round(a-z[0]+T[0]),e=Math.round(i/RESOLUTION),j(i,e)):t.includes("right")&&(l=Math.round(z[0]-a+T[0]),i=Math.round(l/RESOLUTION),j(l,i))))};return C?React__default.default.createElement(Wrapper,{$orientation:d},React__default.default.createElement(InnerWrapper,{$orientation:d,$playable:a||I},"vertical"===d&&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},p),React__default.default.createElement(paragraph.P,{as:"h3",$bold:!0,$color:"grey-8"},u)),t&&React__default.default.createElement(ClosePip,null),React__default.default.createElement(PipWrapper,{$pip:!!t,draggable:"false",onDrag:e=>{var t,a,l,i;e.clientX<0||e.clientY<0||(t=window.innerWidth-e.clientX,e=window.innerHeight-e.clientY,a=k+(t-z[0]),l=S+(e-z[1]),y?.current&&(i=y.current.getBoundingClientRect(),a&&16<=a&&a<=f.innerWidth-16-i.width&&O(a),l)&&16<=l&&l<=f.innerHeight-16-i.height&&B(l),H([t,e]))},onMouseDown:e=>{H([window.innerWidth-e.clientX,window.innerHeight-e.clientY])},ref:y,style:t?{bottom:S,height:M,right:k,width:N}: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
+ display: none;
4
+ position: absolute;
5
+ top: 8px;
6
+ right: 8px;
7
+ z-index: 10;
8
+ svg {
9
+ fill: var(--color-white);
10
+ }
11
+ `,type:"text"}),React__default.default.createElement(ReactPlayer__default.default,{className:"player",config:{file:{attributes:{crossOrigin:"true",disablePictureInPicture:"true",draggable:"true"},forceHLS:!0,hlsOptions:{autoStartLoad:!0},tracks:(C?.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 "+p,layout:"fill",priority:!0,quality:100,style:{objectFit:"contain"},src:C.thumbnail}),progressInterval:4e3,onDisablePIP:()=>r&&r(!1),onEnablePIP:()=>r&&r(!0),onProgress:o,onStart:n,onClickPreview:i,onReady:()=>{I||0===b?.current?.getCurrentTime()&&0!==C?.progress&&b.current.seekTo(C.progress)},pip:t,playIcon:a||I?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:b,url:C.src,width:"100%",volume:D}),React__default.default.createElement(Resizer,{className:"top horizontal",draggable:"false",onDrag:x,onMouseDown:h,tabIndex:0}),React__default.default.createElement(Resizer,{className:"bottom horizontal",draggable:"false",onDrag:x,onMouseDown:h,tabIndex:0}),React__default.default.createElement(Resizer,{className:"right vertical",draggable:"false",onDrag:x,onMouseDown:h,tabIndex:0}),React__default.default.createElement(Resizer,{className:"left vertical",draggable:"false",onDrag:x,onMouseDown:h,tabIndex:0})),"horizontal"===d&&React__default.default.createElement(Side,null,React__default.default.createElement(ScalableContainerWrapper,{$showingAll:v},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},p),React__default.default.createElement(paragraph.P,{as:"h3",$bold:!0,$color:"grey-8"},u)),React__default.default.createElement(box.Box,{$align:"center"},React__default.default.createElement(tabs.Tabs,{activeIndex:w,onChange:e=>R(e),items:[{label:"All lessons",color:"dark"},{label:"Trailer",color:"dark"}],size:"medium",sx:"justify-content: flex-start;"}),React__default.default.createElement(misc.ButtonViewAll,{showingAll:v,toggleShowingAll:m})),[React__default.default.createElement(HorizontalPlaylistWrapper,{ref:s,$showingAll:v},l.map((t,e)=>React__default.default.createElement(playlistItem.PlaylistItem,{nowplaying:P,key:t.id,ref:e=>{_.current[t.id]=e},playlistItemId:t.id,duration:t.duration,onClick:()=>{W(e),$(t.id)},playable:!0,progress:t.progress,shortDescription:t.shortDescription,thumbnail:t.thumbnail,title:t.title}))),!!g&&React__default.default.createElement(misc.TrailerListItem,{title:p,handleSetPlayingTrailer:E,trailer:g})][w])),"vertical"===d&&React__default.default.createElement(box.Box,{$dir:"column",$gap:24,sx:v?"z-index: 3; position:relative;":"height: auto"},React__default.default.createElement(ScalableContainerWrapperVertical,{$showingAll:v},React__default.default.createElement(box.Box,{sx:"padding: 0 1.5rem;",$align:"center"},React__default.default.createElement(tabs.Tabs,{activeIndex:w,onChange:e=>R(e),items:[{label:"All lessons",color:"dark"},{label:"Trailer",color:"dark"}],size:"medium",sx:"justify-content: flex-start;"}),React__default.default.createElement(misc.ButtonViewAll,{showingAll:v,toggleShowingAll:m})),[React__default.default.createElement(VerticalPlaylistWrapper,{ref:s,$showingAll:v},l.map((t,e)=>React__default.default.createElement(playlistItem.PlaylistItem,{nowplaying:P,playlistItemId:t.id,duration:t.duration,key:t.id,ref:e=>{_.current[t.id]=e},onClick:()=>{W(e),$(t.id)},playable:a,progress:t.progress,shortDescription:t.shortDescription,thumbnail:t.thumbnail,title:t.title}))),!!g&&React__default.default.createElement(box.Box,{$dir:"column",$gap:8,sx:"margin: 0px 24px;"},React__default.default.createElement(misc.TrailerListItem,{title:p,handleSetPlayingTrailer:E,trailer:g}))][w])))):null},Wrapper=styled.styled.div`
3
12
  display: flex;
4
13
  justify-content: center;
5
14
  background-color: var(--color-grey-0);
@@ -9,7 +18,75 @@
9
18
  }
10
19
 
11
20
  ${({$orientation:e})=>"vertical"===e?"max-width: 960px; height: max-content;":""}
12
- `,InnerWrapper=(styled.styled.div``,styled.styled.div`
21
+ `,PipWrapper=styled.styled.div`
22
+ background-color: var(--color-grey-0);
23
+ max-height: 720px;
24
+ max-width: 100%;
25
+ min-height: 480px;
26
+ overflow: hidden;
27
+ position: relative;
28
+ width: 100%;
29
+ height: 100%;
30
+ border-radius: 16px;
31
+ ${({$pip:e})=>e?`
32
+ position: fixed;
33
+ z-index: 1000;
34
+ aspect-ratio: 1280 / 720;
35
+ min-height: unset;
36
+ max-height: calc(100vh - 32px);
37
+ max-width: calc(100vw - 32px);
38
+ background-color: transparent;
39
+ overflow: visible;
40
+ & * {
41
+ border-radius: 16px;
42
+ }
43
+ & img,
44
+ & video {
45
+ user-select: none;
46
+ }
47
+ &:hover .close-pip {
48
+ display: flex;
49
+ }`:""}
50
+ `,ClosePip=styled.styled.div`
51
+ width: 100%;
52
+ height: 100%;
53
+ display: flex;
54
+ align-items: center;
55
+ justify-content: center;
56
+ max-height: 720px;
57
+ max-width: 100%;
58
+ aspect-ratio: unset !important;
59
+ `,Resizer=styled.styled.div`
60
+ position: absolute;
61
+ z-index: 100;
62
+ margin: 0px;
63
+ padding: 0px;
64
+ background-color: transparent;
65
+ &.horizontal {
66
+ width: 100%;
67
+ height: 12px;
68
+ cursor: ns-resize;
69
+ }
70
+ &.vertical {
71
+ width: 12px;
72
+ height: 100%;
73
+ cursor: ew-resize;
74
+ }
75
+ &.top {
76
+ top: -8px;
77
+ }
78
+ &.bottom {
79
+ bottom: -8px;
80
+ }
81
+ &.left {
82
+ left: -8px;
83
+ top: 0px;
84
+ }
85
+ &.right {
86
+ right: -8px;
87
+ top: 0px;
88
+ }
89
+ `,InnerWrapper=styled.styled.div`
13
90
  flex: 1;
14
91
  display: flex;
15
92
  justify-content: flex-end;
@@ -32,7 +109,7 @@
32
109
  & > div:last-of-type {
33
110
  flex: 3;
34
111
  }`}
35
- `),Side=styled.styled.div`
112
+ `,Side=styled.styled.div`
36
113
  position: relative;
37
114
  flex: 1;
38
115
  box-sizing: border-box;
@@ -110,18 +187,4 @@
110
187
  }
111
188
 
112
189
  ${({$showingAll:e})=>e?"height: 100%; overflow-y:auto;":"max-height: 350px;"}
113
- `,ButtonViewAllWrapper=styled.styled.span`
114
- margin-left: auto;
115
- button {
116
- background-color: var(--color-grey-2);
117
- border: 1px solid var(--color-white) !important;
118
- border-radius: 32px;
119
- color: var(--color-white) !important;
120
- height: 32px;
121
- padding: 6px 16px;
122
- &:hover {
123
- background-color: var(--color-grey-4);
124
- color: var(--color-white);
125
- }
126
- }
127
190
  `;exports.VideoPlayer=VideoPlayer;
@@ -17,3 +17,9 @@ export interface MediaItem {
17
17
  title: string;
18
18
  type?: 'AUDIO' | 'VIDEO';
19
19
  }
20
+ export interface Trailer {
21
+ id: number;
22
+ src: string;
23
+ subtitles: Subtitle[];
24
+ thumbnail: string;
25
+ }
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { Trailer } from '../common';
3
+ type TrailerListItemProps = {
4
+ trailer: Trailer;
5
+ title: string;
6
+ handleSetPlayingTrailer: React.Dispatch<React.SetStateAction<boolean>>;
7
+ };
8
+ type ButtonViewAllProps = {
9
+ showingAll: boolean;
10
+ toggleShowingAll: React.MouseEventHandler<HTMLButtonElement>;
11
+ };
12
+ export declare const TrailerListItem: ({ trailer, title, handleSetPlayingTrailer, }: TrailerListItemProps) => React.JSX.Element;
13
+ export declare const ButtonViewAll: ({ showingAll, toggleShowingAll, }: ButtonViewAllProps) => React.JSX.Element;
14
+ export {};
@@ -1,11 +1,5 @@
1
- import React, { MutableRefObject } from 'react';
2
- import { MediaItem, Subtitle } from '../common';
3
- interface Trailer {
4
- id: number;
5
- src: string;
6
- subtitles: Subtitle[];
7
- thumbnail: string;
8
- }
1
+ import React from 'react';
2
+ import { MediaItem, Trailer } from '../common';
9
3
  export interface VideoPlayerProps {
10
4
  /**
11
5
  * @param activeIndex the media item frm the playlist currently playing
@@ -70,11 +64,10 @@ export interface VideoPlayerProps {
70
64
  /**
71
65
  * @param forwardedRef the reference to the video player
72
66
  */
73
- forwardedRef?: MutableRefObject<any>;
67
+ forwardedRef?: React.MutableRefObject<any>;
74
68
  }
75
69
  /**
76
70
  * ReactPlayer props reference -> https://www.npmjs.com/package/react-player#props
77
71
  * HLS Option props reference -> https://github.com/video-dev/hls.js/blob/master/docs/API.md#fine-tuning
78
72
  */
79
73
  export declare const VideoPlayer: ({ activeIndex, pip, playable, playlist, onClickPreview, onPipChange, onProgress, onStart, orientation, setMediaItem, forwardedRef, subtitle, title, trailer, volume, }: VideoPlayerProps) => React.JSX.Element | null;
80
- export {};
@@ -0,0 +1 @@
1
+ export declare const useLocalStorage: <T = unknown>(key: string, defaultValue?: T | undefined) => [T, (state: T) => void, () => void];
@@ -0,0 +1 @@
1
+ "use strict";var React=require("react");function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React);const setLocalStorageItem=(e,t)=>{"undefined"!=typeof window&&(t=JSON.stringify(t),window.localStorage.setItem(e,t))},removeLocalStorageItem=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},getLocalStorageItem=e=>{if("undefined"!=typeof window)return"string"==typeof(e=window.localStorage.getItem(e))?JSON.parse(e):e},useLocalStorage=(t,a)=>{const[e,o]=React__default.default.useState(()=>{var e=getLocalStorageItem(t);return null!==e?e:a});var r=React__default.default.useCallback(()=>{o(void 0),removeLocalStorageItem(t)},[t]);return React__default.default.useEffect(()=>{null===getLocalStorageItem(t)&&void 0!==a&&setLocalStorageItem(t,a)},[t,a]),[e,e=>{o(e),setLocalStorageItem(t,e)},r]};exports.useLocalStorage=useLocalStorage;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soul-refiner/design-system",
3
- "version": "2.7.30",
3
+ "version": "2.8.2",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/src/index.d.ts",
6
6
  "license": "MIT",