{"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/@babel/runtime/helpers/inherits.js","webpack:///./node_modules/video-react/lib/components/control-bar/ForwardReplayControl.js","webpack:///./node_modules/redux/es/redux.js","webpack:///./node_modules/video-react/lib/components/control-bar/VolumeMenuButton.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.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/@babel/runtime/helpers/iterableToArray.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/react-cookie-consent/build/index.js","webpack:///./node_modules/video-react/lib/actions/video.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/video-react/lib/components/Shortcut.js","webpack:///./node_modules/@babel/runtime/helpers/objectSpread.js","webpack:///./node_modules/video-react/lib/components/time-controls/RemainingTimeDisplay.js","webpack:///./node_modules/@babel/runtime/helpers/getPrototypeOf.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/@babel/runtime/helpers/toConsumableArray.js","webpack:///./src/components/common/sectionvideo.js","webpack:///./src/components/common/portfoliosection.js","webpack:///./src/components/common/port.js","webpack:///./src/components/common/powerfulsection.js","webpack:///./src/components/common/crossplatform.js","webpack:///./src/components/common/layout.js","webpack:///./src/pages/index.js","webpack:///./node_modules/symbol-observable/es/ponyfill.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/@babel/runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/symbol-observable/es/index.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/video-react/lib/components/ClickableComponent.js","webpack:///./node_modules/video-react/lib/components/menu/Menu.js","webpack:///./node_modules/video-react/lib/components/control-bar/PlayProgressBar.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/@material-ui/icons/ArrowForwardOutlined.js","webpack:///./node_modules/video-react/lib/utils/index.js","webpack:///./node_modules/video-react/lib/components/PosterImage.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/video-react/lib/components/control-bar/ClosedCaptionButton.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","ACTIVATE_TEXT_TRACK","activeTextTrack","textTrack","currentSrc","duration","currentTime","buffered","playbackRate","muted","volume","readyState","networkState","videoWidth","videoHeight","setPrototypeOf","module","subClass","superClass","TypeError","prototype","create","constructor","writable","configurable","seconds","oneOf","defaultProps","mode","ForwardReplayControl","forward","replay","classNames","push","concat","join","randomString","Math","random","toString","substring","split","ActionTypes","INIT","REPLACE","PROBE_UNKNOWN_ACTION","isPlainObject","obj","proto","getPrototypeOf","createStore","reducer","preloadedState","enhancer","_ref2","Error","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","slice","getState","subscribe","listener","isSubscribed","index","indexOf","splice","dispatch","listeners","i","replaceReducer","nextReducer","observable","_ref","outerSubscribe","observer","observeState","next","unsubscribe","getUndefinedStateErrorMessage","actionType","String","combineReducers","reducers","reducerKeys","keys","finalReducers","shapeAssertionError","finalReducerKeys","forEach","assertReducerShape","e","hasChanged","nextState","_i","_key","previousStateForKey","nextStateForKey","errorMessage","bindActionCreator","actionCreator","apply","bindActionCreators","actionCreators","boundActionCreators","_defineProperty","enumerable","ownKeys","enumerableOnly","getOwnPropertySymbols","filter","sym","getOwnPropertyDescriptor","target","getOwnPropertyDescriptors","defineProperties","compose","_len","funcs","Array","arg","reduce","a","b","applyMiddleware","middlewares","store","_dispatch","middlewareAPI","chain","map","middleware","_extends2","_PopupButton","_VolumeBar","vertical","bool","alwaysShowVolume","VolumeMenuButton","active","handleFocus","handleBlur","mute","setState","inline","level","volumeLevel","onFocus","onBlur","get","_this$props$player","_MenuButton","rates","array","PlaybackRateMenuButton","handleSelectItem","changeRate","items","rate","label","selectedIndex","onSelectItem","toFixed","item","number","activateIndex","func","MenuItem","role","findElPosition","el","box","getBoundingClientRect","parentNode","left","top","_document","document","body","docEl","documentElement","clientLeft","scrollLeft","window","pageXOffset","clientTop","scrollTop","pageYOffset","round","getPointerPosition","position","boxW","offsetWidth","boxH","offsetHeight","boxY","boxX","evtPageY","pageY","evtPageX","pageX","changedTouches","y","max","min","x","blurNode","reactNode","blur","focusNode","focus","hasClass","elm","cls","classes","toLowerCase","iter","Symbol","iterator","from","_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","handleTextTrackChange","forceUpdate","textTracks","onaddtrack","onremovetrack","mediaProperties","properties","find","activateTextTrack","promise","then","load","_this$video","addTextTrack","_this$video2","canPlayType","_this$props3","_this$props4","_this$props5","_this$props6","_this$props7","_this$props8","_this$props9","_this$props10","handleProgressChange","_this$props11","handleEnd","_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","_this$props25","handleResize","_this3","Children","toArray","isVideoChild","cprops","preOnError","cloneElement","_this4","_this$props26","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","formattedTime","formatTime","MouseTimeDisplay","mouseTime","text","style","CurrentTimeDisplay","_ref$player","self","808","t","n","o","r","replace","decodeURIComponent","path","defaults","expires","Date","toUTCString","JSON","stringify","test","write","encodeURIComponent","escape","l","s","cookie","charAt","read","parse","getJSON","remove","withConverter","703","resetWarningCache","name","isRequired","symbol","arrayOf","element","elementType","instanceOf","node","objectOf","oneOfType","shape","exact","checkPropTypes","PropTypes","697","414","__esModule","default","d","hasOwnProperty","toStringTag","Cookies","OPTIONS","h","SAME_SITE_OPTIONS","C","VISIBLE_OPTIONS","g","P","getCookieConsentValue","S","resetCookieConsentValue","k","u","assign","p","f","m","__proto__","v","ReferenceError","O","TOP","BOTTOM","NONE","STRICT","LAX","HIDDEN","SHOW","BY_COOKIE_VALUE","j","B","condition","wrapper","w","Reflect","construct","sham","Proxy","Boolean","valueOf","acceptOnScrollPercentage","clientHeight","accept","acceptOnScroll","removeEventListener","handleScroll","visible","alignItems","background","color","display","flexWrap","justifyContent","width","zIndex","buttonStyle","border","borderRadius","boxShadow","cursor","flex","padding","margin","declineButtonStyle","contentStyle","overlayStyle","height","backgroundColor","debug","getCookieValue","addEventListener","passive","removeScrollListener","cookieName","cookieValue","hideOnAccept","onAccept","setCookie","acceptOnOverlayClick","onOverlayClick","declineCookieValue","hideOnDecline","onDecline","setDeclineCookie","extraCookieOptions","sameSite","cookieSecurity","location","protocol","secure","disableStyles","buttonText","declineButtonText","containerClasses","contentClasses","buttonClasses","buttonWrapperClasses","declineButtonClasses","buttonId","declineButtonId","disableButtonStyles","enableDeclineButton","flipButtons","ButtonComponent","overlay","overlayClasses","T","E","ariaAcceptLabel","D","ariaDeclineLabel","I","customContainerAttributes","_","customContentAttributes","A","customButtonProps","N","customDeclineButtonProps","R","L","V","U","W","bottom","M","decline","reverse","overlayClick","propertyIsEnumerable","handleSeekingTime","handleEndSeeking","arrayLikeToArray","arr","isArray","_defineProperty2","_toConsumableArray2","_dom","clickable","dblclickable","manager","shortcuts","Shortcut","defaultShortcuts","keyCode","handle","togglePlay","changeVolume","shift","mergeShortcuts","handleKeyPress","handleDoubleClick","prevProps","getShortcutKey","_ref$keyCode","_ref$ctrl","ctrl","_ref$shift","_ref$alt","alt","shortcut","mergedShortcuts","gradeShortcut","score","sort","activeElement","which","ctrlKey","metaKey","shiftKey","altKey","nodeName","canBeClicked","RemainingTimeDisplay","remainingTime","_getPrototypeOf","PopupButton","_ClickableComponent","_Popup","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","Sectionvideo","React","useContext","I18nextContext","lang","language","to","Portfoliosection","showContent","useTranslation","tabid","getElementById","childElems","childNodes","childtabElem","classList","contains","add","Helmet","aria-orientation","data-mdb-toggle","aria-controls","aria-selected","aria-labelledby","localStorage","setItem","Photo","classn","Port","useState","setid","checkingId","setcheckingId","class","powerfulsection","tileArray","initArray","get_index_of_string","my_array","mystring","subarray","results","found","arrayIndex","arrayIndex1","search","toggleTile","currentTarget","expanded","findPositionOfExpanded","row","arrayContainerID","arrContainerIDs","item1","containerName","above","below","moving1","moving2","moving1InnerHTML","innerHTML","moving2InnerHTML","free1","freeSpace","freeSpaceName1","target1","free2","freeSpaceName2","target2","arrTile","render","_currentValue","contextType","withTranslation","Crossplatform","Layout","title","fontSize","Index","canoncalUrl","process","GATSBY_LANDING_PAGE_URL","hrefUrl","dangerouslySetInnerHTML","__html","charSet","content","rel","href","hreflang","removeItem","textDecoration","symbolObservablePonyfill","root","result","_Menu","_MenuItem","MenuButton","commitSelection","activateMenuItem","renderMenu","handleUpArrow","handleDownArrow","handleEscape","handleReturn","handleTab","handleIndexChange","prevState","newIndex","menuButton","ReplayControl","LoadingSpinner","_typeof","assertThisInitialized","global","_redux","_reducers","playerActions","videoActions","Manager","rootElement","boundActions","prevStateCopy","subscribeToStateChange","VolumeLevel","Dom","onMouseDown","onMouseUp","Slider","handleMouseDown","handleMouseUp","getProgress","progress","Infinity","child","onTouchStart","tagName","ClickableComponent","Tag","Menu","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","gm","gh","isNaN","_children","_parentProps","defaultOrder","disabled","component","isTypeEqual","defaultComponent","deprecatedWarning","oldMethodCall","newMethodCall","console","warn","callback","limit","_arguments","wait","setTimeout","Number","elements","component1","component2","type1","type2","PosterImage","backgroundImage","_Player","_Video","_BigPlayButton","_LoadingSpinner","_PosterImage","_Bezel","_Shortcut","_ControlBar","_SeekBar","_PlayProgressBar","_LoadProgressBar","_MouseTimeDisplay","_PlaybackRate","_ClosedCaptionButton","playerReducer","operationReducer","_operation","_Manager","browser","_fullscreen","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","onTouchMove","onKeyDown","contextTypes","BigPlayButton","PlaybackRate","enabled","exit","request","SeekBar","getNewTime","newTime","_this$props$player2","input","offMenuText","showOffMenu","kinds","ClosedCaptionButton","getTextTrackItems","updateState","textTrackItems","tracks","includes","kind","findIndex","textTrackItemsAreEqual","items1","items2","_this$state","Bezel","timer","subscribeToOperationStateChange","hidden","ProgressControl","handleMouseMoveThrottle","seekBar"],"mappings":"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","file":"component---src-pages-index-js-24ee3d1b49caed5cf94f.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 activeTextTrack: null\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 case _video.ACTIVATE_TEXT_TRACK:\n return (0, _objectSpread2[\"default\"])({}, state, {\n activeTextTrack: action.textTrack\n });\n\n default:\n return state;\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;","\"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;","import \"core-js/modules/es.array.reduce.js\";\nimport $$observable from 'symbol-observable';\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\n\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\n\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected the listener to be a function.');\n }\n\n if (isDispatching) {\n throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\n\n\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionDescription = actionType && \"action \\\"\" + String(actionType) + \"\\\"\" || 'an action';\n return \"Given \" + actionDescription + \", reducer \\\"\" + key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\";\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle \" + ActionTypes.INIT + \" or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(\"bindActionCreators expected an object or a function, instead received \" + (actionCreators === null ? 'null' : typeof actionCreators) + \". \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n keys.push.apply(keys, Object.getOwnPropertySymbols(object));\n }\n\n if (enumerableOnly) keys = keys.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\n\n\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error('Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread2({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore };","\"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;","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 _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/**\n * Offset Left\n * getBoundingClientRect technique from\n * John Resig http://ejohn.org/blog/getboundingclientrect-is-awesome/\n *\n * @function findElPosition\n * @param {ReactNodeRef} el React Node ref from which to get offset\n * @return {Object}\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 a React Node ref\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 {ReactNodeRef} el React Node ref 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 if (reactNode && reactNode.blur) {\n reactNode.blur();\n }\n} // focus an element\n\n\nfunction focusNode(reactNode) {\n if (reactNode && reactNode.focus) {\n reactNode.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}","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","\"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 _this.handleTextTrackChange = _this.handleTextTrackChange.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\n if (this.video && this.video.textTracks) {\n this.video.textTracks.onaddtrack = this.handleTextTrackChange;\n this.video.textTracks.onremovetrack = this.handleTextTrackChange;\n }\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: \"handleTextTrackChange\",\n value: function handleTextTrackChange() {\n var _this$props = this.props,\n actions = _this$props.actions,\n player = _this$props.player;\n\n if (this.video && this.video.textTracks) {\n var activeTextTrack = Array.from(this.video.textTracks).find(function (textTrack) {\n return textTrack.mode === 'showing';\n });\n\n if (activeTextTrack !== player.activeTextTrack) {\n actions.activateTextTrack(activeTextTrack);\n }\n }\n } // play the video\n\n }, {\n key: \"play\",\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$props2 = this.props,\n player = _this$props2.player,\n actions = _this$props2.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$props3 = this.props,\n actions = _this$props3.actions,\n onLoadStart = _this$props3.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$props4 = this.props,\n actions = _this$props4.actions,\n onCanPlay = _this$props4.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$props5 = this.props,\n actions = _this$props5.actions,\n onCanPlayThrough = _this$props5.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$props6 = this.props,\n actions = _this$props6.actions,\n onPlaying = _this$props6.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$props7 = this.props,\n actions = _this$props7.actions,\n onPlay = _this$props7.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$props8 = this.props,\n actions = _this$props8.actions,\n onPause = _this$props8.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$props9 = this.props,\n actions = _this$props9.actions,\n onDurationChange = _this$props9.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$props10 = this.props,\n actions = _this$props10.actions,\n onProgress = _this$props10.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$props11 = this.props,\n loop = _this$props11.loop,\n player = _this$props11.player,\n actions = _this$props11.actions,\n onEnded = _this$props11.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$props12 = this.props,\n actions = _this$props12.actions,\n onWaiting = _this$props12.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$props13 = this.props,\n actions = _this$props13.actions,\n onSeeking = _this$props13.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$props14 = this.props,\n actions = _this$props14.actions,\n onSeeked = _this$props14.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$props15 = this.props,\n actions = _this$props15.actions,\n onSuspend = _this$props15.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$props16 = this.props,\n actions = _this$props16.actions,\n onAbort = _this$props16.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$props17 = this.props,\n actions = _this$props17.actions,\n onEmptied = _this$props17.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$props18 = this.props,\n actions = _this$props18.actions,\n onStalled = _this$props18.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$props19 = this.props,\n actions = _this$props19.actions,\n onLoadedMetadata = _this$props19.onLoadedMetadata,\n startTime = _this$props19.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$props20 = this.props,\n actions = _this$props20.actions,\n onLoadedData = _this$props20.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$props21 = this.props,\n actions = _this$props21.actions,\n onTimeUpdate = _this$props21.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$props22 = this.props,\n actions = _this$props22.actions,\n onRateChange = _this$props22.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$props23 = this.props,\n actions = _this$props23.actions,\n onVolumeChange = _this$props23.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$props24 = this.props,\n actions = _this$props24.actions,\n onError = _this$props24.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$props25 = this.props,\n actions = _this$props25.actions,\n onResize = _this$props25.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 , , 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 \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$props26 = this.props,\n loop = _this$props26.loop,\n poster = _this$props26.poster,\n preload = _this$props26.preload,\n src = _this$props26.src,\n autoPlay = _this$props26.autoPlay,\n playsInline = _this$props26.playsInline,\n muted = _this$props26.muted,\n crossOrigin = _this$props26.crossOrigin,\n videoId = _this$props26.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;","/*! For license information please see index.js.LICENSE.txt */\n!function (e, t) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define([], t) : \"object\" == typeof exports ? exports.ReactCookieConsent = t() : e.ReactCookieConsent = t();\n}(\"undefined\" != typeof self ? self : this, function () {\n return function () {\n var e = {\n 808: function _(e, t, n) {\n var o, r, i;\n void 0 === (r = \"function\" == typeof (o = i = function i() {\n function e() {\n for (var e = 0, t = {}; e < arguments.length; e++) {\n var n = arguments[e];\n\n for (var o in n) {\n t[o] = n[o];\n }\n }\n\n return t;\n }\n\n function t(e) {\n return e.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n }\n\n return function n(o) {\n function r() {}\n\n function i(t, n, i) {\n if (\"undefined\" != typeof document) {\n \"number\" == typeof (i = e({\n path: \"/\"\n }, r.defaults, i)).expires && (i.expires = new Date(1 * new Date() + 864e5 * i.expires)), i.expires = i.expires ? i.expires.toUTCString() : \"\";\n\n try {\n var c = JSON.stringify(n);\n /^[\\{\\[]/.test(c) && (n = c);\n } catch (e) {}\n\n n = o.write ? o.write(n, t) : encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent), t = encodeURIComponent(String(t)).replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent).replace(/[\\(\\)]/g, escape);\n var l = \"\";\n\n for (var s in i) {\n i[s] && (l += \"; \" + s, !0 !== i[s] && (l += \"=\" + i[s].split(\";\")[0]));\n }\n\n return document.cookie = t + \"=\" + n + l;\n }\n }\n\n function c(e, n) {\n if (\"undefined\" != typeof document) {\n for (var r = {}, i = document.cookie ? document.cookie.split(\"; \") : [], c = 0; c < i.length; c++) {\n var l = i[c].split(\"=\"),\n s = l.slice(1).join(\"=\");\n n || '\"' !== s.charAt(0) || (s = s.slice(1, -1));\n\n try {\n var a = t(l[0]);\n if (s = (o.read || o)(s, a) || t(s), n) try {\n s = JSON.parse(s);\n } catch (e) {}\n if (r[a] = s, e === a) break;\n } catch (e) {}\n }\n\n return e ? r[e] : r;\n }\n }\n\n return r.set = i, r.get = function (e) {\n return c(e, !1);\n }, r.getJSON = function (e) {\n return c(e, !0);\n }, r.remove = function (t, n) {\n i(t, \"\", e(n, {\n expires: -1\n }));\n }, r.defaults = {}, r.withConverter = n, r;\n }(function () {});\n }) ? o.call(t, n, t, e) : o) || (e.exports = r), e.exports = i();\n },\n 703: function _(e, t, n) {\n \"use strict\";\n\n var o = n(414);\n\n function r() {}\n\n function i() {}\n\n i.resetWarningCache = r, e.exports = function () {\n function e(e, t, n, r, i, c) {\n if (c !== o) {\n var l = new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\");\n throw l.name = \"Invariant Violation\", l;\n }\n }\n\n function t() {\n return e;\n }\n\n e.isRequired = e;\n var n = {\n array: e,\n bool: e,\n func: e,\n number: e,\n object: e,\n string: e,\n symbol: e,\n any: e,\n arrayOf: t,\n element: e,\n elementType: e,\n instanceOf: t,\n node: e,\n objectOf: t,\n oneOf: t,\n oneOfType: t,\n shape: t,\n exact: t,\n checkPropTypes: i,\n resetWarningCache: r\n };\n return n.PropTypes = n, n;\n };\n },\n 697: function _(e, t, n) {\n e.exports = n(703)();\n },\n 414: function _(e) {\n \"use strict\";\n\n e.exports = \"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\";\n }\n },\n t = {};\n\n function n(o) {\n var r = t[o];\n if (void 0 !== r) return r.exports;\n var i = t[o] = {\n exports: {}\n };\n return e[o](i, i.exports, n), i.exports;\n }\n\n n.n = function (e) {\n var t = e && e.__esModule ? function () {\n return e.default;\n } : function () {\n return e;\n };\n return n.d(t, {\n a: t\n }), t;\n }, n.d = function (e, t) {\n for (var o in t) {\n n.o(t, o) && !n.o(e, o) && Object.defineProperty(e, o, {\n enumerable: !0,\n get: t[o]\n });\n }\n }, n.o = function (e, t) {\n return Object.prototype.hasOwnProperty.call(e, t);\n }, n.r = function (e) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {\n value: \"Module\"\n }), Object.defineProperty(e, \"__esModule\", {\n value: !0\n });\n };\n var o = {};\n return function () {\n \"use strict\";\n\n n.r(o), n.d(o, {\n Cookies: function Cookies() {\n return l();\n },\n OPTIONS: function OPTIONS() {\n return h;\n },\n SAME_SITE_OPTIONS: function SAME_SITE_OPTIONS() {\n return C;\n },\n VISIBLE_OPTIONS: function VISIBLE_OPTIONS() {\n return g;\n },\n default: function _default() {\n return P;\n },\n getCookieConsentValue: function getCookieConsentValue() {\n return S;\n },\n resetCookieConsentValue: function resetCookieConsentValue() {\n return k;\n }\n });\n\n var e = require(\"react\");\n\n var t = n.n(e),\n r = n(697),\n i = n.n(r),\n c = n(808),\n l = n.n(c);\n\n function s(e) {\n return (s = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (e) {\n return typeof e;\n } : function (e) {\n return e && \"function\" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n })(e);\n }\n\n var a = [\"children\"];\n\n function u() {\n return (u = Object.assign || function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = arguments[t];\n\n for (var o in n) {\n Object.prototype.hasOwnProperty.call(n, o) && (e[o] = n[o]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n }\n\n function p(e, t) {\n var n = Object.keys(e);\n\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n t && (o = o.filter(function (t) {\n return Object.getOwnPropertyDescriptor(e, t).enumerable;\n })), n.push.apply(n, o);\n }\n\n return n;\n }\n\n function f(e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = null != arguments[t] ? arguments[t] : {};\n t % 2 ? p(Object(n), !0).forEach(function (t) {\n m(e, t, n[t]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : p(Object(n)).forEach(function (t) {\n Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));\n });\n }\n\n return e;\n }\n\n function b(e, t) {\n for (var n = 0; n < t.length; n++) {\n var o = t[n];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, o.key, o);\n }\n }\n\n function y(e, t) {\n return (y = Object.setPrototypeOf || function (e, t) {\n return e.__proto__ = t, e;\n })(e, t);\n }\n\n function d(e, t) {\n if (t && (\"object\" === s(t) || \"function\" == typeof t)) return t;\n if (void 0 !== t) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return v(e);\n }\n\n function v(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n }\n\n function O(e) {\n return (O = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) {\n return e.__proto__ || Object.getPrototypeOf(e);\n })(e);\n }\n\n function m(e, t, n) {\n return t in e ? Object.defineProperty(e, t, {\n value: n,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[t] = n, e;\n }\n\n var h = {\n TOP: \"top\",\n BOTTOM: \"bottom\",\n NONE: \"none\"\n },\n C = {\n STRICT: \"strict\",\n LAX: \"lax\",\n NONE: \"none\"\n },\n g = {\n HIDDEN: \"hidden\",\n SHOW: \"show\",\n BY_COOKIE_VALUE: \"byCookieValue\"\n },\n S = function S() {\n var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : j,\n t = l().get(e);\n return void 0 === t ? l().get(x(e)) : t;\n },\n k = function k() {\n var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : j;\n l().remove(e);\n },\n x = function x(e) {\n return \"\".concat(e, \"-legacy\");\n },\n j = \"CookieConsent\",\n B = function B(e) {\n var t = e.condition,\n n = e.wrapper,\n o = e.children;\n return t ? n(o) : o;\n },\n w = function (e) {\n !function (e, t) {\n if (\"function\" != typeof t && null !== t) throw new TypeError(\"Super expression must either be null or a function\");\n e.prototype = Object.create(t && t.prototype, {\n constructor: {\n value: e,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), t && y(e, t);\n }(s, e);\n var n,\n o,\n r,\n i,\n c = (r = s, i = function () {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;\n if (Reflect.construct.sham) return !1;\n if (\"function\" == typeof Proxy) return !0;\n\n try {\n return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;\n } catch (e) {\n return !1;\n }\n }(), function () {\n var e,\n t = O(r);\n\n if (i) {\n var n = O(this).constructor;\n e = Reflect.construct(t, arguments, n);\n } else e = t.apply(this, arguments);\n\n return d(this, e);\n });\n\n function s(e) {\n var t;\n return function (e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }(this, s), m(v(t = c.call(this, e)), \"handleScroll\", function () {\n var e = t.props.acceptOnScrollPercentage,\n n = document.documentElement,\n o = document.body,\n r = \"scrollTop\",\n i = \"scrollHeight\";\n (n[r] || o[r]) / ((n[i] || o[i]) - n.clientHeight) * 100 > e && t.accept(!0);\n }), m(v(t), \"removeScrollListener\", function () {\n t.props.acceptOnScroll && window.removeEventListener(\"scroll\", t.handleScroll);\n }), t.state = {\n visible: !1,\n style: {\n alignItems: \"baseline\",\n background: \"#353535\",\n color: \"white\",\n display: \"flex\",\n flexWrap: \"wrap\",\n justifyContent: \"space-between\",\n left: \"0\",\n position: \"fixed\",\n width: \"100%\",\n zIndex: \"999\"\n },\n buttonStyle: {\n background: \"#ffd42d\",\n border: \"0\",\n borderRadius: \"0px\",\n boxShadow: \"none\",\n color: \"black\",\n cursor: \"pointer\",\n flex: \"0 0 auto\",\n padding: \"5px 10px\",\n margin: \"15px\"\n },\n declineButtonStyle: {\n background: \"#c12a2a\",\n border: \"0\",\n borderRadius: \"0px\",\n boxShadow: \"none\",\n color: \"#e5e5e5\",\n cursor: \"pointer\",\n flex: \"0 0 auto\",\n padding: \"5px 10px\",\n margin: \"15px\"\n },\n contentStyle: {\n flex: \"1 0 300px\",\n margin: \"15px\"\n },\n overlayStyle: {\n position: \"fixed\",\n left: 0,\n top: 0,\n width: \"100%\",\n height: \"100%\",\n zIndex: \"999\",\n backgroundColor: \"rgba(0,0,0,0.3)\"\n }\n }, t;\n }\n\n return n = s, (o = [{\n key: \"componentDidMount\",\n value: function value() {\n var e = this.props.debug;\n (void 0 === this.getCookieValue() || e) && (this.setState({\n visible: !0\n }), this.props.acceptOnScroll && window.addEventListener(\"scroll\", this.handleScroll, {\n passive: !0\n }));\n }\n }, {\n key: \"componentWillUnmount\",\n value: function value() {\n this.removeScrollListener();\n }\n }, {\n key: \"accept\",\n value: function value() {\n var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0],\n t = this.props,\n n = t.cookieName,\n o = t.cookieValue,\n r = t.hideOnAccept,\n i = t.onAccept;\n this.setCookie(n, o), i(null != e && e), r && (this.setState({\n visible: !1\n }), this.removeScrollListener());\n }\n }, {\n key: \"overlayClick\",\n value: function value() {\n var e = this.props,\n t = e.acceptOnOverlayClick,\n n = e.onOverlayClick;\n t && this.accept(), n();\n }\n }, {\n key: \"decline\",\n value: function value() {\n var e = this.props,\n t = e.cookieName,\n n = e.declineCookieValue,\n o = e.hideOnDecline,\n r = e.onDecline;\n e.setDeclineCookie && this.setCookie(t, n), r(), o && this.setState({\n visible: !1\n });\n }\n }, {\n key: \"setCookie\",\n value: function value(e, t) {\n var n = this.props,\n o = n.extraCookieOptions,\n r = n.expires,\n i = n.sameSite,\n c = this.props.cookieSecurity;\n void 0 === c && (c = !location || \"https:\" === location.protocol);\n var s = f(f({\n expires: r\n }, o), {}, {\n sameSite: i,\n secure: c\n });\n i === C.NONE && l().set(x(e), t, s), l().set(e, t, s);\n }\n }, {\n key: \"getCookieValue\",\n value: function value() {\n var e = this.props.cookieName;\n return S(e);\n }\n }, {\n key: \"render\",\n value: function value() {\n var e = this;\n\n switch (this.props.visible) {\n case g.HIDDEN:\n return null;\n\n case g.BY_COOKIE_VALUE:\n if (!this.state.visible) return null;\n }\n\n var n = this.props,\n o = n.location,\n r = n.style,\n i = n.buttonStyle,\n c = n.declineButtonStyle,\n l = n.contentStyle,\n s = n.disableStyles,\n a = n.buttonText,\n p = n.declineButtonText,\n b = n.containerClasses,\n y = n.contentClasses,\n d = n.buttonClasses,\n v = n.buttonWrapperClasses,\n O = n.declineButtonClasses,\n m = n.buttonId,\n C = n.declineButtonId,\n S = n.disableButtonStyles,\n k = n.enableDeclineButton,\n x = n.flipButtons,\n j = n.ButtonComponent,\n w = n.overlay,\n P = n.overlayClasses,\n T = n.overlayStyle,\n E = n.ariaAcceptLabel,\n D = n.ariaDeclineLabel,\n I = n.customContainerAttributes,\n _ = n.customContentAttributes,\n A = n.customButtonProps,\n N = n.customDeclineButtonProps,\n R = {},\n L = {},\n V = {},\n U = {},\n W = {};\n\n switch (s ? (R = u({}, r), L = u({}, i), V = u({}, c), U = u({}, l), W = u({}, T)) : (R = u({}, f(f({}, this.state.style), r)), U = u({}, f(f({}, this.state.contentStyle), l)), W = u({}, f(f({}, this.state.overlayStyle), T)), S ? (L = u({}, i), V = u({}, c)) : (L = u({}, f(f({}, this.state.buttonStyle), i)), V = u({}, f(f({}, this.state.declineButtonStyle), c)))), o) {\n case h.TOP:\n R.top = \"0\";\n break;\n\n case h.BOTTOM:\n R.bottom = \"0\";\n }\n\n var M = [];\n return k && M.push(t().createElement(j, u({\n key: \"declineButton\",\n style: V,\n className: O,\n id: C,\n \"aria-label\": D,\n onClick: function onClick() {\n e.decline();\n }\n }, N), p)), M.push(t().createElement(j, u({\n key: \"acceptButton\",\n style: L,\n className: d,\n id: m,\n \"aria-label\": E,\n onClick: function onClick() {\n e.accept();\n }\n }, A), a)), x && M.reverse(), t().createElement(B, {\n condition: w,\n wrapper: function wrapper(n) {\n return t().createElement(\"div\", {\n style: W,\n className: P,\n onClick: function onClick() {\n e.overlayClick();\n }\n }, n);\n }\n }, t().createElement(\"div\", u({\n className: \"\".concat(b),\n style: R\n }, I), t().createElement(\"div\", u({\n style: U,\n className: y\n }, _), this.props.children), t().createElement(\"div\", {\n className: \"\".concat(v)\n }, M.map(function (e) {\n return e;\n }))));\n }\n }]) && b(n.prototype, o), Object.defineProperty(n, \"prototype\", {\n writable: !1\n }), s;\n }(e.Component);\n\n w.propTypes = {\n location: i().oneOf(Object.keys(h).map(function (e) {\n return h[e];\n })),\n visible: i().oneOf(Object.keys(g).map(function (e) {\n return g[e];\n })),\n sameSite: i().oneOf(Object.keys(C).map(function (e) {\n return C[e];\n })),\n style: i().object,\n buttonStyle: i().object,\n declineButtonStyle: i().object,\n contentStyle: i().object,\n children: i().any,\n disableStyles: i().bool,\n hideOnAccept: i().bool,\n hideOnDecline: i().bool,\n onAccept: i().func,\n onDecline: i().func,\n buttonText: i().oneOfType([i().string, i().func, i().element]),\n declineButtonText: i().oneOfType([i().string, i().func, i().element]),\n cookieName: i().string,\n cookieValue: i().oneOfType([i().string, i().bool, i().number]),\n declineCookieValue: i().oneOfType([i().string, i().bool, i().number]),\n setDeclineCookie: i().bool,\n debug: i().bool,\n expires: i().number,\n containerClasses: i().string,\n contentClasses: i().string,\n buttonClasses: i().string,\n buttonWrapperClasses: i().string,\n declineButtonClasses: i().string,\n buttonId: i().string,\n declineButtonId: i().string,\n extraCookieOptions: i().object,\n disableButtonStyles: i().bool,\n enableDeclineButton: i().bool,\n flipButtons: i().bool,\n ButtonComponent: i().elementType,\n cookieSecurity: i().bool,\n overlay: i().bool,\n overlayClasses: i().string,\n overlayStyle: i().object,\n onOverlayClick: i().func,\n acceptOnOverlayClick: i().bool,\n ariaAcceptLabel: i().string,\n ariaDeclineLabel: i().string,\n acceptOnScroll: i().bool,\n acceptOnScrollPercentage: i().number,\n customContentAttributes: i().object,\n customContainerAttributes: i().object,\n customButtonProps: i().object,\n customDeclineButtonProps: i().object\n }, w.defaultProps = {\n disableStyles: !1,\n hideOnAccept: !0,\n hideOnDecline: !0,\n location: h.BOTTOM,\n visible: g.BY_COOKIE_VALUE,\n onAccept: function onAccept() {},\n onDecline: function onDecline() {},\n cookieName: j,\n cookieValue: !0,\n declineCookieValue: !1,\n setDeclineCookie: !0,\n buttonText: \"I understand\",\n declineButtonText: \"I decline\",\n debug: !1,\n expires: 365,\n containerClasses: \"CookieConsent\",\n contentClasses: \"\",\n buttonClasses: \"\",\n buttonWrapperClasses: \"\",\n declineButtonClasses: \"\",\n buttonId: \"rcc-confirm-button\",\n declineButtonId: \"rcc-decline-button\",\n extraCookieOptions: {},\n disableButtonStyles: !1,\n enableDeclineButton: !1,\n flipButtons: !1,\n sameSite: C.LAX,\n ButtonComponent: function ButtonComponent(e) {\n var n = e.children,\n o = function (e, t) {\n if (null == e) return {};\n\n var n,\n o,\n r = function (e, t) {\n if (null == e) return {};\n var n,\n o,\n r = {},\n i = Object.keys(e);\n\n for (o = 0; o < i.length; o++) {\n n = i[o], t.indexOf(n) >= 0 || (r[n] = e[n]);\n }\n\n return r;\n }(e, t);\n\n if (Object.getOwnPropertySymbols) {\n var i = Object.getOwnPropertySymbols(e);\n\n for (o = 0; o < i.length; o++) {\n n = i[o], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);\n }\n }\n\n return r;\n }(e, a);\n\n return t().createElement(\"button\", o, n);\n },\n overlay: !1,\n overlayClasses: \"\",\n onOverlayClick: function onOverlayClick() {},\n acceptOnOverlayClick: !1,\n ariaAcceptLabel: \"Accept cookies\",\n ariaDeclineLabel: \"Decline cookies\",\n acceptOnScroll: !1,\n acceptOnScrollPercentage: 25,\n customContentAttributes: {},\n customContainerAttributes: {},\n customButtonProps: {},\n customDeclineButtonProps: {}\n };\n var P = w;\n }(), o;\n }();\n});","\"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.activateTextTrack = activateTextTrack;\nexports.ACTIVATE_TEXT_TRACK = exports.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;\nvar ACTIVATE_TEXT_TRACK = 'video-react/ACTIVATE_TEXT_TRACK';\nexports.ACTIVATE_TEXT_TRACK = ACTIVATE_TEXT_TRACK;\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}\n\nfunction activateTextTrack(textTrack) {\n return {\n type: ACTIVATE_TEXT_TRACK,\n textTrack: textTrack\n };\n}","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","\"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 _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;","\"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;","\nimport React from \"react\";\nimport { Link } from \"gatsby\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport \"../../styles/sectionvideo.scss\";\nimport { Player, BigPlayButton } from 'video-react';\nimport \"video-react/dist/video-react.css\";\nimport { Trans, I18nextContext } from 'gatsby-plugin-react-i18next';\n\nconst Sectionvideo = () => {\n const context = React.useContext(I18nextContext);\n return (\n
\n
\n
\n
\n

