@useloops/design-system 1.4.620 → 1.4.621
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 +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{
|
|
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"../../WebCore/AnnualController/AnnualController.js";import"../../WebCore/Accordion/Accordion.js";import"../../WebCore/Typography/Typography.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/Checkbox/StyledCheckbox.js";import"../../WebCore/InputFieldBase/InputFieldBase.js";import"../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js";import"@mui/icons-material";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/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/utils/autocomplete.styles.js";import"../../WebCore/Select/AutocompleteListbox.js";import"../../WebCore/Select/StyledAutocomplete.js";import"../../WebCore/Select/SelectItem.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"../../WebCore/ButtonTabGroup/_partials/ActiveIndicator.js";import"../../WebCore/ButtonTabGroup/_partials/ButtonTabsWrapper.js";import"../../WebCore/ButtonTabGroup/_partials/TabButton.js";import b from"./components/ActionButton/ActionButton.js";import c from"./components/Timeline/Timeline.js";const C=m(u)(({theme:e})=>({display:"flex",flex:1,padding:e.spacing(e.custom.padding.md),borderColor:e.custom.palette.stroke.light,borderWidth:1,gap:e.spacing(e.custom.padding.sm),borderStyle:"solid",flexDirection:"column"})),f=m(l)(({theme:e})=>({alignItems:"center",gap:e.spacing(e.custom.padding.md),justifyContent:"space-between",flexDirection:"row",flex:1})),g=s(t(({id:t,videoElement:s,initialEndTime:m=0,initialCurrentTime:l=0,initialMuted:u,initialVolume:g,markers:j,options:y,slots:T,events:{onEnd:W,onPlay:B,onSeekEnd:k,onSeeking:v,onSeekStart:S,onTimeUpdate:h,onPause:I,onVolumeChange:E,onVolumeMute:L,onRestart:x,onFirstPlay:P,onFirstEnded:w,onReset:M}={},videoSeekTime:R,slotProps:A},V)=>{const[F,G]=o(!1),[D,N]=o([]),_={rtl:!1,volumeControls:!0,normaliseTime:!1,markerIndicatorMode:"time",markerIndicator:!1,markerIndicatorSize:3,volumeControlsType:"mute",disableBufferingEvents:!1,...y},[{seeking:O,endTime:z,currentTime:U,playing:K,buffering:q,loaded:H,ended:J,volume:Q,muted:X,startTime:Y,firstPlay:Z,firstEnded:$},ee]=o({startTime:p(_.normaliseTime?l:0),endTime:p(_.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=X,s.volume=Q,_.normaliseTime&&(void 0===m||void 0===l))throw new Error("Please supply an initial end time and initial currentTime for normalising time in VideoControls.tsx");return()=>{ue()}},[]),i(()=>{ee(e=>({...e,startTime:p(_.normaliseTime?l:0),endTime:p(_.normaliseTime?m:s.duration),currentTime:p(l??0)})),s.currentTime=p(l??0)},[l,m]);const re=n(()=>{ee(e=>({...e,playing:!1,ended:!0,...!$&&{firstEnded:!0}})),W&&W(),!$&&w&&w()},[$]);i(()=>{if(!s||null==R)return;(async()=>{const e=!s.paused,r=R===z;ee(e=>({...e,playing:!1,currentTime:p(R)})),await new Promise(e=>{const r=()=>{s.removeEventListener("seeked",r),e()};s.addEventListener("seeked",r),setTimeout(e,500)}),ee(e=>({...e,currentTime:p(R)})),await new Promise(e=>setTimeout(e,50)),ee(t=>({...t,playing:e,currentTime:p(r?R-.001:R+.001)}))})().catch(e=>{console.error("Error seeking video:",e)})},[R,s]);const te=n(e=>{ee(r=>({...r,muted:e.target?.muted,volume:"number"==typeof e.target?.volume?e.target?.volume:1})),X!==e.target?.muted&&L&&L(!X),Q!==e.target?.volume&&E&&E(Q)},[X,Q]),oe=n(()=>{const e=p(s.currentTime)>=z&&z!==p(s.duration)&&!J,r=p(s.currentTime)>=z&&z===p(s.duration)&&!J&&!K;(e||r)&&(s.pause(),s.dispatchEvent(new Event("ended"))),ee(e=>({...e,currentTime:p(s.currentTime)})),h&&h(p(s.currentTime))},[z,J,K]),ie=n(()=>{ee(e=>({...e,playing:!1})),I&&I()},[U]),ne=n(()=>{ee(e=>({...e,playing:!0,ended:!1,...!_?.disableBufferingEvents&&{buffering:!1},...!Z&&{firstPlay:!0}})),!Z&&P&&P(),B&&B()},[Z,_?.disableBufferingEvents]),ae=n(()=>{_?.disableBufferingEvents||ee(e=>({...e,buffering:!0}))},[_?.disableBufferingEvents]),se=n(()=>{_?.disableBufferingEvents||ee(e=>({...e,buffering:!1}))},[q,_?.disableBufferingEvents]),me=n(()=>{if(_?.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>=Y&&t<=z){const r=Math.max(t,Y),i=Math.min(o,z);e.push({start:r-Y,end:i-Y,startPercent:(r-Y)/(z-Y)*100,widthPercent:(i-r)/(z-Y)*100})}}N(e)},[O,z,U,K,q,H,J,Q,X,Y,D,_?.disableBufferingEvents]),le=n(async e=>{K&&ue(),s.currentTime=Y,e&&await pe(),x&&x()},[K,U,Y,z,J]),de=n(async()=>{K&&ue(),s.currentTime=Y,ee(e=>({...e,startTime:p(_.normaliseTime?l:0),endTime:p(_.normaliseTime?m:s.duration),currentTime:p(l??0),loaded:!0,ended:!1,firstPlay:!1,firstEnded:!1,seeking:!1,playing:!1})),M&&M()},[K,U,Y,z,J,l,m]),pe=async()=>{await s.play()},ue=()=>{s.pause()},be=n(e=>{s.currentTime=p(e),ee(r=>({...r,currentTime:p(e),ended:!1,seeking:!0,...!_?.disableBufferingEvents&&{buffering:!1},firstPlay:!Z||r.firstPlay,bufferProgress:e})),v&&v(e),!Z&&P&&P()},[q,Z,_?.disableBufferingEvents]),ce=n(async()=>{document.hidden?K&&!s.paused?(G(!0),ue()):G(!1):(F&&!K&&await pe(),G(!1))},[K,F,ue,pe,s]),Ce=n(e=>{e&&s.pause(),ee(e=>({...e,seeking:!0})),S&&S()},[J]),fe=n(async(e,r,t)=>{r&&(s.currentTime=r),e&&!J&&await s.play(),t&&K&&s.pause(),ee(e=>({...e,...r?{currentTime:r}:{},ended:!t&&e.ended,seeking:!1})),k&&k(r)},[K,J,q,O]);return d("visibilitychange",ce,document),d("pause",ie,s),d("playing",ne,s),d("timeupdate",oe,s),d("ended",re,s),d("volumechange",te,s),d("waiting",ae,s),d("canplay",se,s),d("progress",me,s),a(V,()=>({play:pe,pause:ue,restart:le,reset:de,seek:(e,r,t)=>fe(r,e,t),videoState:{seeking:O,endTime:z,currentTime:U,playing:K,buffering:q,loaded:H,ended:J,volume:Q,firstPlay:Z,firstEnded:$,muted:X,startTime:Y}})),e(C,{variation:"raised",borderradius:"xl",id:t,sx:A?.paperContainer?.sx,children:[e(f,{..._?.rtl&&{dir:"rtl"},children:[r(b,{seeking:O,playing:K,ended:J,buffering:q,handleAction:async()=>{J?await le(!0):K?ue():await pe()}}),r(c,{handleSeeking:be,handleSeekEnd:fe,handleSeekStart:Ce,ended:J,marker:T?.marker,markers:j,markerIndicatorMode:_.markerIndicatorMode,markerIndicatorSize:_.markerIndicatorSize,markerIndicator:_.markerIndicator,startTime:_.normaliseTime?Y:0,currentTime:U,endTime:z,playing:K,bufferRanges:D,buffering:q,volume:Q,muted:X,volumeControls:_.volumeControls,volumeControlsType:_.volumeControlsType,handleVolumeMute:()=>{s.muted=!X},handleVolumeChange:e=>{s.volume=e,X&&(s.muted=!1)}})]}),T?.bottom]})}));export{g as default};
|
|
@@ -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("merge-sx"),o=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("../../WebCore/AnnualController/AnnualController.js"),require("../../WebCore/Accordion/Accordion.js"),require("../../WebCore/Typography/Typography.js"),require("../../WebCore/Badge/Badge.js"),require("../../WebCore/Breadcrumb/Breadcrumb.js"),require("../../WebCore/Button/Button.js"),require("../../WebCore/ButtonBase/ButtonBase.js"),require("../../WebCore/Checkbox/StyledCheckbox.js"),require("../../WebCore/InputFieldBase/InputFieldBase.js"),require("../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js"),require("@mui/icons-material"),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/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 n=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/utils/autocomplete.styles.js"),require("../../WebCore/Select/AutocompleteListbox.js"),require("../../WebCore/Select/StyledAutocomplete.js"),require("../../WebCore/Select/SelectItem.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"),require("../../WebCore/ButtonTabGroup/_partials/ActiveIndicator.js"),require("../../WebCore/ButtonTabGroup/_partials/ButtonTabsWrapper.js"),require("../../WebCore/ButtonTabGroup/_partials/TabButton.js");var s=require("./components/ActionButton/ActionButton.js"),l=require("./components/Timeline/Timeline.js");function u(e){return e&&e.__esModule?e:{default:e}}var d=u(i);const m=t.styled(n)(({theme:e})=>({display:"flex",flex:1,padding:e.spacing(e.custom.padding.md),borderColor:e.custom.palette.stroke.light,borderWidth:1,gap:e.spacing(e.custom.padding.sm),borderStyle:"solid",flexDirection:"column"})),c=t.styled(t.Stack)(({theme:e})=>({alignItems:"center",gap:e.spacing(e.custom.padding.md),justifyContent:"space-between",flexDirection:"row",flex:1})),b=r.forwardRef(({id:t,videoElement:i,initialEndTime:n=0,initialCurrentTime:u=0,initialMuted:b,initialVolume:p,markers:C,options:f,slots:g,events:{onEnd:q,onPlay:j,onSeekEnd:y,onSeeking:T,onSeekStart:W,onTimeUpdate:k,onPause:v,onVolumeChange:B,onVolumeMute:S,onRestart:h,onFirstPlay:E,onFirstEnded:I,onReset:F}={},videoSeekTime:x,slotProps:L},P)=>{const[w,M]=r.useState(!1),[R,A]=r.useState([]),V={rtl:!1,volumeControls:!0,normaliseTime:!1,markerIndicatorMode:"time",markerIndicator:!1,markerIndicatorSize:3,volumeControlsType:"mute",disableBufferingEvents:!1,...f},[{seeking:G,endTime:D,currentTime:_,playing:N,buffering:O,loaded:z,ended:U,volume:K,muted:H,startTime:J,firstPlay:Q,firstEnded:X},Y]=r.useState({startTime:o.normaliseFloat(V.normaliseTime?u:0),endTime:o.normaliseFloat(V.normaliseTime?n:i.duration),currentTime:o.normaliseFloat(u??0),loaded:!0,ended:!1,firstPlay:!1,firstEnded:!1,seeking:!1,playing:!1,volume:p||1,muted:b||!1,buffering:!1});r.useEffect(()=>{if(i.muted=H,i.volume=K,V.normaliseTime&&(void 0===n||void 0===u))throw new Error("Please supply an initial end time and initial currentTime for normalising time in VideoControls.tsx");return()=>{ue()}},[]),r.useEffect(()=>{Y(e=>({...e,startTime:o.normaliseFloat(V.normaliseTime?u:0),endTime:o.normaliseFloat(V.normaliseTime?n:i.duration),currentTime:o.normaliseFloat(u??0)})),i.currentTime=o.normaliseFloat(u??0)},[u,n]);const Z=r.useCallback(()=>{Y(e=>({...e,playing:!1,ended:!0,...!X&&{firstEnded:!0}})),q&&q(),!X&&I&&I()},[X]);r.useEffect(()=>{if(!i||null==x)return;(async()=>{const e=!i.paused,r=x===D;Y(e=>({...e,playing:!1,currentTime:o.normaliseFloat(x)})),await new Promise(e=>{const r=()=>{i.removeEventListener("seeked",r),e()};i.addEventListener("seeked",r),setTimeout(e,500)}),Y(e=>({...e,currentTime:o.normaliseFloat(x)})),await new Promise(e=>setTimeout(e,50)),Y(t=>({...t,playing:e,currentTime:o.normaliseFloat(r?x-.001:x+.001)}))})().catch(e=>{console.error("Error seeking video:",e)})},[x,i]);const $=r.useCallback(e=>{Y(r=>({...r,muted:e.target?.muted,volume:"number"==typeof e.target?.volume?e.target?.volume:1})),H!==e.target?.muted&&S&&S(!H),K!==e.target?.volume&&B&&B(K)},[H,K]),ee=r.useCallback(()=>{const e=o.normaliseFloat(i.currentTime)>=D&&D!==o.normaliseFloat(i.duration)&&!U,r=o.normaliseFloat(i.currentTime)>=D&&D===o.normaliseFloat(i.duration)&&!U&&!N;(e||r)&&(i.pause(),i.dispatchEvent(new Event("ended"))),Y(e=>({...e,currentTime:o.normaliseFloat(i.currentTime)})),k&&k(o.normaliseFloat(i.currentTime))},[D,U,N]),re=r.useCallback(()=>{Y(e=>({...e,playing:!1})),v&&v()},[_]),te=r.useCallback(()=>{Y(e=>({...e,playing:!0,ended:!1,...!V?.disableBufferingEvents&&{buffering:!1},...!Q&&{firstPlay:!0}})),!Q&&E&&E(),j&&j()},[Q,V?.disableBufferingEvents]),ie=r.useCallback(()=>{V?.disableBufferingEvents||Y(e=>({...e,buffering:!0}))},[V?.disableBufferingEvents]),ae=r.useCallback(()=>{V?.disableBufferingEvents||Y(e=>({...e,buffering:!1}))},[O,V?.disableBufferingEvents]),oe=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>=J&&t<=D){const r=Math.max(t,J),i=Math.min(a,D);e.push({start:r-J,end:i-J,startPercent:(r-J)/(D-J)*100,widthPercent:(i-r)/(D-J)*100})}}A(e)},[G,D,_,N,O,z,U,K,H,J,R,V?.disableBufferingEvents]),ne=r.useCallback(async e=>{N&&ue(),i.currentTime=J,e&&await le(),h&&h()},[N,_,J,D,U]),se=r.useCallback(async()=>{N&&ue(),i.currentTime=J,Y(e=>({...e,startTime:o.normaliseFloat(V.normaliseTime?u:0),endTime:o.normaliseFloat(V.normaliseTime?n:i.duration),currentTime:o.normaliseFloat(u??0),loaded:!0,ended:!1,firstPlay:!1,firstEnded:!1,seeking:!1,playing:!1})),F&&F()},[N,_,J,D,U,u,n]),le=async()=>{await i.play()},ue=()=>{i.pause()},de=r.useCallback(e=>{i.currentTime=o.normaliseFloat(e),Y(r=>({...r,currentTime:o.normaliseFloat(e),ended:!1,seeking:!0,...!V?.disableBufferingEvents&&{buffering:!1},firstPlay:!Q||r.firstPlay,bufferProgress:e})),T&&T(e),!Q&&E&&E()},[O,Q,V?.disableBufferingEvents]),me=r.useCallback(async()=>{document.hidden?N&&!i.paused?(M(!0),ue()):M(!1):(w&&!N&&await le(),M(!1))},[N,w,ue,le,i]),ce=r.useCallback(e=>{e&&i.pause(),Y(e=>({...e,seeking:!0})),W&&W()},[U]),be=r.useCallback(async(e,r,t)=>{r&&(i.currentTime=r),e&&!U&&await i.play(),t&&N&&i.pause(),Y(e=>({...e,...r?{currentTime:r}:{},ended:!t&&e.ended,seeking:!1})),y&&y(r)},[N,U,O,G]);return d.default("visibilitychange",me,document),d.default("pause",re,i),d.default("playing",te,i),d.default("timeupdate",ee,i),d.default("ended",Z,i),d.default("volumechange",$,i),d.default("waiting",ie,i),d.default("canplay",ae,i),d.default("progress",oe,i),r.useImperativeHandle(P,()=>({play:le,pause:ue,restart:ne,reset:se,seek:(e,r,t)=>be(r,e,t),videoState:{seeking:G,endTime:D,currentTime:_,playing:N,buffering:O,loaded:z,ended:U,volume:K,firstPlay:Q,firstEnded:X,muted:H,startTime:J}})),e.jsxs(m,{variation:"raised",borderradius:"xl",id:t,sx:a.mergeSx({minWidth:288},L?.paperContainer?.sx),children:[e.jsxs(c,{...V?.rtl&&{dir:"rtl"},children:[e.jsx(s,{seeking:G,playing:N,ended:U,buffering:O,handleAction:async()=>{U?await ne(!0):N?ue():await le()}}),e.jsx(l,{handleSeeking:de,handleSeekEnd:be,handleSeekStart:ce,ended:U,marker:g?.marker,markers:C,markerIndicatorMode:V.markerIndicatorMode,markerIndicatorSize:V.markerIndicatorSize,markerIndicator:V.markerIndicator,startTime:V.normaliseTime?J:0,currentTime:_,endTime:D,playing:N,bufferRanges:R,buffering:O,volume:K,muted:H,volumeControls:V.volumeControls,volumeControlsType:V.volumeControlsType,handleVolumeMute:()=>{i.muted=!H},handleVolumeChange:e=>{i.volume=e,H&&(i.muted=!1)}})]}),g?.bottom]})});var p=r.memo(b);module.exports=p;
|
|
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("../../WebCore/AnnualController/AnnualController.js"),require("../../WebCore/Accordion/Accordion.js"),require("../../WebCore/Typography/Typography.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/Checkbox/StyledCheckbox.js"),require("../../WebCore/InputFieldBase/InputFieldBase.js"),require("../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js"),require("@mui/icons-material"),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/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/utils/autocomplete.styles.js"),require("../../WebCore/Select/AutocompleteListbox.js"),require("../../WebCore/Select/StyledAutocomplete.js"),require("../../WebCore/Select/SelectItem.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"),require("../../WebCore/ButtonTabGroup/_partials/ActiveIndicator.js"),require("../../WebCore/ButtonTabGroup/_partials/ButtonTabsWrapper.js"),require("../../WebCore/ButtonTabGroup/_partials/TabButton.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:e.spacing(e.custom.padding.md),borderColor:e.custom.palette.stroke.light,borderWidth:1,gap:e.spacing(e.custom.padding.sm),borderStyle:"solid",flexDirection:"column"})),m=t.styled(t.Stack)(({theme:e})=>({alignItems:"center",gap:e.spacing(e.custom.padding.md),justifyContent:"space-between",flexDirection:"row",flex:1})),c=r.forwardRef(({id:t,videoElement:i,initialEndTime:o=0,initialCurrentTime:l=0,initialMuted:c,initialVolume:b,markers:p,options:C,slots:f,events:{onEnd:g,onPlay:q,onSeekEnd:j,onSeeking:y,onSeekStart:T,onTimeUpdate:k,onPause:W,onVolumeChange:v,onVolumeMute:B,onRestart:S,onFirstPlay:h,onFirstEnded:E,onReset:I}={},videoSeekTime:F,slotProps:x},L)=>{const[P,w]=r.useState(!1),[M,R]=r.useState([]),A={rtl:!1,volumeControls:!0,normaliseTime:!1,markerIndicatorMode:"time",markerIndicator:!1,markerIndicatorSize:3,volumeControlsType:"mute",disableBufferingEvents:!1,...C},[{seeking:V,endTime:G,currentTime:D,playing:_,buffering:N,loaded:O,ended:z,volume:U,muted:K,startTime:H,firstPlay:J,firstEnded:Q},X]=r.useState({startTime:a.normaliseFloat(A.normaliseTime?l:0),endTime:a.normaliseFloat(A.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=K,i.volume=U,A.normaliseTime&&(void 0===o||void 0===l))throw new Error("Please supply an initial end time and initial currentTime for normalising time in VideoControls.tsx");return()=>{le()}},[]),r.useEffect(()=>{X(e=>({...e,startTime:a.normaliseFloat(A.normaliseTime?l:0),endTime:a.normaliseFloat(A.normaliseTime?o:i.duration),currentTime:a.normaliseFloat(l??0)})),i.currentTime=a.normaliseFloat(l??0)},[l,o]);const Y=r.useCallback(()=>{X(e=>({...e,playing:!1,ended:!0,...!Q&&{firstEnded:!0}})),g&&g(),!Q&&E&&E()},[Q]);r.useEffect(()=>{if(!i||null==F)return;(async()=>{const e=!i.paused,r=F===G;X(e=>({...e,playing:!1,currentTime:a.normaliseFloat(F)})),await new Promise(e=>{const r=()=>{i.removeEventListener("seeked",r),e()};i.addEventListener("seeked",r),setTimeout(e,500)}),X(e=>({...e,currentTime:a.normaliseFloat(F)})),await new Promise(e=>setTimeout(e,50)),X(t=>({...t,playing:e,currentTime:a.normaliseFloat(r?F-.001:F+.001)}))})().catch(e=>{console.error("Error seeking video:",e)})},[F,i]);const Z=r.useCallback(e=>{X(r=>({...r,muted:e.target?.muted,volume:"number"==typeof e.target?.volume?e.target?.volume:1})),K!==e.target?.muted&&B&&B(!K),U!==e.target?.volume&&v&&v(U)},[K,U]),$=r.useCallback(()=>{const e=a.normaliseFloat(i.currentTime)>=G&&G!==a.normaliseFloat(i.duration)&&!z,r=a.normaliseFloat(i.currentTime)>=G&&G===a.normaliseFloat(i.duration)&&!z&&!_;(e||r)&&(i.pause(),i.dispatchEvent(new Event("ended"))),X(e=>({...e,currentTime:a.normaliseFloat(i.currentTime)})),k&&k(a.normaliseFloat(i.currentTime))},[G,z,_]),ee=r.useCallback(()=>{X(e=>({...e,playing:!1})),W&&W()},[D]),re=r.useCallback(()=>{X(e=>({...e,playing:!0,ended:!1,...!A?.disableBufferingEvents&&{buffering:!1},...!J&&{firstPlay:!0}})),!J&&h&&h(),q&&q()},[J,A?.disableBufferingEvents]),te=r.useCallback(()=>{A?.disableBufferingEvents||X(e=>({...e,buffering:!0}))},[A?.disableBufferingEvents]),ie=r.useCallback(()=>{A?.disableBufferingEvents||X(e=>({...e,buffering:!1}))},[N,A?.disableBufferingEvents]),ae=r.useCallback(()=>{if(A?.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>=H&&t<=G){const r=Math.max(t,H),i=Math.min(a,G);e.push({start:r-H,end:i-H,startPercent:(r-H)/(G-H)*100,widthPercent:(i-r)/(G-H)*100})}}R(e)},[V,G,D,_,N,O,z,U,K,H,M,A?.disableBufferingEvents]),oe=r.useCallback(async e=>{_&&le(),i.currentTime=H,e&&await se(),S&&S()},[_,D,H,G,z]),ne=r.useCallback(async()=>{_&&le(),i.currentTime=H,X(e=>({...e,startTime:a.normaliseFloat(A.normaliseTime?l:0),endTime:a.normaliseFloat(A.normaliseTime?o:i.duration),currentTime:a.normaliseFloat(l??0),loaded:!0,ended:!1,firstPlay:!1,firstEnded:!1,seeking:!1,playing:!1})),I&&I()},[_,D,H,G,z,l,o]),se=async()=>{await i.play()},le=()=>{i.pause()},ue=r.useCallback(e=>{i.currentTime=a.normaliseFloat(e),X(r=>({...r,currentTime:a.normaliseFloat(e),ended:!1,seeking:!0,...!A?.disableBufferingEvents&&{buffering:!1},firstPlay:!J||r.firstPlay,bufferProgress:e})),y&&y(e),!J&&h&&h()},[N,J,A?.disableBufferingEvents]),de=r.useCallback(async()=>{document.hidden?_&&!i.paused?(w(!0),le()):w(!1):(P&&!_&&await se(),w(!1))},[_,P,le,se,i]),me=r.useCallback(e=>{e&&i.pause(),X(e=>({...e,seeking:!0})),T&&T()},[z]),ce=r.useCallback(async(e,r,t)=>{r&&(i.currentTime=r),e&&!z&&await i.play(),t&&_&&i.pause(),X(e=>({...e,...r?{currentTime:r}:{},ended:!t&&e.ended,seeking:!1})),j&&j(r)},[_,z,N,V]);return u.default("visibilitychange",de,document),u.default("pause",ee,i),u.default("playing",re,i),u.default("timeupdate",$,i),u.default("ended",Y,i),u.default("volumechange",Z,i),u.default("waiting",te,i),u.default("canplay",ie,i),u.default("progress",ae,i),r.useImperativeHandle(L,()=>({play:se,pause:le,restart:oe,reset:ne,seek:(e,r,t)=>ce(r,e,t),videoState:{seeking:V,endTime:G,currentTime:D,playing:_,buffering:N,loaded:O,ended:z,volume:U,firstPlay:J,firstEnded:Q,muted:K,startTime:H}})),e.jsxs(d,{variation:"raised",borderradius:"xl",id:t,sx:x?.paperContainer?.sx,children:[e.jsxs(m,{...A?.rtl&&{dir:"rtl"},children:[e.jsx(n,{seeking:V,playing:_,ended:z,buffering:N,handleAction:async()=>{z?await oe(!0):_?le():await se()}}),e.jsx(s,{handleSeeking:ue,handleSeekEnd:ce,handleSeekStart:me,ended:z,marker:f?.marker,markers:p,markerIndicatorMode:A.markerIndicatorMode,markerIndicatorSize:A.markerIndicatorSize,markerIndicator:A.markerIndicator,startTime:A.normaliseTime?H:0,currentTime:D,endTime:G,playing:_,bufferRanges:M,buffering:N,volume:U,muted:K,volumeControls:A.volumeControls,volumeControlsType:A.volumeControlsType,handleVolumeMute:()=>{i.muted=!K},handleVolumeChange:e=>{i.volume=e,K&&(i.muted=!1)}})]}),f?.bottom]})});var b=r.memo(c);module.exports=b;
|