@soul-refiner/design-system 2.4.5 → 2.4.7

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"),styled=require("styled-components"),colors=require("../../../common/colors.js"),box=require("../../atoms/box/box.js"),button=require("../button/button.js"),upload_audio=require("../../../icons/special/upload_audio.js"),upload_file=require("../../../icons/special/upload_file.js"),upload_image=require("../../../icons/special/upload_image.js"),upload_video=require("../../../icons/special/upload_video.js"),modal=require("../../surfaces/modal/modal.js"),heading=(require("../../atoms/typography/display.js"),require("../../atoms/typography/heading.js")),paragraph=require("../../atoms/typography/paragraph.js"),validations=(require("../../atoms/typography/typography.js"),require("./validations.js"));function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React);const Upload=({background:e="hue-blue-3",borderColor:t="hue-blue-2",children:a,iconColor:l="primary-blue-2",multiple:i,onDrop:o,size:r="large",subtext:d,text:n,type:u,height:c,validation:s,validationMessage:p})=>{const f=React__default.default.useRef(null),[m,g]=React__default.default.useState(!1);const[_,h]=React__default.default.useState([]);var x={audio:{icon:{"fit-content":28,large:28,small:28},height:{"fit-content":281,large:281,small:75}},file:{icon:{"fit-content":68,large:68,small:57},height:{"fit-content":281,large:281,small:75}},image:{icon:{"fit-content":162,large:162,small:57},height:{"fit-content":281,large:281,small:75}},video:{icon:{"fit-content":140,large:140,small:57},height:{"fit-content":336,large:562,small:75}}},l={color:l,size:x[u].icon[r]},l={audio:React__default.default.createElement(upload_audio.UploadAudio,{...l}),file:React__default.default.createElement(upload_file.UploadFile,{...l}),image:React__default.default.createElement(upload_image.UploadImage,{...l}),video:React__default.default.createElement(upload_video.UploadVideo,{...l})};const $=(e,t)=>{0===e.length&&o?o(t):h(e)},v=()=>{f.current&&(f.current.value="")};return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(modal.Modal,{controlledOpen:0<_.length},React__default.default.createElement(modal.Modal.Content,{footer:React__default.default.createElement(box.Box,{$display:"flex",$justify:"center",$gap:16,sx:"position: relative; width: 100%;"},React__default.default.createElement(button.Button,{fluid:!0,size:"small",type:"primary",onClick:()=>h([])},"Close")),header:React__default.default.createElement(heading.H,{$bold:!0,$color:"grey-2",$fontSize:20},"Can't read files")},React__default.default.createElement(box.Box,{$align:"flex-start",$display:"flex",$dir:"column",$gap:32,sx:"width: 500px"},React__default.default.createElement(paragraph.P,{$textClampLines:10},p)))),React__default.default.createElement(Wrapper,{$background:e,$borderColor:t,$draggingOver:m,$height:c||x[u].height[r],$size:r,onDragOver:e=>{e.preventDefault(),g(!0)},onDragLeave:e=>{e.preventDefault(),g(!1)},onDrop:e=>{e.preventDefault(),g(!1);e=e.dataTransfer.files;const t=new DataTransfer;Array.from(e).forEach(e=>{t.items.add(e)});e=f.current;null!==e&&(e.files=t.files,o)&&o(e.files)}},React__default.default.createElement(box.Box,{$align:"center",$borderRadius:"medium",$dir:"column",$display:"flex",$gap:16,$justify:"center",sx:"height: 100%; width: 100%; svg { flex-shrink: 0; };"},l[u],"small"!==r&&React__default.default.createElement(box.Box,{$align:"center",$dir:"column",$display:"flex",$gap:8,$justify:"center",sx:"width: 100%;"},React__default.default.createElement(paragraph.P,{$textAlign:"center",sx:"width: 100%;"},n,React__default.default.createElement(button.Button,{onClick:()=>f.current?.click(),size:"small",sx:"display: inline;",type:"text"},"Browse")),React__default.default.createElement(paragraph.P,{$textAlign:"center",sx:"width: 100%;"},d)),React__default.default.createElement(Input,{"data-testid":"dropzone-upload-input",ref:f,type:"file",multiple:i,accept:{video:"video/*",audio:"audio/*",image:"image/*",file:".xlsx, .xls, .doc, .docx, .ppt, .pptx, .txt, .pdf, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, text/plain, application/pdf,"}[u],name:"Files",onChange:async()=>{var e=f.current;if(e?.files?.length){for(const i of e.files){var t=[];if(s){var{format:a,size:l}=s,l=(a&&(a=await validations.validateFormat(i,a))&&t.push(a),l&&(a=await validations.validateSize(i,l))&&t.push(a),await validations.validateDimensions(i,s));if(0<l.length&&t.push(...l),0<t.length)return void $(t,e.files)}}$([],e.files)}}}))),React__default.default.Children.map(a,e=>React__default.default.isValidElement(e)?React__default.default.cloneElement(e,{handleUpload:()=>f.current?.click(),removeFileFromState:v}):e))},Wrapper=styled.styled.div`
2
+ "use strict";var React=require("react"),styled=require("styled-components"),colors=require("../../../common/colors.js"),box=require("../../atoms/box/box.js"),button=require("../button/button.js"),upload_audio=require("../../../icons/special/upload_audio.js"),upload_file=require("../../../icons/special/upload_file.js"),upload_image=require("../../../icons/special/upload_image.js"),upload_video=require("../../../icons/special/upload_video.js"),modal=require("../../surfaces/modal/modal.js"),heading=(require("../../atoms/typography/display.js"),require("../../atoms/typography/heading.js")),paragraph=require("../../atoms/typography/paragraph.js"),validations=(require("../../atoms/typography/typography.js"),require("./validations.js"));function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React);const Upload=({background:e="hue-blue-3",borderColor:t="hue-blue-2",children:a,iconColor:l="primary-blue-2",multiple:r,onDrop:o,size:i="large",subtext:d,text:u,type:n,height:s,validation:c,validationMessage:p})=>{const f=React__default.default.useRef(null),[_,g]=React__default.default.useState(!1),[m,h]=React__default.default.useState([]);l={color:l,size:validations.heightLookup[n].icon[i]},l={audio:React__default.default.createElement(upload_audio.UploadAudio,{...l}),file:React__default.default.createElement(upload_file.UploadFile,{...l}),image:React__default.default.createElement(upload_image.UploadImage,{...l}),video:React__default.default.createElement(upload_video.UploadVideo,{...l})};const x=(e,t)=>{0===e.length&&o?o(t):h(e)},$=()=>{f.current&&(f.current.value="")};return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(modal.Modal,{controlledOpen:0<m.length},React__default.default.createElement(modal.Modal.Content,{footer:React__default.default.createElement(box.Box,{$display:"flex",$justify:"center",$gap:16,sx:"position: relative; width: 100%;"},React__default.default.createElement(button.Button,{fluid:!0,size:"small",type:"primary",onClick:()=>h([])},"Close")),header:React__default.default.createElement(heading.H,{$bold:!0,$color:"grey-2",$fontSize:20},"Can't read files")},React__default.default.createElement(box.Box,{$align:"flex-start",$display:"flex",$dir:"column",$gap:32,sx:"width: 500px"},React__default.default.createElement(paragraph.P,{$textClampLines:10},p)))),React__default.default.createElement(Wrapper,{$background:e,$borderColor:t,$draggingOver:_,$height:s||validations.heightLookup[n].height[i],$size:i,onDragOver:e=>{e.preventDefault(),g(!0)},onDragLeave:e=>{e.preventDefault(),g(!1)},onDrop:async e=>{h([]),e.preventDefault(),g(!1);var t,e=e.dataTransfer.files,a=new DataTransfer,l=[];for(const r of Array.from(e))!c||0===(t=await validations.validateFile(r,c)).length?a.items.add(r):l.push(...t);e=f.current;null!==e&&(e.files=a.files,0<l.length?x(l,e.files):x([],e.files))}},React__default.default.createElement(box.Box,{$align:"center",$borderRadius:"medium",$dir:"column",$display:"flex",$gap:16,$justify:"center",sx:"height: 100%; width: 100%; svg { flex-shrink: 0; };"},l[n],"small"!==i&&React__default.default.createElement(box.Box,{$align:"center",$dir:"column",$display:"flex",$gap:8,$justify:"center",sx:"width: 100%;"},React__default.default.createElement(paragraph.P,{$textAlign:"center",sx:"width: 100%;"},u,React__default.default.createElement(button.Button,{onClick:()=>f.current?.click(),size:"small",sx:"display: inline;",type:"text"},"Browse")),React__default.default.createElement(paragraph.P,{$textAlign:"center",sx:"width: 100%;"},d)),React__default.default.createElement(Input,{"data-testid":"dropzone-upload-input",ref:f,type:"file",multiple:r,accept:validations.fileTypeLookup[n],name:"Files",onChange:async()=>{h([]);var e=f.current;if(e?.files?.length){var t=[];for(const l of e.files)if(c){var a=await validations.validateFile(l,c);if(0<a.length){t.push(...a);break}}x(t,e.files)}}}))),React__default.default.Children.map(a,e=>React__default.default.isValidElement(e)?React__default.default.cloneElement(e,{handleUpload:()=>f.current?.click(),removeFileFromState:$}):e))},Wrapper=styled.styled.div`
3
3
  box-sizing: border-box;
4
4
  width: ${({$size:e})=>"large"===e?"100%":"fit-content"===e?"fit-content":"134px"};
5
5
  height: ${({$height:e})=>e}px;
@@ -1 +1 @@
1
- "use strict";require("../../../common/date.js");var file=require("../../../utils/file.js");const validateFormat=async(i,e)=>e&&!e.includes(i.type)?"format":null,validateSize=async(i,e)=>e&&i.size>file.toBytes(e)?"size":null,validateDimensions=async(i,a)=>new Promise(e=>{const t=new Image;t.src=URL.createObjectURL(i),t.onload=()=>{var i=[];a.width&&t.width!==a.width&&i.push("width"),a.height&&t.height!==a.height&&i.push("height"),a.maxWidth&&t.width>a.maxWidth&&i.push("maxWidth"),a.minWidth&&t.width<a.minWidth&&i.push("minWidth"),a.maxHeight&&t.height>a.maxHeight&&i.push("maxHeight"),a.minHeight&&t.height<a.minHeight&&i.push("minHeight"),URL.revokeObjectURL(t.src),e(i)},t.onerror=()=>{URL.revokeObjectURL(t.src),e(["error loading image"])}});exports.validateDimensions=validateDimensions,exports.validateFormat=validateFormat,exports.validateSize=validateSize;
1
+ "use strict";require("../../../common/date.js");var file=require("../../../utils/file.js");const validateFormat=async(i,e)=>e&&!e.includes(i.type)?"format":null,validateSize=async(i,e)=>e&&i.size>file.toBytes(e)?"size":null,validateDimensions=async(i,a)=>new Promise(e=>{const t=new Image;t.src=URL.createObjectURL(i),t.onload=()=>{var i=[];a.width&&t.width!==a.width&&i.push("width"),a.height&&t.height!==a.height&&i.push("height"),a.maxWidth&&t.width>a.maxWidth&&i.push("maxWidth"),a.minWidth&&t.width<a.minWidth&&i.push("minWidth"),a.maxHeight&&t.height>a.maxHeight&&i.push("maxHeight"),a.minHeight&&t.height<a.minHeight&&i.push("minHeight"),URL.revokeObjectURL(t.src),e(i)},t.onerror=()=>{URL.revokeObjectURL(t.src),e(["error loading image"])}}),validateFile=async(i,e)=>{var t=[],{format:a,size:o}=e,o=(a&&(a=await validateFormat(i,a))&&t.push(a),o&&(a=await validateSize(i,o))&&t.push(a),await validateDimensions(i,e));return t.push(...o),t},heightLookup={audio:{icon:{"fit-content":28,large:28,small:28},height:{"fit-content":281,large:281,small:75}},file:{icon:{"fit-content":68,large:68,small:57},height:{"fit-content":281,large:281,small:75}},image:{icon:{"fit-content":162,large:162,small:57},height:{"fit-content":281,large:281,small:75}},video:{icon:{"fit-content":140,large:140,small:57},height:{"fit-content":336,large:562,small:75}}},fileTypeLookup={video:"video/*",audio:"audio/*",image:"image/*",file:".xlsx, .xls, .doc, .docx, .ppt, .pptx, .txt, .pdf, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, text/plain, application/pdf,"};exports.fileTypeLookup=fileTypeLookup,exports.heightLookup=heightLookup,exports.validateDimensions=validateDimensions,exports.validateFile=validateFile,exports.validateFormat=validateFormat,exports.validateSize=validateSize;
@@ -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"),box=require("../../atoms/box/box.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"),tabs=(require("../../navigation/breadcrumb/breadcrumb.js"),require("../../navigation/inner/inner.js"),require("../../navigation/tabs/tabs.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(button.Button,{onClick:t,size:"small",sx:"background-color: var(--color-grey-2); border-color: var(--color-grey-8); color: var(--color-grey-8); margin-left: auto;",type:"text"},e?"Collapse":"View all"),VideoPlayer=({activeIndex:e,pip:t,playable:a,playlist:l,onPipChange:r,onProgress:i,orientation:o,setMediaItem:n,forwardedRef:d,subtitle:s,title:c,trailer:u})=>{const[p,f]=React__default.default.useState(0),[g,x]=React__default.default.useState(!1),[m,b]=React__default.default.useState(!a),[y,h]=React__default.default.useState(l?.[e].id||null);var _=React__default.default.useRef(null);const w=d||_,v=m?u:l?.[e];const R=e=>{b(!1),n(e)};d=()=>x(e=>!e);return v?React__default.default.createElement(Wrapper,{$orientation:o},React__default.default.createElement(InnerWrapper,{$orientation:o,$playable:a||m},"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},c),React__default.default.createElement(paragraph.P,{as:"h3",$bold:!0,$color:"grey-8"},s)),React__default.default.createElement(ReactPlayer__default.default,{className:"player",config:{file:{attributes:{crossOrigin:"true"},forceHLS:!0,hlsOptions:{autoStartLoad:!0},tracks:(v?.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 "+c,layout:"fill",priority:!0,quality:100,style:{objectFit:"contain"},src:v.thumbnail}),progressInterval:4e3,onDisablePIP:()=>r&&r(!1),onEnablePIP:()=>r&&r(!0),onProgress:i,onReady:()=>{m||0===w?.current?.getCurrentTime()&&0!==v?.progress&&w.current.seekTo(v.progress)},pip:t,playIcon:a||m?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:w,style:{backgroundColor:"var(--color-grey-0)",maxHeight:720,maxWidth:"100%",minHeight:480,overflow:"hidden",position:"relative"},url:v.src,width:"100%"}),"horizontal"===o&&React__default.default.createElement(Side,null,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},c),React__default.default.createElement(paragraph.P,{as:"h3",$bold:!0,$color:"grey-8"},s)),React__default.default.createElement(box.Box,null,React__default.default.createElement(tabs.Tabs,{activeIndex:p,onChange:e=>f(e),items:[{label:"All lessons",color:"white"},{label:"Trailer",color:"white"}],size:"medium",sx:"justify-content: flex-start;"}),React__default.default.createElement(ButtonViewAll,{showingAll:g,toggleShowingAll:d})),[React__default.default.createElement(HorizontalPlaylistWrapper,{$showingAll:g},l.map((e,t)=>React__default.default.createElement(playlistItem.PlaylistItem,{key:e.id,nowplaying:y,playlistItemId:e.id,duration:e.duration,onClick:()=>{R(t),h(e.id)},playable:!0,progress:e.progress,shortDescription:e.shortDescription,thumbnail:e.thumbnail,title:e.title}))),!!u&&React__default.default.createElement(TrailerListItem,{title:c,handleSetPlayingTrailer:b,trailer:u})][p]),"vertical"===o&&React__default.default.createElement(box.Box,{$dir:"column",$gap:24},React__default.default.createElement(box.Box,{sx:"padding: 0 1.5rem;"},React__default.default.createElement(tabs.Tabs,{activeIndex:p,onChange:e=>f(e),items:[{label:"All lessons",color:"white"},{label:"Trailer",color:"white"}],size:"medium",sx:"justify-content: flex-start;"}),React__default.default.createElement(ButtonViewAll,{showingAll:g,toggleShowingAll:d})),[React__default.default.createElement(VerticalPlaylistWrapper,{$showingAll:g},l.map((e,t)=>React__default.default.createElement(playlistItem.PlaylistItem,{key:e.id,duration:e.duration,onClick:()=>R(t),playable:a,progress:e.progress,shortDescription:e.shortDescription,thumbnail:e.thumbnail,title:e.title}))),!!u&&React__default.default.createElement(box.Box,{$dir:"column",$gap:8,sx:"margin: 0px 24px;"},React__default.default.createElement(TrailerListItem,{title:c,handleSetPlayingTrailer:b,trailer:u}))][p]))):null},Wrapper=styled.styled.div`
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"),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"),tabs=(require("../../navigation/breadcrumb/breadcrumb.js"),require("../../navigation/inner/inner.js"),require("../../navigation/tabs/tabs.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,onPipChange:r,onProgress:i,orientation:o,setMediaItem:n,forwardedRef:d,subtitle:s,title:c,trailer:u})=>{const[p,f]=React__default.default.useState(0),[g,x]=React__default.default.useState(!1),[m,b]=React__default.default.useState(!a),[y,h]=React__default.default.useState(l?.[e].id||null);var _=React__default.default.useRef(null);const w=d||_,v=m?u:l?.[e];const R=e=>{b(!1),n(e)};d=()=>x(e=>!e);return v?React__default.default.createElement(Wrapper,{$orientation:o},React__default.default.createElement(InnerWrapper,{$orientation:o,$playable:a||m},"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},c),React__default.default.createElement(paragraph.P,{as:"h3",$bold:!0,$color:"grey-8"},s)),React__default.default.createElement(ReactPlayer__default.default,{className:"player",config:{file:{attributes:{crossOrigin:"true"},forceHLS:!0,hlsOptions:{autoStartLoad:!0},tracks:(v?.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 "+c,layout:"fill",priority:!0,quality:100,style:{objectFit:"contain"},src:v.thumbnail}),progressInterval:4e3,onDisablePIP:()=>r&&r(!1),onEnablePIP:()=>r&&r(!0),onProgress:i,onReady:()=>{m||0===w?.current?.getCurrentTime()&&0!==v?.progress&&w.current.seekTo(v.progress)},pip:t,playIcon:a||m?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:w,style:{backgroundColor:"var(--color-grey-0)",maxHeight:720,maxWidth:"100%",minHeight:480,overflow:"hidden",position:"relative"},url:v.src,width:"100%"}),"horizontal"===o&&React__default.default.createElement(Side,null,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},c),React__default.default.createElement(paragraph.P,{as:"h3",$bold:!0,$color:"grey-8"},s)),React__default.default.createElement(box.Box,{$align:"center"},React__default.default.createElement(tabs.Tabs,{activeIndex:p,onChange:e=>f(e),items:[{label:"All lessons",color:"dark"},{label:"Trailer",color:"dark"}],size:"medium",sx:"justify-content: flex-start;"}),React__default.default.createElement(ButtonViewAll,{showingAll:g,toggleShowingAll:d})),[React__default.default.createElement(HorizontalPlaylistWrapper,{$showingAll:g},l.map((e,t)=>React__default.default.createElement(playlistItem.PlaylistItem,{key:e.id,nowplaying:y,playlistItemId:e.id,duration:e.duration,onClick:()=>{R(t),h(e.id)},playable:!0,progress:e.progress,shortDescription:e.shortDescription,thumbnail:e.thumbnail,title:e.title}))),!!u&&React__default.default.createElement(TrailerListItem,{title:c,handleSetPlayingTrailer:b,trailer:u})][p]),"vertical"===o&&React__default.default.createElement(box.Box,{$dir:"column",$gap:24},React__default.default.createElement(box.Box,{sx:"padding: 0 1.5rem;",$align:"center"},React__default.default.createElement(tabs.Tabs,{activeIndex:p,onChange:e=>f(e),items:[{label:"All lessons",color:"dark"},{label:"Trailer",color:"dark"}],size:"medium",sx:"justify-content: flex-start;"}),React__default.default.createElement(ButtonViewAll,{showingAll:g,toggleShowingAll:d})),[React__default.default.createElement(VerticalPlaylistWrapper,{$showingAll:g},l.map((e,t)=>React__default.default.createElement(playlistItem.PlaylistItem,{key:e.id,duration:e.duration,onClick:()=>R(t),playable:a,progress:e.progress,shortDescription:e.shortDescription,thumbnail:e.thumbnail,title:e.title}))),!!u&&React__default.default.createElement(box.Box,{$dir:"column",$gap:8,sx:"margin: 0px 24px;"},React__default.default.createElement(TrailerListItem,{title:c,handleSetPlayingTrailer:b,trailer:u}))][p]))):null},Wrapper=styled.styled.div`
3
3
  display: flex;
4
4
  justify-content: center;
5
5
  background-color: var(--color-grey-0);
@@ -99,4 +99,18 @@
99
99
  ${({$showingAll:e})=>e?`
100
100
  max-height: unset;
101
101
  overflow-y: visible;`:""}
102
+ `,ButtonViewAllWrapper=styled.styled.span`
103
+ margin-left: auto;
104
+ button {
105
+ background-color: var(--color-grey-2);
106
+ border: 1px solid var(--color-white) !important;
107
+ border-radius: 32px;
108
+ color: var(--color-white) !important;
109
+ height: 32px;
110
+ padding: 6px 16px;
111
+ &:hover {
112
+ background-color: var(--color-grey-4);
113
+ color: var(--color-white);
114
+ }
115
+ }
102
116
  `;exports.VideoPlayer=VideoPlayer;
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- "use strict";var React=require("react"),styled=require("styled-components"),Link=require("next/link"),paragraph=require("../../atoms/typography/paragraph.js");function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React),Link__default=_interopDefaultCompat(Link);const colorLookup={blue:{bg:"var(--color-hue-blue-2)",icon:"var(--color-hue-blue-1)"},green:{bg:"var(--color-green-8)",icon:"var(--color-green-2)"},grey:{bg:"var(--color-grey-9)",icon:"var(--color-grey-7)"},mint:{bg:"var(--color-hue-mint-2)",icon:"var(--color-hue-mint-1)"},ocean:{bg:"var(--color-hue-ocean-2)",icon:"var(--color-hue-ocean-1)"},orange:{bg:"var(--color-hue-orange-2)",icon:"var(--color-hue-orange-1)"},pink:{bg:"var(--color-hue-pink-2)",icon:"var(--color-hue-pink-1)"},purple:{bg:"var(--color-hue-purple-2)",icon:"var(--color-hue-purple-1)"},red:{bg:"var(--color-red-9)",icon:"var(--color-red-3)"},yellow:{bg:"var(--color-yellow-8)",icon:"var(--color-yellow-3)"},white:{bg:"var(--color-white)",icon:"var(--color-white)"}},Tabs=({activeIndex:r,items:e,onChange:a,size:l="large",sx:o})=>{const t=React__default.default.useId();return React__default.default.createElement(Wrapper,{$sx:o},e.map((e,o)=>React__default.default.createElement(Item,{active:r===o,color:e?.color,disabled:e?.disabled,href:e?.href,icon:e?.icon,key:t+o.toString(36),label:e.label,onClick:()=>a&&a(o),size:l})))},Wrapper=styled.styled.div`
2
+ "use strict";var React=require("react"),styled=require("styled-components"),Link=require("next/link"),paragraph=require("../../atoms/typography/paragraph.js");function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React),Link__default=_interopDefaultCompat(Link);const colorLookup={blue:{bg:"var(--color-hue-blue-2)",icon:"var(--color-hue-blue-1)"},green:{bg:"var(--color-green-8)",icon:"var(--color-green-2)"},grey:{bg:"var(--color-grey-9)",icon:"var(--color-grey-7)"},mint:{bg:"var(--color-hue-mint-2)",icon:"var(--color-hue-mint-1)"},ocean:{bg:"var(--color-hue-ocean-2)",icon:"var(--color-hue-ocean-1)"},orange:{bg:"var(--color-hue-orange-2)",icon:"var(--color-hue-orange-1)"},pink:{bg:"var(--color-hue-pink-2)",icon:"var(--color-hue-pink-1)"},purple:{bg:"var(--color-hue-purple-2)",icon:"var(--color-hue-purple-1)"},red:{bg:"var(--color-red-9)",icon:"var(--color-red-3)"},yellow:{bg:"var(--color-yellow-8)",icon:"var(--color-yellow-3)"},dark:{bg:"var(--color-grey-1)",icon:"var(--color-grey-9)"}},Tabs=({activeIndex:o,items:e,onChange:a,size:l="large",sx:r})=>{const t=React__default.default.useId();return React__default.default.createElement(Wrapper,{$sx:r},e.map((e,r)=>React__default.default.createElement(Item,{active:o===r,color:e?.color,disabled:e?.disabled,href:e?.href,icon:e?.icon,key:t+r.toString(36),label:e.label,onClick:()=>a&&a(r),size:l})))},Wrapper=styled.styled.div`
3
3
  display: flex;
4
4
  flex-flow: row nowrap;
5
5
  align-items: flex-end;
@@ -13,7 +13,7 @@
13
13
  }
14
14
 
15
15
  ${({$sx:e})=>e||""}
16
- `,Item=({active:e,color:o,disabled:r,href:a,icon:l,label:t,onClick:c,size:i="large"})=>{var o=r?"grey":o||"blue",n=colorLookup[o].icon,o=colorLookup[o].bg,p="large"===i?16:"medium"===i?14:12,d="large"===i?24:"medium"===i?20:16;return React__default.default.createElement(Element,{onClick:!r&&c?c:void 0,href:a||"#",scroll:!1,$active:e,$color:n,$disabled:r,$hasIcon:!!l,$size:i},l&&React__default.default.createElement(IconWrapper,{$bg:o},l),React__default.default.createElement(paragraph.P,{$fontSize:p,$lineHeight:d,$semiBold:!0},t))},Element=styled.styled(Link__default.default)`
16
+ `,Item=({active:e,color:r,disabled:o,href:a,icon:l,label:t,onClick:c,size:i="large"})=>{var n=o?"grey":r||"blue",d=colorLookup[n].icon,n=colorLookup[n].bg,p="large"===i?16:"medium"===i?14:12,u="large"===i?24:"medium"===i?20:16,c={onClick:!o&&c?c:void 0,href:a||"#",scroll:!1,$active:e,$color:d,$disabled:o,$hasIcon:!!l,$size:i},a="dark"===r?DarkElement:Element;return React__default.default.createElement(a,{...c,$bg:n},l&&React__default.default.createElement(IconWrapper,{$bg:n},l),React__default.default.createElement(paragraph.P,{$fontSize:p,$lineHeight:u,$semiBold:!0},t))},Element=styled.styled(Link__default.default)`
17
17
  position: relative;
18
18
  display: flex;
19
19
  align-items: center;
@@ -21,57 +21,65 @@
21
21
  cursor: pointer;
22
22
  user-select: none;
23
23
 
24
- ${({$size:e,$hasIcon:o})=>o?"padding: 16px 12px;":"small"===e?"padding: 10px 8px;":"medium"===e?"padding: 14px 10px;":"padding: 22px 12px;"}
24
+ ${({$size:e,$hasIcon:r})=>{if(r)return"padding: 16px 12px;";switch(e){case"small":return"padding: 10px 8px;";case"medium":return"padding: 14px 10px;";default:return"padding: 22px 12px;"}}}
25
25
 
26
- ${({$hasIcon:e,$color:o,$disabled:r})=>r?`
27
- cursor: initial;
28
- `:e?`
29
- &:hover {
30
- p {
31
- color: ${o};
32
- }
33
- }
26
+ ${({$disabled:e,$hasIcon:r,$color:o})=>e?"cursor: initial;":r?`
27
+ &:hover {
28
+ p {
29
+ color: ${o};
30
+ }
31
+ }
32
+ div > svg {
33
+ fill: ${o};
34
+ }
35
+ `:`
36
+ &:hover {
37
+ background-color: var(--color-grey-10);
38
+ &:after {
39
+ position: absolute;
40
+ content: '';
41
+ width: 100%;
42
+ height: 3px;
43
+ bottom: 0px;
44
+ left: 0px;
45
+ background-color: var(--color-primary-blue-3);
46
+ border-top-right-radius: 3px;
47
+ border-top-left-radius: 3px;
48
+ }
49
+ }
50
+ &:active {
51
+ background-color: var(--color-grey-9);
52
+ }
53
+ `}
34
54
 
35
- div > svg {
36
- fill: ${o};
37
- }`:`
55
+ ${({$active:e,$color:r,$hasIcon:o})=>e&&`
56
+ &:after {
57
+ position: absolute;
58
+ content: '';
59
+ width: 100%;
60
+ height: 3px;
61
+ bottom: 0px;
62
+ left: 0px;
63
+ background-color: ${o?r:"var(--color-primary-blue-2)"} !important;
64
+ border-top-right-radius: 3px;
65
+ border-top-left-radius: 3px;
66
+ }
67
+ `}
68
+ `,DarkElement=styled.styled(Element)`
38
69
  p {
39
- color: ${o};
70
+ color: ${({$color:e})=>e};
40
71
  }
72
+
41
73
  &:hover {
42
- p {
43
- color: var(--color-grey-6);
44
- }
45
- background-color: var(--color-grey-10);
74
+ background-color: ${({$active:e,$bg:r})=>e?"var(--color-grey)":r};
46
75
  &:after {
47
- position: absolute;
48
- content: '';
49
- width: 100%;
50
- height: 3px;
51
- bottom: 0px;
52
- left: 0px;
53
- background-color: var(--color-primary-blue-3);
54
- border-top-right-radius: 3px;
55
- border-top-left-radius: 3px;
76
+ background-color: ${({$active:e,$bg:r})=>e?"var(--color-primary-blue-3)":r};
56
77
  }
57
78
  }
58
- &:active {
59
- background-color: var(--color-grey-9);
60
- }`}
61
79
 
62
- ${({$active:e,$color:o,$hasIcon:r})=>e?`
63
- &:after {
64
- position: absolute;
65
- content: '';
66
- width: 100%;
67
- height: 3px;
68
- bottom: 0px;
69
- left: 0px;
70
- background-color: ${r?o:"var(--color-primary-blue-2)"} !important;
71
- border-top-right-radius: 3px;
72
- border-top-left-radius: 3px;
80
+ &:active {
81
+ background-color: ${({$bg:e})=>e};
73
82
  }
74
- `:""}
75
83
  `,IconWrapper=styled.styled.div`
76
84
  padding: 8px;
77
85
  border-radius: 8px;
@@ -27,3 +27,15 @@ export interface DimensionOptions {
27
27
  * @returns A promise that resolves with an array of strings identifying which dimension limits were exceeded or not met, if any; otherwise, resolves with an empty array.
28
28
  */
29
29
  export declare const validateDimensions: (file: File, options: DimensionOptions) => Promise<string[]>;
30
+ export declare const validateFile: (file: File, validation: {
31
+ format?: string[];
32
+ size?: string;
33
+ } & DimensionOptions) => Promise<string[]>;
34
+ export type UploadTypes = 'audio' | 'image' | 'file' | 'video';
35
+ export declare const heightLookup: Record<UploadTypes, Record<'height' | 'icon', Record<'small' | 'fit-content' | 'large', number>>>;
36
+ export declare const fileTypeLookup: {
37
+ video: string;
38
+ audio: string;
39
+ image: string;
40
+ file: string;
41
+ };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- type TabColors = 'blue' | 'grey' | 'green' | 'mint' | 'orange' | 'ocean' | 'pink' | 'purple' | 'red' | 'yellow' | 'white';
2
+ 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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soul-refiner/design-system",
3
- "version": "2.4.5",
3
+ "version": "2.4.7",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/src/index.d.ts",
6
6
  "license": "MIT",