\n Built to

Break Boundaries!\n

\n
Do you wonder what makes our product different from others?
\n \n
\n\n\n\n \n {/* */}\n\n \n \n \n\n\n
\n\n\n
\n
\n
Do you wonder what makes our product different from others?
\n\n

\n Logipulse redefines the way logistics is managed. Our logistics management software helps to manage your business end-to-end, we also provide powerful tools that help improve profitability and provide better service to your customers.\n

\n\n
\n Logipulse is a suite of services that can be customized to meet your individual requirements.\n
\n\n\n
\n
\n
\n
\n )\n}\n\nexport default Sectionvideo\n\nexport const query = graphql`\n query($language: String!) {\n locales: allLocale(filter: { language: { eq: $language } }) {\n edges {\n node {\n ns\n data\n language\n }\n }\n }\n }\n`\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","import React from 'react';\nimport Photo from '../Photo';\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport \"../../styles/portfoliosection.scss\";\nimport ArrowForwardOutlinedIcon from '@material-ui/icons/ArrowForwardOutlined';\nimport { Trans, useTranslation, I18nextContext, Link } from 'gatsby-plugin-react-i18next';\nimport { Helmet } from \"react-helmet\";\n\nconst Portfoliosection = () => {\n const context = React.useContext(I18nextContext);\n\n const { t } = useTranslation();\n const showContent = (id, tabid) => {\n\n var element = document.getElementById(id);\n var parentElem = document.getElementById(\"content_parent\");\n var childElems = parentElem.childNodes;\n var tabparentElem = document.getElementById(\"v-pills-tab\");\n var childtabElem = tabparentElem.childNodes;\n\n\n for (var i = 0; i < childElems.length; i++) {\n\n if (childElems[i].classList.contains(\"display_block\")) {\n childElems[i].classList.remove(\"display_block\");\n childElems[i].classList.add(\"display_none\");\n }\n }\n\n if (element.classList.contains(\"display_none\")) {\n element.classList.remove(\"display_none\");\n element.classList.add(\"display_block\");\n }\n\n\n for (var j = 0; j < childtabElem.length; j++) {\n if (childtabElem[j].classList.contains(\"active\")) {\n childtabElem[j].classList.remove(\"active\");\n }\n\n }\n\n document.getElementById(tabid).classList.add('active')\n\n }\n\n return (\n
\n \n\n \n
\n\n
\n
\n
\n
\n
\n\n
\n\n
\n
\n

