define(["require","exports","tslib","react","react-redux","classnames","lodash","videojs","dig-components/icons/src","dig-components/typography","dig-components/menu","dig-components/buttons","dig-components/icons","dig-components/tooltips","typescript/libraries/file-viewer/src/hooks/useStabilizedCallback","typescript/libraries/file-viewer/src/toolbar/toolbar_buttons","typescript/libraries/file-viewer/src/css/toolbar.module.css","typescript/libraries/file-viewer/src/core/data/selectors","typescript/libraries/file-viewer/src/toolbar/video_control_hooks","typescript/libraries/file-viewer/src/core/utils/browser_detection","typescript/libraries/file-viewer/src/preview_audio_video/vjs_portal","typescript/libraries/file-viewer/src/plugins/types","typescript/libraries/file-viewer/src/toolbar/audio_video_markers","typescript/libraries/file-viewer/src/core/data/actions","typescript/libraries/file-viewer/src/core/logging/actions","typescript/libraries/file-viewer/src/core/logging/video"],(function(e,t,a,l,i,o,n,r,s,u,d,c,m,f,p,v,g,b,y,w,E,S,h,C,M,k){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VideoControlRow=void 0,l=a.__importStar(l),o=a.__importDefault(o),r=a.__importDefault(r),g=a.__importStar(g),w=a.__importStar(w),t.VideoControlRow=({player:e,previewKey:t,fileViewerUi:a,fileViewerId:n,previewMetadata:r,fileRivieraData:s,activePluginInstance:u,intl:d,showInverse:c,isShown:m})=>{var f,w,E;const S=i.useSelector(e=>b.getFileContentMetadata(e,t)),h=i.useSelector(e=>b.getFilePreviewSessionId(e,n)),C=y.useDuration(e),k=i.useDispatch(),P=s&&"isTruncated"in s&&"loaded"===(null===(f=null==s?void 0:s.isTruncated)||void 0===f?void 0:f.state)?s.isTruncated.data:void 0,N=p.useStabilizedCallback((e,t)=>{null!=h&&k(M.logVideoEvent({eventName:e,fileViewerId:n,previewSessionId:h,videoTruncated:P,videoDuration:C,extra:t}))}),L="video"===(null==S?void 0:S.metadata[".tag"])?S.metadata:null,B=null==L?void 0:L.frame_rate,A="video"===(null===(w=null==r?void 0:r.content)||void 0===w?void 0:w[".tag"])||"audio"===(null===(E=null==r?void 0:r.content)||void 0===E?void 0:E[".tag"])?r.content:void 0,j={player:e,intl:d,logVideoAction:N,showInverse:c};return l.default.createElement(l.default.Fragment,null,l.default.createElement(O,{player:e,audioVideoMetadata:A,logVideoAction:N,activePluginInstance:u,fileViewerId:n}),l.default.createElement("div",{className:o.default(g.toolbarRow,g.toolbarVideoControlsRow)},l.default.createElement(V,Object.assign({},j)),l.default.createElement("div",{className:g.frameStepperContainer},B&&a.showVideoFrameSteppers?l.default.createElement(I,Object.assign({},j,{frameRate:B})):null),l.default.createElement(T,{player:e,duration:C,showInverse:c}),l.default.createElement(v.FullScreenButton,{isFullScreen:a.isFullScreen,intl:d,fileViewerId:n,previewKey:t,showInverse:c}),l.default.createElement(_,Object.assign({},j,{previewKey:t,fileViewerId:n,isShown:m})),A&&l.default.createElement(R,Object.assign({},j,{audioVideoMetadata:A,isShown:m}))))},t.VideoControlRow.displayName="VideoControlRow",t.VideoControlRow.displayName="VideoControlRow";const V=l.default.memo(({player:e,intl:t,showInverse:a})=>{const[i,o]=l.default.useState(!0),n=p.useStabilizedCallback(()=>{e&&(i?e.play():e.pause(),o(!i))});return l.useEffect(()=>{const t=()=>o(!0),a=()=>o(!1);if(e)return e.on("play",a),e.on("pause",t),()=>{e.off("play",a),e.off("pause",t)}},[e]),l.default.createElement(v.ToolbarButton,{tooltipText:i?t.formatMessage({id:"iooQK2",defaultMessage:"Play"}):t.formatMessage({id:"NJcnxO",defaultMessage:"Pause"}),onClick:n,icon:i?s.PlayLine:s.PauseLine,disabled:!1,inverseTooltip:!a})});V.displayName="PlayPauseButton",V.displayName="PlayPauseButton";const I=l.default.memo(({player:e,intl:t,frameRate:a,showInverse:i})=>{const o=p.useStabilizedCallback(t=>{const l="forward"===t?1:-1;e&&(e.pause(),e.currentTime(e.currentTime()+l/a))}),n=p.useStabilizedCallback(()=>o("backward")),r=p.useStabilizedCallback(()=>o("forward"));return l.default.createElement(l.default.Fragment,null,l.default.createElement(v.ToolbarButton,{tooltipText:t.formatMessage({id:"2lFvdY",defaultMessage:"Go backward a frame"}),onClick:n,icon:s.SkipTrackBackLine,disabled:!1,inverseTooltip:!i}),l.default.createElement(v.ToolbarButton,{tooltipText:t.formatMessage({id:"tnVTh2",defaultMessage:"Go forward a frame"}),onClick:r,icon:s.SkipTrackForwardLine,disabled:!1,inverseTooltip:!i}))});I.displayName="FrameSteppers";const T=l.default.memo(({player:e,duration:t,showInverse:a})=>{var i;const[o,n]=l.useState(null!==(i=null==e?void 0:e.currentTime())&&void 0!==i?i:0);l.useEffect(()=>{if(e){const t=()=>n(e.currentTime());return e.on("timeupdate",t),()=>{e.off("timeupdate",t)}}},[e]);const{formattedTime:r,formattedDuration:s}=h.formatTime(o,t);return l.default.createElement(u.Text,{className:g.toolbarTimeDisplay,color:"faint",inverse:a},`${r} / ${s}`)});T.displayName="TimeDisplay",T.displayName="TimeDisplay";const _=l.default.memo(({player:e,intl:t,fileViewerId:a,previewKey:o,showInverse:n,isShown:r})=>{const u=i.useDispatch(),{muted:v,volume:y}=i.useSelector(b.getVolumeState),w={fileViewerId:a,previewKey:o,sourceContext:S.UserActionContext.Toolbar},E=p.useStabilizedCallback(t=>{u(C.setVolume(Object.assign(Object.assign({},w),{volume:t}))),null==e||e.volume(t)}),h=p.useStabilizedCallback(t=>{u(C.setMuted(Object.assign(Object.assign({},w),{muted:t}))),null==e||e.muted(t)}),M=p.useStabilizedCallback(e=>{const t=parseFloat(e.target.value);E(t),h(0===t)}),k=p.useStabilizedCallback(()=>{h(!v),v&&0===y&&E(1)}),V=v?0:y,I=v?l.default.createElement(m.UIIcon,{src:s.SoundOffLine}):l.default.createElement(m.UIIcon,{src:s.SoundOnLine}),T={"--volume_percent":`${100*V}%`},_=t.formatMessage({id:"AijADj",defaultMessage:"Volume"});return r?l.default.createElement(d.Menu.Wrapper,{isPortaled:!1},({getTriggerProps:e,getContentProps:a})=>l.default.createElement("div",null,l.default.createElement(f.Tooltip,{title:_,inverse:!n},l.default.createElement("span",null,l.default.createElement(c.IconButton,Object.assign({variant:"transparent"},e(),{"aria-label":_,inverse:!0}),I))),l.default.createElement(d.Menu.Content,Object.assign({},a(),{className:g.toolbarVolumeMenu}),l.default.createElement(d.Menu.Row,{preferComposition:!0,className:g.toolbarVolumeRow},l.default.createElement("input",{className:g.toolbarVolumeInput,type:"range",min:0,max:1,step:.01,value:V,onChange:M,style:T})),l.default.createElement(d.Menu.Row,{preferComposition:!0},l.default.createElement(f.Tooltip,{title:v?t.formatMessage({id:"JA+u8v",defaultMessage:"Unmute"}):t.formatMessage({id:"WHbJ1o",defaultMessage:"Mute"})},l.default.createElement(c.IconButton,{variant:"transparent",onClick:k,className:g.regularButton},I)))))):null});_.displayName="VolumeControlButton",_.displayName="VolumeControlButton";const R=({player:e,intl:t,audioVideoMetadata:a,logVideoAction:i,showInverse:o,isShown:n})=>{const r=l.useCallback((e,t,a)=>{i(k.VideoPreviewEvent.ChangeVideoQuality,{old_video_quality:e,new_video_quality:t,video_quality_changer:a?"user_selected":"auto_resolution_picker"})},[i]),[u,v]=y.useQualityManager(a,e,r),[g,b]=l.useState("1.0"),w=p.useStabilizedCallback(t=>{if(t.startsWith("quality-")){const e=t.slice("quality-".length);v(e)}else if(t.startsWith("playback-rate-")){const a=t.slice("playback-rate-".length);null==e||e.playbackRate(parseFloat(a)),i(k.VideoPreviewEvent.ChangePlaybackRate,{old_playback_rate:g,new_playback_rate:a}),b(a)}}),E=t.formatMessage({id:"OR8xd1",defaultMessage:"Settings"});return n?l.default.createElement(d.Menu.Wrapper,{closeOnSelection:!1,onSelection:w},({getTriggerProps:e,getContentProps:a})=>l.default.createElement("div",null,l.default.createElement(f.Tooltip,{title:E,inverse:!o},l.default.createElement("span",null,l.default.createElement(c.IconButton,Object.assign({variant:"transparent"},e(),{"aria-label":E,inverse:!0}),l.default.createElement(m.UIIcon,{src:s.SettingsLine})))),l.default.createElement(d.Menu.Content,Object.assign({},a()),l.default.createElement(B,{intl:t,selectedPlaybackRate:g}),u&&l.default.createElement(P,{intl:t,selectedQuality:u})))):null};R.displayName="SettingsButton";const P=({intl:e,selectedQuality:t})=>t&&t.qualityList.length>1?l.default.createElement(d.Menu.Submenu,{withLeftAccessory:l.default.createElement(m.UIIcon,{src:s.VideoLine,className:g.regularButton}),withTriggerContent:e.formatMessage({id:"YSihpf",defaultMessage:"Quality"}),closeOnSelection:!1},l.default.createElement(d.Menu.Segment,null,t.qualityList.map(a=>{var i;return l.default.createElement(N,{qualityLevel:a,intl:e,selected:a.key===(null===(i=t.selectedQuality)||void 0===i?void 0:i.key)})})),l.default.createElement(d.Menu.Segment,null,l.default.createElement(N,{qualityLevel:{key:"auto",label:e.formatMessage({id:"qzDU0n",defaultMessage:"Auto"})},intl:e,selected:t.autoSelecting}))):null;P.displayName="QualitySettingsSubmenu",P.displayName="QualitySettingsSubmenu";const N=({intl:e,qualityLevel:t,selected:a})=>l.default.createElement(d.Menu.ActionItem,{key:t.key,value:`quality-${t.key}`,preferComposition:!0},l.default.createElement(d.Menu.RowAccessory,null,a&&l.default.createElement(m.UIIcon,{src:s.CheckmarkLine})),l.default.createElement(d.Menu.RowTitle,{className:g.videoQualityLevel},t.label),l.default.createElement(d.Menu.RowAccessory,null,"4K"===t.sublabel?l.default.createElement(u.Text,{color:"faint",size:"small"},e.formatMessage({id:"TRiL1s",defaultMessage:"4K"})):"HD"===t.sublabel?l.default.createElement(u.Text,{color:"faint",size:"small"},e.formatMessage({id:"za9PEZ",defaultMessage:"HD"})):null));N.displayName="QualityMenuItem";const L=["0.5","1.0","1.25","1.5","2.0"],B=({intl:e,selectedPlaybackRate:t})=>l.default.createElement(d.Menu.Submenu,{withLeftAccessory:l.default.createElement(m.UIIcon,{src:s.QuotaReachedLine}),withTriggerContent:e.formatMessage({id:"yGjBQp",defaultMessage:"Speed"}),closeOnSelection:!1},L.map(e=>l.default.createElement(d.Menu.ActionItem,{className:g.playbackSpeedMenu,key:e,value:`playback-rate-${e}`,preferComposition:!0},l.default.createElement(d.Menu.RowAccessory,null,e===t&&l.default.createElement(m.UIIcon,{src:s.CheckmarkLine})),l.default.createElement(d.Menu.RowTitle,null,`${e}x`))));B.displayName="PlaybackRateSubmenu";const O=l.default.memo(({player:e,audioVideoMetadata:t,logVideoAction:a,activePluginInstance:o,fileViewerId:s})=>{var u;const d=l.useRef(null),[c,m]=l.useState(),f=y.useDuration(e),p=i.useSelector(e=>b.getCurrentFile(e,s)),v=l.useCallback(n.once(e=>{a(e?k.VideoPreviewEvent.ScrubberThumbnailsLoaded:k.VideoPreviewEvent.ScrubberThumbnailsFailed)}),[a]);l.useEffect(()=>{const a=d.current;if(a&&e){const l=new(r.default.getComponent("ProgressControl"))(e),i=l.getChild("seekBar"),o=[],n=null==i?void 0:i.getChild("playProgressBar"),s=null==n?void 0:n.getChild("timeTooltip");s&&(null==n||n.removeChild(s));const u=e.getChild("controlBar");if(u&&e.removeChild(u),null!=i){const a=i.addChild(E.VJS_PORTAL);if(m(a.el()),o.push(()=>{e.removeChild(a),m(void 0)}),!w.is_mobile_or_tablet()&&"video"===(null==t?void 0:t[".tag"])&&null!=i){const e=i.getChild("mouseTimeDisplay");null!=e&&(i.removeChild(e),o.push(()=>{i.isDisposed()||i.addChild(e)}))}}return a.appendChild(l.el()),e.on("dispose",()=>l.dispose()),()=>o.forEach(e=>e())}},[e,t,v]);const g=null===(u=null==o?void 0:o.rightRailUI)||void 0===u?void 0:u.VideoSeekBarLayer,S="video"===(null==t?void 0:t[".tag"])?null==t?void 0:t.thumb_scrubber_vtt_url:void 0;return l.default.createElement(l.default.Fragment,null,l.default.createElement("div",{ref:d}),g?p&&c&&l.default.createElement(g,{container:c,duration:f,fileViewerId:s,file:p,logVideoAction:a,audioVideoMetadata:t}):S&&c&&l.default.createElement(h.AudioVideoMarkers,{threads:void 0,vttUrl:S,onScrubberThumbnailsLoaded:v,duration:f,container:c}))});O.displayName="SeekBarRow",O.displayName="SeekBarRow"})); //# sourceMappingURL=toolbar_video_controls.amd.min.js-vflVO3qJ7.map