@useloops/design-system 1.4.687 → 1.4.688
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/esm/systems/Platform/VideoControls2/VideoControls2.js +1 -1
- package/dist/esm/systems/Platform/VideoControls2/components/ActionButton/ActionButton.js +1 -1
- package/dist/esm/systems/Platform/VideoControls2/components/Timeline/Timeline.js +1 -1
- package/dist/systems/Platform/VideoControls2/VideoControls2.d.ts +2 -0
- package/dist/systems/Platform/VideoControls2/VideoControls2.js +1 -1
- package/dist/systems/Platform/VideoControls2/components/ActionButton/ActionButton.js +1 -1
- package/dist/systems/Platform/VideoControls2/components/Timeline/Timeline.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as e,jsx as r}from"react/jsx-runtime";import{forwardRef as t,useState as o,useEffect as i,useCallback as n,useImperativeHandle as a,memo as s}from"react";import{styled as m,Stack as l}from"@mui/material";import d from"@use-it/event-listener";import{normaliseFloat as p}from"../../../utils/normaliseFloat.js";import"../../../utils/formValidation/misc.js";import"../../BrandCore/Icon/Icon.js";import"../../BrandCore/primitiveVariables.js";import"../../WebCore/utils/typography.util.js";import"../../BrandCore/textures.js";import"../../WebCore/AnnualController/AnnualController.js";import"../../WebCore/SelectItem/SelectItem.js";import"../../WebCore/Accordion/Accordion.js";import"../../WebCore/Animations/FadeIn.js";import"../../WebCore/Text/Text.js";import"@mui/icons-material";import"../../WebCore/AutocompleteBaseField/_partials/AutocompleteListbox.js";import"../../WebCore/AutocompleteBaseField/_partials/StyledPopper.js";import"../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteField.js";import"../../WebCore/AutocompleteBaseField/_partials/AutocompleteChip.js";import"../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteInput.js";import"merge-sx";import"../../WebCore/Badge/Badge.js";import"../../WebCore/Breadcrumb/Breadcrumb.js";import"../../WebCore/Button/Button.js";import"../../WebCore/ButtonBase/ButtonBase.js";import"../../WebCore/ButtonTabGroup/_partials/ActiveIndicator.js";import"../../WebCore/ButtonTabGroup/_partials/ButtonTabsWrapper.js";import"../../WebCore/ButtonTabGroup/_partials/TabButton.js";import"../../WebCore/Checkbox/StyledCheckbox.js";import"../../WebCore/InputFieldBase/InputFieldBase.js";import"../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js";import"../../WebCore/InputLabelBase/StyledInputLabelBase.js";import"../../WebCore/Differential/DifferentialContainer.js";import"../../WebCore/Differential/DifferentialRadio.js";import"../../WebCore/DropdownMenu/StyledMenu.js";import"../../WebCore/ExpandableTypographyClamp/ExpandableTypographyClamp.js";import"../../WebCore/FormGenerator/FormGenerator.js";import"../../WebCore/GridOverlay/GridOverlay.js";import"html-react-parser";import"../../WebCore/IconButton/IconButton.js";import"../../WebCore/IconButtonBase/IconButtonBase.js";import"../../WebCore/IconButtonGroup/IconButtonGroup.js";import"../../WebCore/Image/Image.js";import"../../WebCore/KbdGroup/Kbd.js";import"../../WebCore/KbdGroup/KbdGroup.js";import"../../WebCore/KeyValueLabel/KeyValueLabel.js";import"../../WebCore/Label/Label.js";import"../../WebCore/Likert/LikertContainer.js";import"../../WebCore/Likert/LikertLabel.js";import"../../WebCore/Likert/LikertRadio.js";import"../../WebCore/Link/StyledLink.js";import"@lottiefiles/dotlottie-react";import"../../WebCore/LoopsAiButton/LoopsAiButton.js";import"markdown-to-jsx";import"material-ui-popup-state/hooks";import u from"../../WebCore/Surface/Surface.js";import"../../WebCore/Menu/MenuItem.js";import"../../WebCore/ModalLayout/_partials/ModalActionsWrapper.js";import"../../WebCore/ModalLayout/_partials/ModalContentWrapper.js";import"../../WebCore/NavigationButton/NavigationButton.js";import"../../WebCore/Nudge/NudgeButton.js";import"../../WebCore/NumberField/NumberField.js";import"../../BrandCore/colorRamps.js";import"../../BrandCore/semanticColor.js";import"../../BrandCore/types.js";import"../../BrandCore/typography.js";import"../../WebCore/Progress/Progress.js";import"../../WebCore/Pill/StyledPill.js";import"../../WebCore/ProgressBar/ProgressBar.js";import"../../WebCore/Radio/StyledRadio.js";import"../../WebCore/Select/StyledSelect.js";import"../../WebCore/RankItem/RankItemContainer.js";import"../../WebCore/RankItem/RankItemLabel.js";import"../../WebCore/SortableList/SortableList.js";import"../../WebCore/SortableList/components/SortableItem/SortableItem.js";import"../../WebCore/SortableList/components/SortableOverlay/SortableOverlay.js";import"@tiptap/extension-placeholder";import"@tiptap/starter-kit";import"mui-tiptap";import"../../WebCore/RichTextField/StyledRichTextEditor.js";import"../../WebCore/Skeleton/Skeleton.js";import"../../WebCore/Slider/StyledSlider.js";import"../../WebCore/StarRating/StarRating.js";import"../../WebCore/Switch/StyledSwitch.js";import"../../WebCore/Textarea/Textarea.js";import"../../WebCore/TrialCard/TrialCardContainers.js";import"../../WebCore/TrialCard/TrialPill.js";import"../../WebCore/UserMenu/UserMenuButton.js";import"../../WebCore/VideoModal/VideoModal.js";import c from"./components/ActionButton/ActionButton.js";import b from"./components/Timeline/Timeline.js";const C=m(u)(({theme:e})=>({display:"flex",flex:1,padding:"2px",gap:e.spacing(e.custom.padding.sm),flexDirection:"column"})),f=m(l)({alignItems:"center",justifyContent:"start",flexDirection:"row",flex:1}),g=s(t(({id:t,videoElement:s,initialEndTime:m=0,initialCurrentTime:l=0,initialMuted:u,initialVolume:g,markers:j,options:T,slots:W,events:{onEnd:y,onPlay:B,onSeekEnd:k,onSeeking:v,onSeekStart:S,onTimeUpdate:h,onPause:I,onVolumeChange:E,onVolumeMute:x,onRestart:L,onFirstPlay:P,onFirstEnded:A,onReset:w}={},videoSeekTime:F,slotProps:M},R)=>{const[G,V]=o(!1),[_,D]=o(!1),[K,N]=o([]),O={rtl:!1,volumeControls:!0,normaliseTime:!1,markerIndicatorMode:"time",markerIndicator:!1,markerIndicatorSize:3,volumeControlsType:"mute",disableBufferingEvents:!1,fullscreenControls:!1,...T},[{seeking:z,endTime:U,currentTime:q,playing:H,buffering:J,loaded:Q,ended:X,volume:Y,muted:Z,startTime:$,firstPlay:ee,firstEnded:re},te]=o({startTime:p(O.normaliseTime?l:0),endTime:p(O.normaliseTime?m:s.duration),currentTime:p(l??0),loaded:!0,ended:!1,firstPlay:!1,firstEnded:!1,seeking:!1,playing:!1,volume:g||1,muted:u||!1,buffering:!1});i(()=>{if(s.muted=Z,s.volume=Y,O.normaliseTime&&(void 0===m||void 0===l))throw new Error("Please supply an initial end time and initial currentTime for normalising time in VideoControls2.tsx");return()=>{be()}},[]),i(()=>{te(e=>({...e,startTime:p(O.normaliseTime?l:0),endTime:p(O.normaliseTime?m:s.duration),currentTime:p(l??0)})),s.currentTime=p(l??0)},[l,m]);const oe=n(()=>{te(e=>({...e,playing:!1,ended:!0,...!re&&{firstEnded:!0}})),y&&y(),!re&&A&&A()},[re]);i(()=>{if(!s||null==F)return;(async()=>{const e=!s.paused,r=F===U;te(e=>({...e,playing:!1,currentTime:p(F)})),await new Promise(e=>{const r=()=>{s.removeEventListener("seeked",r),e()};s.addEventListener("seeked",r),setTimeout(e,500)}),te(e=>({...e,currentTime:p(F)})),await new Promise(e=>setTimeout(e,50)),te(t=>({...t,playing:e,currentTime:p(r?F-.001:F+.001)}))})().catch(e=>{console.error("Error seeking video:",e)})},[F,s]);const ie=n(e=>{te(r=>({...r,muted:e.target?.muted,volume:"number"==typeof e.target?.volume?e.target?.volume:1})),Z!==e.target?.muted&&x&&x(!Z),Y!==e.target?.volume&&E&&E(Y)},[Z,Y]),ne=n(()=>{const e=p(s.currentTime)>=U&&U!==p(s.duration)&&!X,r=p(s.currentTime)>=U&&U===p(s.duration)&&!X&&!H;(e||r)&&(s.pause(),s.dispatchEvent(new Event("ended"))),te(e=>({...e,currentTime:p(s.currentTime)})),h&&h(p(s.currentTime))},[U,X,H]),ae=n(()=>{te(e=>({...e,playing:!1})),I&&I()},[q]),se=n(()=>{te(e=>({...e,playing:!0,ended:!1,...!O?.disableBufferingEvents&&{buffering:!1},...!ee&&{firstPlay:!0}})),!ee&&P&&P(),B&&B()},[ee,O?.disableBufferingEvents]),me=n(()=>{O?.disableBufferingEvents||te(e=>({...e,buffering:!0}))},[O?.disableBufferingEvents]),le=n(()=>{O?.disableBufferingEvents||te(e=>({...e,buffering:!1}))},[J,O?.disableBufferingEvents]),de=n(()=>{if(O?.disableBufferingEvents)return;const e=[];for(let r=0;r<s.buffered.length;r++){const t=s.buffered.start(r),o=s.buffered.end(r);if(o>=$&&t<=U){const r=Math.max(t,$),i=Math.min(o,U);e.push({start:r-$,end:i-$,startPercent:(r-$)/(U-$)*100,widthPercent:(i-r)/(U-$)*100})}}N(e)},[z,U,q,H,J,Q,X,Y,Z,$,K,O?.disableBufferingEvents]),pe=n(async e=>{H&&be(),s.currentTime=$,e&&await ce(),L&&L()},[H,q,$,U,X]),ue=n(async()=>{H&&be(),s.currentTime=$,te(e=>({...e,startTime:p(O.normaliseTime?l:0),endTime:p(O.normaliseTime?m:s.duration),currentTime:p(l??0),loaded:!0,ended:!1,firstPlay:!1,firstEnded:!1,seeking:!1,playing:!1})),w&&w()},[H,q,$,U,X,l,m]),ce=async()=>{await s.play()},be=()=>{s.pause()},Ce=n(e=>{s.currentTime=p(e),te(r=>({...r,currentTime:p(e),ended:!1,seeking:!0,...!O?.disableBufferingEvents&&{buffering:!1},firstPlay:!ee||r.firstPlay,bufferProgress:e})),v&&v(e),!ee&&P&&P()},[J,ee,O?.disableBufferingEvents]),fe=n(async()=>{document.hidden?H&&!s.paused?(V(!0),be()):V(!1):(G&&!H&&await ce(),V(!1))},[H,G,be,ce,s]),ge=n(e=>{e&&s.pause(),te(e=>({...e,seeking:!0})),S&&S()},[X]),je=n(async(e,r,t)=>{r&&(s.currentTime=r),e&&!X&&await s.play(),t&&H&&s.pause(),te(e=>({...e,...r?{currentTime:r}:{},ended:!t&&e.ended,seeking:!1})),k&&k(r)},[H,X,J,z]),Te=n(()=>{document.fullscreenElement?document.exitFullscreen():s.requestFullscreen()},[s]);return d("fullscreenchange",()=>D(!!document.fullscreenElement),document),d("visibilitychange",fe,document),d("pause",ae,s),d("playing",se,s),d("timeupdate",ne,s),d("ended",oe,s),d("volumechange",ie,s),d("waiting",me,s),d("canplay",le,s),d("progress",de,s),a(R,()=>({play:ce,pause:be,restart:pe,reset:ue,seek:(e,r,t)=>je(r,e,t),videoState:{seeking:z,endTime:U,currentTime:q,playing:H,buffering:J,loaded:Q,ended:X,volume:Y,firstPlay:ee,firstEnded:re,muted:Z,startTime:$}})),e(C,{variation:"raised",borderradius:"xl",id:t,sx:M?.paperContainer?.sx,children:[e(f,{...O?.rtl&&{dir:"rtl"},children:[r(c,{seeking:z,playing:H,ended:X,buffering:J,handleAction:async()=>{X?await pe(!0):H?be():await ce()}}),r(b,{handleSeeking:Ce,handleSeekEnd:je,handleSeekStart:ge,ended:X,marker:W?.marker,markersContainerProps:M?.markersContainer,markers:j,markerIndicatorMode:O.markerIndicatorMode,markerIndicatorSize:O.markerIndicatorSize,markerIndicator:O.markerIndicator,startTime:O.normaliseTime?$:0,currentTime:q,endTime:U,playing:H,bufferRanges:K,buffering:J,volume:Y,muted:Z,volumeControls:O.volumeControls,volumeControlsType:O.volumeControlsType,handleVolumeMute:()=>{s.muted=!Z},handleVolumeChange:e=>{s.volume=e,Z&&(s.muted=!1)},fullscreenControls:O.fullscreenControls,isFullScreen:_,handlefullscreenToggle:Te})]}),W?.bottom]})}));export{g as default};
|
|
1
|
+
import{jsxs as e,jsx as r}from"react/jsx-runtime";import{forwardRef as t,useState as o,useEffect as i,useCallback as n,useImperativeHandle as a,memo as s}from"react";import{styled as m,Stack as l}from"@mui/material";import d from"@use-it/event-listener";import{normaliseFloat as p}from"../../../utils/normaliseFloat.js";import"../../../utils/formValidation/misc.js";import"../../BrandCore/Icon/Icon.js";import"../../BrandCore/primitiveVariables.js";import"../../WebCore/utils/typography.util.js";import"../../BrandCore/textures.js";import"../../WebCore/AnnualController/AnnualController.js";import"../../WebCore/SelectItem/SelectItem.js";import"../../WebCore/Accordion/Accordion.js";import"../../WebCore/Animations/FadeIn.js";import"../../WebCore/Text/Text.js";import"@mui/icons-material";import"../../WebCore/AutocompleteBaseField/_partials/AutocompleteListbox.js";import"../../WebCore/AutocompleteBaseField/_partials/StyledPopper.js";import"../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteField.js";import"../../WebCore/AutocompleteBaseField/_partials/AutocompleteChip.js";import"../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteInput.js";import"merge-sx";import"../../WebCore/Badge/Badge.js";import"../../WebCore/Breadcrumb/Breadcrumb.js";import"../../WebCore/Button/Button.js";import"../../WebCore/ButtonBase/ButtonBase.js";import"../../WebCore/ButtonTabGroup/_partials/ActiveIndicator.js";import"../../WebCore/ButtonTabGroup/_partials/ButtonTabsWrapper.js";import"../../WebCore/ButtonTabGroup/_partials/TabButton.js";import"../../WebCore/Checkbox/StyledCheckbox.js";import"../../WebCore/InputFieldBase/InputFieldBase.js";import"../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js";import"../../WebCore/InputLabelBase/StyledInputLabelBase.js";import"../../WebCore/Differential/DifferentialContainer.js";import"../../WebCore/Differential/DifferentialRadio.js";import"../../WebCore/DropdownMenu/StyledMenu.js";import"../../WebCore/ExpandableTypographyClamp/ExpandableTypographyClamp.js";import"../../WebCore/FormGenerator/FormGenerator.js";import"../../WebCore/GridOverlay/GridOverlay.js";import"html-react-parser";import"../../WebCore/IconButton/IconButton.js";import"../../WebCore/IconButtonBase/IconButtonBase.js";import"../../WebCore/IconButtonGroup/IconButtonGroup.js";import"../../WebCore/Image/Image.js";import"../../WebCore/KbdGroup/Kbd.js";import"../../WebCore/KbdGroup/KbdGroup.js";import"../../WebCore/KeyValueLabel/KeyValueLabel.js";import"../../WebCore/Label/Label.js";import"../../WebCore/Likert/LikertContainer.js";import"../../WebCore/Likert/LikertLabel.js";import"../../WebCore/Likert/LikertRadio.js";import"../../WebCore/Link/StyledLink.js";import"@lottiefiles/dotlottie-react";import"../../WebCore/LoopsAiButton/LoopsAiButton.js";import"markdown-to-jsx";import"material-ui-popup-state/hooks";import u from"../../WebCore/Surface/Surface.js";import"../../WebCore/Menu/MenuItem.js";import"../../WebCore/ModalLayout/_partials/ModalActionsWrapper.js";import"../../WebCore/ModalLayout/_partials/ModalContentWrapper.js";import"../../WebCore/NavigationButton/NavigationButton.js";import"../../WebCore/Nudge/NudgeButton.js";import"../../WebCore/NumberField/NumberField.js";import"../../BrandCore/colorRamps.js";import"../../BrandCore/semanticColor.js";import"../../BrandCore/types.js";import"../../BrandCore/typography.js";import"../../WebCore/Progress/Progress.js";import"../../WebCore/Pill/StyledPill.js";import"../../WebCore/ProgressBar/ProgressBar.js";import"../../WebCore/Radio/StyledRadio.js";import"../../WebCore/Select/StyledSelect.js";import"../../WebCore/RankItem/RankItemContainer.js";import"../../WebCore/RankItem/RankItemLabel.js";import"../../WebCore/SortableList/SortableList.js";import"../../WebCore/SortableList/components/SortableItem/SortableItem.js";import"../../WebCore/SortableList/components/SortableOverlay/SortableOverlay.js";import"@tiptap/extension-placeholder";import"@tiptap/starter-kit";import"mui-tiptap";import"../../WebCore/RichTextField/StyledRichTextEditor.js";import"../../WebCore/Skeleton/Skeleton.js";import"../../WebCore/Slider/StyledSlider.js";import"../../WebCore/StarRating/StarRating.js";import"../../WebCore/Switch/StyledSwitch.js";import"../../WebCore/Textarea/Textarea.js";import"../../WebCore/TrialCard/TrialCardContainers.js";import"../../WebCore/TrialCard/TrialPill.js";import"../../WebCore/UserMenu/UserMenuButton.js";import"../../WebCore/VideoModal/VideoModal.js";import c from"./components/ActionButton/ActionButton.js";import b from"./components/Timeline/Timeline.js";const C=m(u)(({theme:e})=>({display:"flex",flex:1,padding:"2px",gap:e.spacing(e.custom.padding.sm),flexDirection:"column"})),f=m(l)({alignItems:"center",justifyContent:"start",flexDirection:"row",flex:1}),g=s(t(({id:t,videoElement:s,initialEndTime:m=0,initialCurrentTime:l=0,initialMuted:u,initialVolume:g,markers:j,options:T,slots:W,events:{onEnd:y,onPlay:B,onSeekEnd:k,onSeeking:S,onSeekStart:v,onTimeUpdate:h,onPause:E,onVolumeChange:I,onVolumeMute:x,onRestart:L,onFirstPlay:P,onFirstEnded:A,onReset:w}={},videoSeekTime:F,slotProps:M},R)=>{const[G,V]=o(!1),[_,D]=o(!1),[K,N]=o([]),O={rtl:!1,volumeControls:!0,normaliseTime:!1,markerIndicatorMode:"time",markerIndicator:!1,markerIndicatorSize:3,volumeControlsType:"mute",disableBufferingEvents:!1,fullscreenControls:!1,hideStartTime:!1,hideEndTime:!1,...T},[{seeking:z,endTime:U,currentTime:q,playing:H,buffering:J,loaded:Q,ended:X,volume:Y,muted:Z,startTime:$,firstPlay:ee,firstEnded:re},te]=o({startTime:p(O.normaliseTime?l:0),endTime:p(O.normaliseTime?m:s.duration),currentTime:p(l??0),loaded:!0,ended:!1,firstPlay:!1,firstEnded:!1,seeking:!1,playing:!1,volume:g||1,muted:u||!1,buffering:!1});i(()=>{if(s.muted=Z,s.volume=Y,O.normaliseTime&&(void 0===m||void 0===l))throw new Error("Please supply an initial end time and initial currentTime for normalising time in VideoControls2.tsx");return()=>{be()}},[]),i(()=>{te(e=>({...e,startTime:p(O.normaliseTime?l:0),endTime:p(O.normaliseTime?m:s.duration),currentTime:p(l??0)})),s.currentTime=p(l??0)},[l,m]);const oe=n(()=>{te(e=>({...e,playing:!1,ended:!0,...!re&&{firstEnded:!0}})),y&&y(),!re&&A&&A()},[re]);i(()=>{if(!s||null==F)return;(async()=>{const e=!s.paused,r=F===U;te(e=>({...e,playing:!1,currentTime:p(F)})),await new Promise(e=>{const r=()=>{s.removeEventListener("seeked",r),e()};s.addEventListener("seeked",r),setTimeout(e,500)}),te(e=>({...e,currentTime:p(F)})),await new Promise(e=>setTimeout(e,50)),te(t=>({...t,playing:e,currentTime:p(r?F-.001:F+.001)}))})().catch(e=>{console.error("Error seeking video:",e)})},[F,s]);const ie=n(e=>{te(r=>({...r,muted:e.target?.muted,volume:"number"==typeof e.target?.volume?e.target?.volume:1})),Z!==e.target?.muted&&x&&x(!Z),Y!==e.target?.volume&&I&&I(Y)},[Z,Y]),ne=n(()=>{const e=p(s.currentTime)>=U&&U!==p(s.duration)&&!X,r=p(s.currentTime)>=U&&U===p(s.duration)&&!X&&!H;(e||r)&&(s.pause(),s.dispatchEvent(new Event("ended"))),te(e=>({...e,currentTime:p(s.currentTime)})),h&&h(p(s.currentTime))},[U,X,H]),ae=n(()=>{te(e=>({...e,playing:!1})),E&&E()},[q]),se=n(()=>{te(e=>({...e,playing:!0,ended:!1,...!O?.disableBufferingEvents&&{buffering:!1},...!ee&&{firstPlay:!0}})),!ee&&P&&P(),B&&B()},[ee,O?.disableBufferingEvents]),me=n(()=>{O?.disableBufferingEvents||te(e=>({...e,buffering:!0}))},[O?.disableBufferingEvents]),le=n(()=>{O?.disableBufferingEvents||te(e=>({...e,buffering:!1}))},[J,O?.disableBufferingEvents]),de=n(()=>{if(O?.disableBufferingEvents)return;const e=[];for(let r=0;r<s.buffered.length;r++){const t=s.buffered.start(r),o=s.buffered.end(r);if(o>=$&&t<=U){const r=Math.max(t,$),i=Math.min(o,U);e.push({start:r-$,end:i-$,startPercent:(r-$)/(U-$)*100,widthPercent:(i-r)/(U-$)*100})}}N(e)},[z,U,q,H,J,Q,X,Y,Z,$,K,O?.disableBufferingEvents]),pe=n(async e=>{H&&be(),s.currentTime=$,e&&await ce(),L&&L()},[H,q,$,U,X]),ue=n(async()=>{H&&be(),s.currentTime=$,te(e=>({...e,startTime:p(O.normaliseTime?l:0),endTime:p(O.normaliseTime?m:s.duration),currentTime:p(l??0),loaded:!0,ended:!1,firstPlay:!1,firstEnded:!1,seeking:!1,playing:!1})),w&&w()},[H,q,$,U,X,l,m]),ce=async()=>{await s.play()},be=()=>{s.pause()},Ce=n(e=>{s.currentTime=p(e),te(r=>({...r,currentTime:p(e),ended:!1,seeking:!0,...!O?.disableBufferingEvents&&{buffering:!1},firstPlay:!ee||r.firstPlay,bufferProgress:e})),S&&S(e),!ee&&P&&P()},[J,ee,O?.disableBufferingEvents]),fe=n(async()=>{document.hidden?H&&!s.paused?(V(!0),be()):V(!1):(G&&!H&&await ce(),V(!1))},[H,G,be,ce,s]),ge=n(e=>{e&&s.pause(),te(e=>({...e,seeking:!0})),v&&v()},[X]),je=n(async(e,r,t)=>{r&&(s.currentTime=r),e&&!X&&await s.play(),t&&H&&s.pause(),te(e=>({...e,...r?{currentTime:r}:{},ended:!t&&e.ended,seeking:!1})),k&&k(r)},[H,X,J,z]),Te=n(()=>{document.fullscreenElement?document.exitFullscreen():s.requestFullscreen()},[s]);return d("fullscreenchange",()=>D(!!document.fullscreenElement),document),d("visibilitychange",fe,document),d("pause",ae,s),d("playing",se,s),d("timeupdate",ne,s),d("ended",oe,s),d("volumechange",ie,s),d("waiting",me,s),d("canplay",le,s),d("progress",de,s),a(R,()=>({play:ce,pause:be,restart:pe,reset:ue,seek:(e,r,t)=>je(r,e,t),videoState:{seeking:z,endTime:U,currentTime:q,playing:H,buffering:J,loaded:Q,ended:X,volume:Y,firstPlay:ee,firstEnded:re,muted:Z,startTime:$}})),e(C,{variation:"raised",borderradius:"xl",id:t,sx:M?.paperContainer?.sx,children:[e(f,{...O?.rtl&&{dir:"rtl"},children:[r(c,{seeking:z,playing:H,ended:X,buffering:J,handleAction:async()=>{X?await pe(!0):H?be():await ce()}}),r(b,{handleSeeking:Ce,handleSeekEnd:je,handleSeekStart:ge,ended:X,marker:W?.marker,markersContainerProps:M?.markersContainer,markers:j,markerIndicatorMode:O.markerIndicatorMode,markerIndicatorSize:O.markerIndicatorSize,markerIndicator:O.markerIndicator,startTime:O.normaliseTime?$:0,currentTime:q,endTime:U,playing:H,bufferRanges:K,buffering:J,volume:Y,muted:Z,volumeControls:O.volumeControls,volumeControlsType:O.volumeControlsType,handleVolumeMute:()=>{s.muted=!Z},handleVolumeChange:e=>{s.volume=e,Z&&(s.muted=!1)},fullscreenControls:O.fullscreenControls,hideStartTime:O.hideStartTime,hideEndTime:O.hideEndTime,isFullScreen:_,handlefullscreenToggle:Te})]}),W?.bottom]})}));export{g as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{styled as e,iconButtonClasses as o}from"@mui/material";import{memo as t}from"react";import a from"../../../../BrandCore/Icon/Icon.js";import n from"../../../../WebCore/IconButton/IconButton.js";import"../../../../BrandCore/primitiveVariables.js";const i=e(n)(({theme:r,disabled:e})=>({[`&.${o.root}`]:{border:"none",backgroundColor:e?r.custom.palette.icon.disabled:r.custom.palette.icon.primary,color:r.custom.palette.icon.primaryInverted,marginRight:r.spacing(r.custom.margin.sm)}})),m=t(({playing:e,ended:o,seeking:t,buffering:n,handleAction:m})=>r(i,{disabled:n,loading:n,onClick:()=>m(),shape:"round",sizing:"md",variation:"outlined",icon:r(a,{name:(()=>{switch(!0){case t&&o:return"replay";case t:return"play";case!e&&o:return"replay";case e:return"pause";default:return"play"}})()})}));export{m as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as e,jsx as r}from"react/jsx-runtime";import{styled as
|
|
1
|
+
import{jsxs as e,jsx as r,Fragment as o}from"react/jsx-runtime";import{styled as t,Stack as n,Box as i,useTheme as s}from"@mui/material";import{memo as a,useState as m,useCallback as l}from"react";import{formatTimeForVideoTimeline as d}from"../../../../../utils/formatTime.js";import{Text as c}from"../../../../WebCore/Text/Text.js";import{SCRUBBER_SIZE as u}from"../../constants.js";import p from"./components/FullscreenControls/FullscreenControls.js";import h from"./components/Markers/Markers.js";import g from"./components/Scrubber/Scrubber.js";import f from"./components/VolumeControls/VolumeControls.js";const x=t(n)({display:"flex",flex:1,flexDirection:"row"}),T=t(i)({display:"flex",alignItems:"center"}),k=t(i)(({theme:e})=>({marginLeft:e.spacing(e.custom.padding.sm),marginRight:e.spacing(e.custom.padding.sm),position:"relative",display:"flex",flex:1})),C=t(i)(({theme:e,left:r,width:o})=>({background:e.custom.palette.neutral[300],height:u,position:"absolute",left:`${r}%`,pointerEvents:"none",top:"50%",transform:"translateY(-50%)",borderRadius:e.custom.radius.round,width:`${o}%`})),S=a(({startTime:t,currentTime:n,endTime:i,playing:a,markerIndicator:u,bufferRanges:S,handleSeeking:b,handleSeekEnd:j,handleSeekStart:v,markers:w,marker:I,markersContainerProps:M,markerIndicatorMode:P,markerIndicatorSize:y,volume:V,muted:z,handleVolumeMute:E,handleVolumeChange:F,volumeControlsType:R,volumeControls:D,fullscreenControls:$,isFullScreen:L,handlefullscreenToggle:W,hideStartTime:Y,hideEndTime:q})=>{const A=s(),[B,G]=m(a),H=l((e,r)=>{e.stopPropagation(),b?.(r)},[b]),J=l((e,r)=>{e.stopPropagation(),j?.(B),B&&G(!1)},[B,j]),K=l(e=>{e.stopPropagation(),a&&G(a),v?.(a)},[a,v]),N=l(()=>{a&&G(a),v?.(a)},[a,v]),O=l(()=>{j?.(B),B&&G(!1)},[B,j]);return e(x,{children:[!Y&&r(T,{sx:{width:A.spacing(5)},children:r(c,{size:"xs",children:d(n-t)})}),r(T,{sx:{flex:1},children:e(k,{children:[S.length>0&&S.map(({startPercent:e,widthPercent:o},t)=>r(C,{left:e,width:o},t)),r(g,{step:.05,value:n,max:i,min:t,onChangeCommitted:J,onMouseDown:K,onChange:H,onTouchStart:N,onTouchEnd:O}),w&&w?.length>0&&r(o,{children:r(h,{markerIndicatorMode:P,markerIndicatorSize:y,markerIndicator:u,markers:w,marker:I,containerProps:M,startTime:t,currentTime:n,endTime:i})})]})}),!q&&r(T,{children:r(c,{size:"xs",sx:{pr:1},children:d(i-t)})}),D&&r(T,{sx:{mr:A.spacing(A.custom.padding.xs)},children:r(f,{volume:V,muted:z,handleVolumeMute:E,handleVolumeChange:F,volumeControlsType:R})}),$&&r(T,{sx:{mr:A.spacing(A.custom.padding.xs)},children:r(p,{isFullScreen:L,handlefullscreenToggle:W})})]})});export{S as default};
|
|
@@ -23,6 +23,8 @@ type VideoControls2Props = {
|
|
|
23
23
|
markerIndicatorMode?: 'time' | 'percentage';
|
|
24
24
|
markerIndicatorSize?: number;
|
|
25
25
|
disableBufferingEvents?: boolean;
|
|
26
|
+
hideStartTime?: boolean;
|
|
27
|
+
hideEndTime?: boolean;
|
|
26
28
|
};
|
|
27
29
|
slots?: {
|
|
28
30
|
marker?: FunctionComponent<MarkerComponentProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("@mui/material"),i=require("@use-it/event-listener"),a=require("../../../utils/normaliseFloat.js");require("../../../utils/formValidation/misc.js"),require("../../BrandCore/Icon/Icon.js"),require("../../BrandCore/primitiveVariables.js"),require("../../WebCore/utils/typography.util.js"),require("../../BrandCore/textures.js"),require("../../WebCore/AnnualController/AnnualController.js"),require("../../WebCore/SelectItem/SelectItem.js"),require("../../WebCore/Accordion/Accordion.js"),require("../../WebCore/Animations/FadeIn.js"),require("../../WebCore/Text/Text.js"),require("@mui/icons-material"),require("../../WebCore/AutocompleteBaseField/_partials/AutocompleteListbox.js"),require("../../WebCore/AutocompleteBaseField/_partials/StyledPopper.js"),require("../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteField.js"),require("../../WebCore/AutocompleteBaseField/_partials/AutocompleteChip.js"),require("../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteInput.js"),require("merge-sx"),require("../../WebCore/Badge/Badge.js"),require("../../WebCore/Breadcrumb/Breadcrumb.js"),require("../../WebCore/Button/Button.js"),require("../../WebCore/ButtonBase/ButtonBase.js"),require("../../WebCore/ButtonTabGroup/_partials/ActiveIndicator.js"),require("../../WebCore/ButtonTabGroup/_partials/ButtonTabsWrapper.js"),require("../../WebCore/ButtonTabGroup/_partials/TabButton.js"),require("../../WebCore/Checkbox/StyledCheckbox.js"),require("../../WebCore/InputFieldBase/InputFieldBase.js"),require("../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js"),require("../../WebCore/InputLabelBase/StyledInputLabelBase.js"),require("../../WebCore/Differential/DifferentialContainer.js"),require("../../WebCore/Differential/DifferentialRadio.js"),require("../../WebCore/DropdownMenu/StyledMenu.js"),require("../../WebCore/ExpandableTypographyClamp/ExpandableTypographyClamp.js"),require("../../WebCore/FormGenerator/FormGenerator.js"),require("../../WebCore/GridOverlay/GridOverlay.js"),require("html-react-parser"),require("../../WebCore/IconButton/IconButton.js"),require("../../WebCore/IconButtonBase/IconButtonBase.js"),require("../../WebCore/IconButtonGroup/IconButtonGroup.js"),require("../../WebCore/Image/Image.js"),require("../../WebCore/KbdGroup/Kbd.js"),require("../../WebCore/KbdGroup/KbdGroup.js"),require("../../WebCore/KeyValueLabel/KeyValueLabel.js"),require("../../WebCore/Label/Label.js"),require("../../WebCore/Likert/LikertContainer.js"),require("../../WebCore/Likert/LikertLabel.js"),require("../../WebCore/Likert/LikertRadio.js"),require("../../WebCore/Link/StyledLink.js"),require("@lottiefiles/dotlottie-react"),require("../../WebCore/LoopsAiButton/LoopsAiButton.js"),require("markdown-to-jsx"),require("material-ui-popup-state/hooks");var o=require("../../WebCore/Surface/Surface.js");require("../../WebCore/Menu/MenuItem.js"),require("../../WebCore/ModalLayout/_partials/ModalActionsWrapper.js"),require("../../WebCore/ModalLayout/_partials/ModalContentWrapper.js"),require("../../WebCore/NavigationButton/NavigationButton.js"),require("../../WebCore/Nudge/NudgeButton.js"),require("../../WebCore/NumberField/NumberField.js"),require("../../BrandCore/colorRamps.js"),require("../../BrandCore/semanticColor.js"),require("../../BrandCore/types.js"),require("../../BrandCore/typography.js"),require("../../WebCore/Progress/Progress.js"),require("../../WebCore/Pill/StyledPill.js"),require("../../WebCore/ProgressBar/ProgressBar.js"),require("../../WebCore/Radio/StyledRadio.js"),require("../../WebCore/Select/StyledSelect.js"),require("../../WebCore/RankItem/RankItemContainer.js"),require("../../WebCore/RankItem/RankItemLabel.js"),require("../../WebCore/SortableList/SortableList.js"),require("../../WebCore/SortableList/components/SortableItem/SortableItem.js"),require("../../WebCore/SortableList/components/SortableOverlay/SortableOverlay.js"),require("@tiptap/extension-placeholder"),require("@tiptap/starter-kit"),require("mui-tiptap"),require("../../WebCore/RichTextField/StyledRichTextEditor.js"),require("../../WebCore/Skeleton/Skeleton.js"),require("../../WebCore/Slider/StyledSlider.js"),require("../../WebCore/StarRating/StarRating.js"),require("../../WebCore/Switch/StyledSwitch.js"),require("../../WebCore/Textarea/Textarea.js"),require("../../WebCore/TrialCard/TrialCardContainers.js"),require("../../WebCore/TrialCard/TrialPill.js"),require("../../WebCore/UserMenu/UserMenuButton.js"),require("../../WebCore/VideoModal/VideoModal.js");var n=require("./components/ActionButton/ActionButton.js"),s=require("./components/Timeline/Timeline.js");function l(e){return e&&e.__esModule?e:{default:e}}var u=l(i);const d=t.styled(o)(({theme:e})=>({display:"flex",flex:1,padding:"2px",gap:e.spacing(e.custom.padding.sm),flexDirection:"column"})),m=t.styled(t.Stack)({alignItems:"center",justifyContent:"start",flexDirection:"row",flex:1}),c=r.forwardRef(({id:t,videoElement:i,initialEndTime:o=0,initialCurrentTime:l=0,initialMuted:c,initialVolume:b,markers:C,options:p,slots:f,events:{onEnd:q,onPlay:j,onSeekEnd:g,onSeeking:y,onSeekStart:T,onTimeUpdate:W,onPause:k,onVolumeChange:B,onVolumeMute:v,onRestart:S,onFirstPlay:F,onFirstEnded:h,onReset:I}={},videoSeekTime:E,slotProps:x},L)=>{const[P,A]=r.useState(!1),[w,M]=r.useState(!1),[R,G]=r.useState([]),V={rtl:!1,volumeControls:!0,normaliseTime:!1,markerIndicatorMode:"time",markerIndicator:!1,markerIndicatorSize:3,volumeControlsType:"mute",disableBufferingEvents:!1,fullscreenControls:!1,...p},[{seeking:_,endTime:D,currentTime:K,playing:N,buffering:O,loaded:z,ended:U,volume:H,muted:J,startTime:Q,firstPlay:X,firstEnded:Y},Z]=r.useState({startTime:a.normaliseFloat(V.normaliseTime?l:0),endTime:a.normaliseFloat(V.normaliseTime?o:i.duration),currentTime:a.normaliseFloat(l??0),loaded:!0,ended:!1,firstPlay:!1,firstEnded:!1,seeking:!1,playing:!1,volume:b||1,muted:c||!1,buffering:!1});r.useEffect(()=>{if(i.muted=J,i.volume=H,V.normaliseTime&&(void 0===o||void 0===l))throw new Error("Please supply an initial end time and initial currentTime for normalising time in VideoControls2.tsx");return()=>{de()}},[]),r.useEffect(()=>{Z(e=>({...e,startTime:a.normaliseFloat(V.normaliseTime?l:0),endTime:a.normaliseFloat(V.normaliseTime?o:i.duration),currentTime:a.normaliseFloat(l??0)})),i.currentTime=a.normaliseFloat(l??0)},[l,o]);const $=r.useCallback(()=>{Z(e=>({...e,playing:!1,ended:!0,...!Y&&{firstEnded:!0}})),q&&q(),!Y&&h&&h()},[Y]);r.useEffect(()=>{if(!i||null==E)return;(async()=>{const e=!i.paused,r=E===D;Z(e=>({...e,playing:!1,currentTime:a.normaliseFloat(E)})),await new Promise(e=>{const r=()=>{i.removeEventListener("seeked",r),e()};i.addEventListener("seeked",r),setTimeout(e,500)}),Z(e=>({...e,currentTime:a.normaliseFloat(E)})),await new Promise(e=>setTimeout(e,50)),Z(t=>({...t,playing:e,currentTime:a.normaliseFloat(r?E-.001:E+.001)}))})().catch(e=>{console.error("Error seeking video:",e)})},[E,i]);const ee=r.useCallback(e=>{Z(r=>({...r,muted:e.target?.muted,volume:"number"==typeof e.target?.volume?e.target?.volume:1})),J!==e.target?.muted&&v&&v(!J),H!==e.target?.volume&&B&&B(H)},[J,H]),re=r.useCallback(()=>{const e=a.normaliseFloat(i.currentTime)>=D&&D!==a.normaliseFloat(i.duration)&&!U,r=a.normaliseFloat(i.currentTime)>=D&&D===a.normaliseFloat(i.duration)&&!U&&!N;(e||r)&&(i.pause(),i.dispatchEvent(new Event("ended"))),Z(e=>({...e,currentTime:a.normaliseFloat(i.currentTime)})),W&&W(a.normaliseFloat(i.currentTime))},[D,U,N]),te=r.useCallback(()=>{Z(e=>({...e,playing:!1})),k&&k()},[K]),ie=r.useCallback(()=>{Z(e=>({...e,playing:!0,ended:!1,...!V?.disableBufferingEvents&&{buffering:!1},...!X&&{firstPlay:!0}})),!X&&F&&F(),j&&j()},[X,V?.disableBufferingEvents]),ae=r.useCallback(()=>{V?.disableBufferingEvents||Z(e=>({...e,buffering:!0}))},[V?.disableBufferingEvents]),oe=r.useCallback(()=>{V?.disableBufferingEvents||Z(e=>({...e,buffering:!1}))},[O,V?.disableBufferingEvents]),ne=r.useCallback(()=>{if(V?.disableBufferingEvents)return;const e=[];for(let r=0;r<i.buffered.length;r++){const t=i.buffered.start(r),a=i.buffered.end(r);if(a>=Q&&t<=D){const r=Math.max(t,Q),i=Math.min(a,D);e.push({start:r-Q,end:i-Q,startPercent:(r-Q)/(D-Q)*100,widthPercent:(i-r)/(D-Q)*100})}}G(e)},[_,D,K,N,O,z,U,H,J,Q,R,V?.disableBufferingEvents]),se=r.useCallback(async e=>{N&&de(),i.currentTime=Q,e&&await ue(),S&&S()},[N,K,Q,D,U]),le=r.useCallback(async()=>{N&&de(),i.currentTime=Q,Z(e=>({...e,startTime:a.normaliseFloat(V.normaliseTime?l:0),endTime:a.normaliseFloat(V.normaliseTime?o:i.duration),currentTime:a.normaliseFloat(l??0),loaded:!0,ended:!1,firstPlay:!1,firstEnded:!1,seeking:!1,playing:!1})),I&&I()},[N,K,Q,D,U,l,o]),ue=async()=>{await i.play()},de=()=>{i.pause()},me=r.useCallback(e=>{i.currentTime=a.normaliseFloat(e),Z(r=>({...r,currentTime:a.normaliseFloat(e),ended:!1,seeking:!0,...!V?.disableBufferingEvents&&{buffering:!1},firstPlay:!X||r.firstPlay,bufferProgress:e})),y&&y(e),!X&&F&&F()},[O,X,V?.disableBufferingEvents]),ce=r.useCallback(async()=>{document.hidden?N&&!i.paused?(A(!0),de()):A(!1):(P&&!N&&await ue(),A(!1))},[N,P,de,ue,i]),be=r.useCallback(e=>{e&&i.pause(),Z(e=>({...e,seeking:!0})),T&&T()},[U]),Ce=r.useCallback(async(e,r,t)=>{r&&(i.currentTime=r),e&&!U&&await i.play(),t&&N&&i.pause(),Z(e=>({...e,...r?{currentTime:r}:{},ended:!t&&e.ended,seeking:!1})),g&&g(r)},[N,U,O,_]),pe=r.useCallback(()=>{document.fullscreenElement?document.exitFullscreen():i.requestFullscreen()},[i]);return u.default("fullscreenchange",()=>M(!!document.fullscreenElement),document),u.default("visibilitychange",ce,document),u.default("pause",te,i),u.default("playing",ie,i),u.default("timeupdate",re,i),u.default("ended",$,i),u.default("volumechange",ee,i),u.default("waiting",ae,i),u.default("canplay",oe,i),u.default("progress",ne,i),r.useImperativeHandle(L,()=>({play:ue,pause:de,restart:se,reset:le,seek:(e,r,t)=>Ce(r,e,t),videoState:{seeking:_,endTime:D,currentTime:K,playing:N,buffering:O,loaded:z,ended:U,volume:H,firstPlay:X,firstEnded:Y,muted:J,startTime:Q}})),e.jsxs(d,{variation:"raised",borderradius:"xl",id:t,sx:x?.paperContainer?.sx,children:[e.jsxs(m,{...V?.rtl&&{dir:"rtl"},children:[e.jsx(n,{seeking:_,playing:N,ended:U,buffering:O,handleAction:async()=>{U?await se(!0):N?de():await ue()}}),e.jsx(s,{handleSeeking:me,handleSeekEnd:Ce,handleSeekStart:be,ended:U,marker:f?.marker,markersContainerProps:x?.markersContainer,markers:C,markerIndicatorMode:V.markerIndicatorMode,markerIndicatorSize:V.markerIndicatorSize,markerIndicator:V.markerIndicator,startTime:V.normaliseTime?Q:0,currentTime:K,endTime:D,playing:N,bufferRanges:R,buffering:O,volume:H,muted:J,volumeControls:V.volumeControls,volumeControlsType:V.volumeControlsType,handleVolumeMute:()=>{i.muted=!J},handleVolumeChange:e=>{i.volume=e,J&&(i.muted=!1)},fullscreenControls:V.fullscreenControls,isFullScreen:w,handlefullscreenToggle:pe})]}),f?.bottom]})});var b=r.memo(c);module.exports=b;
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("@mui/material"),i=require("@use-it/event-listener"),a=require("../../../utils/normaliseFloat.js");require("../../../utils/formValidation/misc.js"),require("../../BrandCore/Icon/Icon.js"),require("../../BrandCore/primitiveVariables.js"),require("../../WebCore/utils/typography.util.js"),require("../../BrandCore/textures.js"),require("../../WebCore/AnnualController/AnnualController.js"),require("../../WebCore/SelectItem/SelectItem.js"),require("../../WebCore/Accordion/Accordion.js"),require("../../WebCore/Animations/FadeIn.js"),require("../../WebCore/Text/Text.js"),require("@mui/icons-material"),require("../../WebCore/AutocompleteBaseField/_partials/AutocompleteListbox.js"),require("../../WebCore/AutocompleteBaseField/_partials/StyledPopper.js"),require("../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteField.js"),require("../../WebCore/AutocompleteBaseField/_partials/AutocompleteChip.js"),require("../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteInput.js"),require("merge-sx"),require("../../WebCore/Badge/Badge.js"),require("../../WebCore/Breadcrumb/Breadcrumb.js"),require("../../WebCore/Button/Button.js"),require("../../WebCore/ButtonBase/ButtonBase.js"),require("../../WebCore/ButtonTabGroup/_partials/ActiveIndicator.js"),require("../../WebCore/ButtonTabGroup/_partials/ButtonTabsWrapper.js"),require("../../WebCore/ButtonTabGroup/_partials/TabButton.js"),require("../../WebCore/Checkbox/StyledCheckbox.js"),require("../../WebCore/InputFieldBase/InputFieldBase.js"),require("../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js"),require("../../WebCore/InputLabelBase/StyledInputLabelBase.js"),require("../../WebCore/Differential/DifferentialContainer.js"),require("../../WebCore/Differential/DifferentialRadio.js"),require("../../WebCore/DropdownMenu/StyledMenu.js"),require("../../WebCore/ExpandableTypographyClamp/ExpandableTypographyClamp.js"),require("../../WebCore/FormGenerator/FormGenerator.js"),require("../../WebCore/GridOverlay/GridOverlay.js"),require("html-react-parser"),require("../../WebCore/IconButton/IconButton.js"),require("../../WebCore/IconButtonBase/IconButtonBase.js"),require("../../WebCore/IconButtonGroup/IconButtonGroup.js"),require("../../WebCore/Image/Image.js"),require("../../WebCore/KbdGroup/Kbd.js"),require("../../WebCore/KbdGroup/KbdGroup.js"),require("../../WebCore/KeyValueLabel/KeyValueLabel.js"),require("../../WebCore/Label/Label.js"),require("../../WebCore/Likert/LikertContainer.js"),require("../../WebCore/Likert/LikertLabel.js"),require("../../WebCore/Likert/LikertRadio.js"),require("../../WebCore/Link/StyledLink.js"),require("@lottiefiles/dotlottie-react"),require("../../WebCore/LoopsAiButton/LoopsAiButton.js"),require("markdown-to-jsx"),require("material-ui-popup-state/hooks");var o=require("../../WebCore/Surface/Surface.js");require("../../WebCore/Menu/MenuItem.js"),require("../../WebCore/ModalLayout/_partials/ModalActionsWrapper.js"),require("../../WebCore/ModalLayout/_partials/ModalContentWrapper.js"),require("../../WebCore/NavigationButton/NavigationButton.js"),require("../../WebCore/Nudge/NudgeButton.js"),require("../../WebCore/NumberField/NumberField.js"),require("../../BrandCore/colorRamps.js"),require("../../BrandCore/semanticColor.js"),require("../../BrandCore/types.js"),require("../../BrandCore/typography.js"),require("../../WebCore/Progress/Progress.js"),require("../../WebCore/Pill/StyledPill.js"),require("../../WebCore/ProgressBar/ProgressBar.js"),require("../../WebCore/Radio/StyledRadio.js"),require("../../WebCore/Select/StyledSelect.js"),require("../../WebCore/RankItem/RankItemContainer.js"),require("../../WebCore/RankItem/RankItemLabel.js"),require("../../WebCore/SortableList/SortableList.js"),require("../../WebCore/SortableList/components/SortableItem/SortableItem.js"),require("../../WebCore/SortableList/components/SortableOverlay/SortableOverlay.js"),require("@tiptap/extension-placeholder"),require("@tiptap/starter-kit"),require("mui-tiptap"),require("../../WebCore/RichTextField/StyledRichTextEditor.js"),require("../../WebCore/Skeleton/Skeleton.js"),require("../../WebCore/Slider/StyledSlider.js"),require("../../WebCore/StarRating/StarRating.js"),require("../../WebCore/Switch/StyledSwitch.js"),require("../../WebCore/Textarea/Textarea.js"),require("../../WebCore/TrialCard/TrialCardContainers.js"),require("../../WebCore/TrialCard/TrialPill.js"),require("../../WebCore/UserMenu/UserMenuButton.js"),require("../../WebCore/VideoModal/VideoModal.js");var n=require("./components/ActionButton/ActionButton.js"),s=require("./components/Timeline/Timeline.js");function l(e){return e&&e.__esModule?e:{default:e}}var u=l(i);const d=t.styled(o)(({theme:e})=>({display:"flex",flex:1,padding:"2px",gap:e.spacing(e.custom.padding.sm),flexDirection:"column"})),m=t.styled(t.Stack)({alignItems:"center",justifyContent:"start",flexDirection:"row",flex:1}),c=r.forwardRef(({id:t,videoElement:i,initialEndTime:o=0,initialCurrentTime:l=0,initialMuted:c,initialVolume:b,markers:C,options:p,slots:f,events:{onEnd:q,onPlay:j,onSeekEnd:g,onSeeking:T,onSeekStart:y,onTimeUpdate:W,onPause:k,onVolumeChange:B,onVolumeMute:v,onRestart:S,onFirstPlay:h,onFirstEnded:F,onReset:E}={},videoSeekTime:I,slotProps:x},L)=>{const[P,A]=r.useState(!1),[w,M]=r.useState(!1),[R,G]=r.useState([]),V={rtl:!1,volumeControls:!0,normaliseTime:!1,markerIndicatorMode:"time",markerIndicator:!1,markerIndicatorSize:3,volumeControlsType:"mute",disableBufferingEvents:!1,fullscreenControls:!1,hideStartTime:!1,hideEndTime:!1,...p},[{seeking:_,endTime:D,currentTime:K,playing:N,buffering:O,loaded:z,ended:U,volume:H,muted:J,startTime:Q,firstPlay:X,firstEnded:Y},Z]=r.useState({startTime:a.normaliseFloat(V.normaliseTime?l:0),endTime:a.normaliseFloat(V.normaliseTime?o:i.duration),currentTime:a.normaliseFloat(l??0),loaded:!0,ended:!1,firstPlay:!1,firstEnded:!1,seeking:!1,playing:!1,volume:b||1,muted:c||!1,buffering:!1});r.useEffect(()=>{if(i.muted=J,i.volume=H,V.normaliseTime&&(void 0===o||void 0===l))throw new Error("Please supply an initial end time and initial currentTime for normalising time in VideoControls2.tsx");return()=>{de()}},[]),r.useEffect(()=>{Z(e=>({...e,startTime:a.normaliseFloat(V.normaliseTime?l:0),endTime:a.normaliseFloat(V.normaliseTime?o:i.duration),currentTime:a.normaliseFloat(l??0)})),i.currentTime=a.normaliseFloat(l??0)},[l,o]);const $=r.useCallback(()=>{Z(e=>({...e,playing:!1,ended:!0,...!Y&&{firstEnded:!0}})),q&&q(),!Y&&F&&F()},[Y]);r.useEffect(()=>{if(!i||null==I)return;(async()=>{const e=!i.paused,r=I===D;Z(e=>({...e,playing:!1,currentTime:a.normaliseFloat(I)})),await new Promise(e=>{const r=()=>{i.removeEventListener("seeked",r),e()};i.addEventListener("seeked",r),setTimeout(e,500)}),Z(e=>({...e,currentTime:a.normaliseFloat(I)})),await new Promise(e=>setTimeout(e,50)),Z(t=>({...t,playing:e,currentTime:a.normaliseFloat(r?I-.001:I+.001)}))})().catch(e=>{console.error("Error seeking video:",e)})},[I,i]);const ee=r.useCallback(e=>{Z(r=>({...r,muted:e.target?.muted,volume:"number"==typeof e.target?.volume?e.target?.volume:1})),J!==e.target?.muted&&v&&v(!J),H!==e.target?.volume&&B&&B(H)},[J,H]),re=r.useCallback(()=>{const e=a.normaliseFloat(i.currentTime)>=D&&D!==a.normaliseFloat(i.duration)&&!U,r=a.normaliseFloat(i.currentTime)>=D&&D===a.normaliseFloat(i.duration)&&!U&&!N;(e||r)&&(i.pause(),i.dispatchEvent(new Event("ended"))),Z(e=>({...e,currentTime:a.normaliseFloat(i.currentTime)})),W&&W(a.normaliseFloat(i.currentTime))},[D,U,N]),te=r.useCallback(()=>{Z(e=>({...e,playing:!1})),k&&k()},[K]),ie=r.useCallback(()=>{Z(e=>({...e,playing:!0,ended:!1,...!V?.disableBufferingEvents&&{buffering:!1},...!X&&{firstPlay:!0}})),!X&&h&&h(),j&&j()},[X,V?.disableBufferingEvents]),ae=r.useCallback(()=>{V?.disableBufferingEvents||Z(e=>({...e,buffering:!0}))},[V?.disableBufferingEvents]),oe=r.useCallback(()=>{V?.disableBufferingEvents||Z(e=>({...e,buffering:!1}))},[O,V?.disableBufferingEvents]),ne=r.useCallback(()=>{if(V?.disableBufferingEvents)return;const e=[];for(let r=0;r<i.buffered.length;r++){const t=i.buffered.start(r),a=i.buffered.end(r);if(a>=Q&&t<=D){const r=Math.max(t,Q),i=Math.min(a,D);e.push({start:r-Q,end:i-Q,startPercent:(r-Q)/(D-Q)*100,widthPercent:(i-r)/(D-Q)*100})}}G(e)},[_,D,K,N,O,z,U,H,J,Q,R,V?.disableBufferingEvents]),se=r.useCallback(async e=>{N&&de(),i.currentTime=Q,e&&await ue(),S&&S()},[N,K,Q,D,U]),le=r.useCallback(async()=>{N&&de(),i.currentTime=Q,Z(e=>({...e,startTime:a.normaliseFloat(V.normaliseTime?l:0),endTime:a.normaliseFloat(V.normaliseTime?o:i.duration),currentTime:a.normaliseFloat(l??0),loaded:!0,ended:!1,firstPlay:!1,firstEnded:!1,seeking:!1,playing:!1})),E&&E()},[N,K,Q,D,U,l,o]),ue=async()=>{await i.play()},de=()=>{i.pause()},me=r.useCallback(e=>{i.currentTime=a.normaliseFloat(e),Z(r=>({...r,currentTime:a.normaliseFloat(e),ended:!1,seeking:!0,...!V?.disableBufferingEvents&&{buffering:!1},firstPlay:!X||r.firstPlay,bufferProgress:e})),T&&T(e),!X&&h&&h()},[O,X,V?.disableBufferingEvents]),ce=r.useCallback(async()=>{document.hidden?N&&!i.paused?(A(!0),de()):A(!1):(P&&!N&&await ue(),A(!1))},[N,P,de,ue,i]),be=r.useCallback(e=>{e&&i.pause(),Z(e=>({...e,seeking:!0})),y&&y()},[U]),Ce=r.useCallback(async(e,r,t)=>{r&&(i.currentTime=r),e&&!U&&await i.play(),t&&N&&i.pause(),Z(e=>({...e,...r?{currentTime:r}:{},ended:!t&&e.ended,seeking:!1})),g&&g(r)},[N,U,O,_]),pe=r.useCallback(()=>{document.fullscreenElement?document.exitFullscreen():i.requestFullscreen()},[i]);return u.default("fullscreenchange",()=>M(!!document.fullscreenElement),document),u.default("visibilitychange",ce,document),u.default("pause",te,i),u.default("playing",ie,i),u.default("timeupdate",re,i),u.default("ended",$,i),u.default("volumechange",ee,i),u.default("waiting",ae,i),u.default("canplay",oe,i),u.default("progress",ne,i),r.useImperativeHandle(L,()=>({play:ue,pause:de,restart:se,reset:le,seek:(e,r,t)=>Ce(r,e,t),videoState:{seeking:_,endTime:D,currentTime:K,playing:N,buffering:O,loaded:z,ended:U,volume:H,firstPlay:X,firstEnded:Y,muted:J,startTime:Q}})),e.jsxs(d,{variation:"raised",borderradius:"xl",id:t,sx:x?.paperContainer?.sx,children:[e.jsxs(m,{...V?.rtl&&{dir:"rtl"},children:[e.jsx(n,{seeking:_,playing:N,ended:U,buffering:O,handleAction:async()=>{U?await se(!0):N?de():await ue()}}),e.jsx(s,{handleSeeking:me,handleSeekEnd:Ce,handleSeekStart:be,ended:U,marker:f?.marker,markersContainerProps:x?.markersContainer,markers:C,markerIndicatorMode:V.markerIndicatorMode,markerIndicatorSize:V.markerIndicatorSize,markerIndicator:V.markerIndicator,startTime:V.normaliseTime?Q:0,currentTime:K,endTime:D,playing:N,bufferRanges:R,buffering:O,volume:H,muted:J,volumeControls:V.volumeControls,volumeControlsType:V.volumeControlsType,handleVolumeMute:()=>{i.muted=!J},handleVolumeChange:e=>{i.volume=e,J&&(i.muted=!1)},fullscreenControls:V.fullscreenControls,hideStartTime:V.hideStartTime,hideEndTime:V.hideEndTime,isFullScreen:w,handlefullscreenToggle:pe})]}),f?.bottom]})});var b=r.memo(c);module.exports=b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("@mui/material"),
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("@mui/material"),a=require("react"),n=require("../../../../BrandCore/Icon/Icon.js"),t=require("../../../../WebCore/IconButton/IconButton.js");require("../../../../BrandCore/primitiveVariables.js");const i=r.styled(t)(({theme:e,disabled:a})=>({[`&.${r.iconButtonClasses.root}`]:{border:"none",backgroundColor:a?e.custom.palette.icon.disabled:e.custom.palette.icon.primary,color:e.custom.palette.icon.primaryInverted,marginRight:e.spacing(e.custom.margin.sm)}}));var o=a.memo(({playing:r,ended:a,seeking:t,buffering:o,handleAction:s})=>e.jsx(i,{disabled:o,loading:o,onClick:()=>s(),shape:"round",sizing:"md",variation:"outlined",icon:e.jsx(n.default,{name:(()=>{switch(!0){case t&&a:return"replay";case t:return"play";case!r&&a:return"replay";case r:return"pause";default:return"play"}})()})}));module.exports=o;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("@mui/material"),s=require("react"),n=require("../../../../../utils/formatTime.js"),t=require("../../../../WebCore/Text/Text.js"),o=require("../../constants.js"),a=require("./components/FullscreenControls/FullscreenControls.js"),
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("@mui/material"),s=require("react"),n=require("../../../../../utils/formatTime.js"),t=require("../../../../WebCore/Text/Text.js"),o=require("../../constants.js"),a=require("./components/FullscreenControls/FullscreenControls.js"),i=require("./components/Markers/Markers.js"),l=require("./components/Scrubber/Scrubber.js"),m=require("./components/VolumeControls/VolumeControls.js");const u=r.styled(r.Stack)({display:"flex",flex:1,flexDirection:"row"}),d=r.styled(r.Box)({display:"flex",alignItems:"center"}),c=r.styled(r.Box)(({theme:e})=>({marginLeft:e.spacing(e.custom.padding.sm),marginRight:e.spacing(e.custom.padding.sm),position:"relative",display:"flex",flex:1})),x=r.styled(r.Box)(({theme:e,left:r,width:s})=>({background:e.custom.palette.neutral[300],height:o.SCRUBBER_SIZE,position:"absolute",left:`${r}%`,pointerEvents:"none",top:"50%",transform:"translateY(-50%)",borderRadius:e.custom.radius.round,width:`${s}%`}));var h=s.memo(({startTime:o,currentTime:h,endTime:p,playing:g,markerIndicator:T,bufferRanges:j,handleSeeking:k,handleSeekEnd:C,handleSeekStart:f,markers:S,marker:b,markersContainerProps:q,markerIndicatorMode:v,markerIndicatorSize:y,volume:I,muted:V,handleVolumeMute:w,handleVolumeChange:F,volumeControlsType:M,volumeControls:P,fullscreenControls:E,isFullScreen:B,handlefullscreenToggle:R,hideStartTime:z,hideEndTime:D})=>{const $=r.useTheme(),[L,U]=s.useState(g),W=s.useCallback((e,r)=>{e.stopPropagation(),k?.(r)},[k]),Y=s.useCallback((e,r)=>{e.stopPropagation(),C?.(L),L&&U(!1)},[L,C]),Z=s.useCallback(e=>{e.stopPropagation(),g&&U(g),f?.(g)},[g,f]),_=s.useCallback(()=>{g&&U(g),f?.(g)},[g,f]),A=s.useCallback(()=>{C?.(L),L&&U(!1)},[L,C]);return e.jsxs(u,{children:[!z&&e.jsx(d,{sx:{width:$.spacing(5)},children:e.jsx(t.Text,{size:"xs",children:n.formatTimeForVideoTimeline(h-o)})}),e.jsx(d,{sx:{flex:1},children:e.jsxs(c,{children:[j.length>0&&j.map(({startPercent:r,widthPercent:s},n)=>e.jsx(x,{left:r,width:s},n)),e.jsx(l,{step:.05,value:h,max:p,min:o,onChangeCommitted:Y,onMouseDown:Z,onChange:W,onTouchStart:_,onTouchEnd:A}),S&&S?.length>0&&e.jsx(e.Fragment,{children:e.jsx(i,{markerIndicatorMode:v,markerIndicatorSize:y,markerIndicator:T,markers:S,marker:b,containerProps:q,startTime:o,currentTime:h,endTime:p})})]})}),!D&&e.jsx(d,{children:e.jsx(t.Text,{size:"xs",sx:{pr:1},children:n.formatTimeForVideoTimeline(p-o)})}),P&&e.jsx(d,{sx:{mr:$.spacing($.custom.padding.xs)},children:e.jsx(m,{volume:I,muted:V,handleVolumeMute:w,handleVolumeChange:F,volumeControlsType:M})}),E&&e.jsx(d,{sx:{mr:$.spacing($.custom.padding.xs)},children:e.jsx(a,{isFullScreen:B,handlefullscreenToggle:R})})]})});module.exports=h;
|