A complete

portfolio of logistics solutions

\n
It's such a breeze to install and get going with Logipulse!
\n
\n
\n\n\n\n
\n
\n
\n\n {/* */}\n\n
\n\n
showContent('v-pills-freight', 'v-pills-freight-tab')}>\n\n
FREIGHT FORWARDING
\n

Automate and optimize everything from pickup to delivery.

\n\n\n
\n\n\n\n
showContent('v-pills-warehouse', 'v-pills-warehouse-tab')}>\n\n
3PL & WAREHOUSING
\n

Associate and oversee third party logistics and warehouses.

\n
\n\n
showContent('v-pills-nvocc', 'v-pills-nvocc-tab')}>\n
NVOCC
\n

Slot management or Rate management brings just profit.\n

\n\n
\n\n\n\n
showContent('v-pills-movers', 'v-pills-movers-tab')} >\n
MOVERS & RELOCATION
\n

Feature-rich customizable platform to assist relocations worldwide.\n

\n\n
\n
showContent('v-pills-vessel', 'v-pills-vessel-tab')}>\n\n
CUSTOMS CLEARANCE
\n

Import or export, make your customer’s forwarding constant.

\n
\n
\n
\n
\n
\n\n {/* */}\n\n
\n
\n
\n\n

Freight Forwarding

