@useloops/design-system 1.4.693 → 1.4.695
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/TimeToFindGraph/TimeToFindGraph.js +1 -1
- package/dist/esm/systems/Platform/VideoControls2/VideoControls2.js +1 -1
- package/dist/systems/Platform/TimeToFindGraph/TimeToFindGraph.js +1 -1
- package/dist/systems/Platform/VideoControls2/VideoControls2.js +1 -1
- package/dist/systems/WebCore/Slider/Slider.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useTheme as o,Box as r,Stack as i}from"@mui/material";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{Text as a}from"../../WebCore/Text/Text.js";import"@mui/icons-material";import"react";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"../../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
|
|
1
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useTheme as o,Box as r,Stack as i}from"@mui/material";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{Text as a}from"../../WebCore/Text/Text.js";import"@mui/icons-material";import"react";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"../../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 s from"../../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 n from"../../WebCore/Tooltip/Tooltip.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 p from"../../WebCore/Slider/Slider.js";import"../../WebCore/StarRating/StarRating.js";import l from"../../WebCore/Switch/Switch.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{HistogramWrapper as m,HistogramInner as d,ZoneLayer as b,Zone as u,BarsLayer as c,Bar as C,ZoneLine as j}from"./_partials/StyledComponents.js";const h=({label:r,value:s,prefix:n})=>{const p=o();return e(i,{sx:{flex:1,alignItems:"center",gap:p.p.xs},children:[t(a,{size:"sm",secondary:!0,children:r}),t(a,{size:"sm",bold:!0,monospaced:!0,children:n?`${n} ${s}`:s})]})},W=({min:W,max:x,bins:g,binTooltips:f,p25:B,p50:y,p75:S,mean:I,range:A,onRangeChange:L,capped:M,onCapChange:w,capLabel:k="Cap to 60 seconds",step:T=1,marksStep:P=10,unit:v="sec",formatStat:F,disabled:R,slotProps:G})=>{const _=o(),z=x-W||1,D=e=>(e=>Math.max(0,Math.min(100,e)))((e-W)/z*100),O=Math.max(1,...g),N=z/(g.length||1),K=F??(e=>`${e.toFixed(1)} ${v}`),[V,$]=A,E=D(B),U=D(S);return e(r,{...G?.root,children:[t(r,{sx:{display:"flex",justifyContent:"flex-end",mb:_.p.lg},children:t(l,{sizing:"sm",value:M,label:t(a,{size:"xs",secondary:!0,children:k}),disabled:R,onChange:(e,t)=>w(t)})}),e(i,{sx:{gap:_.p.sm},children:[e(i,{direction:"row",children:[t(h,{label:"Fastest 25%",prefix:"≤",value:K(B)}),t(h,{label:"Average",value:K(I)}),t(h,{label:"Slowest 25%",prefix:"≥",value:K(S)})]}),t(m,{children:e(d,{children:[e(b,{children:[t(u,{tone:"green",widthPct:E}),t(u,{tone:"yellow",widthPct:Math.max(0,U-E)}),t(u,{tone:"red",widthPct:Math.max(0,100-U)})]}),t(c,{children:g.map((o,r)=>{const s=W+(r+.5)*N,p=s>=V&&s<=$,l=o/O*100,m=f?.[r];return m?t(n,{followCursor:!0,enterDelay:200,enterNextDelay:100,message:e(i,{sx:{gap:_.p.xs,p:_.p.xs},children:[t(a,{size:"sm",bold:!0,children:m.headline}),t(a,{size:"xs",secondary:!0,children:m.body})]}),slotProps:{popper:{modifiers:[{name:"offset",options:{offset:[0,12]}}]},wrapper:{sx:{flex:1,height:"100%",flexDirection:"column",justifyContent:"flex-end",alignItems:"center",pointerEvents:"auto"}}},children:t(C,{heightPct:l,inRange:p})},r):t(C,{heightPct:l,inRange:p},r)})}),t(j,{leftPct:D(B)}),t(j,{leftPct:D(y)}),t(j,{leftPct:D(S)})]})}),t(p,{labelLeft:"",labelRight:"",min:W,max:x,step:T,marksStep:P,value:A,valueLabelFormat:e=>`${Math.round(e)}`,disabled:R,onChange:(e,t)=>{Array.isArray(t)&&L([t[0],t[1]])}}),e(i,{direction:"row",sx:{justifyContent:"space-between",gap:_.p.md},children:[e(i,{sx:{gap:_.p.xs,alignItems:"center"},children:[t(a,{size:"sm",children:"Minimum"}),t(r,{sx:{width:104},children:t(s,{value:V,min:W,max:$,step:T,disabled:R,hideActionButtons:!0,slotProps:{input:{sx:{width:"100%",height:40,"& .MuiOutlinedInput-root":{justifyContent:"center"},"& .MuiOutlinedInput-input":{width:"4ch",flexGrow:0,px:0,textAlign:"center"}}}},endAdornment:t(a,{size:"sm",secondary:!0,children:v}),onChange:e=>{"number"==typeof e&&L([e,$])}})})]}),e(i,{sx:{gap:_.p.xs,alignItems:"center"},children:[t(a,{size:"sm",children:"Maximum"}),t(r,{sx:{width:104},children:t(s,{value:$,min:V,max:x,step:T,disabled:R,hideActionButtons:!0,slotProps:{input:{sx:{width:"100%",height:40,"& .MuiOutlinedInput-root":{justifyContent:"center"},"& .MuiOutlinedInput-input":{width:"4ch",flexGrow:0,px:0,textAlign:"center"}}}},endAdornment:t(a,{size:"sm",secondary:!0,children:v}),onChange:e=>{"number"==typeof e&&L([V,e])}})})]})]})]})]})};export{W as default};
|
|
@@ -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: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
|
+
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",borderRadius:18})),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",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
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("@mui/material");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");var t=require("../../WebCore/Text/Text.js");require("@mui/icons-material"),require("react"),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"),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");var i=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");var o=require("../../WebCore/Tooltip/Tooltip.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");var s=require("../../WebCore/Slider/Slider.js");require("../../WebCore/StarRating/StarRating.js");var a=require("../../WebCore/Switch/Switch.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("./_partials/StyledComponents.js");const l=({label:i,value:o,prefix:s})=>{const a=r.useTheme();return e.jsxs(r.Stack,{sx:{flex:1,alignItems:"center",gap:a.p.xs},children:[e.jsx(t.Text,{size:"sm",secondary:!0,children:i}),e.jsx(t.Text,{size:"sm",bold:!0,monospaced:!0,children:s?`${s} ${o}`:o})]})};module.exports=({min:u,max:d,bins:p,binTooltips:b,p25:j,p50:c,p75:x,mean:C,range:m,onRangeChange:q,capped:h,onCapChange:W,capLabel:B="Cap to 60 seconds",step:g=1,marksStep:y=10,unit:S="sec",formatStat:f,disabled:I,slotProps:L})=>{const T=r.useTheme(),A=d-u||1,k=e=>(e=>Math.max(0,Math.min(100,e)))((e-u)/A*100),v=Math.max(1,...p),M=A/(p.length||1),w=f??(e=>`${e.toFixed(1)} ${S}`),[P,
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("@mui/material");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");var t=require("../../WebCore/Text/Text.js");require("@mui/icons-material"),require("react"),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"),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");var i=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");var o=require("../../WebCore/Tooltip/Tooltip.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");var s=require("../../WebCore/Slider/Slider.js");require("../../WebCore/StarRating/StarRating.js");var a=require("../../WebCore/Switch/Switch.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("./_partials/StyledComponents.js");const l=({label:i,value:o,prefix:s})=>{const a=r.useTheme();return e.jsxs(r.Stack,{sx:{flex:1,alignItems:"center",gap:a.p.xs},children:[e.jsx(t.Text,{size:"sm",secondary:!0,children:i}),e.jsx(t.Text,{size:"sm",bold:!0,monospaced:!0,children:s?`${s} ${o}`:o})]})};module.exports=({min:u,max:d,bins:p,binTooltips:b,p25:j,p50:c,p75:x,mean:C,range:m,onRangeChange:q,capped:h,onCapChange:W,capLabel:B="Cap to 60 seconds",step:g=1,marksStep:y=10,unit:S="sec",formatStat:f,disabled:I,slotProps:L})=>{const T=r.useTheme(),A=d-u||1,k=e=>(e=>Math.max(0,Math.min(100,e)))((e-u)/A*100),v=Math.max(1,...p),M=A/(p.length||1),w=f??(e=>`${e.toFixed(1)} ${S}`),[P,F]=m,R=k(j),G=k(x);return e.jsxs(r.Box,{...L?.root,children:[e.jsx(r.Box,{sx:{display:"flex",justifyContent:"flex-end",mb:T.p.lg},children:e.jsx(a,{sizing:"sm",value:h,label:e.jsx(t.Text,{size:"xs",secondary:!0,children:B}),disabled:I,onChange:(e,r)=>W(r)})}),e.jsxs(r.Stack,{sx:{gap:T.p.sm},children:[e.jsxs(r.Stack,{direction:"row",children:[e.jsx(l,{label:"Fastest 25%",prefix:"≤",value:w(j)}),e.jsx(l,{label:"Average",value:w(C)}),e.jsx(l,{label:"Slowest 25%",prefix:"≥",value:w(x)})]}),e.jsx(n.HistogramWrapper,{children:e.jsxs(n.HistogramInner,{children:[e.jsxs(n.ZoneLayer,{children:[e.jsx(n.Zone,{tone:"green",widthPct:R}),e.jsx(n.Zone,{tone:"yellow",widthPct:Math.max(0,G-R)}),e.jsx(n.Zone,{tone:"red",widthPct:Math.max(0,100-G)})]}),e.jsx(n.BarsLayer,{children:p.map((i,s)=>{const a=u+(s+.5)*M,l=a>=P&&a<=F,d=i/v*100,p=b?.[s];return p?e.jsx(o,{followCursor:!0,enterDelay:200,enterNextDelay:100,message:e.jsxs(r.Stack,{sx:{gap:T.p.xs,p:T.p.xs},children:[e.jsx(t.Text,{size:"sm",bold:!0,children:p.headline}),e.jsx(t.Text,{size:"xs",secondary:!0,children:p.body})]}),slotProps:{popper:{modifiers:[{name:"offset",options:{offset:[0,12]}}]},wrapper:{sx:{flex:1,height:"100%",flexDirection:"column",justifyContent:"flex-end",alignItems:"center",pointerEvents:"auto"}}},children:e.jsx(n.Bar,{heightPct:d,inRange:l})},s):e.jsx(n.Bar,{heightPct:d,inRange:l},s)})}),e.jsx(n.ZoneLine,{leftPct:k(j)}),e.jsx(n.ZoneLine,{leftPct:k(c)}),e.jsx(n.ZoneLine,{leftPct:k(x)})]})}),e.jsx(s,{labelLeft:"",labelRight:"",min:u,max:d,step:g,marksStep:y,value:m,valueLabelFormat:e=>`${Math.round(e)}`,disabled:I,onChange:(e,r)=>{Array.isArray(r)&&q([r[0],r[1]])}}),e.jsxs(r.Stack,{direction:"row",sx:{justifyContent:"space-between",gap:T.p.md},children:[e.jsxs(r.Stack,{sx:{gap:T.p.xs,alignItems:"center"},children:[e.jsx(t.Text,{size:"sm",children:"Minimum"}),e.jsx(r.Box,{sx:{width:104},children:e.jsx(i.default,{value:P,min:u,max:F,step:g,disabled:I,hideActionButtons:!0,slotProps:{input:{sx:{width:"100%",height:40,"& .MuiOutlinedInput-root":{justifyContent:"center"},"& .MuiOutlinedInput-input":{width:"4ch",flexGrow:0,px:0,textAlign:"center"}}}},endAdornment:e.jsx(t.Text,{size:"sm",secondary:!0,children:S}),onChange:e=>{"number"==typeof e&&q([e,F])}})})]}),e.jsxs(r.Stack,{sx:{gap:T.p.xs,alignItems:"center"},children:[e.jsx(t.Text,{size:"sm",children:"Maximum"}),e.jsx(r.Box,{sx:{width:104},children:e.jsx(i.default,{value:F,min:P,max:d,step:g,disabled:I,hideActionButtons:!0,slotProps:{input:{sx:{width:"100%",height:40,"& .MuiOutlinedInput-root":{justifyContent:"center"},"& .MuiOutlinedInput-input":{width:"4ch",flexGrow:0,px:0,textAlign:"center"}}}},endAdornment:e.jsx(t.Text,{size:"sm",secondary:!0,children:S}),onChange:e=>{"number"==typeof e&&q([P,e])}})})]})]})]})]})};
|
|
@@ -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: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
|
+
"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",borderRadius:18})),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",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;
|
|
@@ -21,6 +21,7 @@ interface SliderProps {
|
|
|
21
21
|
onChange?: (event: Event, value: number | number[], activeThumb: number) => void;
|
|
22
22
|
step?: number;
|
|
23
23
|
value?: number | number[];
|
|
24
|
+
valueLabelFormat?: (value: number, index: number) => ReactNode;
|
|
24
25
|
slotProps?: {
|
|
25
26
|
root?: BoxProps;
|
|
26
27
|
};
|