{"version":3,"sources":["webpack:///./node_modules/video-react/lib/components/control-bar/PlayToggle.js","webpack:///./node_modules/video-react/lib/reducers/operation.js","webpack:///./node_modules/video-react/lib/components/popup/Popup.js","webpack:///./node_modules/video-react/lib/components/control-bar/ForwardControl.js","webpack:///./node_modules/video-react/lib/components/control-bar/FullscreenToggle.js","webpack:///./node_modules/video-react/lib/reducers/player.js","webpack:///./node_modules/video-react/lib/components/control-bar/ForwardReplayControl.js","webpack:///./node_modules/video-react/lib/components/control-bar/VolumeMenuButton.js","webpack:///./node_modules/@material-ui/icons/Launch.js","webpack:///./node_modules/video-react/lib/components/control-bar/PlaybackRateMenuButton.js","webpack:///./node_modules/video-react/lib/components/menu/MenuItem.js","webpack:///./node_modules/video-react/lib/utils/dom.js","webpack:///./node_modules/video-react/lib/components/Video.js","webpack:///./node_modules/video-react/lib/components/control-bar/ControlBar.js","webpack:///./node_modules/video-react/lib/components/time-controls/DurationDisplay.js","webpack:///./node_modules/video-react/lib/components/control-bar/MouseTimeDisplay.js","webpack:///./node_modules/video-react/lib/components/time-controls/CurrentTimeDisplay.js","webpack:///./node_modules/video-react/lib/actions/video.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/inherits.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/video-react/lib/components/Shortcut.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/objectSpread.js","webpack:///./node_modules/video-react/lib/components/time-controls/RemainingTimeDisplay.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///./node_modules/video-react/lib/components/popup/PopupButton.js","webpack:///./node_modules/video-react/lib/components/volume-control/VolumeBar.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/classnames/index.js","webpack:///./node_modules/video-react/lib/components/menu/MenuButton.js","webpack:///./node_modules/video-react/lib/components/control-bar/ReplayControl.js","webpack:///./node_modules/video-react/lib/components/LoadingSpinner.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///./node_modules/video-react/lib/Manager.js","webpack:///./node_modules/video-react/lib/components/volume-control/VolumeLevel.js","webpack:///./node_modules/video-react/lib/components/Slider.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/createClass.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./node_modules/video-react/lib/components/ClickableComponent.js","webpack:///./node_modules/video-react/lib/components/menu/Menu.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///./node_modules/video-react/lib/components/control-bar/PlayProgressBar.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/video-react/lib/utils/browser.js","webpack:///./node_modules/video-react/lib/components/control-bar/LoadProgressBar.js","webpack:///./node_modules/video-react/lib/components/time-controls/TimeDivider.js","webpack:///./node_modules/video-react/lib/utils/fullscreen.js","webpack:///./node_modules/video-react/lib/utils/index.js","webpack:///./node_modules/video-react/lib/components/PosterImage.js","webpack:///./node_modules/@material-ui/core/esm/Grid/Grid.js","webpack:///./node_modules/video-react/lib/index.js","webpack:///./node_modules/video-react/lib/reducers/index.js","webpack:///./node_modules/video-react/lib/components/Player.js","webpack:///./node_modules/video-react/lib/components/BigPlayButton.js","webpack:///./node_modules/video-react/lib/components/control-bar/PlaybackRate.js","webpack:///./node_modules/video-react/lib/actions/player.js","webpack:///./node_modules/video-react/lib/components/control-bar/SeekBar.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack:///./node_modules/video-react/lib/components/Bezel.js","webpack:///./node_modules/video-react/lib/components/control-bar/ProgressControl.js"],"names":["_interopRequireWildcard","_interopRequireDefault","Object","defineProperty","exports","value","_classCallCheck2","_createClass2","_possibleConstructorReturn2","_getPrototypeOf2","_assertThisInitialized2","_inherits2","_propTypes","_react","_classnames","propTypes","actions","object","player","className","string","PlayToggle","_Component","props","context","_this","this","call","handleClick","bind","key","_this$props","paused","play","pause","_this2","_this$props2","controlText","createElement","ref","c","button","type","tabIndex","onClick","Component","displayName","state","arguments","length","undefined","initialState","action","_player","OPERATE","_objectSpread2","count","operation","source","children","any","Popup","event","preventDefault","ForwardControl","_default","FullscreenToggle","toggleFullscreen","isFullscreen","USER_ACTIVATE","userActivity","activity","PLAYER_ACTIVATE","isActive","FULLSCREEN_CHANGE","_video","SEEKING_TIME","seekingTime","time","END_SEEKING","LOAD_START","videoProps","hasStarted","ended","CAN_PLAY","waiting","WAITING","CAN_PLAY_THROUGH","PLAYING","PLAY","autoPaused","PAUSE","END","SEEKING","seeking","SEEKED","ERROR","error","DURATION_CHANGE","TIME_UPDATE","VOLUME_CHANGE","PROGRESS_CHANGE","RATE_CHANGE","SUSPEND","ABORT","EMPTIED","STALLED","LOADED_META_DATA","LOADED_DATA","RESIZE","currentSrc","duration","currentTime","buffered","playbackRate","muted","volume","readyState","networkState","videoWidth","videoHeight","seconds","oneOf","defaultProps","mode","ForwardReplayControl","forward","replay","classNames","push","concat","join","_extends2","_PopupButton","_VolumeBar","vertical","bool","alwaysShowVolume","VolumeMenuButton","active","handleFocus","handleBlur","mute","setState","inline","level","volumeLevel","onFocus","onBlur","get","_this$props$player","default","React","d","_MenuButton","rates","array","PlaybackRateMenuButton","handleSelectItem","index","changeRate","items","map","rate","label","selectedIndex","indexOf","onSelectItem","toFixed","item","number","activateIndex","func","MenuItem","role","findElPosition","getPointerPosition","el","position","box","boxW","offsetWidth","boxH","offsetHeight","boxY","top","boxX","left","evtPageY","pageY","evtPageX","pageX","changedTouches","y","Math","max","min","x","blurNode","reactNode","domNode","_reactDom","findDOMNode","blur","focusNode","focus","hasClass","elm","cls","classes","split","i","toLowerCase","getBoundingClientRect","parentNode","_document","document","body","docEl","documentElement","clientLeft","scrollLeft","window","pageXOffset","clientTop","scrollTop","pageYOffset","round","_utils","startTime","loop","autoPlay","playsInline","src","poster","preload","crossOrigin","onLoadStart","onWaiting","onCanPlay","onCanPlayThrough","onPlaying","onEnded","onSeeking","onSeeked","onPlay","onPause","onProgress","onDurationChange","onError","onSuspend","onAbort","onEmptied","onStalled","onLoadedMetadata","onLoadedData","onTimeUpdate","onRateChange","onVolumeChange","onResize","Video","video","seek","getProperties","renderChildren","handleLoadStart","handleCanPlay","handleCanPlayThrough","handlePlay","handlePlaying","handlePause","handleEnded","handleWaiting","handleSeeking","handleSeeked","handleFullscreenChange","handleError","handleSuspend","handleAbort","handleEmptied","handleStalled","handleLoadedMetaData","handleLoadedData","handleTimeUpdate","handleRateChange","handleVolumeChange","handleDurationChange","handleProgress","throttle","handleKeypress","forceUpdate","mediaProperties","reduce","properties","promise","then","load","_this$video","addTextTrack","apply","_this$video2","canPlayType","e","_this$props3","_this$props4","_this$props5","_this$props6","_this$props7","_this$props8","_this$props9","handleProgressChange","_this$props10","handleEnd","_this$props11","_this$props12","_this$props13","_this$props14","_this$props15","_this$props16","_this$props17","_this$props18","_this$props19","_this$props20","_this$props21","_this$props22","_this$props23","_this$props24","handleResize","_this3","Children","toArray","filter","isVideoChild","cprops","preOnError","cloneElement","_this4","_this$props25","videoId","id","set","val","_objectWithoutProperties2","_ProgressControl","_PlayToggle","_ForwardControl","_ReplayControl","_FullscreenToggle","_RemainingTimeDisplay","_CurrentTimeDisplay","_DurationDisplay","_TimeDivider","_VolumeMenuButton","_PlaybackRateMenuButton","autoHide","autoHideTime","disableDefaultControls","disableCompletely","ControlBar","getDefaultChildren","getFullChildren","order","defaultChildren","parentProps","mergeAndSortChildren","getChildren","DurationDisplay","_ref","formattedTime","formatTime","MouseTimeDisplay","mouseTime","text","style","CurrentTimeDisplay","_ref$player","handleSeekingTime","handleEndSeeking","setPrototypeOf","module","subClass","superClass","TypeError","prototype","create","constructor","writable","configurable","_typeof","assertThisInitialized","self","_defineProperty2","_toConsumableArray2","_dom","clickable","dblclickable","manager","shortcuts","Shortcut","defaultShortcuts","keyCode","handle","togglePlay","v","changeVolume","shift","mergeShortcuts","handleKeyPress","handleDoubleClick","addEventListener","prevProps","removeEventListener","getShortcutKey","_ref$keyCode","_ref$ctrl","ctrl","_ref$shift","_ref$alt","alt","shortcut","assign","mergedShortcuts","gradeShortcut","s","score","forEach","keys","sort","a","b","activeElement","which","ctrlKey","metaKey","shiftKey","altKey","target","nodeName","canBeClicked","ownKeys","getOwnPropertySymbols","sym","getOwnPropertyDescriptor","enumerable","RemainingTimeDisplay","remainingTime","_setPrototypeOf","o","p","__proto__","PopupButton","_ClickableComponent","_Popup","isRequired","ps","_Slider","_VolumeLevel","VolumeBar","percentage","handleMouseMove","handlePercentageChange","checkMuted","getPercent","stepForward","stepBack","distance","slider","calculateDistance","stopPropagation","valuenow","valuetext","onMouseMove","sliderActive","sliderInactive","onPercentageChange","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","arr","hasOwn","hasOwnProperty","arg","argType","Array","isArray","inner","_Menu","_MenuItem","MenuButton","commitSelection","activateMenuItem","renderMenu","handleUpArrow","handleDownArrow","handleEscape","handleReturn","handleTab","handleIndexChange","prevState","newIndex","menuButton","ReplayControl","LoadingSpinner","_getPrototypeOf","getPrototypeOf","arrayLikeToArray","minLen","n","toString","slice","name","from","test","iter","Symbol","iterator","len","arr2","_redux","_reducers","playerActions","videoActions","Manager","store","createStore","rootElement","dispatch","boundActions","actionCreator","getState","listener","subscribe","prevStateCopy","subscribeToStateChange","VolumeLevel","height","width","Dom","onMouseDown","onMouseUp","node","Slider","handleMouseDown","handleMouseUp","getProgress","progress","Infinity","child","onTouchStart","_defineProperties","descriptor","Constructor","protoProps","staticProps","tagName","ClickableComponent","Tag","Menu","instance","PlayProgressBar","IS_IOS","IS_IPOD","IS_IPHONE","IS_IPAD","USER_AGENT","navigator","userAgent","LoadProgressBar","bufferedEnd","end","percentify","percent","parts","start","part","TimeDivider","separator","separatorText","dir","Fullscreen","requestFullscreen","webkitRequestFullscreen","mozRequestFullScreen","msRequestFullscreen","exitFullscreen","webkitExitFullscreen","mozCancelFullScreen","msExitFullscreen","handler","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","guide","floor","m","h","gm","gh","isNaN","_children","_parentProps","defaultOrder","disabled","find","component","isTypeEqual","element","defaultComponent","deprecatedWarning","oldMethodCall","newMethodCall","console","warn","callback","limit","_arguments","wait","setTimeout","Number","elements","component1","component2","type1","type2","PosterImage","backgroundImage","SPACINGS","GRID_SIZES","getOffset","div","parse","parseFloat","String","replace","Grid","_props$alignContent","alignContent","_props$alignItems","alignItems","classNameProp","_props$component","_props$container","container","_props$direction","direction","_props$item","_props$justify","justify","_props$lg","lg","_props$md","md","_props$sm","sm","_props$spacing","spacing","_props$wrap","wrap","_props$xl","xl","_props$xs","xs","_props$zeroMinWidth","zeroMinWidth","other","root","StyledGrid","theme","boxSizing","display","flexWrap","margin","minWidth","flexDirection","justifyContent","breakpoint","styles","themeSpacing","padding","generateGutter","breakpoints","accumulator","globalStyles","size","flexBasis","flexGrow","maxWidth","up","generateGrid","_Player","_Video","_BigPlayButton","_LoadingSpinner","_PosterImage","_Bezel","_Shortcut","_ControlBar","_SeekBar","_PlayProgressBar","_LoadProgressBar","_MouseTimeDisplay","_PlaybackRate","playerReducer","operationReducer","_operation","_Manager","browser","_fullscreen","oneOfType","fluid","aspectRatio","Player","controlsHideTimer","getActions","subscribeToPlayerStateChange","handleStateChange","getStyle","startControlsTimer","handleFullScreenChange","handleKeyDown","clearTimeout","originalChildren","propsWithoutChildren","styleVal","match","propsAspectRatio","propsHeight","propsWidth","ratioParts","ratioMultiplier","paddingTop","setWidthOrHeight","controlBarActiveTime","isValidElement","userActivate","activate","onKeyDown","contextTypes","BigPlayButton","PlaybackRate","enabled","exit","request","SeekBar","getNewTime","newTime","_this$props$player2","input","objectWithoutPropertiesLoose","excluded","sourceSymbolKeys","propertyIsEnumerable","Bezel","timer","subscribeToOperationStateChange","hidden","ProgressControl","handleMouseMoveThrottle","seekBar"],"mappings":"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","file":"e8061e9377de868d46dbf3c16d3160f9482309d4-6ab10dea3043e815236f.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n actions: _propTypes[\"default\"].object,\n player: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\n\nvar PlayToggle = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(PlayToggle, _Component);\n\n function PlayToggle(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, PlayToggle);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(PlayToggle).call(this, props, context));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(PlayToggle, [{\n key: \"handleClick\",\n value: function handleClick() {\n var _this$props = this.props,\n actions = _this$props.actions,\n player = _this$props.player;\n\n if (player.paused) {\n actions.play();\n } else {\n actions.pause();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n player = _this$props2.player,\n className = _this$props2.className;\n var controlText = player.paused ? 'Play' : 'Pause';\n return _react[\"default\"].createElement(\"button\", {\n ref: function ref(c) {\n _this2.button = c;\n },\n className: (0, _classnames[\"default\"])(className, {\n 'video-react-play-control': true,\n 'video-react-control': true,\n 'video-react-button': true,\n 'video-react-paused': player.paused,\n 'video-react-playing': !player.paused\n }),\n type: \"button\",\n tabIndex: \"0\",\n onClick: this.handleClick\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, controlText));\n }\n }]);\n return PlayToggle;\n}(_react.Component);\n\nexports[\"default\"] = PlayToggle;\nPlayToggle.propTypes = propTypes;\nPlayToggle.displayName = 'PlayToggle';","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = operation;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _player = require(\"../actions/player\");\n\nvar initialState = {\n count: 0,\n operation: {\n action: '',\n source: ''\n }\n};\n\nfunction operation() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n\n switch (action.type) {\n case _player.OPERATE:\n return (0, _objectSpread2[\"default\"])({}, state, {\n count: state.count + 1,\n operation: (0, _objectSpread2[\"default\"])({}, state.operation, action.operation)\n });\n\n default:\n return state;\n }\n}","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar propTypes = {\n player: _propTypes[\"default\"].object,\n children: _propTypes[\"default\"].any\n};\n\nvar Popup = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(Popup, _Component);\n\n function Popup(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Popup);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(Popup).call(this, props, context));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Popup, [{\n key: \"handleClick\",\n value: function handleClick(event) {\n event.preventDefault(); // event.stopPropagation();\n }\n }, {\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n return _react[\"default\"].createElement(\"div\", {\n className: \"video-react-menu\",\n onClick: this.handleClick\n }, _react[\"default\"].createElement(\"div\", {\n className: \"video-react-menu-content\"\n }, children));\n }\n }]);\n return Popup;\n}(_react.Component);\n\nexports[\"default\"] = Popup;\nPopup.propTypes = propTypes;\nPopup.displayName = 'Popup';","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _ForwardReplayControl = _interopRequireDefault(require(\"./ForwardReplayControl\")); // Pass mode into parent function\n\n\nvar ForwardControl = (0, _ForwardReplayControl[\"default\"])('forward');\nForwardControl.displayName = 'ForwardControl';\nvar _default = ForwardControl;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n actions: _propTypes[\"default\"].object,\n player: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\n\nvar FullscreenToggle = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(FullscreenToggle, _Component);\n\n function FullscreenToggle(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, FullscreenToggle);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(FullscreenToggle).call(this, props, context));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(FullscreenToggle, [{\n key: \"handleClick\",\n value: function handleClick() {\n var _this$props = this.props,\n player = _this$props.player,\n actions = _this$props.actions;\n actions.toggleFullscreen(player);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n player = _this$props2.player,\n className = _this$props2.className;\n return _react[\"default\"].createElement(\"button\", {\n className: (0, _classnames[\"default\"])(className, {\n 'video-react-icon-fullscreen-exit': player.isFullscreen,\n 'video-react-icon-fullscreen': !player.isFullscreen\n }, 'video-react-fullscreen-control video-react-control video-react-button video-react-icon'),\n ref: function ref(c) {\n _this2.button = c;\n },\n type: \"button\",\n tabIndex: \"0\",\n onClick: this.handleClick\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, \"Non-Fullscreen\"));\n }\n }]);\n return FullscreenToggle;\n}(_react.Component);\n\nexports[\"default\"] = FullscreenToggle;\nFullscreenToggle.propTypes = propTypes;\nFullscreenToggle.displayName = 'FullscreenToggle';","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = player;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _video = require(\"../actions/video\");\n\nvar _player = require(\"../actions/player\");\n\nvar initialState = {\n currentSrc: null,\n duration: 0,\n currentTime: 0,\n seekingTime: 0,\n buffered: null,\n waiting: false,\n seeking: false,\n paused: true,\n autoPaused: false,\n ended: false,\n playbackRate: 1,\n muted: false,\n volume: 1,\n readyState: 0,\n networkState: 0,\n videoWidth: 0,\n videoHeight: 0,\n hasStarted: false,\n userActivity: true,\n isActive: false,\n isFullscreen: false\n};\n\nfunction player() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n\n switch (action.type) {\n case _player.USER_ACTIVATE:\n return (0, _objectSpread2[\"default\"])({}, state, {\n userActivity: action.activity\n });\n\n case _player.PLAYER_ACTIVATE:\n return (0, _objectSpread2[\"default\"])({}, state, {\n isActive: action.activity\n });\n\n case _player.FULLSCREEN_CHANGE:\n return (0, _objectSpread2[\"default\"])({}, state, {\n isFullscreen: !!action.isFullscreen\n });\n\n case _video.SEEKING_TIME:\n return (0, _objectSpread2[\"default\"])({}, state, {\n seekingTime: action.time\n });\n\n case _video.END_SEEKING:\n return (0, _objectSpread2[\"default\"])({}, state, {\n seekingTime: 0\n });\n\n case _video.LOAD_START:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps, {\n hasStarted: false,\n ended: false\n });\n\n case _video.CAN_PLAY:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps, {\n waiting: false\n });\n\n case _video.WAITING:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps, {\n waiting: true\n });\n\n case _video.CAN_PLAY_THROUGH:\n case _video.PLAYING:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps, {\n waiting: false\n });\n\n case _video.PLAY:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps, {\n ended: false,\n paused: false,\n autoPaused: false,\n waiting: false,\n hasStarted: true\n });\n\n case _video.PAUSE:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps, {\n paused: true\n });\n\n case _video.END:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps, {\n ended: true\n });\n\n case _video.SEEKING:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps, {\n seeking: true\n });\n\n case _video.SEEKED:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps, {\n seeking: false\n });\n\n case _video.ERROR:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps, {\n error: 'UNKNOWN ERROR',\n ended: true\n });\n\n case _video.DURATION_CHANGE:\n case _video.TIME_UPDATE:\n case _video.VOLUME_CHANGE:\n case _video.PROGRESS_CHANGE:\n case _video.RATE_CHANGE:\n case _video.SUSPEND:\n case _video.ABORT:\n case _video.EMPTIED:\n case _video.STALLED:\n case _video.LOADED_META_DATA:\n case _video.LOADED_DATA:\n case _video.RESIZE:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps);\n\n default:\n return state;\n }\n}","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar propTypes = {\n actions: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string,\n seconds: _propTypes[\"default\"].oneOf([5, 10, 30])\n};\nvar defaultProps = {\n seconds: 10\n};\n\nvar _default = function _default(mode) {\n var ForwardReplayControl = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(ForwardReplayControl, _Component);\n\n function ForwardReplayControl(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, ForwardReplayControl);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(ForwardReplayControl).call(this, props, context));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(ForwardReplayControl, [{\n key: \"handleClick\",\n value: function handleClick() {\n var _this$props = this.props,\n actions = _this$props.actions,\n seconds = _this$props.seconds; // Depends mode to implement different actions\n\n if (mode === 'forward') {\n actions.forward(seconds);\n } else {\n actions.replay(seconds);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n seconds = _this$props2.seconds,\n className = _this$props2.className;\n var classNames = ['video-react-control', 'video-react-button', 'video-react-icon'];\n classNames.push(\"video-react-icon-\".concat(mode, \"-\").concat(seconds), \"video-react-\".concat(mode, \"-control\"));\n\n if (className) {\n classNames.push(className);\n }\n\n return _react[\"default\"].createElement(\"button\", {\n ref: function ref(c) {\n _this2.button = c;\n },\n className: classNames.join(' '),\n type: \"button\",\n onClick: this.handleClick\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, \"\".concat(mode, \" \").concat(seconds, \" seconds\")));\n }\n }]);\n return ForwardReplayControl;\n }(_react.Component);\n\n ForwardReplayControl.propTypes = propTypes;\n ForwardReplayControl.defaultProps = defaultProps;\n return ForwardReplayControl;\n};\n\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _PopupButton = _interopRequireDefault(require(\"../popup/PopupButton\"));\n\nvar _VolumeBar = _interopRequireDefault(require(\"../volume-control/VolumeBar\"));\n\nvar propTypes = {\n player: _propTypes[\"default\"].object,\n actions: _propTypes[\"default\"].object,\n vertical: _propTypes[\"default\"].bool,\n className: _propTypes[\"default\"].string,\n alwaysShowVolume: _propTypes[\"default\"].bool\n};\nvar defaultProps = {\n vertical: false\n};\n\nvar VolumeMenuButton = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(VolumeMenuButton, _Component);\n\n function VolumeMenuButton(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, VolumeMenuButton);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(VolumeMenuButton).call(this, props, context));\n _this.state = {\n active: false\n };\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleFocus = _this.handleFocus.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleBlur = _this.handleBlur.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(VolumeMenuButton, [{\n key: \"handleClick\",\n value: function handleClick() {\n var _this$props = this.props,\n player = _this$props.player,\n actions = _this$props.actions;\n actions.mute(!player.muted);\n }\n }, {\n key: \"handleFocus\",\n value: function handleFocus() {\n this.setState({\n active: true\n });\n }\n }, {\n key: \"handleBlur\",\n value: function handleBlur() {\n this.setState({\n active: false\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n vertical = _this$props2.vertical,\n player = _this$props2.player,\n className = _this$props2.className;\n var inline = !vertical;\n var level = this.volumeLevel;\n return _react[\"default\"].createElement(_PopupButton[\"default\"], {\n className: (0, _classnames[\"default\"])(className, {\n 'video-react-volume-menu-button-vertical': vertical,\n 'video-react-volume-menu-button-horizontal': !vertical,\n 'video-react-vol-muted': player.muted,\n 'video-react-vol-0': level === 0 && !player.muted,\n 'video-react-vol-1': level === 1,\n 'video-react-vol-2': level === 2,\n 'video-react-vol-3': level === 3,\n 'video-react-slider-active': this.props.alwaysShowVolume || this.state.active,\n 'video-react-lock-showing': this.props.alwaysShowVolume || this.state.active\n }, 'video-react-volume-menu-button'),\n onClick: this.handleClick,\n inline: inline\n }, _react[\"default\"].createElement(_VolumeBar[\"default\"], (0, _extends2[\"default\"])({\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n }, this.props)));\n }\n }, {\n key: \"volumeLevel\",\n get: function get() {\n var _this$props$player = this.props.player,\n volume = _this$props$player.volume,\n muted = _this$props$player.muted;\n var level = 3;\n\n if (volume === 0 || muted) {\n level = 0;\n } else if (volume < 0.33) {\n level = 1;\n } else if (volume < 0.67) {\n level = 2;\n }\n\n return level;\n }\n }]);\n return VolumeMenuButton;\n}(_react.Component);\n\nVolumeMenuButton.propTypes = propTypes;\nVolumeMenuButton.defaultProps = defaultProps;\nVolumeMenuButton.displayName = 'VolumeMenuButton';\nvar _default = VolumeMenuButton;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z\"\n}), 'Launch');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _MenuButton = _interopRequireDefault(require(\"../menu/MenuButton\"));\n\nvar propTypes = {\n player: _propTypes[\"default\"].object,\n actions: _propTypes[\"default\"].object,\n rates: _propTypes[\"default\"].array,\n className: _propTypes[\"default\"].string\n};\nvar defaultProps = {\n rates: [2, 1.5, 1.25, 1, 0.5, 0.25]\n};\n\nvar PlaybackRateMenuButton = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(PlaybackRateMenuButton, _Component);\n\n function PlaybackRateMenuButton(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, PlaybackRateMenuButton);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(PlaybackRateMenuButton).call(this, props, context));\n _this.handleSelectItem = _this.handleSelectItem.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(PlaybackRateMenuButton, [{\n key: \"handleSelectItem\",\n value: function handleSelectItem(index) {\n var _this$props = this.props,\n rates = _this$props.rates,\n actions = _this$props.actions;\n\n if (index >= 0 && index < rates.length) {\n actions.changeRate(rates[index]);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n rates = _this$props2.rates,\n player = _this$props2.player;\n var items = rates.map(function (rate) {\n return {\n label: \"\".concat(rate, \"x\"),\n value: rate\n };\n });\n var selectedIndex = rates.indexOf(player.playbackRate) || 0;\n return _react[\"default\"].createElement(_MenuButton[\"default\"], {\n className: (0, _classnames[\"default\"])('video-react-playback-rate', this.props.className),\n onSelectItem: this.handleSelectItem,\n items: items,\n selectedIndex: selectedIndex\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, \"Playback Rate\"), _react[\"default\"].createElement(\"div\", {\n className: \"video-react-playback-rate-value\"\n }, \"\".concat(player.playbackRate.toFixed(2), \"x\")));\n }\n }]);\n return PlaybackRateMenuButton;\n}(_react.Component);\n\nPlaybackRateMenuButton.propTypes = propTypes;\nPlaybackRateMenuButton.defaultProps = defaultProps;\nPlaybackRateMenuButton.displayName = 'PlaybackRateMenuButton';\nvar _default = PlaybackRateMenuButton;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n item: _propTypes[\"default\"].object,\n index: _propTypes[\"default\"].number,\n activateIndex: _propTypes[\"default\"].number,\n onSelectItem: _propTypes[\"default\"].func\n};\n\nvar MenuItem = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(MenuItem, _Component);\n\n function MenuItem(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, MenuItem);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(MenuItem).call(this, props, context));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(MenuItem, [{\n key: \"handleClick\",\n value: function handleClick() {\n var _this$props = this.props,\n index = _this$props.index,\n onSelectItem = _this$props.onSelectItem;\n onSelectItem(index);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n item = _this$props2.item,\n index = _this$props2.index,\n activateIndex = _this$props2.activateIndex;\n return _react[\"default\"].createElement(\"li\", {\n className: (0, _classnames[\"default\"])({\n 'video-react-menu-item': true,\n 'video-react-selected': index === activateIndex\n }),\n role: \"menuitem\",\n onClick: this.handleClick\n }, item.label, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }));\n }\n }]);\n return MenuItem;\n}(_react.Component);\n\nexports[\"default\"] = MenuItem;\nMenuItem.propTypes = propTypes;\nMenuItem.displayName = 'MenuItem';","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.findElPosition = findElPosition;\nexports.getPointerPosition = getPointerPosition;\nexports.blurNode = blurNode;\nexports.focusNode = focusNode;\nexports.hasClass = hasClass;\n\nvar _reactDom = require(\"react-dom\");\n/**\n * Offset Left\n * getBoundingClientRect technique from\n * John Resig http://ejohn.org/blog/getboundingclientrect-is-awesome/\n *\n * @function findElPosition\n * @param {Element} el Element from which to get offset\n * @return {Object}\n */\n\n\nfunction findElPosition(el) {\n var box;\n\n if (el.getBoundingClientRect && el.parentNode) {\n box = el.getBoundingClientRect();\n }\n\n if (!box) {\n return {\n left: 0,\n top: 0\n };\n }\n\n var _document = document,\n body = _document.body,\n docEl = _document.documentElement;\n var clientLeft = docEl.clientLeft || body.clientLeft || 0;\n var scrollLeft = window.pageXOffset || body.scrollLeft;\n var left = box.left + scrollLeft - clientLeft;\n var clientTop = docEl.clientTop || body.clientTop || 0;\n var scrollTop = window.pageYOffset || body.scrollTop;\n var top = box.top + scrollTop - clientTop; // Android sometimes returns slightly off decimal values, so need to round\n\n return {\n left: Math.round(left),\n top: Math.round(top)\n };\n}\n/**\n * Get pointer position in element\n * Returns an object with x and y coordinates.\n * The base on the coordinates are the bottom left of the element.\n *\n * @function getPointerPosition\n * @param {Element} el Element on which to get the pointer position on\n * @param {Event} event Event object\n * @return {Object} This object will have x and y coordinates corresponding to the mouse position\n */\n\n\nfunction getPointerPosition(el, event) {\n var position = {};\n var box = findElPosition(el);\n var boxW = el.offsetWidth;\n var boxH = el.offsetHeight;\n var boxY = box.top;\n var boxX = box.left;\n var evtPageY = event.pageY;\n var evtPageX = event.pageX;\n\n if (event.changedTouches) {\n evtPageX = event.changedTouches[0].pageX;\n evtPageY = event.changedTouches[0].pageY;\n }\n\n position.y = Math.max(0, Math.min(1, (boxY - evtPageY + boxH) / boxH));\n position.x = Math.max(0, Math.min(1, (evtPageX - boxX) / boxW));\n return position;\n} // blur an element\n\n\nfunction blurNode(reactNode) {\n var domNode = (0, _reactDom.findDOMNode)(reactNode);\n\n if (domNode && domNode.blur) {\n domNode.blur();\n }\n} // focus an element\n\n\nfunction focusNode(reactNode) {\n var domNode = (0, _reactDom.findDOMNode)(reactNode);\n\n if (domNode && domNode.focus) {\n domNode.focus();\n }\n} // check if an element has a class name\n\n\nfunction hasClass(elm, cls) {\n var classes = elm.className.split(' ');\n\n for (var i = 0; i < classes.length; i++) {\n if (classes[i].toLowerCase() === cls.toLowerCase()) {\n return true;\n }\n }\n\n return false;\n}","\"use strict\";\n\nrequire(\"core-js/modules/es.array.reduce.js\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _utils = require(\"../utils\");\n\nvar propTypes = {\n actions: _propTypes[\"default\"].object,\n player: _propTypes[\"default\"].object,\n children: _propTypes[\"default\"].any,\n startTime: _propTypes[\"default\"].number,\n loop: _propTypes[\"default\"].bool,\n muted: _propTypes[\"default\"].bool,\n autoPlay: _propTypes[\"default\"].bool,\n playsInline: _propTypes[\"default\"].bool,\n src: _propTypes[\"default\"].string,\n poster: _propTypes[\"default\"].string,\n className: _propTypes[\"default\"].string,\n preload: _propTypes[\"default\"].oneOf(['auto', 'metadata', 'none']),\n crossOrigin: _propTypes[\"default\"].string,\n onLoadStart: _propTypes[\"default\"].func,\n onWaiting: _propTypes[\"default\"].func,\n onCanPlay: _propTypes[\"default\"].func,\n onCanPlayThrough: _propTypes[\"default\"].func,\n onPlaying: _propTypes[\"default\"].func,\n onEnded: _propTypes[\"default\"].func,\n onSeeking: _propTypes[\"default\"].func,\n onSeeked: _propTypes[\"default\"].func,\n onPlay: _propTypes[\"default\"].func,\n onPause: _propTypes[\"default\"].func,\n onProgress: _propTypes[\"default\"].func,\n onDurationChange: _propTypes[\"default\"].func,\n onError: _propTypes[\"default\"].func,\n onSuspend: _propTypes[\"default\"].func,\n onAbort: _propTypes[\"default\"].func,\n onEmptied: _propTypes[\"default\"].func,\n onStalled: _propTypes[\"default\"].func,\n onLoadedMetadata: _propTypes[\"default\"].func,\n onLoadedData: _propTypes[\"default\"].func,\n onTimeUpdate: _propTypes[\"default\"].func,\n onRateChange: _propTypes[\"default\"].func,\n onVolumeChange: _propTypes[\"default\"].func,\n onResize: _propTypes[\"default\"].func\n};\n\nvar Video = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(Video, _Component);\n\n function Video(props) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Video);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(Video).call(this, props));\n _this.video = null; // the html5 video\n\n _this.play = _this.play.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.pause = _this.pause.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.seek = _this.seek.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.forward = _this.forward.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.replay = _this.replay.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.toggleFullscreen = _this.toggleFullscreen.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.getProperties = _this.getProperties.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.renderChildren = _this.renderChildren.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleLoadStart = _this.handleLoadStart.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleCanPlay = _this.handleCanPlay.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleCanPlayThrough = _this.handleCanPlayThrough.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handlePlay = _this.handlePlay.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handlePlaying = _this.handlePlaying.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handlePause = _this.handlePause.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleEnded = _this.handleEnded.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleWaiting = _this.handleWaiting.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleSeeking = _this.handleSeeking.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleSeeked = _this.handleSeeked.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleFullscreenChange = _this.handleFullscreenChange.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleError = _this.handleError.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleSuspend = _this.handleSuspend.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleAbort = _this.handleAbort.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleEmptied = _this.handleEmptied.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleStalled = _this.handleStalled.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleLoadedMetaData = _this.handleLoadedMetaData.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleLoadedData = _this.handleLoadedData.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleTimeUpdate = _this.handleTimeUpdate.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleRateChange = _this.handleRateChange.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleVolumeChange = _this.handleVolumeChange.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleDurationChange = _this.handleDurationChange.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleProgress = (0, _utils.throttle)(_this.handleProgress.bind((0, _assertThisInitialized2[\"default\"])(_this)), 250);\n _this.handleKeypress = _this.handleKeypress.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Video, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.forceUpdate(); // make sure the children can get the video property\n } // get all video properties\n\n }, {\n key: \"getProperties\",\n value: function getProperties() {\n var _this2 = this;\n\n if (!this.video) {\n return null;\n }\n\n return _utils.mediaProperties.reduce(function (properties, key) {\n properties[key] = _this2.video[key];\n return properties;\n }, {});\n } // get playback rate\n\n }, {\n key: \"play\",\n // play the video\n value: function play() {\n var promise = this.video.play();\n\n if (promise !== undefined) {\n promise[\"catch\"](function () {}).then(function () {});\n }\n } // pause the video\n\n }, {\n key: \"pause\",\n value: function pause() {\n var promise = this.video.pause();\n\n if (promise !== undefined) {\n promise[\"catch\"](function () {}).then(function () {});\n }\n } // Change the video source and re-load the video:\n\n }, {\n key: \"load\",\n value: function load() {\n this.video.load();\n } // Add a new text track to the video\n\n }, {\n key: \"addTextTrack\",\n value: function addTextTrack() {\n var _this$video;\n\n (_this$video = this.video).addTextTrack.apply(_this$video, arguments);\n } // Check if your browser can play different types of video:\n\n }, {\n key: \"canPlayType\",\n value: function canPlayType() {\n var _this$video2;\n\n (_this$video2 = this.video).canPlayType.apply(_this$video2, arguments);\n } // toggle play\n\n }, {\n key: \"togglePlay\",\n value: function togglePlay() {\n if (this.video.paused) {\n this.play();\n } else {\n this.pause();\n }\n } // seek video by time\n\n }, {\n key: \"seek\",\n value: function seek(time) {\n try {\n this.video.currentTime = time;\n } catch (e) {// console.log(e, 'Video is not ready.')\n }\n } // jump forward x seconds\n\n }, {\n key: \"forward\",\n value: function forward(seconds) {\n this.seek(this.video.currentTime + seconds);\n } // jump back x seconds\n\n }, {\n key: \"replay\",\n value: function replay(seconds) {\n this.forward(-seconds);\n } // enter or exist full screen\n\n }, {\n key: \"toggleFullscreen\",\n value: function toggleFullscreen() {\n var _this$props = this.props,\n player = _this$props.player,\n actions = _this$props.actions;\n actions.toggleFullscreen(player);\n } // Fired when the user agent\n // begins looking for media data\n\n }, {\n key: \"handleLoadStart\",\n value: function handleLoadStart() {\n var _this$props2 = this.props,\n actions = _this$props2.actions,\n onLoadStart = _this$props2.onLoadStart;\n actions.handleLoadStart(this.getProperties());\n\n if (onLoadStart) {\n onLoadStart.apply(void 0, arguments);\n }\n } // A handler for events that\n // signal that waiting has ended\n\n }, {\n key: \"handleCanPlay\",\n value: function handleCanPlay() {\n var _this$props3 = this.props,\n actions = _this$props3.actions,\n onCanPlay = _this$props3.onCanPlay;\n actions.handleCanPlay(this.getProperties());\n\n if (onCanPlay) {\n onCanPlay.apply(void 0, arguments);\n }\n } // A handler for events that\n // signal that waiting has ended\n\n }, {\n key: \"handleCanPlayThrough\",\n value: function handleCanPlayThrough() {\n var _this$props4 = this.props,\n actions = _this$props4.actions,\n onCanPlayThrough = _this$props4.onCanPlayThrough;\n actions.handleCanPlayThrough(this.getProperties());\n\n if (onCanPlayThrough) {\n onCanPlayThrough.apply(void 0, arguments);\n }\n } // A handler for events that\n // signal that waiting has ended\n\n }, {\n key: \"handlePlaying\",\n value: function handlePlaying() {\n var _this$props5 = this.props,\n actions = _this$props5.actions,\n onPlaying = _this$props5.onPlaying;\n actions.handlePlaying(this.getProperties());\n\n if (onPlaying) {\n onPlaying.apply(void 0, arguments);\n }\n } // Fired whenever the media has been started\n\n }, {\n key: \"handlePlay\",\n value: function handlePlay() {\n var _this$props6 = this.props,\n actions = _this$props6.actions,\n onPlay = _this$props6.onPlay;\n actions.handlePlay(this.getProperties());\n\n if (onPlay) {\n onPlay.apply(void 0, arguments);\n }\n } // Fired whenever the media has been paused\n\n }, {\n key: \"handlePause\",\n value: function handlePause() {\n var _this$props7 = this.props,\n actions = _this$props7.actions,\n onPause = _this$props7.onPause;\n actions.handlePause(this.getProperties());\n\n if (onPause) {\n onPause.apply(void 0, arguments);\n }\n } // Fired when the duration of\n // the media resource is first known or changed\n\n }, {\n key: \"handleDurationChange\",\n value: function handleDurationChange() {\n var _this$props8 = this.props,\n actions = _this$props8.actions,\n onDurationChange = _this$props8.onDurationChange;\n actions.handleDurationChange(this.getProperties());\n\n if (onDurationChange) {\n onDurationChange.apply(void 0, arguments);\n }\n } // Fired while the user agent\n // is downloading media data\n\n }, {\n key: \"handleProgress\",\n value: function handleProgress() {\n var _this$props9 = this.props,\n actions = _this$props9.actions,\n onProgress = _this$props9.onProgress;\n\n if (this.video) {\n actions.handleProgressChange(this.getProperties());\n }\n\n if (onProgress) {\n onProgress.apply(void 0, arguments);\n }\n } // Fired when the end of the media resource\n // is reached (currentTime == duration)\n\n }, {\n key: \"handleEnded\",\n value: function handleEnded() {\n var _this$props10 = this.props,\n loop = _this$props10.loop,\n player = _this$props10.player,\n actions = _this$props10.actions,\n onEnded = _this$props10.onEnded;\n\n if (loop) {\n this.seek(0);\n this.play();\n } else if (!player.paused) {\n this.pause();\n }\n\n actions.handleEnd(this.getProperties());\n\n if (onEnded) {\n onEnded.apply(void 0, arguments);\n }\n } // Fired whenever the media begins waiting\n\n }, {\n key: \"handleWaiting\",\n value: function handleWaiting() {\n var _this$props11 = this.props,\n actions = _this$props11.actions,\n onWaiting = _this$props11.onWaiting;\n actions.handleWaiting(this.getProperties());\n\n if (onWaiting) {\n onWaiting.apply(void 0, arguments);\n }\n } // Fired whenever the player\n // is jumping to a new time\n\n }, {\n key: \"handleSeeking\",\n value: function handleSeeking() {\n var _this$props12 = this.props,\n actions = _this$props12.actions,\n onSeeking = _this$props12.onSeeking;\n actions.handleSeeking(this.getProperties());\n\n if (onSeeking) {\n onSeeking.apply(void 0, arguments);\n }\n } // Fired when the player has\n // finished jumping to a new time\n\n }, {\n key: \"handleSeeked\",\n value: function handleSeeked() {\n var _this$props13 = this.props,\n actions = _this$props13.actions,\n onSeeked = _this$props13.onSeeked;\n actions.handleSeeked(this.getProperties());\n\n if (onSeeked) {\n onSeeked.apply(void 0, arguments);\n }\n } // Handle Fullscreen Change\n\n }, {\n key: \"handleFullscreenChange\",\n value: function handleFullscreenChange() {} // Fires when the browser is\n // intentionally not getting media data\n\n }, {\n key: \"handleSuspend\",\n value: function handleSuspend() {\n var _this$props14 = this.props,\n actions = _this$props14.actions,\n onSuspend = _this$props14.onSuspend;\n actions.handleSuspend(this.getProperties());\n\n if (onSuspend) {\n onSuspend.apply(void 0, arguments);\n }\n } // Fires when the loading of an audio/video is aborted\n\n }, {\n key: \"handleAbort\",\n value: function handleAbort() {\n var _this$props15 = this.props,\n actions = _this$props15.actions,\n onAbort = _this$props15.onAbort;\n actions.handleAbort(this.getProperties());\n\n if (onAbort) {\n onAbort.apply(void 0, arguments);\n }\n } // Fires when the current playlist is empty\n\n }, {\n key: \"handleEmptied\",\n value: function handleEmptied() {\n var _this$props16 = this.props,\n actions = _this$props16.actions,\n onEmptied = _this$props16.onEmptied;\n actions.handleEmptied(this.getProperties());\n\n if (onEmptied) {\n onEmptied.apply(void 0, arguments);\n }\n } // Fires when the browser is trying to\n // get media data, but data is not available\n\n }, {\n key: \"handleStalled\",\n value: function handleStalled() {\n var _this$props17 = this.props,\n actions = _this$props17.actions,\n onStalled = _this$props17.onStalled;\n actions.handleStalled(this.getProperties());\n\n if (onStalled) {\n onStalled.apply(void 0, arguments);\n }\n } // Fires when the browser has loaded\n // meta data for the audio/video\n\n }, {\n key: \"handleLoadedMetaData\",\n value: function handleLoadedMetaData() {\n var _this$props18 = this.props,\n actions = _this$props18.actions,\n onLoadedMetadata = _this$props18.onLoadedMetadata,\n startTime = _this$props18.startTime;\n\n if (startTime && startTime > 0) {\n this.video.currentTime = startTime;\n }\n\n actions.handleLoadedMetaData(this.getProperties());\n\n if (onLoadedMetadata) {\n onLoadedMetadata.apply(void 0, arguments);\n }\n } // Fires when the browser has loaded\n // the current frame of the audio/video\n\n }, {\n key: \"handleLoadedData\",\n value: function handleLoadedData() {\n var _this$props19 = this.props,\n actions = _this$props19.actions,\n onLoadedData = _this$props19.onLoadedData;\n actions.handleLoadedData(this.getProperties());\n\n if (onLoadedData) {\n onLoadedData.apply(void 0, arguments);\n }\n } // Fires when the current\n // playback position has changed\n\n }, {\n key: \"handleTimeUpdate\",\n value: function handleTimeUpdate() {\n var _this$props20 = this.props,\n actions = _this$props20.actions,\n onTimeUpdate = _this$props20.onTimeUpdate;\n actions.handleTimeUpdate(this.getProperties());\n\n if (onTimeUpdate) {\n onTimeUpdate.apply(void 0, arguments);\n }\n }\n /**\n * Fires when the playing speed of the audio/video is changed\n */\n\n }, {\n key: \"handleRateChange\",\n value: function handleRateChange() {\n var _this$props21 = this.props,\n actions = _this$props21.actions,\n onRateChange = _this$props21.onRateChange;\n actions.handleRateChange(this.getProperties());\n\n if (onRateChange) {\n onRateChange.apply(void 0, arguments);\n }\n } // Fires when the volume has been changed\n\n }, {\n key: \"handleVolumeChange\",\n value: function handleVolumeChange() {\n var _this$props22 = this.props,\n actions = _this$props22.actions,\n onVolumeChange = _this$props22.onVolumeChange;\n actions.handleVolumeChange(this.getProperties());\n\n if (onVolumeChange) {\n onVolumeChange.apply(void 0, arguments);\n }\n } // Fires when an error occurred\n // during the loading of an audio/video\n\n }, {\n key: \"handleError\",\n value: function handleError() {\n var _this$props23 = this.props,\n actions = _this$props23.actions,\n onError = _this$props23.onError;\n actions.handleError(this.getProperties());\n\n if (onError) {\n onError.apply(void 0, arguments);\n }\n }\n }, {\n key: \"handleResize\",\n value: function handleResize() {\n var _this$props24 = this.props,\n actions = _this$props24.actions,\n onResize = _this$props24.onResize;\n actions.handleResize(this.getProperties());\n\n if (onResize) {\n onResize.apply(void 0, arguments);\n }\n }\n }, {\n key: \"handleKeypress\",\n value: function handleKeypress() {}\n }, {\n key: \"renderChildren\",\n value: function renderChildren() {\n var _this3 = this;\n\n var props = (0, _objectSpread2[\"default\"])({}, this.props, {\n video: this.video\n }); // to make sure the children can get video property\n\n if (!this.video) {\n return null;\n } // only keep <source />, <track />, <MyComponent isVideoChild /> elements\n\n\n return _react[\"default\"].Children.toArray(this.props.children).filter(_utils.isVideoChild).map(function (c) {\n var cprops;\n\n if (typeof c.type === 'string') {\n // add onError to <source />\n if (c.type === 'source') {\n cprops = (0, _objectSpread2[\"default\"])({}, c.props);\n var preOnError = cprops.onError;\n\n cprops.onError = function () {\n if (preOnError) {\n preOnError.apply(void 0, arguments);\n }\n\n _this3.handleError.apply(_this3, arguments);\n };\n }\n } else {\n cprops = props;\n }\n\n return _react[\"default\"].cloneElement(c, cprops);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this4 = this;\n\n var _this$props25 = this.props,\n loop = _this$props25.loop,\n poster = _this$props25.poster,\n preload = _this$props25.preload,\n src = _this$props25.src,\n autoPlay = _this$props25.autoPlay,\n playsInline = _this$props25.playsInline,\n muted = _this$props25.muted,\n crossOrigin = _this$props25.crossOrigin,\n videoId = _this$props25.videoId;\n return _react[\"default\"].createElement(\"video\", {\n className: (0, _classnames[\"default\"])('video-react-video', this.props.className),\n id: videoId,\n crossOrigin: crossOrigin,\n ref: function ref(c) {\n _this4.video = c;\n },\n muted: muted,\n preload: preload,\n loop: loop,\n playsInline: playsInline,\n autoPlay: autoPlay,\n poster: poster,\n src: src,\n onLoadStart: this.handleLoadStart,\n onWaiting: this.handleWaiting,\n onCanPlay: this.handleCanPlay,\n onCanPlayThrough: this.handleCanPlayThrough,\n onPlaying: this.handlePlaying,\n onEnded: this.handleEnded,\n onSeeking: this.handleSeeking,\n onSeeked: this.handleSeeked,\n onPlay: this.handlePlay,\n onPause: this.handlePause,\n onProgress: this.handleProgress,\n onDurationChange: this.handleDurationChange,\n onError: this.handleError,\n onSuspend: this.handleSuspend,\n onAbort: this.handleAbort,\n onEmptied: this.handleEmptied,\n onStalled: this.handleStalled,\n onLoadedMetadata: this.handleLoadedMetaData,\n onLoadedData: this.handleLoadedData,\n onTimeUpdate: this.handleTimeUpdate,\n onRateChange: this.handleRateChange,\n onVolumeChange: this.handleVolumeChange,\n tabIndex: \"-1\"\n }, this.renderChildren());\n }\n }, {\n key: \"playbackRate\",\n get: function get() {\n return this.video.playbackRate;\n } // set playback rate\n // speed of video\n ,\n set: function set(rate) {\n this.video.playbackRate = rate;\n }\n }, {\n key: \"muted\",\n get: function get() {\n return this.video.muted;\n },\n set: function set(val) {\n this.video.muted = val;\n }\n }, {\n key: \"volume\",\n get: function get() {\n return this.video.volume;\n },\n set: function set(val) {\n if (val > 1) {\n val = 1;\n }\n\n if (val < 0) {\n val = 0;\n }\n\n this.video.volume = val;\n } // video width\n\n }, {\n key: \"videoWidth\",\n get: function get() {\n return this.video.videoWidth;\n } // video height\n\n }, {\n key: \"videoHeight\",\n get: function get() {\n return this.video.videoHeight;\n }\n }]);\n return Video;\n}(_react.Component);\n\nexports[\"default\"] = Video;\nVideo.propTypes = propTypes;\nVideo.displayName = 'Video';","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _ProgressControl = _interopRequireDefault(require(\"./ProgressControl\"));\n\nvar _PlayToggle = _interopRequireDefault(require(\"./PlayToggle\"));\n\nvar _ForwardControl = _interopRequireDefault(require(\"./ForwardControl\"));\n\nvar _ReplayControl = _interopRequireDefault(require(\"./ReplayControl\"));\n\nvar _FullscreenToggle = _interopRequireDefault(require(\"./FullscreenToggle\"));\n\nvar _RemainingTimeDisplay = _interopRequireDefault(require(\"../time-controls/RemainingTimeDisplay\"));\n\nvar _CurrentTimeDisplay = _interopRequireDefault(require(\"../time-controls/CurrentTimeDisplay\"));\n\nvar _DurationDisplay = _interopRequireDefault(require(\"../time-controls/DurationDisplay\"));\n\nvar _TimeDivider = _interopRequireDefault(require(\"../time-controls/TimeDivider\"));\n\nvar _VolumeMenuButton = _interopRequireDefault(require(\"./VolumeMenuButton\"));\n\nvar _PlaybackRateMenuButton = _interopRequireDefault(require(\"./PlaybackRateMenuButton\"));\n\nvar _utils = require(\"../../utils\");\n\nvar propTypes = {\n children: _propTypes[\"default\"].any,\n autoHide: _propTypes[\"default\"].bool,\n autoHideTime: _propTypes[\"default\"].number,\n // used in Player\n disableDefaultControls: _propTypes[\"default\"].bool,\n disableCompletely: _propTypes[\"default\"].bool,\n className: _propTypes[\"default\"].string\n};\nvar defaultProps = {\n autoHide: true,\n disableCompletely: false\n};\n\nvar ControlBar = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(ControlBar, _Component);\n\n function ControlBar(props) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, ControlBar);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(ControlBar).call(this, props));\n _this.getDefaultChildren = _this.getDefaultChildren.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.getFullChildren = _this.getFullChildren.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(ControlBar, [{\n key: \"getDefaultChildren\",\n value: function getDefaultChildren() {\n return [_react[\"default\"].createElement(_PlayToggle[\"default\"], {\n key: \"play-toggle\",\n order: 1\n }), _react[\"default\"].createElement(_VolumeMenuButton[\"default\"], {\n key: \"volume-menu-button\",\n order: 4\n }), _react[\"default\"].createElement(_CurrentTimeDisplay[\"default\"], {\n key: \"current-time-display\",\n order: 5.1\n }), _react[\"default\"].createElement(_TimeDivider[\"default\"], {\n key: \"time-divider\",\n order: 5.2\n }), _react[\"default\"].createElement(_DurationDisplay[\"default\"], {\n key: \"duration-display\",\n order: 5.3\n }), _react[\"default\"].createElement(_ProgressControl[\"default\"], {\n key: \"progress-control\",\n order: 6\n }), _react[\"default\"].createElement(_FullscreenToggle[\"default\"], {\n key: \"fullscreen-toggle\",\n order: 8\n })];\n }\n }, {\n key: \"getFullChildren\",\n value: function getFullChildren() {\n return [_react[\"default\"].createElement(_PlayToggle[\"default\"], {\n key: \"play-toggle\",\n order: 1\n }), _react[\"default\"].createElement(_ReplayControl[\"default\"], {\n key: \"replay-control\",\n order: 2\n }), _react[\"default\"].createElement(_ForwardControl[\"default\"], {\n key: \"forward-control\",\n order: 3\n }), _react[\"default\"].createElement(_VolumeMenuButton[\"default\"], {\n key: \"volume-menu-button\",\n order: 4\n }), _react[\"default\"].createElement(_CurrentTimeDisplay[\"default\"], {\n key: \"current-time-display\",\n order: 5\n }), _react[\"default\"].createElement(_TimeDivider[\"default\"], {\n key: \"time-divider\",\n order: 6\n }), _react[\"default\"].createElement(_DurationDisplay[\"default\"], {\n key: \"duration-display\",\n order: 7\n }), _react[\"default\"].createElement(_ProgressControl[\"default\"], {\n key: \"progress-control\",\n order: 8\n }), _react[\"default\"].createElement(_RemainingTimeDisplay[\"default\"], {\n key: \"remaining-time-display\",\n order: 9\n }), _react[\"default\"].createElement(_PlaybackRateMenuButton[\"default\"], {\n rates: [1, 1.25, 1.5, 2],\n key: \"playback-rate\",\n order: 10\n }), _react[\"default\"].createElement(_FullscreenToggle[\"default\"], {\n key: \"fullscreen-toggle\",\n order: 11\n })];\n }\n }, {\n key: \"getChildren\",\n value: function getChildren() {\n var children = _react[\"default\"].Children.toArray(this.props.children);\n\n var defaultChildren = this.props.disableDefaultControls ? [] : this.getDefaultChildren();\n var _this$props = this.props,\n className = _this$props.className,\n parentProps = (0, _objectWithoutProperties2[\"default\"])(_this$props, [\"className\"]); // remove className\n\n return (0, _utils.mergeAndSortChildren)(defaultChildren, children, parentProps);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n autoHide = _this$props2.autoHide,\n className = _this$props2.className,\n disableCompletely = _this$props2.disableCompletely;\n var children = this.getChildren();\n return disableCompletely ? null : _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])('video-react-control-bar', {\n 'video-react-control-bar-auto-hide': autoHide\n }, className)\n }, children);\n }\n }]);\n return ControlBar;\n}(_react.Component);\n\nexports[\"default\"] = ControlBar;\nControlBar.propTypes = propTypes;\nControlBar.defaultProps = defaultProps;\nControlBar.displayName = 'ControlBar';","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _utils = require(\"../../utils\");\n\nvar propTypes = {\n player: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\n\nfunction DurationDisplay(_ref) {\n var duration = _ref.player.duration,\n className = _ref.className;\n var formattedTime = (0, _utils.formatTime)(duration);\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])(className, 'video-react-duration video-react-time-control video-react-control')\n }, _react[\"default\"].createElement(\"div\", {\n className: \"video-react-duration-display\",\n \"aria-live\": \"off\"\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, \"Duration Time \"), formattedTime));\n}\n\nDurationDisplay.propTypes = propTypes;\nDurationDisplay.displayName = 'DurationDisplay';\nvar _default = DurationDisplay;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _utils = require(\"../../utils\");\n\nfunction MouseTimeDisplay(_ref) {\n var duration = _ref.duration,\n mouseTime = _ref.mouseTime,\n className = _ref.className,\n text = _ref.text;\n\n if (!mouseTime.time) {\n return null;\n }\n\n var time = text || (0, _utils.formatTime)(mouseTime.time, duration);\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])('video-react-mouse-display', className),\n style: {\n left: \"\".concat(mouseTime.position, \"px\")\n },\n \"data-current-time\": time\n });\n}\n\nMouseTimeDisplay.propTypes = {\n duration: _propTypes[\"default\"].number,\n mouseTime: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\nMouseTimeDisplay.displayName = 'MouseTimeDisplay';\nvar _default = MouseTimeDisplay;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _utils = require(\"../../utils\");\n\nvar propTypes = {\n player: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\n\nfunction CurrentTimeDisplay(_ref) {\n var _ref$player = _ref.player,\n currentTime = _ref$player.currentTime,\n duration = _ref$player.duration,\n className = _ref.className;\n var formattedTime = (0, _utils.formatTime)(currentTime, duration);\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])('video-react-current-time video-react-time-control video-react-control', className)\n }, _react[\"default\"].createElement(\"div\", {\n className: \"video-react-current-time-display\",\n \"aria-live\": \"off\"\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, \"Current Time \"), formattedTime));\n}\n\nCurrentTimeDisplay.propTypes = propTypes;\nCurrentTimeDisplay.displayName = 'CurrentTimeDisplay';\nvar _default = CurrentTimeDisplay;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.handleLoadStart = handleLoadStart;\nexports.handleCanPlay = handleCanPlay;\nexports.handleWaiting = handleWaiting;\nexports.handleCanPlayThrough = handleCanPlayThrough;\nexports.handlePlaying = handlePlaying;\nexports.handlePlay = handlePlay;\nexports.handlePause = handlePause;\nexports.handleEnd = handleEnd;\nexports.handleSeeking = handleSeeking;\nexports.handleSeeked = handleSeeked;\nexports.handleDurationChange = handleDurationChange;\nexports.handleTimeUpdate = handleTimeUpdate;\nexports.handleVolumeChange = handleVolumeChange;\nexports.handleProgressChange = handleProgressChange;\nexports.handleRateChange = handleRateChange;\nexports.handleSuspend = handleSuspend;\nexports.handleAbort = handleAbort;\nexports.handleEmptied = handleEmptied;\nexports.handleStalled = handleStalled;\nexports.handleLoadedMetaData = handleLoadedMetaData;\nexports.handleLoadedData = handleLoadedData;\nexports.handleResize = handleResize;\nexports.handleError = handleError;\nexports.handleSeekingTime = handleSeekingTime;\nexports.handleEndSeeking = handleEndSeeking;\nexports.ERROR = exports.RESIZE = exports.LOADED_DATA = exports.LOADED_META_DATA = exports.STALLED = exports.EMPTIED = exports.ABORT = exports.SUSPEND = exports.RATE_CHANGE = exports.PROGRESS_CHANGE = exports.VOLUME_CHANGE = exports.TIME_UPDATE = exports.DURATION_CHANGE = exports.END_SEEKING = exports.SEEKING_TIME = exports.SEEKED = exports.SEEKING = exports.END = exports.PAUSE = exports.PLAY = exports.PLAYING = exports.CAN_PLAY_THROUGH = exports.WAITING = exports.CAN_PLAY = exports.LOAD_START = void 0;\nvar LOAD_START = 'video-react/LOAD_START';\nexports.LOAD_START = LOAD_START;\nvar CAN_PLAY = 'video-react/CAN_PLAY';\nexports.CAN_PLAY = CAN_PLAY;\nvar WAITING = 'video-react/WAITING';\nexports.WAITING = WAITING;\nvar CAN_PLAY_THROUGH = 'video-react/CAN_PLAY_THROUGH';\nexports.CAN_PLAY_THROUGH = CAN_PLAY_THROUGH;\nvar PLAYING = 'video-react/PLAYING';\nexports.PLAYING = PLAYING;\nvar PLAY = 'video-react/PLAY';\nexports.PLAY = PLAY;\nvar PAUSE = 'video-react/PAUSE';\nexports.PAUSE = PAUSE;\nvar END = 'video-react/END';\nexports.END = END;\nvar SEEKING = 'video-react/SEEKING';\nexports.SEEKING = SEEKING;\nvar SEEKED = 'video-react/SEEKED';\nexports.SEEKED = SEEKED;\nvar SEEKING_TIME = 'video-react/SEEKING_TIME';\nexports.SEEKING_TIME = SEEKING_TIME;\nvar END_SEEKING = 'video-react/END_SEEKING';\nexports.END_SEEKING = END_SEEKING;\nvar DURATION_CHANGE = 'video-react/DURATION_CHANGE';\nexports.DURATION_CHANGE = DURATION_CHANGE;\nvar TIME_UPDATE = 'video-react/TIME_UPDATE';\nexports.TIME_UPDATE = TIME_UPDATE;\nvar VOLUME_CHANGE = 'video-react/VOLUME_CHANGE';\nexports.VOLUME_CHANGE = VOLUME_CHANGE;\nvar PROGRESS_CHANGE = 'video-react/PROGRESS_CHANGE';\nexports.PROGRESS_CHANGE = PROGRESS_CHANGE;\nvar RATE_CHANGE = 'video-react/RATE_CHANGE';\nexports.RATE_CHANGE = RATE_CHANGE;\nvar SUSPEND = 'video-react/SUSPEND';\nexports.SUSPEND = SUSPEND;\nvar ABORT = 'video-react/ABORT';\nexports.ABORT = ABORT;\nvar EMPTIED = 'video-react/EMPTIED';\nexports.EMPTIED = EMPTIED;\nvar STALLED = 'video-react/STALLED';\nexports.STALLED = STALLED;\nvar LOADED_META_DATA = 'video-react/LOADED_META_DATA';\nexports.LOADED_META_DATA = LOADED_META_DATA;\nvar LOADED_DATA = 'video-react/LOADED_DATA';\nexports.LOADED_DATA = LOADED_DATA;\nvar RESIZE = 'video-react/RESIZE';\nexports.RESIZE = RESIZE;\nvar ERROR = 'video-react/ERROR';\nexports.ERROR = ERROR;\n\nfunction handleLoadStart(videoProps) {\n return {\n type: LOAD_START,\n videoProps: videoProps\n };\n}\n\nfunction handleCanPlay(videoProps) {\n return {\n type: CAN_PLAY,\n videoProps: videoProps\n };\n}\n\nfunction handleWaiting(videoProps) {\n return {\n type: WAITING,\n videoProps: videoProps\n };\n}\n\nfunction handleCanPlayThrough(videoProps) {\n return {\n type: CAN_PLAY_THROUGH,\n videoProps: videoProps\n };\n}\n\nfunction handlePlaying(videoProps) {\n return {\n type: PLAYING,\n videoProps: videoProps\n };\n}\n\nfunction handlePlay(videoProps) {\n return {\n type: PLAY,\n videoProps: videoProps\n };\n}\n\nfunction handlePause(videoProps) {\n return {\n type: PAUSE,\n videoProps: videoProps\n };\n}\n\nfunction handleEnd(videoProps) {\n return {\n type: END,\n videoProps: videoProps\n };\n}\n\nfunction handleSeeking(videoProps) {\n return {\n type: SEEKING,\n videoProps: videoProps\n };\n}\n\nfunction handleSeeked(videoProps) {\n return {\n type: SEEKED,\n videoProps: videoProps\n };\n}\n\nfunction handleDurationChange(videoProps) {\n return {\n type: DURATION_CHANGE,\n videoProps: videoProps\n };\n}\n\nfunction handleTimeUpdate(videoProps) {\n return {\n type: TIME_UPDATE,\n videoProps: videoProps\n };\n}\n\nfunction handleVolumeChange(videoProps) {\n return {\n type: VOLUME_CHANGE,\n videoProps: videoProps\n };\n}\n\nfunction handleProgressChange(videoProps) {\n return {\n type: PROGRESS_CHANGE,\n videoProps: videoProps\n };\n}\n\nfunction handleRateChange(videoProps) {\n return {\n type: RATE_CHANGE,\n videoProps: videoProps\n };\n}\n\nfunction handleSuspend(videoProps) {\n return {\n type: SUSPEND,\n videoProps: videoProps\n };\n}\n\nfunction handleAbort(videoProps) {\n return {\n type: ABORT,\n videoProps: videoProps\n };\n}\n\nfunction handleEmptied(videoProps) {\n return {\n type: EMPTIED,\n videoProps: videoProps\n };\n}\n\nfunction handleStalled(videoProps) {\n return {\n type: STALLED,\n videoProps: videoProps\n };\n}\n\nfunction handleLoadedMetaData(videoProps) {\n return {\n type: LOADED_META_DATA,\n videoProps: videoProps\n };\n}\n\nfunction handleLoadedData(videoProps) {\n return {\n type: LOADED_DATA,\n videoProps: videoProps\n };\n}\n\nfunction handleResize(videoProps) {\n return {\n type: RESIZE,\n videoProps: videoProps\n };\n}\n\nfunction handleError(videoProps) {\n return {\n type: ERROR,\n videoProps: videoProps\n };\n}\n\nfunction handleSeekingTime(time) {\n return {\n type: SEEKING_TIME,\n time: time\n };\n}\n\nfunction handleEndSeeking(time) {\n return {\n type: END_SEEKING,\n time: time\n };\n}","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","var _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","\"use strict\";\n\nrequire(\"core-js/modules/es.array.reduce.js\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = require(\"react\");\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _dom = require(\"../utils/dom\");\n\nvar propTypes = {\n clickable: _propTypes[\"default\"].bool,\n dblclickable: _propTypes[\"default\"].bool,\n manager: _propTypes[\"default\"].object,\n actions: _propTypes[\"default\"].object,\n player: _propTypes[\"default\"].object,\n shortcuts: _propTypes[\"default\"].array\n};\nvar defaultProps = {\n clickable: true,\n dblclickable: true\n};\n\nvar Shortcut = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(Shortcut, _Component);\n\n function Shortcut(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Shortcut);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(Shortcut).call(this, props, context));\n _this.defaultShortcuts = [{\n keyCode: 32,\n // spacebar\n handle: _this.togglePlay\n }, {\n keyCode: 75,\n // k\n handle: _this.togglePlay\n }, {\n keyCode: 70,\n // f\n handle: _this.toggleFullscreen\n }, {\n keyCode: 37,\n // Left arrow\n handle: function handle(player, actions) {\n if (!player.hasStarted) {\n return;\n }\n\n actions.replay(5, {\n action: 'replay-5',\n source: 'shortcut'\n }); // Go back 5 seconds\n }\n }, {\n keyCode: 74,\n // j\n handle: function handle(player, actions) {\n if (!player.hasStarted) {\n return;\n }\n\n actions.replay(10, {\n action: 'replay-10',\n source: 'shortcut'\n }); // Go back 10 seconds\n }\n }, {\n keyCode: 39,\n // Right arrow\n handle: function handle(player, actions) {\n if (!player.hasStarted) {\n return;\n }\n\n actions.forward(5, {\n action: 'forward-5',\n source: 'shortcut'\n }); // Go forward 5 seconds\n }\n }, {\n keyCode: 76,\n // l\n handle: function handle(player, actions) {\n if (!player.hasStarted) {\n return;\n }\n\n actions.forward(10, {\n action: 'forward-10',\n source: 'shortcut'\n }); // Go forward 10 seconds\n }\n }, {\n keyCode: 36,\n // Home\n handle: function handle(player, actions) {\n if (!player.hasStarted) {\n return;\n }\n\n actions.seek(0); // Go to beginning of video\n }\n }, {\n keyCode: 35,\n // End\n handle: function handle(player, actions) {\n if (!player.hasStarted) {\n return;\n } // Go to end of video\n\n\n actions.seek(player.duration);\n }\n }, {\n keyCode: 38,\n // Up arrow\n handle: function handle(player, actions) {\n // Increase volume 5%\n var v = player.volume + 0.05;\n\n if (v > 1) {\n v = 1;\n }\n\n actions.changeVolume(v, {\n action: 'volume-up',\n source: 'shortcut'\n });\n }\n }, {\n keyCode: 40,\n // Down arrow\n handle: function handle(player, actions) {\n // Decrease volume 5%\n var v = player.volume - 0.05;\n\n if (v < 0) {\n v = 0;\n }\n\n var action = v > 0 ? 'volume-down' : 'volume-off';\n actions.changeVolume(v, {\n action: action,\n source: 'shortcut'\n });\n }\n }, {\n keyCode: 190,\n // Shift + >\n shift: true,\n handle: function handle(player, actions) {\n // Increase speed\n var playbackRate = player.playbackRate;\n\n if (playbackRate >= 1.5) {\n playbackRate = 2;\n } else if (playbackRate >= 1.25) {\n playbackRate = 1.5;\n } else if (playbackRate >= 1.0) {\n playbackRate = 1.25;\n } else if (playbackRate >= 0.5) {\n playbackRate = 1.0;\n } else if (playbackRate >= 0.25) {\n playbackRate = 0.5;\n } else if (playbackRate >= 0) {\n playbackRate = 0.25;\n }\n\n actions.changeRate(playbackRate, {\n action: 'fast-forward',\n source: 'shortcut'\n });\n }\n }, {\n keyCode: 188,\n // Shift + <\n shift: true,\n handle: function handle(player, actions) {\n // Decrease speed\n var playbackRate = player.playbackRate;\n\n if (playbackRate <= 0.5) {\n playbackRate = 0.25;\n } else if (playbackRate <= 1.0) {\n playbackRate = 0.5;\n } else if (playbackRate <= 1.25) {\n playbackRate = 1.0;\n } else if (playbackRate <= 1.5) {\n playbackRate = 1.25;\n } else if (playbackRate <= 2) {\n playbackRate = 1.5;\n }\n\n actions.changeRate(playbackRate, {\n action: 'fast-rewind',\n source: 'shortcut'\n });\n }\n }];\n _this.shortcuts = (0, _toConsumableArray2[\"default\"])(_this.defaultShortcuts);\n _this.mergeShortcuts = _this.mergeShortcuts.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleKeyPress = _this.handleKeyPress.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleDoubleClick = _this.handleDoubleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Shortcut, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.mergeShortcuts();\n document.addEventListener('keydown', this.handleKeyPress);\n document.addEventListener('click', this.handleClick);\n document.addEventListener('dblclick', this.handleDoubleClick);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.shortcuts !== this.props.shortcuts) {\n this.mergeShortcuts();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n document.removeEventListener('keydown', this.handleKeyPress);\n document.removeEventListener('click', this.handleClick);\n document.removeEventListener('dblclick', this.handleDoubleClick);\n } // merge the shortcuts from props\n\n }, {\n key: \"mergeShortcuts\",\n value: function mergeShortcuts() {\n var getShortcutKey = function getShortcutKey(_ref) {\n var _ref$keyCode = _ref.keyCode,\n keyCode = _ref$keyCode === void 0 ? 0 : _ref$keyCode,\n _ref$ctrl = _ref.ctrl,\n ctrl = _ref$ctrl === void 0 ? false : _ref$ctrl,\n _ref$shift = _ref.shift,\n shift = _ref$shift === void 0 ? false : _ref$shift,\n _ref$alt = _ref.alt,\n alt = _ref$alt === void 0 ? false : _ref$alt;\n return \"\".concat(keyCode, \":\").concat(ctrl, \":\").concat(shift, \":\").concat(alt);\n };\n\n var defaultShortcuts = this.defaultShortcuts.reduce(function (shortcuts, shortcut) {\n return Object.assign(shortcuts, (0, _defineProperty2[\"default\"])({}, getShortcutKey(shortcut), shortcut));\n }, {});\n var mergedShortcuts = (this.props.shortcuts || []).reduce(function (shortcuts, shortcut) {\n var keyCode = shortcut.keyCode,\n handle = shortcut.handle;\n\n if (keyCode && typeof handle === 'function') {\n return Object.assign(shortcuts, (0, _defineProperty2[\"default\"])({}, getShortcutKey(shortcut), shortcut));\n }\n\n return shortcuts;\n }, defaultShortcuts);\n\n var gradeShortcut = function gradeShortcut(s) {\n var score = 0;\n var ps = ['ctrl', 'shift', 'alt'];\n ps.forEach(function (key) {\n if (s[key]) {\n score++;\n }\n });\n return score;\n };\n\n this.shortcuts = Object.keys(mergedShortcuts).map(function (key) {\n return mergedShortcuts[key];\n }).sort(function (a, b) {\n return gradeShortcut(b) - gradeShortcut(a);\n });\n }\n }, {\n key: \"togglePlay\",\n value: function togglePlay(player, actions) {\n if (player.paused) {\n actions.play({\n action: 'play',\n source: 'shortcut'\n });\n } else {\n actions.pause({\n action: 'pause',\n source: 'shortcut'\n });\n }\n }\n }, {\n key: \"toggleFullscreen\",\n value: function toggleFullscreen(player, actions) {\n actions.toggleFullscreen(player);\n }\n }, {\n key: \"handleKeyPress\",\n value: function handleKeyPress(e) {\n var _this$props = this.props,\n player = _this$props.player,\n actions = _this$props.actions;\n\n if (!player.isActive) {\n return;\n }\n\n if (document.activeElement && ((0, _dom.hasClass)(document.activeElement, 'video-react-control') || (0, _dom.hasClass)(document.activeElement, 'video-react-menu-button-active') || // || hasClass(document.activeElement, 'video-react-slider')\n (0, _dom.hasClass)(document.activeElement, 'video-react-big-play-button'))) {\n return;\n }\n\n var keyCode = e.keyCode || e.which;\n var ctrl = e.ctrlKey || e.metaKey;\n var shift = e.shiftKey;\n var alt = e.altKey;\n var shortcut = this.shortcuts.filter(function (s) {\n if (!s.keyCode || s.keyCode - keyCode !== 0) {\n return false;\n }\n\n if (s.ctrl !== undefined && s.ctrl !== ctrl || s.shift !== undefined && s.shift !== shift || s.alt !== undefined && s.alt !== alt) {\n return false;\n }\n\n return true;\n })[0];\n\n if (shortcut) {\n shortcut.handle(player, actions);\n e.preventDefault();\n }\n } // only if player is active and player is ready\n\n }, {\n key: \"canBeClicked\",\n value: function canBeClicked(player, e) {\n if (!player.isActive || e.target.nodeName !== 'VIDEO' || player.readyState !== 4) {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"handleClick\",\n value: function handleClick(e) {\n var _this$props2 = this.props,\n player = _this$props2.player,\n actions = _this$props2.actions,\n clickable = _this$props2.clickable;\n\n if (!this.canBeClicked(player, e) || !clickable) {\n return;\n }\n\n this.togglePlay(player, actions); // e.preventDefault();\n }\n }, {\n key: \"handleDoubleClick\",\n value: function handleDoubleClick(e) {\n var _this$props3 = this.props,\n player = _this$props3.player,\n actions = _this$props3.actions,\n dblclickable = _this$props3.dblclickable;\n\n if (!this.canBeClicked(player, e) || !dblclickable) {\n return;\n }\n\n this.toggleFullscreen(player, actions); // e.preventDefault();\n } // this component dose not render anything\n // it's just for the key down event\n\n }, {\n key: \"render\",\n value: function render() {\n return null;\n }\n }]);\n return Shortcut;\n}(_react.Component);\n\nexports[\"default\"] = Shortcut;\nShortcut.propTypes = propTypes;\nShortcut.defaultProps = defaultProps;\nShortcut.displayName = 'Shortcut';","var defineProperty = require(\"./defineProperty\");\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nmodule.exports = _objectSpread;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _utils = require(\"../../utils\");\n\nvar propTypes = {\n player: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\n\nfunction RemainingTimeDisplay(_ref) {\n var _ref$player = _ref.player,\n currentTime = _ref$player.currentTime,\n duration = _ref$player.duration,\n className = _ref.className;\n var remainingTime = duration - currentTime;\n var formattedTime = (0, _utils.formatTime)(remainingTime);\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])('video-react-remaining-time video-react-time-control video-react-control', className)\n }, _react[\"default\"].createElement(\"div\", {\n className: \"video-react-remaining-time-display\",\n \"aria-live\": \"off\"\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, \"Remaining Time \"), \"-\".concat(formattedTime)));\n}\n\nRemainingTimeDisplay.propTypes = propTypes;\nRemainingTimeDisplay.displayName = 'RemainingTimeDisplay';\nvar _default = RemainingTimeDisplay;\nexports[\"default\"] = _default;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = PopupButton;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _ClickableComponent = _interopRequireDefault(require(\"../ClickableComponent\"));\n\nvar _Popup = _interopRequireDefault(require(\"./Popup\"));\n\nvar propTypes = {\n inline: _propTypes[\"default\"].bool,\n onClick: _propTypes[\"default\"].func.isRequired,\n onFocus: _propTypes[\"default\"].func,\n onBlur: _propTypes[\"default\"].func,\n className: _propTypes[\"default\"].string\n};\nvar defaultProps = {\n inline: true\n};\n\nfunction PopupButton(props) {\n var inline = props.inline,\n className = props.className;\n var ps = (0, _objectSpread2[\"default\"])({}, props);\n delete ps.children;\n delete ps.inline;\n delete ps.className;\n return _react[\"default\"].createElement(_ClickableComponent[\"default\"], (0, _extends2[\"default\"])({\n className: (0, _classnames[\"default\"])(className, {\n 'video-react-menu-button-inline': !!inline,\n 'video-react-menu-button-popup': !inline\n }, 'video-react-control video-react-button video-react-menu-button')\n }, ps), _react[\"default\"].createElement(_Popup[\"default\"], props));\n}\n\nPopupButton.propTypes = propTypes;\nPopupButton.defaultProps = defaultProps;\nPopupButton.displayName = 'PopupButton';","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _Slider = _interopRequireDefault(require(\"../Slider\"));\n\nvar _VolumeLevel = _interopRequireDefault(require(\"./VolumeLevel\"));\n\nvar propTypes = {\n actions: _propTypes[\"default\"].object,\n player: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string,\n onFocus: _propTypes[\"default\"].func,\n onBlur: _propTypes[\"default\"].func\n};\n\nvar VolumeBar = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(VolumeBar, _Component);\n\n function VolumeBar(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, VolumeBar);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(VolumeBar).call(this, props, context));\n _this.state = {\n percentage: '0%'\n };\n _this.handleMouseMove = _this.handleMouseMove.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handlePercentageChange = _this.handlePercentageChange.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.checkMuted = _this.checkMuted.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.getPercent = _this.getPercent.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.stepForward = _this.stepForward.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.stepBack = _this.stepBack.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleFocus = _this.handleFocus.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleBlur = _this.handleBlur.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(VolumeBar, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {}\n }, {\n key: \"getPercent\",\n value: function getPercent() {\n var player = this.props.player;\n\n if (player.muted) {\n return 0;\n }\n\n return player.volume;\n }\n }, {\n key: \"checkMuted\",\n value: function checkMuted() {\n var _this$props = this.props,\n player = _this$props.player,\n actions = _this$props.actions;\n\n if (player.muted) {\n actions.mute(false);\n }\n }\n }, {\n key: \"handleMouseMove\",\n value: function handleMouseMove(event) {\n var actions = this.props.actions;\n this.checkMuted();\n var distance = this.slider.calculateDistance(event);\n actions.changeVolume(distance);\n }\n }, {\n key: \"stepForward\",\n value: function stepForward() {\n var _this$props2 = this.props,\n player = _this$props2.player,\n actions = _this$props2.actions;\n this.checkMuted();\n actions.changeVolume(player.volume + 0.1);\n }\n }, {\n key: \"stepBack\",\n value: function stepBack() {\n var _this$props3 = this.props,\n player = _this$props3.player,\n actions = _this$props3.actions;\n this.checkMuted();\n actions.changeVolume(player.volume - 0.1);\n }\n }, {\n key: \"handleFocus\",\n value: function handleFocus(e) {\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n }, {\n key: \"handleBlur\",\n value: function handleBlur(e) {\n if (this.props.onBlur) {\n this.props.onBlur(e);\n }\n }\n }, {\n key: \"handlePercentageChange\",\n value: function handlePercentageChange(percentage) {\n if (percentage !== this.state.percentage) {\n this.setState({\n percentage: percentage\n });\n }\n }\n }, {\n key: \"handleClick\",\n value: function handleClick(event) {\n event.stopPropagation();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props4 = this.props,\n player = _this$props4.player,\n className = _this$props4.className;\n var volume = (player.volume * 100).toFixed(2);\n return _react[\"default\"].createElement(_Slider[\"default\"], (0, _extends2[\"default\"])({\n ref: function ref(c) {\n _this2.slider = c;\n },\n label: \"volume level\",\n valuenow: volume,\n valuetext: \"\".concat(volume, \"%\"),\n onMouseMove: this.handleMouseMove,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n sliderActive: this.handleFocus,\n sliderInactive: this.handleBlur,\n getPercent: this.getPercent,\n onPercentageChange: this.handlePercentageChange,\n stepForward: this.stepForward,\n stepBack: this.stepBack\n }, this.props, {\n className: (0, _classnames[\"default\"])(className, 'video-react-volume-bar video-react-slider-bar')\n }), _react[\"default\"].createElement(_VolumeLevel[\"default\"], this.props));\n }\n }]);\n return VolumeBar;\n}(_react.Component);\n\nVolumeBar.propTypes = propTypes;\nVolumeBar.displayName = 'VolumeBar';\nvar _default = VolumeBar;\nexports[\"default\"] = _default;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var hasOwn = {}.hasOwnProperty;\n\n function classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n var argType = typeof arg;\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg);\n\n if (inner) {\n classes.push(inner);\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(' ');\n }\n\n if (typeof module !== 'undefined' && module.exports) {\n classNames.default = classNames;\n module.exports = classNames;\n } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n // register as 'classnames', consistent with npm package name\n define('classnames', [], function () {\n return classNames;\n });\n } else {\n window.classNames = classNames;\n }\n})();","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _Menu = _interopRequireDefault(require(\"./Menu\"));\n\nvar _MenuItem = _interopRequireDefault(require(\"./MenuItem\"));\n\nvar _ClickableComponent = _interopRequireDefault(require(\"../ClickableComponent\"));\n\nvar propTypes = {\n inline: _propTypes[\"default\"].bool,\n items: _propTypes[\"default\"].array,\n className: _propTypes[\"default\"].string,\n onSelectItem: _propTypes[\"default\"].func,\n children: _propTypes[\"default\"].any,\n selectedIndex: _propTypes[\"default\"].number\n};\n\nvar MenuButton = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(MenuButton, _Component);\n\n function MenuButton(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, MenuButton);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(MenuButton).call(this, props, context));\n _this.state = {\n active: false,\n activateIndex: props.selectedIndex || 0\n };\n _this.commitSelection = _this.commitSelection.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.activateMenuItem = _this.activateMenuItem.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.renderMenu = _this.renderMenu.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleFocus = _this.handleFocus.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleBlur = _this.handleBlur.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleUpArrow = _this.handleUpArrow.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleDownArrow = _this.handleDownArrow.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleEscape = _this.handleEscape.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleReturn = _this.handleReturn.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleTab = _this.handleTab.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleKeyPress = _this.handleKeyPress.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleSelectItem = _this.handleSelectItem.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleIndexChange = _this.handleIndexChange.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(MenuButton, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.selectedIndex !== this.props.selectedIndex) {\n this.activateMenuItem(this.props.selectedIndex);\n }\n }\n }, {\n key: \"commitSelection\",\n value: function commitSelection(index) {\n this.setState({\n activateIndex: index,\n active: false\n });\n this.handleIndexChange(index);\n }\n }, {\n key: \"activateMenuItem\",\n value: function activateMenuItem(index) {\n this.setState({\n activateIndex: index\n });\n this.handleIndexChange(index);\n }\n }, {\n key: \"handleIndexChange\",\n value: function handleIndexChange(index) {\n var onSelectItem = this.props.onSelectItem;\n onSelectItem(index);\n }\n }, {\n key: \"handleClick\",\n value: function handleClick() {\n this.setState(function (prevState) {\n return {\n active: !prevState.active\n };\n });\n }\n }, {\n key: \"handleFocus\",\n value: function handleFocus() {\n document.addEventListener('keydown', this.handleKeyPress);\n }\n }, {\n key: \"handleBlur\",\n value: function handleBlur() {\n this.setState({\n active: false\n });\n document.removeEventListener('keydown', this.handleKeyPress);\n }\n }, {\n key: \"handleUpArrow\",\n value: function handleUpArrow(e) {\n var items = this.props.items;\n\n if (this.state.active) {\n e.preventDefault();\n var newIndex = this.state.activateIndex - 1;\n\n if (newIndex < 0) {\n newIndex = items.length ? items.length - 1 : 0;\n }\n\n this.activateMenuItem(newIndex);\n }\n }\n }, {\n key: \"handleDownArrow\",\n value: function handleDownArrow(e) {\n var items = this.props.items;\n\n if (this.state.active) {\n e.preventDefault();\n var newIndex = this.state.activateIndex + 1;\n\n if (newIndex >= items.length) {\n newIndex = 0;\n }\n\n this.activateMenuItem(newIndex);\n }\n }\n }, {\n key: \"handleTab\",\n value: function handleTab(e) {\n if (this.state.active) {\n e.preventDefault();\n this.commitSelection(this.state.activateIndex);\n }\n }\n }, {\n key: \"handleReturn\",\n value: function handleReturn(e) {\n e.preventDefault();\n\n if (this.state.active) {\n this.commitSelection(this.state.activateIndex);\n } else {\n this.setState({\n active: true\n });\n }\n }\n }, {\n key: \"handleEscape\",\n value: function handleEscape() {\n this.setState({\n active: false,\n activateIndex: 0\n });\n }\n }, {\n key: \"handleKeyPress\",\n value: function handleKeyPress(event) {\n // Escape (27) key\n if (event.which === 27) {\n this.handleEscape(event);\n } else if (event.which === 9) {\n // Tab (9) key\n this.handleTab(event);\n } else if (event.which === 13) {\n // Enter (13) key\n this.handleReturn(event);\n } else if (event.which === 38) {\n // Up (38) key\n this.handleUpArrow(event);\n } else if (event.which === 40) {\n // Down (40) key press\n this.handleDownArrow(event);\n }\n }\n }, {\n key: \"handleSelectItem\",\n value: function handleSelectItem(i) {\n this.commitSelection(i);\n }\n }, {\n key: \"renderMenu\",\n value: function renderMenu() {\n var _this2 = this;\n\n if (!this.state.active) {\n return null;\n }\n\n var items = this.props.items;\n return _react[\"default\"].createElement(_Menu[\"default\"], null, items.map(function (item, i) {\n return _react[\"default\"].createElement(_MenuItem[\"default\"], {\n item: item,\n index: i,\n onSelectItem: _this2.handleSelectItem,\n activateIndex: _this2.state.activateIndex,\n key: \"item-\".concat(i++)\n });\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var _this$props = this.props,\n inline = _this$props.inline,\n className = _this$props.className;\n return _react[\"default\"].createElement(_ClickableComponent[\"default\"], {\n className: (0, _classnames[\"default\"])(className, {\n 'video-react-menu-button-inline': !!inline,\n 'video-react-menu-button-popup': !inline,\n 'video-react-menu-button-active': this.state.active\n }, 'video-react-control video-react-button video-react-menu-button'),\n role: \"button\",\n tabIndex: \"0\",\n ref: function ref(c) {\n _this3.menuButton = c;\n },\n onClick: this.handleClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n }, this.props.children, this.renderMenu());\n }\n }]);\n return MenuButton;\n}(_react.Component);\n\nexports[\"default\"] = MenuButton;\nMenuButton.propTypes = propTypes;\nMenuButton.displayName = 'MenuButton';","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _ForwardReplayControl = _interopRequireDefault(require(\"./ForwardReplayControl\")); // Pass mode into parent function\n\n\nvar ReplayControl = (0, _ForwardReplayControl[\"default\"])('replay');\nReplayControl.displayName = 'ReplayControl';\nvar _default = ReplayControl;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = LoadingSpinner;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n player: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\n\nfunction LoadingSpinner(_ref) {\n var player = _ref.player,\n className = _ref.className;\n\n if (player.error) {\n return null;\n }\n\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])('video-react-loading-spinner', className)\n });\n}\n\nLoadingSpinner.propTypes = propTypes;\nLoadingSpinner.displayName = 'LoadingSpinner';","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","\"use strict\";\n\nrequire(\"core-js/modules/es.array.reduce.js\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _redux = require(\"redux\");\n\nvar _reducers = _interopRequireDefault(require(\"./reducers\"));\n\nvar playerActions = _interopRequireWildcard(require(\"./actions/player\"));\n\nvar videoActions = _interopRequireWildcard(require(\"./actions/video\"));\n\nvar Manager = /*#__PURE__*/function () {\n function Manager(store) {\n (0, _classCallCheck2[\"default\"])(this, Manager);\n this.store = store || (0, _redux.createStore)(_reducers[\"default\"]);\n this.video = null;\n this.rootElement = null;\n }\n\n (0, _createClass2[\"default\"])(Manager, [{\n key: \"getActions\",\n value: function getActions() {\n var manager = this;\n var dispatch = this.store.dispatch;\n var actions = (0, _objectSpread2[\"default\"])({}, playerActions, videoActions);\n\n function bindActionCreator(actionCreator) {\n return function bindAction() {\n // eslint-disable-next-line prefer-rest-params\n var action = actionCreator.apply(manager, arguments);\n\n if (typeof action !== 'undefined') {\n dispatch(action);\n }\n };\n }\n\n return Object.keys(actions).filter(function (key) {\n return typeof actions[key] === 'function';\n }).reduce(function (boundActions, key) {\n boundActions[key] = bindActionCreator(actions[key]);\n return boundActions;\n }, {});\n }\n }, {\n key: \"getState\",\n value: function getState() {\n return this.store.getState();\n } // subscribe state change\n\n }, {\n key: \"subscribeToStateChange\",\n value: function subscribeToStateChange(listener, getState) {\n if (!getState) {\n getState = this.getState.bind(this);\n }\n\n var prevState = getState();\n\n var handleChange = function handleChange() {\n var state = getState();\n\n if (state === prevState) {\n return;\n }\n\n var prevStateCopy = prevState;\n prevState = state;\n listener(state, prevStateCopy);\n };\n\n return this.store.subscribe(handleChange);\n } // subscribe to operation state change\n\n }, {\n key: \"subscribeToOperationStateChange\",\n value: function subscribeToOperationStateChange(listener) {\n var _this = this;\n\n return this.subscribeToStateChange(listener, function () {\n return _this.getState().operation;\n });\n } // subscribe to player state change\n\n }, {\n key: \"subscribeToPlayerStateChange\",\n value: function subscribeToPlayerStateChange(listener) {\n var _this2 = this;\n\n return this.subscribeToStateChange(listener, function () {\n return _this2.getState().player;\n });\n }\n }]);\n return Manager;\n}();\n\nexports[\"default\"] = Manager;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n percentage: _propTypes[\"default\"].string,\n vertical: _propTypes[\"default\"].bool,\n className: _propTypes[\"default\"].string\n};\nvar defaultProps = {\n percentage: '100%',\n vertical: false\n};\n\nfunction VolumeLevel(_ref) {\n var percentage = _ref.percentage,\n vertical = _ref.vertical,\n className = _ref.className;\n var style = {};\n\n if (vertical) {\n style.height = percentage;\n } else {\n style.width = percentage;\n }\n\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])(className, 'video-react-volume-level'),\n style: style\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }));\n}\n\nVolumeLevel.propTypes = propTypes;\nVolumeLevel.defaultProps = defaultProps;\nVolumeLevel.displayName = 'VolumeLevel';\nvar _default = VolumeLevel;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _reactDom = require(\"react-dom\");\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar Dom = _interopRequireWildcard(require(\"../utils/dom\"));\n\nvar propTypes = {\n className: _propTypes[\"default\"].string,\n onMouseDown: _propTypes[\"default\"].func,\n onMouseMove: _propTypes[\"default\"].func,\n stepForward: _propTypes[\"default\"].func,\n stepBack: _propTypes[\"default\"].func,\n sliderActive: _propTypes[\"default\"].func,\n sliderInactive: _propTypes[\"default\"].func,\n onMouseUp: _propTypes[\"default\"].func,\n onFocus: _propTypes[\"default\"].func,\n onBlur: _propTypes[\"default\"].func,\n onClick: _propTypes[\"default\"].func,\n getPercent: _propTypes[\"default\"].func,\n vertical: _propTypes[\"default\"].bool,\n children: _propTypes[\"default\"].node,\n label: _propTypes[\"default\"].string,\n valuenow: _propTypes[\"default\"].string,\n valuetext: _propTypes[\"default\"].string\n};\n\nvar Slider = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(Slider, _Component);\n\n function Slider(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Slider);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(Slider).call(this, props, context));\n _this.handleMouseDown = _this.handleMouseDown.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleMouseMove = _this.handleMouseMove.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleMouseUp = _this.handleMouseUp.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleFocus = _this.handleFocus.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleBlur = _this.handleBlur.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleKeyPress = _this.handleKeyPress.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.stepForward = _this.stepForward.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.stepBack = _this.stepBack.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.calculateDistance = _this.calculateDistance.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.getProgress = _this.getProgress.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.renderChildren = _this.renderChildren.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.state = {\n active: false\n };\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Slider, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n document.removeEventListener('mousemove', this.handleMouseMove, true);\n document.removeEventListener('mouseup', this.handleMouseUp, true);\n document.removeEventListener('touchmove', this.handleMouseMove, true);\n document.removeEventListener('touchend', this.handleMouseUp, true);\n document.removeEventListener('keydown', this.handleKeyPress, true);\n }\n }, {\n key: \"getProgress\",\n value: function getProgress() {\n var getPercent = this.props.getPercent;\n\n if (!getPercent) {\n return 0;\n }\n\n var progress = getPercent(); // Protect against no duration and other division issues\n\n if (typeof progress !== 'number' || progress < 0 || progress === Infinity) {\n progress = 0;\n }\n\n return progress;\n }\n }, {\n key: \"handleMouseDown\",\n value: function handleMouseDown(event) {\n var onMouseDown = this.props.onMouseDown; // event.preventDefault();\n // event.stopPropagation();\n\n document.addEventListener('mousemove', this.handleMouseMove, true);\n document.addEventListener('mouseup', this.handleMouseUp, true);\n document.addEventListener('touchmove', this.handleMouseMove, true);\n document.addEventListener('touchend', this.handleMouseUp, true);\n this.setState({\n active: true\n });\n\n if (this.props.sliderActive) {\n this.props.sliderActive(event);\n }\n\n this.handleMouseMove(event);\n\n if (onMouseDown) {\n onMouseDown(event);\n }\n }\n }, {\n key: \"handleMouseMove\",\n value: function handleMouseMove(event) {\n var onMouseMove = this.props.onMouseMove;\n\n if (onMouseMove) {\n onMouseMove(event);\n }\n }\n }, {\n key: \"handleMouseUp\",\n value: function handleMouseUp(event) {\n var onMouseUp = this.props.onMouseUp;\n document.removeEventListener('mousemove', this.handleMouseMove, true);\n document.removeEventListener('mouseup', this.handleMouseUp, true);\n document.removeEventListener('touchmove', this.handleMouseMove, true);\n document.removeEventListener('touchend', this.handleMouseUp, true);\n this.setState({\n active: false\n });\n\n if (this.props.sliderInactive) {\n this.props.sliderInactive(event);\n }\n\n if (onMouseUp) {\n onMouseUp(event);\n }\n }\n }, {\n key: \"handleFocus\",\n value: function handleFocus(e) {\n document.addEventListener('keydown', this.handleKeyPress, true);\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n }, {\n key: \"handleBlur\",\n value: function handleBlur(e) {\n document.removeEventListener('keydown', this.handleKeyPress, true);\n\n if (this.props.onBlur) {\n this.props.onBlur(e);\n }\n }\n }, {\n key: \"handleClick\",\n value: function handleClick(event) {\n event.preventDefault(); // event.stopPropagation();\n\n if (this.props.onClick) {\n this.props.onClick(event);\n }\n }\n }, {\n key: \"handleKeyPress\",\n value: function handleKeyPress(event) {\n if (event.which === 37 || event.which === 40) {\n // Left and Down Arrows\n event.preventDefault();\n event.stopPropagation();\n this.stepBack();\n } else if (event.which === 38 || event.which === 39) {\n // Up and Right Arrows\n event.preventDefault();\n event.stopPropagation();\n this.stepForward();\n }\n }\n }, {\n key: \"stepForward\",\n value: function stepForward() {\n if (this.props.stepForward) {\n this.props.stepForward();\n }\n }\n }, {\n key: \"stepBack\",\n value: function stepBack() {\n if (this.props.stepBack) {\n this.props.stepBack();\n }\n }\n }, {\n key: \"calculateDistance\",\n value: function calculateDistance(event) {\n var node = (0, _reactDom.findDOMNode)(this);\n var position = Dom.getPointerPosition(node, event);\n\n if (this.props.vertical) {\n return position.y;\n }\n\n return position.x;\n }\n }, {\n key: \"renderChildren\",\n value: function renderChildren() {\n var progress = this.getProgress();\n var percentage = \"\".concat((progress * 100).toFixed(2), \"%\");\n return _react[\"default\"].Children.map(this.props.children, function (child) {\n return _react[\"default\"].cloneElement(child, {\n progress: progress,\n percentage: percentage\n });\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n vertical = _this$props.vertical,\n label = _this$props.label,\n valuenow = _this$props.valuenow,\n valuetext = _this$props.valuetext;\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])(this.props.className, {\n 'video-react-slider-vertical': vertical,\n 'video-react-slider-horizontal': !vertical,\n 'video-react-sliding': this.state.active\n }, 'video-react-slider'),\n tabIndex: \"0\",\n role: \"slider\",\n onMouseDown: this.handleMouseDown,\n onTouchStart: this.handleMouseDown,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n \"aria-label\": label || '',\n \"aria-valuenow\": valuenow || '',\n \"aria-valuetext\": valuetext || '',\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100\n }, this.renderChildren());\n }\n }]);\n return Slider;\n}(_react.Component);\n\nexports[\"default\"] = Slider;\nSlider.propTypes = propTypes;\nSlider.displayName = 'Slider';","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n tagName: _propTypes[\"default\"].string,\n onClick: _propTypes[\"default\"].func.isRequired,\n onFocus: _propTypes[\"default\"].func,\n onBlur: _propTypes[\"default\"].func,\n className: _propTypes[\"default\"].string\n};\nvar defaultProps = {\n tagName: 'div'\n};\n\nvar ClickableComponent = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(ClickableComponent, _Component);\n\n function ClickableComponent(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, ClickableComponent);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(ClickableComponent).call(this, props, context));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleFocus = _this.handleFocus.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleBlur = _this.handleBlur.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleKeypress = _this.handleKeypress.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(ClickableComponent, [{\n key: \"handleKeypress\",\n value: function handleKeypress(event) {\n // Support Space (32) or Enter (13) key operation to fire a click event\n if (event.which === 32 || event.which === 13) {\n event.preventDefault();\n this.handleClick(event);\n }\n }\n }, {\n key: \"handleClick\",\n value: function handleClick(event) {\n var onClick = this.props.onClick;\n onClick(event);\n }\n }, {\n key: \"handleFocus\",\n value: function handleFocus(e) {\n document.addEventListener('keydown', this.handleKeypress);\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n }, {\n key: \"handleBlur\",\n value: function handleBlur(e) {\n document.removeEventListener('keydown', this.handleKeypress);\n\n if (this.props.onBlur) {\n this.props.onBlur(e);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var Tag = this.props.tagName;\n var props = (0, _objectSpread2[\"default\"])({}, this.props);\n delete props.tagName;\n delete props.className;\n return _react[\"default\"].createElement(Tag, (0, _extends2[\"default\"])({\n className: (0, _classnames[\"default\"])(this.props.className),\n role: \"button\",\n tabIndex: \"0\",\n onClick: this.handleClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n }, props));\n }\n }]);\n return ClickableComponent;\n}(_react.Component);\n\nexports[\"default\"] = ClickableComponent;\nClickableComponent.propTypes = propTypes;\nClickableComponent.defaultProps = defaultProps;\nClickableComponent.displayName = 'ClickableComponent';","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar propTypes = {\n children: _propTypes[\"default\"].any\n};\n\nvar Menu = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(Menu, _Component);\n\n function Menu(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Menu);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(Menu).call(this, props, context));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Menu, [{\n key: \"handleClick\",\n value: function handleClick(event) {\n event.preventDefault(); // event.stopPropagation();\n }\n }, {\n key: \"render\",\n value: function render() {\n return _react[\"default\"].createElement(\"div\", {\n className: \"video-react-menu video-react-lock-showing\",\n role: \"presentation\",\n onClick: this.handleClick\n }, _react[\"default\"].createElement(\"ul\", {\n className: \"video-react-menu-content\"\n }, this.props.children));\n }\n }]);\n return Menu;\n}(_react.Component);\n\nexports[\"default\"] = Menu;\nMenu.propTypes = propTypes;\nMenu.displayName = 'Menu';","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = PlayProgressBar;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _utils = require(\"../../utils\");\n\nvar propTypes = {\n currentTime: _propTypes[\"default\"].number,\n duration: _propTypes[\"default\"].number,\n percentage: _propTypes[\"default\"].string,\n className: _propTypes[\"default\"].string\n}; // Shows play progress\n\nfunction PlayProgressBar(_ref) {\n var currentTime = _ref.currentTime,\n duration = _ref.duration,\n percentage = _ref.percentage,\n className = _ref.className;\n return _react[\"default\"].createElement(\"div\", {\n \"data-current-time\": (0, _utils.formatTime)(currentTime, duration),\n className: (0, _classnames[\"default\"])('video-react-play-progress video-react-slider-bar', className),\n style: {\n width: percentage\n }\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, \"Progress: \".concat(percentage)));\n}\n\nPlayProgressBar.propTypes = propTypes;\nPlayProgressBar.displayName = 'PlayProgressBar';","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.IS_IOS = exports.IS_IPOD = exports.IS_IPHONE = exports.IS_IPAD = void 0;\nvar USER_AGENT = typeof window !== 'undefined' && window.navigator ? window.navigator.userAgent : ''; // const webkitVersionMap = (/AppleWebKit\\/([\\d.]+)/i).exec(USER_AGENT);\n// const appleWebkitVersion = webkitVersionMap ? parseFloat(webkitVersionMap.pop()) : null;\n\n/*\n * Device is an iPhone\n *\n * @type {Boolean}\n * @constant\n * @private\n */\n\nvar IS_IPAD = /iPad/i.test(USER_AGENT); // The Facebook app's UIWebView identifies as both an iPhone and iPad, so\n// to identify iPhones, we need to exclude iPads.\n// http://artsy.github.io/blog/2012/10/18/the-perils-of-ios-user-agent-sniffing/\n\nexports.IS_IPAD = IS_IPAD;\nvar IS_IPHONE = /iPhone/i.test(USER_AGENT) && !IS_IPAD;\nexports.IS_IPHONE = IS_IPHONE;\nvar IS_IPOD = /iPod/i.test(USER_AGENT);\nexports.IS_IPOD = IS_IPOD;\nvar IS_IOS = IS_IPHONE || IS_IPAD || IS_IPOD;\nexports.IS_IOS = IS_IOS;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = LoadProgressBar;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n duration: _propTypes[\"default\"].number,\n buffered: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n}; // Shows load progress\n\nfunction LoadProgressBar(_ref) {\n var buffered = _ref.buffered,\n duration = _ref.duration,\n className = _ref.className;\n\n if (!buffered || !buffered.length) {\n return null;\n }\n\n var bufferedEnd = buffered.end(buffered.length - 1);\n var style = {};\n\n if (bufferedEnd > duration) {\n bufferedEnd = duration;\n } // get the percent width of a time compared to the total end\n\n\n function percentify(time, end) {\n var percent = time / end || 0; // no NaN\n\n return \"\".concat((percent >= 1 ? 1 : percent) * 100, \"%\");\n } // the width of the progress bar\n\n\n style.width = percentify(bufferedEnd, duration);\n var parts = []; // add child elements to represent the individual buffered time ranges\n\n for (var i = 0; i < buffered.length; i++) {\n var start = buffered.start(i);\n var end = buffered.end(i); // set the percent based on the width of the progress bar (bufferedEnd)\n\n var part = _react[\"default\"].createElement(\"div\", {\n style: {\n left: percentify(start, bufferedEnd),\n width: percentify(end - start, bufferedEnd)\n },\n key: \"part-\".concat(i)\n });\n\n parts.push(part);\n }\n\n if (parts.length === 0) {\n parts = null;\n }\n\n return _react[\"default\"].createElement(\"div\", {\n style: style,\n className: (0, _classnames[\"default\"])('video-react-load-progress', className)\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, \"Loaded: 0%\"), parts);\n}\n\nLoadProgressBar.propTypes = propTypes;\nLoadProgressBar.displayName = 'LoadProgressBar';","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = TimeDivider;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n separator: _propTypes[\"default\"].string,\n className: _propTypes[\"default\"].string\n};\n\nfunction TimeDivider(_ref) {\n var separator = _ref.separator,\n className = _ref.className;\n var separatorText = separator || '/';\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])('video-react-time-control video-react-time-divider', className),\n dir: \"ltr\"\n }, _react[\"default\"].createElement(\"div\", null, _react[\"default\"].createElement(\"span\", null, separatorText)));\n}\n\nTimeDivider.propTypes = propTypes;\nTimeDivider.displayName = 'TimeDivider';","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar Fullscreen = /*#__PURE__*/function () {\n function Fullscreen() {\n (0, _classCallCheck2[\"default\"])(this, Fullscreen);\n }\n\n (0, _createClass2[\"default\"])(Fullscreen, [{\n key: \"request\",\n value: function request(elm) {\n if (elm.requestFullscreen) {\n elm.requestFullscreen();\n } else if (elm.webkitRequestFullscreen) {\n elm.webkitRequestFullscreen();\n } else if (elm.mozRequestFullScreen) {\n elm.mozRequestFullScreen();\n } else if (elm.msRequestFullscreen) {\n elm.msRequestFullscreen();\n }\n }\n }, {\n key: \"exit\",\n value: function exit() {\n if (document.exitFullscreen) {\n document.exitFullscreen();\n } else if (document.webkitExitFullscreen) {\n document.webkitExitFullscreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n } else if (document.msExitFullscreen) {\n document.msExitFullscreen();\n }\n }\n }, {\n key: \"addEventListener\",\n value: function addEventListener(handler) {\n document.addEventListener('fullscreenchange', handler);\n document.addEventListener('webkitfullscreenchange', handler);\n document.addEventListener('mozfullscreenchange', handler);\n document.addEventListener('MSFullscreenChange', handler);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(handler) {\n document.removeEventListener('fullscreenchange', handler);\n document.removeEventListener('webkitfullscreenchange', handler);\n document.removeEventListener('mozfullscreenchange', handler);\n document.removeEventListener('MSFullscreenChange', handler);\n }\n }, {\n key: \"isFullscreen\",\n get: function get() {\n return document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement;\n }\n }, {\n key: \"enabled\",\n get: function get() {\n return document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled;\n }\n }]);\n return Fullscreen;\n}();\n\nvar _default = new Fullscreen();\n\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.formatTime = formatTime;\nexports.isVideoChild = isVideoChild;\nexports.mergeAndSortChildren = mergeAndSortChildren;\nexports.deprecatedWarning = deprecatedWarning;\nexports.throttle = throttle;\nexports.mediaProperties = void 0;\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\")); // NaN is the only value in javascript which is not equal to itself.\n// eslint-disable-next-line no-self-compare\n\n\nvar isNaN = Number.isNaN || function (value) {\n return value !== value;\n};\n/**\n * @file format-time.js\n *\n * Format seconds as a time string, H:MM:SS or M:SS\n * Supplying a guide (in seconds) will force a number of leading zeros\n * to cover the length of the guide\n *\n * @param {Number} seconds Number of seconds to be turned into a string\n * @param {Number} guide Number (in seconds) to model the string after\n * @return {String} Time formatted as H:MM:SS or M:SS\n * @private\n * @function formatTime\n */\n\n\nfunction formatTime() {\n var seconds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var guide = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : seconds;\n var s = Math.floor(seconds % 60);\n var m = Math.floor(seconds / 60 % 60);\n var h = Math.floor(seconds / 3600);\n var gm = Math.floor(guide / 60 % 60);\n var gh = Math.floor(guide / 3600); // handle invalid times\n\n if (isNaN(seconds) || seconds === Infinity) {\n // '-' is false for all relational operators (e.g. <, >=) so this setting\n // will add the minimum number of fields specified by the guide\n h = '-';\n m = '-';\n s = '-';\n } // Check if we need to show hours\n\n\n h = h > 0 || gh > 0 ? \"\".concat(h, \":\") : ''; // If hours are showing, we may need to add a leading zero.\n // Always show at least one digit of minutes.\n\n m = \"\".concat((h || gm >= 10) && m < 10 ? \"0\".concat(m) : m, \":\"); // Check if leading zero is need for seconds\n\n s = s < 10 ? \"0\".concat(s) : s;\n return h + m + s;\n} // Check if the element belongs to a video element\n// only accept <source />, <track />,\n// <MyComponent isVideoChild />\n// elements\n\n\nfunction isVideoChild(c) {\n if (c.props && c.props.isVideoChild) {\n return true;\n }\n\n return c.type === 'source' || c.type === 'track';\n}\n\nvar find = function find(elements, func) {\n return elements.filter(func)[0];\n}; // check if two components are the same type\n\n\nvar isTypeEqual = function isTypeEqual(component1, component2) {\n var type1 = component1.type;\n var type2 = component2.type;\n\n if (typeof type1 === 'string' || typeof type2 === 'string') {\n return type1 === type2;\n }\n\n if (typeof type1 === 'function' && typeof type2 === 'function') {\n return type1.displayName === type2.displayName;\n }\n\n return false;\n}; // merge default children\n// sort them by `order` property\n// filter them by `disabled` property\n\n\nfunction mergeAndSortChildren(defaultChildren, _children, _parentProps) {\n var defaultOrder = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n\n var children = _react[\"default\"].Children.toArray(_children);\n\n var order = _parentProps.order,\n parentProps = (0, _objectWithoutProperties2[\"default\"])(_parentProps, [\"order\"]); // ignore order from parent\n\n return children.filter(function (e) {\n return !e.props.disabled;\n }) // filter the disabled components\n .concat(defaultChildren.filter(function (c) {\n return !find(children, function (component) {\n return isTypeEqual(component, c);\n });\n })).map(function (element) {\n var defaultComponent = find(defaultChildren, function (c) {\n return isTypeEqual(c, element);\n });\n var defaultProps = defaultComponent ? defaultComponent.props : {};\n var props = (0, _objectSpread2[\"default\"])({}, parentProps, defaultProps, element.props);\n\n var e = _react[\"default\"].cloneElement(element, props, element.props.children);\n\n return e;\n }).sort(function (a, b) {\n return (a.props.order || defaultOrder) - (b.props.order || defaultOrder);\n });\n}\n/**\n * Temporary utility for generating the warnings\n */\n\n\nfunction deprecatedWarning(oldMethodCall, newMethodCall) {\n // eslint-disable-next-line no-console\n console.warn(\"WARNING: \".concat(oldMethodCall, \" will be deprecated soon! Please use \").concat(newMethodCall, \" instead.\"));\n}\n\nfunction throttle(callback, limit) {\n var _arguments = arguments;\n var wait = false;\n return function () {\n if (!wait) {\n // eslint-disable-next-line prefer-rest-params\n callback.apply(void 0, (0, _toConsumableArray2[\"default\"])(_arguments));\n wait = true;\n setTimeout(function () {\n wait = false;\n }, limit);\n }\n };\n}\n\nvar mediaProperties = ['error', 'src', 'srcObject', 'currentSrc', 'crossOrigin', 'networkState', 'preload', 'buffered', 'readyState', 'seeking', 'currentTime', 'duration', 'paused', 'defaultPlaybackRate', 'playbackRate', 'played', 'seekable', 'ended', 'autoplay', 'loop', 'mediaGroup', 'controller', 'controls', 'volume', 'muted', 'defaultMuted', 'audioTracks', 'videoTracks', 'textTracks', 'width', 'height', 'videoWidth', 'videoHeight', 'poster'];\nexports.mediaProperties = mediaProperties;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n poster: _propTypes[\"default\"].string,\n player: _propTypes[\"default\"].object,\n actions: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\n\nfunction PosterImage(_ref) {\n var poster = _ref.poster,\n player = _ref.player,\n actions = _ref.actions,\n className = _ref.className;\n\n if (!poster || player.hasStarted) {\n return null;\n }\n\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])('video-react-poster', className),\n style: {\n backgroundImage: \"url(\\\"\".concat(poster, \"\\\")\")\n },\n onClick: function onClick() {\n if (player.paused) {\n actions.play();\n }\n }\n });\n}\n\nPosterImage.propTypes = propTypes;\nPosterImage.displayName = 'PosterImage';\nvar _default = PosterImage;\nexports[\"default\"] = _default;","import \"core-js/modules/es.array.reduce.js\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\"; // A grid component using the following libs as inspiration.\n//\n// For the implementation:\n// - https://getbootstrap.com/docs/4.3/layout/grid/\n// - https://github.com/kristoferjoseph/flexboxgrid/blob/master/src/css/flexboxgrid.css\n// - https://github.com/roylee0704/react-flexbox-grid\n// - https://material.angularjs.org/latest/layout/introduction\n//\n// Follow this flexbox Guide to better understand the underlying model:\n// - https://css-tricks.com/snippets/css/a-guide-to-flexbox/\n\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport requirePropFactory from '../utils/requirePropFactory';\nvar SPACINGS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar GRID_SIZES = ['auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\n\nfunction generateGrid(globalStyles, theme, breakpoint) {\n var styles = {};\n GRID_SIZES.forEach(function (size) {\n var key = \"grid-\".concat(breakpoint, \"-\").concat(size);\n\n if (size === true) {\n // For the auto layouting\n styles[key] = {\n flexBasis: 0,\n flexGrow: 1,\n maxWidth: '100%'\n };\n return;\n }\n\n if (size === 'auto') {\n styles[key] = {\n flexBasis: 'auto',\n flexGrow: 0,\n maxWidth: 'none'\n };\n return;\n } // Keep 7 significant numbers.\n\n\n var width = \"\".concat(Math.round(size / 12 * 10e7) / 10e5, \"%\"); // Close to the bootstrap implementation:\n // https://github.com/twbs/bootstrap/blob/8fccaa2439e97ec72a4b7dc42ccc1f649790adb0/scss/mixins/_grid.scss#L41\n\n styles[key] = {\n flexBasis: width,\n flexGrow: 0,\n maxWidth: width\n };\n }); // No need for a media query for the first size.\n\n if (breakpoint === 'xs') {\n _extends(globalStyles, styles);\n } else {\n globalStyles[theme.breakpoints.up(breakpoint)] = styles;\n }\n}\n\nfunction getOffset(val) {\n var div = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var parse = parseFloat(val);\n return \"\".concat(parse / div).concat(String(val).replace(String(parse), '') || 'px');\n}\n\nfunction generateGutter(theme, breakpoint) {\n var styles = {};\n SPACINGS.forEach(function (spacing) {\n var themeSpacing = theme.spacing(spacing);\n\n if (themeSpacing === 0) {\n return;\n }\n\n styles[\"spacing-\".concat(breakpoint, \"-\").concat(spacing)] = {\n margin: \"-\".concat(getOffset(themeSpacing, 2)),\n width: \"calc(100% + \".concat(getOffset(themeSpacing), \")\"),\n '& > $item': {\n padding: getOffset(themeSpacing, 2)\n }\n };\n });\n return styles;\n} // Default CSS values\n// flex: '0 1 auto',\n// flexDirection: 'row',\n// alignItems: 'flex-start',\n// flexWrap: 'nowrap',\n// justifyContent: 'flex-start',\n\n\nexport var styles = function styles(theme) {\n return _extends({\n /* Styles applied to the root element. */\n root: {},\n\n /* Styles applied to the root element if `container={true}`. */\n container: {\n boxSizing: 'border-box',\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%'\n },\n\n /* Styles applied to the root element if `item={true}`. */\n item: {\n boxSizing: 'border-box',\n margin: '0' // For instance, it's useful when used with a `figure` element.\n\n },\n\n /* Styles applied to the root element if `zeroMinWidth={true}`. */\n zeroMinWidth: {\n minWidth: 0\n },\n\n /* Styles applied to the root element if `direction=\"column\"`. */\n 'direction-xs-column': {\n flexDirection: 'column'\n },\n\n /* Styles applied to the root element if `direction=\"column-reverse\"`. */\n 'direction-xs-column-reverse': {\n flexDirection: 'column-reverse'\n },\n\n /* Styles applied to the root element if `direction=\"row-reverse\"`. */\n 'direction-xs-row-reverse': {\n flexDirection: 'row-reverse'\n },\n\n /* Styles applied to the root element if `wrap=\"nowrap\"`. */\n 'wrap-xs-nowrap': {\n flexWrap: 'nowrap'\n },\n\n /* Styles applied to the root element if `wrap=\"reverse\"`. */\n 'wrap-xs-wrap-reverse': {\n flexWrap: 'wrap-reverse'\n },\n\n /* Styles applied to the root element if `alignItems=\"center\"`. */\n 'align-items-xs-center': {\n alignItems: 'center'\n },\n\n /* Styles applied to the root element if `alignItems=\"flex-start\"`. */\n 'align-items-xs-flex-start': {\n alignItems: 'flex-start'\n },\n\n /* Styles applied to the root element if `alignItems=\"flex-end\"`. */\n 'align-items-xs-flex-end': {\n alignItems: 'flex-end'\n },\n\n /* Styles applied to the root element if `alignItems=\"baseline\"`. */\n 'align-items-xs-baseline': {\n alignItems: 'baseline'\n },\n\n /* Styles applied to the root element if `alignContent=\"center\"`. */\n 'align-content-xs-center': {\n alignContent: 'center'\n },\n\n /* Styles applied to the root element if `alignContent=\"flex-start\"`. */\n 'align-content-xs-flex-start': {\n alignContent: 'flex-start'\n },\n\n /* Styles applied to the root element if `alignContent=\"flex-end\"`. */\n 'align-content-xs-flex-end': {\n alignContent: 'flex-end'\n },\n\n /* Styles applied to the root element if `alignContent=\"space-between\"`. */\n 'align-content-xs-space-between': {\n alignContent: 'space-between'\n },\n\n /* Styles applied to the root element if `alignContent=\"space-around\"`. */\n 'align-content-xs-space-around': {\n alignContent: 'space-around'\n },\n\n /* Styles applied to the root element if `justify=\"center\"`. */\n 'justify-xs-center': {\n justifyContent: 'center'\n },\n\n /* Styles applied to the root element if `justify=\"flex-end\"`. */\n 'justify-xs-flex-end': {\n justifyContent: 'flex-end'\n },\n\n /* Styles applied to the root element if `justify=\"space-between\"`. */\n 'justify-xs-space-between': {\n justifyContent: 'space-between'\n },\n\n /* Styles applied to the root element if `justify=\"space-around\"`. */\n 'justify-xs-space-around': {\n justifyContent: 'space-around'\n },\n\n /* Styles applied to the root element if `justify=\"space-evenly\"`. */\n 'justify-xs-space-evenly': {\n justifyContent: 'space-evenly'\n }\n }, generateGutter(theme, 'xs'), theme.breakpoints.keys.reduce(function (accumulator, key) {\n // Use side effect over immutability for better performance.\n generateGrid(accumulator, theme, key);\n return accumulator;\n }, {}));\n};\nvar Grid = /*#__PURE__*/React.forwardRef(function Grid(props, ref) {\n var _props$alignContent = props.alignContent,\n alignContent = _props$alignContent === void 0 ? 'stretch' : _props$alignContent,\n _props$alignItems = props.alignItems,\n alignItems = _props$alignItems === void 0 ? 'stretch' : _props$alignItems,\n classes = props.classes,\n classNameProp = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n _props$container = props.container,\n container = _props$container === void 0 ? false : _props$container,\n _props$direction = props.direction,\n direction = _props$direction === void 0 ? 'row' : _props$direction,\n _props$item = props.item,\n item = _props$item === void 0 ? false : _props$item,\n _props$justify = props.justify,\n justify = _props$justify === void 0 ? 'flex-start' : _props$justify,\n _props$lg = props.lg,\n lg = _props$lg === void 0 ? false : _props$lg,\n _props$md = props.md,\n md = _props$md === void 0 ? false : _props$md,\n _props$sm = props.sm,\n sm = _props$sm === void 0 ? false : _props$sm,\n _props$spacing = props.spacing,\n spacing = _props$spacing === void 0 ? 0 : _props$spacing,\n _props$wrap = props.wrap,\n wrap = _props$wrap === void 0 ? 'wrap' : _props$wrap,\n _props$xl = props.xl,\n xl = _props$xl === void 0 ? false : _props$xl,\n _props$xs = props.xs,\n xs = _props$xs === void 0 ? false : _props$xs,\n _props$zeroMinWidth = props.zeroMinWidth,\n zeroMinWidth = _props$zeroMinWidth === void 0 ? false : _props$zeroMinWidth,\n other = _objectWithoutProperties(props, [\"alignContent\", \"alignItems\", \"classes\", \"className\", \"component\", \"container\", \"direction\", \"item\", \"justify\", \"lg\", \"md\", \"sm\", \"spacing\", \"wrap\", \"xl\", \"xs\", \"zeroMinWidth\"]);\n\n var className = clsx(classes.root, classNameProp, container && [classes.container, spacing !== 0 && classes[\"spacing-xs-\".concat(String(spacing))]], item && classes.item, zeroMinWidth && classes.zeroMinWidth, direction !== 'row' && classes[\"direction-xs-\".concat(String(direction))], wrap !== 'wrap' && classes[\"wrap-xs-\".concat(String(wrap))], alignItems !== 'stretch' && classes[\"align-items-xs-\".concat(String(alignItems))], alignContent !== 'stretch' && classes[\"align-content-xs-\".concat(String(alignContent))], justify !== 'flex-start' && classes[\"justify-xs-\".concat(String(justify))], xs !== false && classes[\"grid-xs-\".concat(String(xs))], sm !== false && classes[\"grid-sm-\".concat(String(sm))], md !== false && classes[\"grid-md-\".concat(String(md))], lg !== false && classes[\"grid-lg-\".concat(String(lg))], xl !== false && classes[\"grid-xl-\".concat(String(xl))]);\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: className,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\nvar StyledGrid = withStyles(styles, {\n name: 'MuiGrid'\n})(Grid);\n\nif (process.env.NODE_ENV !== 'production') {\n var requireProp = requirePropFactory('Grid');\n StyledGrid.propTypes = _extends({}, StyledGrid.propTypes, {\n alignContent: requireProp('container'),\n alignItems: requireProp('container'),\n direction: requireProp('container'),\n justify: requireProp('container'),\n lg: requireProp('item'),\n md: requireProp('item'),\n sm: requireProp('item'),\n spacing: requireProp('container'),\n wrap: requireProp('container'),\n xs: requireProp('item'),\n zeroMinWidth: requireProp('item')\n });\n}\n\nexport default StyledGrid;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"Player\", {\n enumerable: true,\n get: function get() {\n return _Player[\"default\"];\n }\n});\nObject.defineProperty(exports, \"Video\", {\n enumerable: true,\n get: function get() {\n return _Video[\"default\"];\n }\n});\nObject.defineProperty(exports, \"BigPlayButton\", {\n enumerable: true,\n get: function get() {\n return _BigPlayButton[\"default\"];\n }\n});\nObject.defineProperty(exports, \"LoadingSpinner\", {\n enumerable: true,\n get: function get() {\n return _LoadingSpinner[\"default\"];\n }\n});\nObject.defineProperty(exports, \"PosterImage\", {\n enumerable: true,\n get: function get() {\n return _PosterImage[\"default\"];\n }\n});\nObject.defineProperty(exports, \"Slider\", {\n enumerable: true,\n get: function get() {\n return _Slider[\"default\"];\n }\n});\nObject.defineProperty(exports, \"Bezel\", {\n enumerable: true,\n get: function get() {\n return _Bezel[\"default\"];\n }\n});\nObject.defineProperty(exports, \"Shortcut\", {\n enumerable: true,\n get: function get() {\n return _Shortcut[\"default\"];\n }\n});\nObject.defineProperty(exports, \"ControlBar\", {\n enumerable: true,\n get: function get() {\n return _ControlBar[\"default\"];\n }\n});\nObject.defineProperty(exports, \"PlayToggle\", {\n enumerable: true,\n get: function get() {\n return _PlayToggle[\"default\"];\n }\n});\nObject.defineProperty(exports, \"ForwardControl\", {\n enumerable: true,\n get: function get() {\n return _ForwardControl[\"default\"];\n }\n});\nObject.defineProperty(exports, \"ReplayControl\", {\n enumerable: true,\n get: function get() {\n return _ReplayControl[\"default\"];\n }\n});\nObject.defineProperty(exports, \"FullscreenToggle\", {\n enumerable: true,\n get: function get() {\n return _FullscreenToggle[\"default\"];\n }\n});\nObject.defineProperty(exports, \"ProgressControl\", {\n enumerable: true,\n get: function get() {\n return _ProgressControl[\"default\"];\n }\n});\nObject.defineProperty(exports, \"SeekBar\", {\n enumerable: true,\n get: function get() {\n return _SeekBar[\"default\"];\n }\n});\nObject.defineProperty(exports, \"PlayProgressBar\", {\n enumerable: true,\n get: function get() {\n return _PlayProgressBar[\"default\"];\n }\n});\nObject.defineProperty(exports, \"LoadProgressBar\", {\n enumerable: true,\n get: function get() {\n return _LoadProgressBar[\"default\"];\n }\n});\nObject.defineProperty(exports, \"MouseTimeDisplay\", {\n enumerable: true,\n get: function get() {\n return _MouseTimeDisplay[\"default\"];\n }\n});\nObject.defineProperty(exports, \"VolumeMenuButton\", {\n enumerable: true,\n get: function get() {\n return _VolumeMenuButton[\"default\"];\n }\n});\nObject.defineProperty(exports, \"PlaybackRateMenuButton\", {\n enumerable: true,\n get: function get() {\n return _PlaybackRateMenuButton[\"default\"];\n }\n});\nObject.defineProperty(exports, \"PlaybackRate\", {\n enumerable: true,\n get: function get() {\n return _PlaybackRate[\"default\"];\n }\n});\nObject.defineProperty(exports, \"RemainingTimeDisplay\", {\n enumerable: true,\n get: function get() {\n return _RemainingTimeDisplay[\"default\"];\n }\n});\nObject.defineProperty(exports, \"CurrentTimeDisplay\", {\n enumerable: true,\n get: function get() {\n return _CurrentTimeDisplay[\"default\"];\n }\n});\nObject.defineProperty(exports, \"DurationDisplay\", {\n enumerable: true,\n get: function get() {\n return _DurationDisplay[\"default\"];\n }\n});\nObject.defineProperty(exports, \"TimeDivider\", {\n enumerable: true,\n get: function get() {\n return _TimeDivider[\"default\"];\n }\n});\nObject.defineProperty(exports, \"MenuButton\", {\n enumerable: true,\n get: function get() {\n return _MenuButton[\"default\"];\n }\n});\nObject.defineProperty(exports, \"playerReducer\", {\n enumerable: true,\n get: function get() {\n return _reducers.playerReducer;\n }\n});\nObject.defineProperty(exports, \"operationReducer\", {\n enumerable: true,\n get: function get() {\n return _reducers.operationReducer;\n }\n});\nexports.videoActions = exports.playerActions = void 0;\n\nvar _Player = _interopRequireDefault(require(\"./components/Player\"));\n\nvar _Video = _interopRequireDefault(require(\"./components/Video\"));\n\nvar _BigPlayButton = _interopRequireDefault(require(\"./components/BigPlayButton\"));\n\nvar _LoadingSpinner = _interopRequireDefault(require(\"./components/LoadingSpinner\"));\n\nvar _PosterImage = _interopRequireDefault(require(\"./components/PosterImage\"));\n\nvar _Slider = _interopRequireDefault(require(\"./components/Slider\"));\n\nvar _Bezel = _interopRequireDefault(require(\"./components/Bezel\"));\n\nvar _Shortcut = _interopRequireDefault(require(\"./components/Shortcut\"));\n\nvar _ControlBar = _interopRequireDefault(require(\"./components/control-bar/ControlBar\"));\n\nvar _PlayToggle = _interopRequireDefault(require(\"./components/control-bar/PlayToggle\"));\n\nvar _ForwardControl = _interopRequireDefault(require(\"./components/control-bar/ForwardControl\"));\n\nvar _ReplayControl = _interopRequireDefault(require(\"./components/control-bar/ReplayControl\"));\n\nvar _FullscreenToggle = _interopRequireDefault(require(\"./components/control-bar/FullscreenToggle\"));\n\nvar _ProgressControl = _interopRequireDefault(require(\"./components/control-bar/ProgressControl\"));\n\nvar _SeekBar = _interopRequireDefault(require(\"./components/control-bar/SeekBar\"));\n\nvar _PlayProgressBar = _interopRequireDefault(require(\"./components/control-bar/PlayProgressBar\"));\n\nvar _LoadProgressBar = _interopRequireDefault(require(\"./components/control-bar/LoadProgressBar\"));\n\nvar _MouseTimeDisplay = _interopRequireDefault(require(\"./components/control-bar/MouseTimeDisplay\"));\n\nvar _VolumeMenuButton = _interopRequireDefault(require(\"./components/control-bar/VolumeMenuButton\"));\n\nvar _PlaybackRateMenuButton = _interopRequireDefault(require(\"./components/control-bar/PlaybackRateMenuButton\"));\n\nvar _PlaybackRate = _interopRequireDefault(require(\"./components/control-bar/PlaybackRate\"));\n\nvar _RemainingTimeDisplay = _interopRequireDefault(require(\"./components/time-controls/RemainingTimeDisplay\"));\n\nvar _CurrentTimeDisplay = _interopRequireDefault(require(\"./components/time-controls/CurrentTimeDisplay\"));\n\nvar _DurationDisplay = _interopRequireDefault(require(\"./components/time-controls/DurationDisplay\"));\n\nvar _TimeDivider = _interopRequireDefault(require(\"./components/time-controls/TimeDivider\"));\n\nvar _MenuButton = _interopRequireDefault(require(\"./components/menu/MenuButton\"));\n\nvar playerActions = _interopRequireWildcard(require(\"./actions/player\"));\n\nexports.playerActions = playerActions;\n\nvar videoActions = _interopRequireWildcard(require(\"./actions/video\"));\n\nexports.videoActions = videoActions;\n\nvar _reducers = require(\"./reducers\");","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = _default;\nexports.operationReducer = exports.playerReducer = void 0;\n\nvar _player = _interopRequireDefault(require(\"./player\"));\n\nvar _operation = _interopRequireDefault(require(\"./operation\"));\n\nfunction _default() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments.length > 1 ? arguments[1] : undefined;\n return {\n player: (0, _player[\"default\"])(state.player, action),\n operation: (0, _operation[\"default\"])(state.operation, action)\n };\n}\n\nvar playerReducer = _player[\"default\"];\nexports.playerReducer = playerReducer;\nvar operationReducer = _operation[\"default\"];\nexports.operationReducer = operationReducer;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _Manager = _interopRequireDefault(require(\"../Manager\"));\n\nvar _BigPlayButton = _interopRequireDefault(require(\"./BigPlayButton\"));\n\nvar _LoadingSpinner = _interopRequireDefault(require(\"./LoadingSpinner\"));\n\nvar _PosterImage = _interopRequireDefault(require(\"./PosterImage\"));\n\nvar _Video = _interopRequireDefault(require(\"./Video\"));\n\nvar _Bezel = _interopRequireDefault(require(\"./Bezel\"));\n\nvar _Shortcut = _interopRequireDefault(require(\"./Shortcut\"));\n\nvar _ControlBar = _interopRequireDefault(require(\"./control-bar/ControlBar\"));\n\nvar browser = _interopRequireWildcard(require(\"../utils/browser\"));\n\nvar _dom = require(\"../utils/dom\");\n\nvar _utils = require(\"../utils\");\n\nvar _fullscreen = _interopRequireDefault(require(\"../utils/fullscreen\"));\n\nvar propTypes = {\n children: _propTypes[\"default\"].any,\n width: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].number]),\n height: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].number]),\n fluid: _propTypes[\"default\"].bool,\n muted: _propTypes[\"default\"].bool,\n playsInline: _propTypes[\"default\"].bool,\n aspectRatio: _propTypes[\"default\"].string,\n className: _propTypes[\"default\"].string,\n videoId: _propTypes[\"default\"].string,\n startTime: _propTypes[\"default\"].number,\n loop: _propTypes[\"default\"].bool,\n autoPlay: _propTypes[\"default\"].bool,\n src: _propTypes[\"default\"].string,\n poster: _propTypes[\"default\"].string,\n preload: _propTypes[\"default\"].oneOf(['auto', 'metadata', 'none']),\n onLoadStart: _propTypes[\"default\"].func,\n onWaiting: _propTypes[\"default\"].func,\n onCanPlay: _propTypes[\"default\"].func,\n onCanPlayThrough: _propTypes[\"default\"].func,\n onPlaying: _propTypes[\"default\"].func,\n onEnded: _propTypes[\"default\"].func,\n onSeeking: _propTypes[\"default\"].func,\n onSeeked: _propTypes[\"default\"].func,\n onPlay: _propTypes[\"default\"].func,\n onPause: _propTypes[\"default\"].func,\n onProgress: _propTypes[\"default\"].func,\n onDurationChange: _propTypes[\"default\"].func,\n onError: _propTypes[\"default\"].func,\n onSuspend: _propTypes[\"default\"].func,\n onAbort: _propTypes[\"default\"].func,\n onEmptied: _propTypes[\"default\"].func,\n onStalled: _propTypes[\"default\"].func,\n onLoadedMetadata: _propTypes[\"default\"].func,\n onLoadedData: _propTypes[\"default\"].func,\n onTimeUpdate: _propTypes[\"default\"].func,\n onRateChange: _propTypes[\"default\"].func,\n onVolumeChange: _propTypes[\"default\"].func,\n store: _propTypes[\"default\"].object\n};\nvar defaultProps = {\n fluid: true,\n muted: false,\n playsInline: false,\n preload: 'auto',\n aspectRatio: 'auto'\n};\n\nvar Player = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(Player, _Component);\n\n function Player(props) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Player);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(Player).call(this, props));\n _this.controlsHideTimer = null;\n _this.video = null; // the Video component\n\n _this.manager = new _Manager[\"default\"](props.store);\n _this.actions = _this.manager.getActions();\n\n _this.manager.subscribeToPlayerStateChange(_this.handleStateChange.bind((0, _assertThisInitialized2[\"default\"])(_this)));\n\n _this.getStyle = _this.getStyle.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleResize = _this.handleResize.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.getChildren = _this.getChildren.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleMouseMove = (0, _utils.throttle)(_this.handleMouseMove.bind((0, _assertThisInitialized2[\"default\"])(_this)), 250);\n _this.handleMouseDown = _this.handleMouseDown.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.startControlsTimer = _this.startControlsTimer.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleFullScreenChange = _this.handleFullScreenChange.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleKeyDown = _this.handleKeyDown.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleFocus = _this.handleFocus.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleBlur = _this.handleBlur.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Player, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.handleResize();\n window.addEventListener('resize', this.handleResize);\n\n _fullscreen[\"default\"].addEventListener(this.handleFullScreenChange);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n // Remove event listener\n window.removeEventListener('resize', this.handleResize);\n\n _fullscreen[\"default\"].removeEventListener(this.handleFullScreenChange);\n\n if (this.controlsHideTimer) {\n window.clearTimeout(this.controlsHideTimer);\n }\n }\n }, {\n key: \"getDefaultChildren\",\n value: function getDefaultChildren(originalChildren) {\n var _this2 = this;\n\n return [_react[\"default\"].createElement(_Video[\"default\"], {\n ref: function ref(c) {\n _this2.video = c;\n _this2.manager.video = _this2.video;\n },\n key: \"video\",\n order: 0.0\n }, originalChildren), _react[\"default\"].createElement(_PosterImage[\"default\"], {\n key: \"poster-image\",\n order: 1.0\n }), _react[\"default\"].createElement(_LoadingSpinner[\"default\"], {\n key: \"loading-spinner\",\n order: 2.0\n }), _react[\"default\"].createElement(_Bezel[\"default\"], {\n key: \"bezel\",\n order: 3.0\n }), _react[\"default\"].createElement(_BigPlayButton[\"default\"], {\n key: \"big-play-button\",\n order: 4.0\n }), _react[\"default\"].createElement(_ControlBar[\"default\"], {\n key: \"control-bar\",\n order: 5.0\n }), _react[\"default\"].createElement(_Shortcut[\"default\"], {\n key: \"shortcut\",\n order: 99.0\n })];\n }\n }, {\n key: \"getChildren\",\n value: function getChildren(props) {\n var _ = props.className,\n originalChildren = props.children,\n propsWithoutChildren = (0, _objectWithoutProperties2[\"default\"])(props, [\"className\", \"children\"]);\n\n var children = _react[\"default\"].Children.toArray(this.props.children).filter(function (e) {\n return !(0, _utils.isVideoChild)(e);\n });\n\n var defaultChildren = this.getDefaultChildren(originalChildren);\n return (0, _utils.mergeAndSortChildren)(defaultChildren, children, propsWithoutChildren);\n }\n }, {\n key: \"setWidthOrHeight\",\n value: function setWidthOrHeight(style, name, value) {\n var styleVal;\n\n if (typeof value === 'string') {\n if (value === 'auto') {\n styleVal = 'auto';\n } else if (value.match(/\\d+%/)) {\n styleVal = value;\n }\n } else if (typeof value === 'number') {\n styleVal = \"\".concat(value, \"px\");\n }\n\n Object.assign(style, (0, _defineProperty2[\"default\"])({}, name, styleVal));\n }\n }, {\n key: \"getStyle\",\n value: function getStyle() {\n var _this$props = this.props,\n fluid = _this$props.fluid,\n propsAspectRatio = _this$props.aspectRatio,\n propsHeight = _this$props.height,\n propsWidth = _this$props.width;\n\n var _this$manager$getStat = this.manager.getState(),\n player = _this$manager$getStat.player;\n\n var style = {};\n var width;\n var height;\n var aspectRatio; // The aspect ratio is either used directly or to calculate width and height.\n\n if (propsAspectRatio !== undefined && propsAspectRatio !== 'auto') {\n // Use any aspectRatio that's been specifically set\n aspectRatio = propsAspectRatio;\n } else if (player.videoWidth) {\n // Otherwise try to get the aspect ratio from the video metadata\n aspectRatio = \"\".concat(player.videoWidth, \":\").concat(player.videoHeight);\n } else {\n // Or use a default. The video element's is 2:1, but 16:9 is more common.\n aspectRatio = '16:9';\n } // Get the ratio as a decimal we can use to calculate dimensions\n\n\n var ratioParts = aspectRatio.split(':');\n var ratioMultiplier = ratioParts[1] / ratioParts[0];\n\n if (propsWidth !== undefined) {\n // Use any width that's been specifically set\n width = propsWidth;\n } else if (propsHeight !== undefined) {\n // Or calulate the width from the aspect ratio if a height has been set\n width = propsHeight / ratioMultiplier;\n } else {\n // Or use the video's metadata, or use the video el's default of 300\n width = player.videoWidth || 400;\n }\n\n if (propsHeight !== undefined) {\n // Use any height that's been specifically set\n height = propsHeight;\n } else {\n // Otherwise calculate the height from the ratio and the width\n height = width * ratioMultiplier;\n }\n\n if (fluid) {\n style.paddingTop = \"\".concat(ratioMultiplier * 100, \"%\");\n } else {\n // If Width contains \"auto\", set \"auto\" in style\n this.setWidthOrHeight(style, 'width', width);\n this.setWidthOrHeight(style, 'height', height);\n }\n\n return style;\n } // get redux state\n // { player, operation }\n\n }, {\n key: \"getState\",\n value: function getState() {\n return this.manager.getState();\n } // get playback rate\n\n }, {\n key: \"play\",\n // play the video\n value: function play() {\n this.video.play();\n } // pause the video\n\n }, {\n key: \"pause\",\n value: function pause() {\n this.video.pause();\n } // Change the video source and re-load the video:\n\n }, {\n key: \"load\",\n value: function load() {\n this.video.load();\n } // Add a new text track to the video\n\n }, {\n key: \"addTextTrack\",\n value: function addTextTrack() {\n var _this$video;\n\n (_this$video = this.video).addTextTrack.apply(_this$video, arguments);\n } // Check if your browser can play different types of video:\n\n }, {\n key: \"canPlayType\",\n value: function canPlayType() {\n var _this$video2;\n\n (_this$video2 = this.video).canPlayType.apply(_this$video2, arguments);\n } // seek video by time\n\n }, {\n key: \"seek\",\n value: function seek(time) {\n this.video.seek(time);\n } // jump forward x seconds\n\n }, {\n key: \"forward\",\n value: function forward(seconds) {\n this.video.forward(seconds);\n } // jump back x seconds\n\n }, {\n key: \"replay\",\n value: function replay(seconds) {\n this.video.replay(seconds);\n } // enter or exist full screen\n\n }, {\n key: \"toggleFullscreen\",\n value: function toggleFullscreen() {\n this.video.toggleFullscreen();\n } // subscribe to player state change\n\n }, {\n key: \"subscribeToStateChange\",\n value: function subscribeToStateChange(listener) {\n return this.manager.subscribeToPlayerStateChange(listener);\n } // player resize\n\n }, {\n key: \"handleResize\",\n value: function handleResize() {}\n }, {\n key: \"handleFullScreenChange\",\n value: function handleFullScreenChange(event) {\n if (event.target === this.manager.rootElement) {\n this.actions.handleFullscreenChange(_fullscreen[\"default\"].isFullscreen);\n }\n }\n }, {\n key: \"handleMouseDown\",\n value: function handleMouseDown() {\n this.startControlsTimer();\n }\n }, {\n key: \"handleMouseMove\",\n value: function handleMouseMove() {\n this.startControlsTimer();\n }\n }, {\n key: \"handleKeyDown\",\n value: function handleKeyDown() {\n this.startControlsTimer();\n }\n }, {\n key: \"startControlsTimer\",\n value: function startControlsTimer() {\n var _this3 = this;\n\n var controlBarActiveTime = 3000;\n\n _react[\"default\"].Children.forEach(this.props.children, function (element) {\n if (!_react[\"default\"].isValidElement(element) || element.type !== _ControlBar[\"default\"]) {\n return;\n }\n\n var autoHideTime = element.props.autoHideTime;\n\n if (typeof autoHideTime === 'number') {\n controlBarActiveTime = autoHideTime;\n }\n });\n\n this.actions.userActivate(true);\n clearTimeout(this.controlsHideTimer);\n this.controlsHideTimer = setTimeout(function () {\n _this3.actions.userActivate(false);\n }, controlBarActiveTime);\n }\n }, {\n key: \"handleStateChange\",\n value: function handleStateChange(state, prevState) {\n if (state.isFullscreen !== prevState.isFullscreen) {\n this.handleResize(); // focus root when switching fullscreen mode to avoid confusion #276\n\n (0, _dom.focusNode)(this.manager.rootElement);\n }\n\n this.forceUpdate(); // re-render\n }\n }, {\n key: \"handleFocus\",\n value: function handleFocus() {\n this.actions.activate(true);\n }\n }, {\n key: \"handleBlur\",\n value: function handleBlur() {\n this.actions.activate(false);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this4 = this;\n\n var fluid = this.props.fluid;\n\n var _this$manager$getStat2 = this.manager.getState(),\n player = _this$manager$getStat2.player;\n\n var paused = player.paused,\n hasStarted = player.hasStarted,\n waiting = player.waiting,\n seeking = player.seeking,\n isFullscreen = player.isFullscreen,\n userActivity = player.userActivity;\n var props = (0, _objectSpread2[\"default\"])({}, this.props, {\n player: player,\n actions: this.actions,\n manager: this.manager,\n store: this.manager.store,\n video: this.video ? this.video.video : null\n });\n var children = this.getChildren(props);\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])({\n 'video-react-controls-enabled': true,\n 'video-react-has-started': hasStarted,\n 'video-react-paused': paused,\n 'video-react-playing': !paused,\n 'video-react-waiting': waiting,\n 'video-react-seeking': seeking,\n 'video-react-fluid': fluid,\n 'video-react-fullscreen': isFullscreen,\n 'video-react-user-inactive': !userActivity,\n 'video-react-user-active': userActivity,\n 'video-react-workinghover': !browser.IS_IOS\n }, 'video-react', this.props.className),\n style: this.getStyle(),\n ref: function ref(c) {\n _this4.manager.rootElement = c;\n },\n role: \"region\",\n onTouchStart: this.handleMouseDown,\n onMouseDown: this.handleMouseDown,\n onMouseMove: this.handleMouseMove,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n tabIndex: \"-1\"\n }, children);\n }\n }, {\n key: \"playbackRate\",\n get: function get() {\n return this.video.playbackRate;\n } // set playback rate\n // speed of video\n ,\n set: function set(rate) {\n this.video.playbackRate = rate;\n }\n }, {\n key: \"muted\",\n get: function get() {\n return this.video.muted;\n },\n set: function set(val) {\n this.video.muted = val;\n }\n }, {\n key: \"volume\",\n get: function get() {\n return this.video.volume;\n },\n set: function set(val) {\n this.video.volume = val;\n } // video width\n\n }, {\n key: \"videoWidth\",\n get: function get() {\n return this.video.videoWidth;\n } // video height\n\n }, {\n key: \"videoHeight\",\n get: function get() {\n return this.video.videoHeight;\n }\n }]);\n return Player;\n}(_react.Component);\n\nexports[\"default\"] = Player;\nPlayer.contextTypes = {\n store: _propTypes[\"default\"].object\n};\nPlayer.propTypes = propTypes;\nPlayer.defaultProps = defaultProps;\nPlayer.displayName = 'Player';","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n actions: _propTypes[\"default\"].object,\n player: _propTypes[\"default\"].object,\n position: _propTypes[\"default\"].string,\n className: _propTypes[\"default\"].string\n};\nvar defaultProps = {\n position: 'left'\n};\n\nvar BigPlayButton = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(BigPlayButton, _Component);\n\n function BigPlayButton(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, BigPlayButton);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(BigPlayButton).call(this, props, context));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(BigPlayButton, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {}\n }, {\n key: \"handleClick\",\n value: function handleClick() {\n var actions = this.props.actions;\n actions.play();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n player = _this$props.player,\n position = _this$props.position;\n return _react[\"default\"].createElement(\"button\", {\n className: (0, _classnames[\"default\"])('video-react-big-play-button', \"video-react-big-play-button-\".concat(position), this.props.className, {\n 'big-play-button-hide': player.hasStarted || !player.currentSrc\n }),\n type: \"button\",\n \"aria-live\": \"polite\",\n tabIndex: \"0\",\n onClick: this.handleClick\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, \"Play Video\"));\n }\n }]);\n return BigPlayButton;\n}(_react.Component);\n\nexports[\"default\"] = BigPlayButton;\nBigPlayButton.propTypes = propTypes;\nBigPlayButton.defaultProps = defaultProps;\nBigPlayButton.displayName = 'BigPlayButton';","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _PlaybackRateMenuButton = _interopRequireDefault(require(\"./PlaybackRateMenuButton\"));\n\nvar _utils = require(\"../../utils\");\n\nvar PlaybackRate = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(PlaybackRate, _Component);\n\n function PlaybackRate(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, PlaybackRate);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(PlaybackRate).call(this, props, context));\n (0, _utils.deprecatedWarning)('PlaybackRate', 'PlaybackRateMenuButton');\n return _this;\n }\n\n (0, _createClass2[\"default\"])(PlaybackRate, [{\n key: \"render\",\n value: function render() {\n return _react[\"default\"].createElement(_PlaybackRateMenuButton[\"default\"], this.props);\n }\n }]);\n return PlaybackRate;\n}(_react.Component);\n\nexports[\"default\"] = PlaybackRate;\nPlaybackRate.displayName = 'PlaybackRate';","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.handleFullscreenChange = handleFullscreenChange;\nexports.activate = activate;\nexports.userActivate = userActivate;\nexports.play = play;\nexports.pause = pause;\nexports.togglePlay = togglePlay;\nexports.seek = seek;\nexports.forward = forward;\nexports.replay = replay;\nexports.changeRate = changeRate;\nexports.changeVolume = changeVolume;\nexports.mute = mute;\nexports.toggleFullscreen = toggleFullscreen;\nexports.USER_ACTIVATE = exports.PLAYER_ACTIVATE = exports.FULLSCREEN_CHANGE = exports.OPERATE = void 0;\n\nvar _fullscreen = _interopRequireDefault(require(\"../utils/fullscreen\"));\n\nvar OPERATE = 'video-react/OPERATE';\nexports.OPERATE = OPERATE;\nvar FULLSCREEN_CHANGE = 'video-react/FULLSCREEN_CHANGE';\nexports.FULLSCREEN_CHANGE = FULLSCREEN_CHANGE;\nvar PLAYER_ACTIVATE = 'video-react/PLAYER_ACTIVATE';\nexports.PLAYER_ACTIVATE = PLAYER_ACTIVATE;\nvar USER_ACTIVATE = 'video-react/USER_ACTIVATE';\nexports.USER_ACTIVATE = USER_ACTIVATE;\n\nfunction handleFullscreenChange(isFullscreen) {\n return {\n type: FULLSCREEN_CHANGE,\n isFullscreen: isFullscreen\n };\n}\n\nfunction activate(activity) {\n return {\n type: PLAYER_ACTIVATE,\n activity: activity\n };\n}\n\nfunction userActivate(activity) {\n return {\n type: USER_ACTIVATE,\n activity: activity\n };\n}\n\nfunction play() {\n var operation = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n action: 'play',\n source: ''\n };\n this.video.play();\n return {\n type: OPERATE,\n operation: operation\n };\n}\n\nfunction pause() {\n var operation = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n action: 'pause',\n source: ''\n };\n this.video.pause();\n return {\n type: OPERATE,\n operation: operation\n };\n}\n\nfunction togglePlay() {\n var operation = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n action: 'toggle-play',\n source: ''\n };\n this.video.togglePlay();\n return {\n type: OPERATE,\n operation: operation\n };\n} // seek video by time\n\n\nfunction seek(time) {\n var operation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n action: 'seek',\n source: ''\n };\n this.video.seek(time);\n return {\n type: OPERATE,\n operation: operation\n };\n} // jump forward x seconds\n\n\nfunction forward(seconds) {\n var operation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n action: \"forward-\".concat(seconds),\n source: ''\n };\n this.video.forward(seconds);\n return {\n type: OPERATE,\n operation: operation\n };\n} // jump back x seconds\n\n\nfunction replay(seconds) {\n var operation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n action: \"replay-\".concat(seconds),\n source: ''\n };\n this.video.replay(seconds);\n return {\n type: OPERATE,\n operation: operation\n };\n}\n\nfunction changeRate(rate) {\n var operation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n action: 'change-rate',\n source: ''\n };\n this.video.playbackRate = rate;\n return {\n type: OPERATE,\n operation: operation\n };\n}\n\nfunction changeVolume(volume) {\n var operation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n action: 'change-volume',\n source: ''\n };\n var v = volume;\n\n if (volume < 0) {\n v = 0;\n }\n\n if (volume > 1) {\n v = 1;\n }\n\n this.video.volume = v;\n return {\n type: OPERATE,\n operation: operation\n };\n}\n\nfunction mute(muted) {\n var operation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n action: muted ? 'muted' : 'unmuted',\n source: ''\n };\n this.video.muted = muted;\n return {\n type: OPERATE,\n operation: operation\n };\n}\n\nfunction toggleFullscreen(player) {\n if (_fullscreen[\"default\"].enabled) {\n if (_fullscreen[\"default\"].isFullscreen) {\n _fullscreen[\"default\"].exit();\n } else {\n _fullscreen[\"default\"].request(this.rootElement);\n }\n\n return {\n type: OPERATE,\n operation: {\n action: 'toggle-fullscreen',\n source: ''\n }\n };\n }\n\n return {\n type: FULLSCREEN_CHANGE,\n isFullscreen: !player.isFullscreen\n };\n}","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _Slider = _interopRequireDefault(require(\"../Slider\"));\n\nvar _PlayProgressBar = _interopRequireDefault(require(\"./PlayProgressBar\"));\n\nvar _LoadProgressBar = _interopRequireDefault(require(\"./LoadProgressBar\"));\n\nvar _MouseTimeDisplay = _interopRequireDefault(require(\"./MouseTimeDisplay\"));\n\nvar _utils = require(\"../../utils\");\n\nvar propTypes = {\n player: _propTypes[\"default\"].object,\n mouseTime: _propTypes[\"default\"].object,\n actions: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\n\nvar SeekBar = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(SeekBar, _Component);\n\n function SeekBar(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, SeekBar);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(SeekBar).call(this, props, context));\n _this.getPercent = _this.getPercent.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.getNewTime = _this.getNewTime.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.stepForward = _this.stepForward.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.stepBack = _this.stepBack.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleMouseDown = _this.handleMouseDown.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleMouseMove = _this.handleMouseMove.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleMouseUp = _this.handleMouseUp.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(SeekBar, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {}\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {}\n /**\n * Get percentage of video played\n *\n * @return {Number} Percentage played\n * @method getPercent\n */\n\n }, {\n key: \"getPercent\",\n value: function getPercent() {\n var _this$props$player = this.props.player,\n currentTime = _this$props$player.currentTime,\n seekingTime = _this$props$player.seekingTime,\n duration = _this$props$player.duration;\n var time = seekingTime || currentTime;\n var percent = time / duration;\n return percent >= 1 ? 1 : percent;\n }\n }, {\n key: \"getNewTime\",\n value: function getNewTime(event) {\n var duration = this.props.player.duration;\n var distance = this.slider.calculateDistance(event);\n var newTime = distance * duration; // Don't let video end while scrubbing.\n\n return newTime === duration ? newTime - 0.1 : newTime;\n }\n }, {\n key: \"handleMouseDown\",\n value: function handleMouseDown() {}\n }, {\n key: \"handleMouseUp\",\n value: function handleMouseUp(event) {\n var actions = this.props.actions;\n var newTime = this.getNewTime(event); // Set new time (tell video to seek to new time)\n\n actions.seek(newTime);\n actions.handleEndSeeking(newTime);\n }\n }, {\n key: \"handleMouseMove\",\n value: function handleMouseMove(event) {\n var actions = this.props.actions;\n var newTime = this.getNewTime(event);\n actions.handleSeekingTime(newTime);\n }\n }, {\n key: \"stepForward\",\n value: function stepForward() {\n var actions = this.props.actions;\n actions.forward(5);\n }\n }, {\n key: \"stepBack\",\n value: function stepBack() {\n var actions = this.props.actions;\n actions.replay(5);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n _this$props$player2 = _this$props.player,\n currentTime = _this$props$player2.currentTime,\n seekingTime = _this$props$player2.seekingTime,\n duration = _this$props$player2.duration,\n buffered = _this$props$player2.buffered,\n mouseTime = _this$props.mouseTime;\n var time = seekingTime || currentTime;\n return _react[\"default\"].createElement(_Slider[\"default\"], {\n ref: function ref(input) {\n _this2.slider = input;\n },\n label: \"video progress bar\",\n className: (0, _classnames[\"default\"])('video-react-progress-holder', this.props.className),\n valuenow: (this.getPercent() * 100).toFixed(2),\n valuetext: (0, _utils.formatTime)(time, duration),\n onMouseDown: this.handleMouseDown,\n onMouseMove: this.handleMouseMove,\n onMouseUp: this.handleMouseUp,\n getPercent: this.getPercent,\n stepForward: this.stepForward,\n stepBack: this.stepBack\n }, _react[\"default\"].createElement(_LoadProgressBar[\"default\"], {\n buffered: buffered,\n currentTime: time,\n duration: duration\n }), _react[\"default\"].createElement(_MouseTimeDisplay[\"default\"], {\n duration: duration,\n mouseTime: mouseTime\n }), _react[\"default\"].createElement(_PlayProgressBar[\"default\"], {\n currentTime: time,\n duration: duration\n }));\n }\n }]);\n return SeekBar;\n}(_react.Component);\n\nexports[\"default\"] = SeekBar;\nSeekBar.propTypes = propTypes;\nSeekBar.displayName = 'SeekBar';","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n manager: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\n\nvar Bezel = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(Bezel, _Component);\n\n function Bezel(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Bezel);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(Bezel).call(this, props, context));\n _this.timer = null;\n props.manager.subscribeToOperationStateChange(_this.handleStateChange.bind((0, _assertThisInitialized2[\"default\"])(_this)));\n _this.state = {\n hidden: true,\n operation: {}\n };\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Bezel, [{\n key: \"handleStateChange\",\n value: function handleStateChange(state, prevState) {\n var _this2 = this;\n\n if (state.count !== prevState.count && state.operation.source === 'shortcut') {\n if (this.timer) {\n // previous animation is not finished\n clearTimeout(this.timer); // cancel it\n\n this.timer = null;\n } // show it\n // update operation\n\n\n this.setState({\n hidden: false,\n count: state.count,\n operation: state.operation\n }); // hide it after 0.5s\n\n this.timer = setTimeout(function () {\n _this2.setState({\n hidden: true\n });\n\n _this2.timer = null;\n }, 500);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n // only displays for shortcut so far\n if (this.state.operation.source !== 'shortcut') {\n return null;\n }\n\n var style = this.state.hidden ? {\n display: 'none'\n } : null;\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])({\n 'video-react-bezel': true,\n 'video-react-bezel-animation': this.state.count % 2 === 0,\n 'video-react-bezel-animation-alt': this.state.count % 2 === 1\n }, this.props.className),\n style: style,\n role: \"status\",\n \"aria-label\": this.state.operation.action\n }, _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])('video-react-bezel-icon', \"video-react-bezel-icon-\".concat(this.state.operation.action))\n }));\n }\n }]);\n return Bezel;\n}(_react.Component);\n\nexports[\"default\"] = Bezel;\nBezel.propTypes = propTypes;\nBezel.displayName = 'Bezel';","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _reactDom = require(\"react-dom\");\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar Dom = _interopRequireWildcard(require(\"../../utils/dom\"));\n\nvar _SeekBar = _interopRequireDefault(require(\"./SeekBar\"));\n\nvar propTypes = {\n player: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\n\nvar ProgressControl = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(ProgressControl, _Component);\n\n function ProgressControl(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, ProgressControl);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(ProgressControl).call(this, props, context));\n _this.state = {\n mouseTime: {\n time: null,\n position: 0\n }\n };\n _this.handleMouseMoveThrottle = _this.handleMouseMove.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(ProgressControl, [{\n key: \"handleMouseMove\",\n value: function handleMouseMove(event) {\n if (!event.pageX) {\n return;\n }\n\n var duration = this.props.player.duration;\n var node = (0, _reactDom.findDOMNode)(this.seekBar);\n var newTime = Dom.getPointerPosition(node, event).x * duration;\n var position = event.pageX - Dom.findElPosition(node).left;\n this.setState({\n mouseTime: {\n time: newTime,\n position: position\n }\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var className = this.props.className;\n return _react[\"default\"].createElement(\"div\", {\n onMouseMove: this.handleMouseMoveThrottle,\n className: (0, _classnames[\"default\"])('video-react-progress-control video-react-control', className)\n }, _react[\"default\"].createElement(_SeekBar[\"default\"], (0, _extends2[\"default\"])({\n mouseTime: this.state.mouseTime,\n ref: function ref(c) {\n _this2.seekBar = c;\n }\n }, this.props)));\n }\n }]);\n return ProgressControl;\n}(_react.Component);\n\nexports[\"default\"] = ProgressControl;\nProgressControl.propTypes = propTypes;\nProgressControl.displayName = 'ProgressControl';"],"sourceRoot":""}