\n
Automate and optimize everything from pickup to delivery.
\n

Shipment inquiry, quotation, pick up, delivery, and more that comes under container management can be entered, assigned, or automated from a single Logipulse platform. Making air, road, and ocean freight forwarding business simple.\n

\n\n
localStorage.setItem(\"productpagedata\", \"air\")} target=\"_blank\">KNOW MORE\n \n
\n
\n\n\n\n
\n\n

3PL & Warehousing

\n
Associate and oversee third-party logistics and warehouses.
\n

Unite the processes and other required data of third-party services and warehouses as a single entity.\n Keep the information about your inventory handy with a 360-degree 2D view and utilize the scalable service to make your business expand anytime.\n

\n\n
KNOW MORE\n \n
\n\n
\n
\n

NVOCC

\n
Slot management or Rate management brings just profit.
\n

Tailored to match the needs of NVOCC globally.\n Schedule and slot management, tariff and rating management, job order management, export/import documentation, vendor contracts management, accounts payables/receivables, and more included in the module.\n\n

\n
KNOW MORE\n \n
\n
\n\n
\n

Movers & Relocation

\n
Feature-rich customizable platform to assist relocations worldwide.
\n

Taking care of relocation requirements from a customer’s enquiry details to delivery. Paperless operations automate and integrate multiple functions, from the survey, packing, shipping, billing, accounting, vendor management, and storage into one well-organized platform.\n

\n
KNOW MORE\n \n
\n
\n
\n

Customs Clearance

\n
Import or export, make your customer’s forwarding constant.
\n

\n A stage that could make the whole logistics process come to a halt, but not anymore! With Logipulse Customs Clearance you will be empowered to know the vessel information, settle clearance documentation and government formalities, etc.\n

\n
KNOW MORE\n \n
\n
\n
\n\n\n
\n
\n \n \n \n
\n
\n
\n
\n

\n
\n
\n
A logistics software with an easy workflow that lets you work with shipments and freight transportation,

\n right from creating leads and quotations for customers, to tracking the shipment of each item.\n
\n
\n
\n
\n
\n
\n \n )\n\n}\n\nexport default Portfoliosection;\n\nexport const query = graphql`\n query($language: String!) {\n locales: allLocale(filter: { language: { eq: $language } }) {\n edges {\n node {\n ns\n data\n language\n }\n }\n }\n }\n`","import React, { useState } from \"react\";\nimport Photo from \"../Photo\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport \"../../styles/mobile.scss\";\nimport ArrowForwardOutlinedIcon from \"@material-ui/icons/ArrowForwardOutlined\";\nimport Portfoliosection from \"../common/portfoliosection\";\nimport { Link, Trans, I18nextContext } from \"gatsby-plugin-react-i18next\";\n\n\n\nconst Port = ({ children }) => {\n const context = React.useContext(I18nextContext);\n const [id, setid] = useState(\"\")\n const [checkingId, setcheckingId] = useState('');\n\n\n const operation = id => {\n \n if (checkingId == id) {\n id = '';\n setid('')\n\n } else {\n setid(id)\n }\n setcheckingId(id);\n }\n\n\n\n\n return (\n
\n
{children}
\n \n\n
\n
\n
\n
\n
\n A complete

portfolio of solutions\n
\n
\n It's such a breeze to install and get going with Logipulse!\n
\n
\n
\n\n
\n
\n
\n {/* */}\n\n \n \n operation(\"id1\")}\n id=\"id1\" lang={context.language}\n >\n FREIGHT FORWARDING\n \n

\n Automate and optimize everything from pickup to delivery.\n

\n\n {id === \"id1\" ? (\n
\n
\n
\n Automate and optimize everything from pickup to delivery.\n
\n
\n Shipment inquiry, quotation, pick up, delivery, and more that comes under container management can be entered, assigned, or automated from a single Logipulse platform. Making air, road, and ocean freight forwarding business simple.\n\n
\n\n \n KNOW MORE\n \n \n
\n
\n ) : null}\n
\n\n \n operation(\"id2\")}\n id=\"id2\" lang={context.language}\n >\n 3PL & WAREHOUSING\n \n

\n Associate and oversee third-party logistics and warehouses.\n

\n\n {id === \"id2\" ? (\n
\n
\n
\n Associate and oversee third-party logistics and warehouses.\n
\n
\n Unite the processes and other required data of third-party services and warehouses as a single entity.\n Keep the information about your inventory handy with a 360-degree 2D view and utilize the scalable service to make your business expand anytime.\n
\n\n \n KNOW MORE\n \n \n
\n
\n ) : null}\n
\n\n {/* \n operation(\"id3\")}\n id=\"id3\"\n >\n SHIPPING AGENCY\n \n

\n Complete control over your cargo handling operations.\n

\n {id === \"id3\" ? (\n
\n
\n
\n Complete control over your cargo handling operations.\n
\n
\n Easy and comprehensive shipping management software to manage and inspect operations such as retrieving vessel information, container arrival, release, and tracking. A fully automated system allowing users to obtain complete details of the cargo handling process fast.\n\n
\n\n \n KNOW MORE\n \n \n
\n
\n ) : null}\n
*/}\n\n \n operation(\"id4\")}\n id=\"id4\"\n >\n NVOCC\n \n

\n Slot management or Rate management brings just profit.\n

\n {id === \"id4\" ? (\n
\n
\n
\n Slot management or Rate management brings just profit.\n
\n
\n Tailored to match the needs of NVOCC globally. Schedule and slot management, Tariff and rating management, Job order management, export/import documentation, Vendor contracts management, accounts payables/receivables, and more included in the module.\n\n
\n\n \n KNOW MORE\n \n \n
\n
\n ) : null}\n
\n\n \n operation(\"id5\")}\n id=\"id5\"\n >\n MOVERS & RELOCATION\n \n

\n Feature-rich customizable platform to assist relocations worldwide.\n

\n\n {id === \"id5\" ? (\n
\n
\n
\n Feature-rich customizable platform to assist relocations worldwide.\n
\n
\n Taking care of relocation requirements from a customer’s enquiry details to delivery. Paperless operations automate and integrate multiple functions, from the survey, packing, shipping, billing, accounting, vendor management, and storage into one well-organized platform.\n\n
\n\n \n KNOW MORE\n \n \n
\n
\n ) : null}\n
\n{/* \n \n operation(\"id6\")}\n id=\"id6\"\n >\n BROKERING\n \n

\n Gain momentum in acquiring and supplying vessel information.{\" \"}\n

\n {id === \"id6\" ? (\n
\n
\n
\n Gain momentum in acquiring and supplying vessel information.\n
\n
\n Know the arrivals and release of vessels instantly and easily. Information about containers, dates of sailing, and more for a broker are incorporated into the product to make the tasks of Port Brokers’ jobs easy. Be tech-smart, let the software do the work for you.\n\n
\n\n \n KNOW MORE\n \n \n
\n
\n ) : null}\n
*/}\n\n \n operation(\"id7\")}\n id=\"id7\"\n >\n CUSTOMS CLEARANCE\n \n

\n Import or export, make your customer’s forwarding constant.\n

\n {id === \"id7\" ? (\n
\n
\n
\n Import or export, make your customer’s forwarding constant.\n
\n
\n A stage that could make the whole logistics process come to a halt, but not anymore! With Logipulse Customs Clearance you will be empowered to know the vessel information, settle clearance documentation and government formalities, etc.\n\n
\n\n \n KNOW MORE\n \n \n
\n
\n ) : null}\n \n\n
\n \n\n \n\n \n
\n \n \n \n \n\n {/*
*/}\n\n
\n
\n

\n An easy workflow that lets you work with shipments and freight transportation,

\n right from creating leads and quotations for customers, to tracking the shipment of each item.\n

\n
\n
\n \n \n \n )\n}\nexport default Port\nexport const query = graphql`\n query($language: String!) {\n locales: allLocale(filter: {language: {eq: $language}}) {\n edges {\n node {\n ns\n data\n language\n }\n }\n }\n }\n`;\n\n","import React, { Component } from \"react\";\nimport \"../../styles/powerfulsection.scss\";\nimport Photo from \"../Photo\";\nimport { Link, Trans, I18nextContext } from \"gatsby-plugin-react-i18next\";\nimport { withTranslation } from 'react-i18next';\nimport { graphql } from \"gatsby\";\nimport { Helmet } from \"react-helmet\";\n\n\nclass powerfulsection extends Component {\n\n static contextType = I18nextContext;\n get_index_of_string(my_array, mystring) {\n\n /*-------initialize variables---------------*/\n var a = 0;\n var results = [];\n var b = 0, subarray, subarray1;\n var c = 0;\n var found = false;\n\n for (var arrayIndex in my_array) {\n subarray = my_array[arrayIndex];\n\n b = 0;\n for (var arrayIndex1 in subarray) {\n\n subarray1 = subarray[arrayIndex1];\n var search = subarray1.indexOf(mystring)\n\n if (search != -1) {\n c = search;\n found = true;\n break;\n }\n\n b++;\n }\n\n if (found)\n break;\n\n a++;\n }\n\n results[0] = a;\n results[1] = b;\n results[2] = c;\n\n return results;\n }\n\n\n\n constructor() {\n super()\n this.state = {\n name: \"React\",\n }\n // Binding method\n this.tileArray = this.initArray();\n }\n\n //expanded the columns // \n\n toggleTile(e) {\n var results = this.get_index_of_string(this.tileArray, e.currentTarget.id);\n \n\n var expanded = this.findPositionOfExpanded(this.tileArray);\n \n\n var row = results[0];\n var col = results[1];\n\n if (row < 3) {\n\n var arrayContainerID = this.arrContainerIDs();\n var item1 = document.getElementById(e.currentTarget.id);\n var containerName = arrayContainerID[expanded[0]][expanded[1]][0];\n var expanedContainer = document.getElementById(containerName);\n var above;\n var below;\n\n expanedContainer.classList.remove(\"tile_size_toggler\");\n\n if (row == 1) {\n above = arrayContainerID[results[0] - 1][results[1]][0];\n below = arrayContainerID[results[0] + 1][results[1]][0];\n } else if (row == 0) {\n above = arrayContainerID[results[0] + 1][results[1]][0];\n below = arrayContainerID[results[0] + 2][results[1]][0];\n } else if (row == 2) {\n above = arrayContainerID[results[0] - 1][results[1]][0];\n below = arrayContainerID[results[0] - 2][results[1]][0];\n }\n\n var moving1 = document.getElementById(above);\n var moving2 = document.getElementById(below);\n\n var moving1InnerHTML = moving1.innerHTML;\n var moving2InnerHTML = moving2.innerHTML;\n\n var free1 = this.freeSpace(this.tileArray);\n var freeSpaceName1 = this.tileArray[free1[0]][free1[1]][0];\n\n var target1 = document.getElementById(freeSpaceName1);\n target1.innerHTML = moving1InnerHTML;\n moving1.innerHTML = '';\n this.tileArray[free1[0]][free1[1]][1] = false;\n this.tileArray[free1[0]][free1[1]][2] = \"occupied\";\n\n var free2 = this.freeSpace(this.tileArray);\n var freeSpaceName2 = this.tileArray[free2[0]][free2[1]][0];\n var target2 = document.getElementById(freeSpaceName2);\n\n target2.innerHTML = moving2InnerHTML;\n moving2.innerHTML = '';\n this.tileArray[free2[0]][free2[1]][1] = false;\n this.tileArray[free2[0]][free2[1]][2] = \"occupied\";\n\n target1.style.display = 'flex';\n target2.style.display = 'flex';\n\n if (row == 1) {\n this.tileArray[results[0] - 1][results[1]][2] = \"free\";\n this.tileArray[results[0] + 1][results[1]][2] = \"free\";\n } else if (row == 0) {\n this.tileArray[results[0] + 1][results[1]][2] = \"free\";\n this.tileArray[results[0] + 2][results[1]][2] = \"free\";\n } else if (row == 2) {\n this.tileArray[results[0] - 1][results[1]][2] = \"free\";\n this.tileArray[results[0] - 2][results[1]][2] = \"free\";\n }\n\n moving1.style.display = 'none';\n moving2.style.display = 'none';\n item1.classList.add('tile_size_toggler');\n\n this.tileArray[expanded[0]][expanded[1]][1] = false;\n this.tileArray[results[0]][results[1]][1] = true;\n } else {\n\n var arrayContainerID = this.arrContainerIDs();\n var item1 = document.getElementById(e.currentTarget.id);\n var containerName = arrayContainerID[expanded[0]][expanded[1]][0];\n var expanedContainer = document.getElementById(containerName);\n var above;\n var below;\n\n expanedContainer.classList.remove(\"tile_size_toggler\");\n\n above = arrayContainerID[results[0] - 1][results[1]][0];\n below = arrayContainerID[results[0] - 2][results[1]][0];\n\n var moving1 = document.getElementById(above);\n var moving2 = document.getElementById(below);\n\n var moving1InnerHTML = moving1.innerHTML;\n var moving2InnerHTML = moving2.innerHTML;\n\n var free1 = this.freeSpace(this.tileArray);\n var freeSpaceName1 = this.tileArray[free1[0]][free1[1]][0];\n\n var target1 = document.getElementById(freeSpaceName1);\n target1.innerHTML = moving1InnerHTML;\n moving1.innerHTML = '';\n this.tileArray[free1[0]][free1[1]][1] = false;\n this.tileArray[free1[0]][free1[1]][2] = \"occupied\";\n\n var free2 = this.freeSpace(this.tileArray);\n var freeSpaceName2 = this.tileArray[free2[0]][free2[1]][0];\n var target2 = document.getElementById(freeSpaceName2);\n\n target2.innerHTML = moving2InnerHTML;\n moving2.innerHTML = '';\n this.tileArray[free2[0]][free2[1]][1] = false;\n this.tileArray[free2[0]][free2[1]][2] = \"occupied\";\n\n target1.style.display = 'flex';\n target2.style.display = 'flex';\n\n this.tileArray[results[0] - 1][results[1]][2] = \"free\";\n this.tileArray[results[0] - 2][results[1]][2] = \"free\";\n\n moving1.style.display = 'none';\n moving2.style.display = 'none';\n item1.classList.add('tile_size_toggler');\n\n this.tileArray[expanded[0]][expanded[1]][1] = false;\n this.tileArray[results[0]][results[1]][1] = true;\n\n }\n\n \n }\n findPositionOfExpanded(my_array) {\n\n var a = 0;\n var results = [];\n var b = 0, subarray, subarray1;\n var c = 0;\n var found = false;\n\n for (var arrayIndex in my_array) {\n subarray = my_array[arrayIndex];\n\n b = 0;\n for (var arrayIndex1 in subarray) {\n\n subarray1 = subarray[arrayIndex1];\n var search = subarray1.indexOf(true)\n\n if (search != -1) {\n c = search;\n found = true;\n break;\n }\n\n b++;\n }\n\n if (found)\n break;\n\n a++;\n }\n\n results[0] = a;\n results[1] = b;\n results[2] = c;\n\n return results;\n }\n\n\n freeSpace(my_array) {\n\n var a = 0;\n var results = [];\n var b = 0, subarray, subarray1;\n var c = 0;\n var found = false;\n\n for (var arrayIndex in my_array) {\n subarray = my_array[arrayIndex];\n\n b = 0;\n for (var arrayIndex1 in subarray) {\n\n subarray1 = subarray[arrayIndex1];\n var search = subarray1.indexOf(\"free\")\n\n if (search != -1) {\n c = search;\n found = true;\n break;\n }\n\n b++;\n }\n\n if (found)\n break;\n\n a++;\n }\n\n results[0] = a;\n results[1] = b;\n results[2] = c;\n\n return results;\n }\n\n initArray() {\n var arrTile = [4];\n var i = 0;\n arrTile[0] = [[\"one\", false, 'occupied'], [\"five\", false, 'occupied'], [\"nine\", true, 'occupied']];\n arrTile[1] = [[\"two\", false, 'occupied'], [\"six\", false, 'occupied'], [\"ten\", false, \"free\"]];\n arrTile[2] = [[\"three\", false, 'occupied'], [\"seven\", false, 'occupied'], [\"eleven\", false, \"free\"]];\n arrTile[3] = [[\"four\", false, 'occupied'], [\"eight\", false, 'occupied'], [\"tweleve\", false, 'occupied']];\n\n return arrTile;\n }\n\n arrContainerIDs() {\n var arrTile = [4];\n var i = 0;\n arrTile[0] = [[\"one\", false, 'occupied'], [\"five\", false, 'occupied'], [\"nine\", true, 'occupied']];\n arrTile[1] = [[\"two\", false, 'occupied'], [\"six\", false, 'occupied'], [\"ten\", false, \"free\"]];\n arrTile[2] = [[\"three\", false, 'occupied'], [\"seven\", false, 'occupied'], [\"eleven\", false, \"free\"]];\n arrTile[3] = [[\"four\", false, 'occupied'], [\"eight\", false, 'occupied'], [\"tweleve\", false, 'occupied']];\n\n return arrTile;\n }\n\n render() {\n return (\n
\n \n \n \n
\n
\n
\n
\n
\n A powerful logistics management solution forall new challenges\n
\n
\n The world feels heavy right now;

\n we’ve put together extra resources to help lighten the load.\n
\n
\n
\n
\n\n
\n\n\n\n
\n
\n
this.toggleTile(e)}>\n
\n
\n \n\n
\n
Multi Language Interface
\n
\n
\n
\n A single language interface will pull you behind in the global market! Logipulse multilingual interface will allow users or branches around the world to use one solution without the barrier of languages.\n\n\n\n
\n
Know More\n \n
\n
\n\n
\n\n\n
this.toggleTile(e)}>\n
\n
\n \n
\n
Workflow and Approvals
\n
\n\n
\n
\n Watch your business operations even if you are not around them. You will be able to take and give consent for each process in the cycle. Moreover, customize the workflow as per your specification.\n\n
\n
Know More\n \n
\n
\n\n
\n\n
this.toggleTile(e)} >\n
\n
\n \n
\n
Cross-Platform User-Interface
\n\n\n
\n
\n
\n Have the benefit of using the software in different modes on different devices. Logipulse can be accessed through browsers or can be used as an app on devices like phones or PDAs and as desktop applications.\n\n\n
\n
Know More\n \n
\n
\n\n
\n\n\n
this.toggleTile(e)}>\n
\n
\n
Alert Engine
\n
\n\n
\n
\n Get alerts and notifications on the status of your shipment and always stay one step ahead. Our updates are in real-time thereby alerting you to potential delays.\n\n
\n
Know More\n \n
\n
\n
\n\n\n
this.toggleTile(e)}>\n
\n
\n
Dashboard with KPI's and BI's
\n
\n
\n
\n Get an overview of your business operations by reports and metrics related to your shipments. Learn process statuses with few clicks, and avoid heaps of documents to find regular analyses.\n\n
\n
Know More\n \n
\n
\n
\n\n
this.toggleTile(e)}>\n
\n
\n
Track and Trace
\n
\n
\n
\n The unique feature of Logipulse is its Track and Trace which allows one to track a shipment right down to its individual item thereby ensuring complete customer satisfaction. Every component of a shipment is allotted a unique code, allowing for easier tracking in the event of missing items.\n\n
\n
Know More\n \n
\n
\n
\n\n
this.toggleTile(e)} >\n
\n
\n
Customizable Report Engine
\n
\n
\n
\n Logipulse customizable report engine enables your clients to create reports with detailed entries as they require. With a basic knowledge of HTML, you can customize each report.\n\n
\n
Know More\n\n \n
\n
\n
\n\n\n
this.toggleTile(e)} >\n
\n
\n
Multiple Tab Viewer
\n
\n
\n
\n Multitask using the multiple tab view feature. You can simultaneously handle several activities in different operations effortlessly. Increase productivity, reduce errors, and be flexible using a single device with multiple windows.\n
\n
Know More\n \n
\n
\n
\n\n\n\n
this.toggleTile(e)}>\n
\n
\n
Data Sharing with Agencies and Branches
\n\n
\n
\n
\n With Logipulse you are getting a centralized data storage that is accessible to you, your agencies, and the branches in real-time without a local server or backup facility, or security system.\n\n
\n
Know More\n \n
\n
\n
\n\n\n\n
this.toggleTile(e)}>\n
\n
\n
And More
\n
\n
\n\n\n this.toggleTile(e)}\n >\n
\n
Eleven
\n
\n\n\n \n
\n
And More
\n
\n\n\n
\n\n\n\n \n\n \n )\n }\n}\nexport default withTranslation()(powerfulsection)\n\nexport const query = graphql`\n query($language: String!) {\n locales: allLocale(filter: {language: {eq: $language}}) {\n edges {\n node {\n ns\n data\n language\n }\n }\n }\n }\n`;\n\n","import React from 'react';\nimport Photo from '../Photo';\nimport \"../../styles/crossplatform.scss\";\nimport { Trans, I18nextContext } from \"gatsby-plugin-react-i18next\";\nimport { graphql } from \"gatsby\";\n\nconst Crossplatform = () => {\n const context = React.useContext(I18nextContext);\n\n return (\n
\n\n
\n
\n
\n\n\n\n
\n
\n
Cross-platform, SaaS and

cloud-based apps for smart devices.
\n
\n Logipulse provides a leading-edge SaaS logistics solution to advance in every logistics activity with a design that responds efficiently to devices such as Desktop, Tablet, Mobile, PDA, Scanning Devices, etc. Helping you do business even while being on the move.
\n
\n
\n\n
\n\n \n\n
\n\n\n
\n
\n\n
\n
\n )\n}\n\nexport default Crossplatform\n\n\nexport const query = graphql`\n query($language: String!) {\n locales: allLocale(filter: { language: { eq: $language } }) {\n edges {\n node {\n ns\n data\n language\n }\n }\n }\n }\n`","import React from \"react\"\nimport Header from \"../../pages/header\"\nimport Section from \"../common/sectionvideo\"\nimport Port from \"../common/port\"\nimport Powerful from \"../common/powerfulsection\"\nimport Crossplatform from \"../common/crossplatform\"\nimport Footer from \"../common/footer\"\nimport Helmet from \"react-helmet\"\nimport \"../../styles/layout.scss\"\nimport CookieConsent, { Cookies } from \"react-cookie-consent\"\nimport {Link,Trans,useTranslation,I18nextContext,} from \"gatsby-plugin-react-i18next\";\nimport { graphql } from \"gatsby\";\n\nconst Layout = ({ children }) => {\n const { t } = useTranslation()\n // const { language } = React.useContext(I18nextContext)\n const context = React.useContext(I18nextContext);\n return (\n
\n \n
\n
{children}
\n
\n \n \n \n {/* */}\n\n
\n {\n Cookies.set('gatsby-gdpr-google-analytics', true)\n }}\n >\n
Cookies help us deliver the best experience on our website. By using our website, you agree to the use of cookies.
\n
\n
\n )\n}\nexport default Layout\n\nexport const query = graphql`\n query ($language: String!) {\n locales: allLocale(filter: { language: { eq: $language } }) {\n edges {\n node {\n ns\n data\n language\n }\n }\n }\n }\n`","import React from \"react\"\nimport Layout from \"../components/common/layout\"\nimport \"../styles/index.scss\"\nimport {\n Link,\n Trans,\n useTranslation,\n I18nextContext,\n} from \"gatsby-plugin-react-i18next\"\nimport { graphql } from \"gatsby\"\nimport { Helmet } from \"react-helmet\";\n\n\nconst GATSBY_LANDING_PAGE_URL = process.env.GATSBY_LANDING_PAGE_URL\nconst Index = () => {\n const { t } = useTranslation()\n const { language } = React.useContext(I18nextContext)\n\n const buildCanonicalUrl = () =>\n language === \"en\"\n ? GATSBY_LANDING_PAGE_URL\n : GATSBY_LANDING_PAGE_URL + `/${language}/`\n const canoncalUrl = buildCanonicalUrl();\n\n const buildHrefUrl = () =>\n language === \"en\"\n ? JSON.parse(JSON.stringify(GATSBY_LANDING_PAGE_URL + \"/\"))\n : JSON.parse(JSON.stringify(GATSBY_LANDING_PAGE_URL +`/${language}/`))\n const hrefUrl = buildHrefUrl();\n\n return (\n \n \n \n\n \n \n `,\n }}\n />\n\n \n{\n \"@context\": \"https://schema.org/\",\n \"@type\": \"WebSite\",\n \"name\": \"Logipulse\",\n \"url\": \"https://www.logipulse.com\",\n \"potentialAction\": {\n \"@type\": \"SearchAction\",\n \"target\": \"{search_term_string}\",\n \"query-input\": \"required name=search_term_string\"\n }\n}\n\n \n `,\n }}\n />\n\n \n \n `,\n }}\n />\n \n\n \n `,\n }}\n />\n \n \n {t(\n \"Logistics Solutions - Freight Forwarding & Logistics Management Software | Logipulse\"\n )}\n \n \n \n \n \n {/* */}\n \n\n
\n
\n
\n
\n
\n
\n
\n Freight Forwarding\n
\n
\n Automation Software\n
\n

\n \n A SaaS based software, making your freight forwarding activities easier, in any language\n \n

\n
\n
\n
\n
\n\n
\n localStorage.removeItem(\"userinfo\")}\n >\n \n GET A FREE TRIAL\n
\n \n\n localStorage.removeItem(\"userinfo\")}\n >\n \n BUY LICENSE\n
\n \n
\n
\n
\n
\n
\n \n \n
\n )\n}\nexport default Index\n\nexport const query = graphql`\n query ($language: String!) {\n locales: allLocale(filter: { language: { eq: $language } }) {\n edges {\n node {\n ns\n data\n language\n }\n }\n }\n }\n`\n","export default function symbolObservablePonyfill(root) {\n var result;\n var Symbol = root.Symbol;\n\n if (typeof Symbol === 'function') {\n if (Symbol.observable) {\n result = Symbol.observable;\n } else {\n result = Symbol('observable');\n Symbol.observable = result;\n }\n } else {\n result = '@@observable';\n }\n\n return result;\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 });\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';","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;","/* global window */\nimport ponyfill from './ponyfill.js';\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;","\"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 _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 // On iOS safari, a subsequent mouseup event will be fired after touchend.\n // Its weird event positions make the player seek a wrong time.\n // calling preventDefault (at touchend phase) will prevent the mouseup event\n event.preventDefault();\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 = this.slider;\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 _this2 = this;\n\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 ref: function ref(c) {\n _this2.slider = c;\n },\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';","\"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';","\"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';","\"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\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: \"M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8-8-8z\"\n}), 'ArrowForwardOutlined');\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 , ,\n// \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;","\"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, \"ClosedCaptionButton\", {\n enumerable: true,\n get: function get() {\n return _ClosedCaptionButton[\"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 _ClosedCaptionButton = _interopRequireDefault(require(\"./components/control-bar/ClosedCaptionButton\"));\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 onTouchMove: this.handleMouseMove,\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';","\"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 className: _propTypes[\"default\"].string,\n offMenuText: _propTypes[\"default\"].string,\n showOffMenu: _propTypes[\"default\"].bool,\n kinds: _propTypes[\"default\"].array\n};\nvar defaultProps = {\n offMenuText: 'Off',\n showOffMenu: true,\n kinds: ['captions', 'subtitles'] // `kind`s of TextTrack to look for to associate it with this menu.\n\n};\n\nvar ClosedCaptionButton = /*#__PURE__*/function (_Component) {\n (0, _inherits2[\"default\"])(ClosedCaptionButton, _Component);\n\n function ClosedCaptionButton(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, ClosedCaptionButton);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(ClosedCaptionButton).call(this, props, context));\n _this.getTextTrackItems = _this.getTextTrackItems.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.updateState = _this.updateState.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleSelectItem = _this.handleSelectItem.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.state = _this.getTextTrackItems();\n return _this;\n }\n\n (0, _createClass2[\"default\"])(ClosedCaptionButton, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.updateState();\n }\n }, {\n key: \"getTextTrackItems\",\n value: function getTextTrackItems() {\n var _this$props = this.props,\n kinds = _this$props.kinds,\n player = _this$props.player,\n offMenuText = _this$props.offMenuText,\n showOffMenu = _this$props.showOffMenu;\n var textTracks = player.textTracks,\n activeTextTrack = player.activeTextTrack;\n var textTrackItems = {\n items: [],\n selectedIndex: 0\n };\n var tracks = Array.from(textTracks || []);\n\n if (tracks.length === 0) {\n return textTrackItems;\n }\n\n if (showOffMenu) {\n textTrackItems.items.push({\n label: offMenuText || 'Off',\n value: null\n });\n }\n\n tracks.forEach(function (textTrack) {\n // ignore invalid text track kind\n if (kinds.length && !kinds.includes(textTrack.kind)) {\n return;\n }\n\n textTrackItems.items.push({\n label: textTrack.label,\n value: textTrack.language\n });\n });\n textTrackItems.selectedIndex = textTrackItems.items.findIndex(function (item) {\n return activeTextTrack && activeTextTrack.language === item.value;\n });\n\n if (textTrackItems.selectedIndex === -1) {\n textTrackItems.selectedIndex = 0;\n }\n\n return textTrackItems;\n }\n }, {\n key: \"updateState\",\n value: function updateState() {\n var textTrackItems = this.getTextTrackItems();\n\n if (textTrackItems.selectedIndex !== this.state.selectedIndex || !this.textTrackItemsAreEqual(textTrackItems.items, this.state.items)) {\n this.setState(textTrackItems);\n }\n }\n }, {\n key: \"textTrackItemsAreEqual\",\n value: function textTrackItemsAreEqual(items1, items2) {\n if (items1.length !== items2.length) {\n return false;\n }\n\n for (var i = 0; i < items1.length; i++) {\n if (!items2[i] || items1[i].label !== items2[i].label || items1[i].value !== items2[i].value) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"handleSelectItem\",\n value: function handleSelectItem(index) {\n var _this$props2 = this.props,\n player = _this$props2.player,\n actions = _this$props2.actions,\n showOffMenu = _this$props2.showOffMenu;\n var textTracks = player.textTracks; // For the 'subtitles-off' button, the first condition will never match\n // so all subtitles will be turned off\n\n Array.from(textTracks).forEach(function (textTrack, i) {\n // if it shows the `Off` menu, the first item is `Off`\n if (index === (showOffMenu ? i + 1 : i)) {\n textTrack.mode = 'showing';\n actions.activateTextTrack(textTrack);\n } else {\n textTrack.mode = 'hidden';\n }\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$state = this.state,\n items = _this$state.items,\n selectedIndex = _this$state.selectedIndex;\n return _react[\"default\"].createElement(_MenuButton[\"default\"], {\n className: (0, _classnames[\"default\"])('video-react-closed-caption', 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 }, \"Closed Caption\"));\n }\n }]);\n return ClosedCaptionButton;\n}(_react.Component);\n\nClosedCaptionButton.propTypes = propTypes;\nClosedCaptionButton.defaultProps = defaultProps;\nClosedCaptionButton.displayName = 'ClosedCaptionButton';\nvar _default = ClosedCaptionButton;\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 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 _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 = 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":""}