{"version":3,"sources":["webpack:///./node_modules/react-player/lazy/index.js","webpack:///./node_modules/react-player/lazy/utils.js","webpack:///./node_modules/react-swipeable/dist/react-swipeable.umd.js","webpack:///./node_modules/react-player/lazy/props.js","webpack:///./node_modules/react-player/lazy/patterns.js","webpack:///./node_modules/react-player/lazy/players/index.js","webpack:///./node_modules/react-player/lazy/ReactPlayer.js","webpack:///./node_modules/react-player/lazy/Player.js","webpack:///./node_modules/framer-motion/dist/es/utils/use-reduced-motion.js","webpack:///./node_modules/framer-motion/dist/es/value/use-on-change.js","webpack:///./node_modules/react-use/esm/useInterval.js","webpack:///./node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/projection/utils.js","webpack:///./node_modules/framer-motion/dist/es/render/dom/utils/batch-layout.js","webpack:///./node_modules/framer-motion/dist/es/components/AnimateSharedLayout/utils/batcher.js","webpack:///./node_modules/framer-motion/dist/es/context/SharedLayoutContext.js","webpack:///./node_modules/framer-motion/dist/es/components/AnimatePresence/index.js","webpack:///./node_modules/framer-motion/dist/es/utils/use-force-update.js","webpack:///./node_modules/framer-motion/dist/es/animation/animation-controls.js","webpack:///./node_modules/framer-motion/dist/es/animation/use-animation.js"],"names":["Object","defineProperty","exports","value","obj","_players","__esModule","_ReactPlayer","fallback","length","_default","createReactPlayer","parseStartTime","url","parseTimeParam","MATCH_START_QUERY","parseEndTime","MATCH_END_QUERY","randomString","Math","random","toString","substr","queryString","object","keys","map","key","concat","join","getSDK","sdkGlobal","sdkReady","arguments","undefined","isLoaded","fetchScript","_loadScript","existingGlobal","getGlobal","Promise","resolve","reject","requests","push","onLoaded","sdk","forEach","request","previousOnReady","window","err","getConfig","props","defaultProps","_deepmerge","config","omit","_ref","_len","arrays","Array","_key","omitKeys","apply","output","_i2","_keys","indexOf","callPlayer","method","_this$player","this","player","message","constructor","displayName","console","warn","_len2","args","_key2","isMediaStream","MediaStream","isBlobUrl","test","supportsWebKitPresentationMode","video","document","createElement","notMobile","navigator","userAgent","webkitSupportsPresentationMode","webkitSetPresentationMode","_interopRequireDefault","_slicedToArray","arr","i","isArray","_arrayWithHoles","Symbol","iterator","_arr","_n","_d","_e","_s","_i","next","done","_iterableToArrayLimit","o","minLen","_arrayLikeToArray","n","prototype","call","slice","name","from","_unsupportedIterableToArray","TypeError","_nonIterableRest","len","arr2","MATCH_START_STAMP","MATCH_NUMERIC","pattern","match","stamp","seconds","array","exec","_array2","count","period","parseInt","parseTimeString","module","React","_interopNamespace","e","create","k","d","getOwnPropertyDescriptor","get","enumerable","React__namespace","_extends","assign","target","source","hasOwnProperty","delta","preventDefaultTouchmoveEvent","rotationAngle","trackMouse","trackTouch","initialState","first","initial","start","swiping","xy","rotateXYByAngle","pos","angle","angleInRadians","PI","cos","sin","DOWN","LEFT","RIGHT","UP","useSwipeable","options","transientState","useRef","transientProps","current","_React$useMemo","useMemo","set","handlerProps","onStart","event","touches","state","addEventListener","onMove","onUp","clientX","clientY","timeStamp","_ref2","_rotateXYByAngle","x","y","deltaX","deltaY","absX","abs","absY","time","velocity","sqrt","vxvy","dir","getDirection","toLowerCase","eventData","onSwipeStart","onSwiping","cancelablePageSwipe","onSwiped","cancelable","preventDefault","onEnd","onSwipedDir","onTap","cleanUpMouse","removeEventListener","attachTouch","el","passive","cleanup","tls","_ref3","h","_ref4","ref","addState","cleanUpTouch","onMouseDown","getHandlers","stateSetter","handlers","updateTransientState","factory","propTypes","_propTypes","string","bool","number","oneOfType","shape","func","node","playing","loop","controls","volume","muted","playbackRate","width","height","style","progressInterval","playsinline","pip","stopOnUnmount","light","playIcon","previewTabIndex","wrapper","render","isRequired","soundcloud","youtube","playerVars","embedOptions","onUnstarted","facebook","appId","version","playerId","attributes","dailymotion","params","vimeo","playerOptions","file","tracks","forceVideo","forceAudio","forceHLS","forceDASH","forceFLV","hlsOptions","hlsVersion","dashVersion","flvVersion","wistia","customControls","mixcloud","twitch","vidyard","onReady","onPlay","onPause","onBuffer","onBufferEnd","onEnded","onError","onDuration","onSeek","onProgress","onClickPreview","onEnablePIP","onDisablePIP","noop","visual","buying","liking","download","sharing","show_comments","show_playcount","showinfo","rel","iv_load_policy","modestbranding","api","autopause","byline","portrait","title","hide_cover","canPlay","FLV_EXTENSIONS","DASH_EXTENSIONS","HLS_EXTENSIONS","VIDEO_EXTENSIONS","AUDIO_EXTENSIONS","MATCH_URL_KALTURA","MATCH_URL_VIDYARD","MATCH_URL_MIXCLOUD","MATCH_URL_DAILYMOTION","MATCH_URL_TWITCH_CHANNEL","MATCH_URL_TWITCH_VIDEO","MATCH_URL_WISTIA","MATCH_URL_STREAMABLE","MATCH_URL_FACEBOOK_WATCH","MATCH_URL_FACEBOOK","MATCH_URL_VIMEO","MATCH_URL_SOUNDCLOUD","MATCH_URL_YOUTUBE","_utils","_createForOfIteratorHelper","allowArrayLike","it","F","s","f","normalCompletion","didErr","step","_e2","every","item","streamable","kaltura","canPlayFile","_step","_iterator","src","_react","_patterns","lazyPlayer","lazy","canEnablePIP","pictureInPictureEnabled","_typeof","cache","_getRequireWildcardCache","has","newObj","hasPropertyDescriptor","desc","_interopRequireWildcard","_memoizeOne","_reactFastCompare","_props","_Player3","WeakMap","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toConsumableArray","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","_classCallCheck","instance","Constructor","_defineProperties","descriptor","configurable","writable","_setPrototypeOf","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","getPrototypeOf","Preview","IS_BROWSER","IS_GLOBAL","global","SUPPORTED_PROPS","UniversalSuspense","Suspense","customPlayers","players","_class","_temp","_Component","subClass","superClass","_inherits","ReactPlayer","protoProps","staticProps","_super","_this","showPreview","_wrapper","_player","setState","getDuration","getCurrentTime","getSecondsLoaded","getInternalPlayer","fraction","type","seekTo","all","getActivePlayer","references","activePlayer","handleReady","nextProps","nextState","prevProps","_this$props","onClick","handleClickPreview","_this$props2","Wrapper","getAttributes","renderPreview","renderActivePlayer","Component","_arr2","_i3","_arr3","_Player2","Player","_args","load","progress","isReady","playedSeconds","loadedSeconds","duration","played","loaded","prevPlayed","prevLoaded","progressTimeout","setTimeout","progressFrequency","mounted","isLoading","setVolume","loadOnReady","play","handleDurationCheck","isPlaying","startOnPlay","setPlaybackRate","seekOnPlay","_this$props3","loopOnEnded","_this$props4","clearTimeout","durationCheckTimeout","onDurationCalled","stop","disablePIP","_this2","_this$props5","forceLoad","pause","enablePIP","mute","unmute","setLoop","amount","_this3","onMount","handlePlayerMount","handlePlay","handlePause","handleEnded","handleLoaded","handleError","prefersReducedMotion","useReducedMotion","matchMedia","motionMediaQuery_1","setReducedMotionPreferences","matches","addListener","initPrefersReducedMotion","callback","_a","shouldReduceMotion","setShouldReduceMotion","onChange","delay","savedCallback","interval_1","setInterval","clearInterval","presenceId","getPresenceId","id","PresenceChild","children","isPresent","onExitComplete","custom","presenceAffectsLayout","presenceChildren","newChildrenMap","context","childId","allComplete","isComplete","register","delete","_","size","PresenceContext","Provider","Map","isProjecting","visualElement","projection","isEnabled","shouldResetTransform","updateLayoutMeasurement","layoutState","getLayoutState","notifyBeforeLayoutMeasure","layout","isHydrated","measureViewportBox","layoutCorrected","notifyLayoutMeasure","prevViewportBox","update","rebaseProjectionTarget","unresolvedJobs","Set","pushJob","stack","job","pointer","executeJob","defaultHandler","layoutReady","child","notifyLayoutReady","createBatcher","queue","add","flush","_b","parent","read","write","order","sort","ancestors","collectProjectingAncestors","element","resetTransform","restoreTransform","presence","Present","preRender","postRender","assignProjectionToSnapshot","clear","reads","writes","setRead","setWrite","numStacks","flushLayout","SharedLayoutContext","getChildKey","AnimatePresence","exitBeforeEnter","_c","forceRender","unloadingRef","forcedRenderCount","setForcedRenderCount","useForceUpdate","layoutContext","forceUpdate","isInitialRender","filteredChildren","filtered","onlyElements","presentChildren","allChildren","exiting","updateChildLookup","childrenToRender","presentKeys","targetKeys","numPresent","insertionIndex","splice","removeIndex","findIndex","presentChild","animationControls","hasMounted","pendingAnimations","subscribers","subscribe","definition","transitionOverride","animations_1","animation","mount","then","useAnimation"],"mappings":"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","file":"6-1a3e77a20bff373823d7.js","sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _players = _interopRequireDefault(require(\"./players\"));\n\nvar _ReactPlayer = require(\"./ReactPlayer\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n// Fall back to FilePlayer if nothing else can play the URL\nvar fallback = _players[\"default\"][_players[\"default\"].length - 1];\n\nvar _default = (0, _ReactPlayer.createReactPlayer)(_players[\"default\"], fallback);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.parseStartTime = parseStartTime;\nexports.parseEndTime = parseEndTime;\nexports.randomString = randomString;\nexports.queryString = queryString;\nexports.getSDK = getSDK;\nexports.getConfig = getConfig;\nexports.omit = omit;\nexports.callPlayer = callPlayer;\nexports.isMediaStream = isMediaStream;\nexports.isBlobUrl = isBlobUrl;\nexports.supportsWebKitPresentationMode = supportsWebKitPresentationMode;\n\nvar _loadScript = _interopRequireDefault(require(\"load-script\"));\n\nvar _deepmerge = _interopRequireDefault(require(\"deepmerge\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar MATCH_START_QUERY = /[?](?:start|t)=([0-9hms]+)/;\nvar MATCH_END_QUERY = /[?]end=([0-9hms]+)/;\nvar MATCH_START_STAMP = /(\\d+)(h|m|s)/g;\nvar MATCH_NUMERIC = /^\\d+$/; // Parse YouTube URL for a start time param, ie ?t=1h14m30s\n// and return the start time in seconds\n\nfunction parseTimeParam(url, pattern) {\n if (url instanceof Array) {\n return undefined;\n }\n\n var match = url.match(pattern);\n\n if (match) {\n var stamp = match[1];\n\n if (stamp.match(MATCH_START_STAMP)) {\n return parseTimeString(stamp);\n }\n\n if (MATCH_NUMERIC.test(stamp)) {\n return parseInt(stamp);\n }\n }\n\n return undefined;\n}\n\nfunction parseTimeString(stamp) {\n var seconds = 0;\n var array = MATCH_START_STAMP.exec(stamp);\n\n while (array !== null) {\n var _array = array,\n _array2 = _slicedToArray(_array, 3),\n count = _array2[1],\n period = _array2[2];\n\n if (period === 'h') seconds += parseInt(count, 10) * 60 * 60;\n if (period === 'm') seconds += parseInt(count, 10) * 60;\n if (period === 's') seconds += parseInt(count, 10);\n array = MATCH_START_STAMP.exec(stamp);\n }\n\n return seconds;\n}\n\nfunction parseStartTime(url) {\n return parseTimeParam(url, MATCH_START_QUERY);\n}\n\nfunction parseEndTime(url) {\n return parseTimeParam(url, MATCH_END_QUERY);\n} // http://stackoverflow.com/a/38622545\n\n\nfunction randomString() {\n return Math.random().toString(36).substr(2, 5);\n}\n\nfunction queryString(object) {\n return Object.keys(object).map(function (key) {\n return \"\".concat(key, \"=\").concat(object[key]);\n }).join('&');\n}\n\nfunction getGlobal(key) {\n if (window[key]) {\n return window[key];\n }\n\n if (window.exports && window.exports[key]) {\n return window.exports[key];\n }\n\n if (window.module && window.module.exports && window.module.exports[key]) {\n return window.module.exports[key];\n }\n\n return null;\n} // Util function to load an external SDK\n// or return the SDK if it is already loaded\n\n\nvar requests = {};\n\nfunction getSDK(url, sdkGlobal) {\n var sdkReady = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var isLoaded = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {\n return true;\n };\n var fetchScript = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _loadScript[\"default\"];\n var existingGlobal = getGlobal(sdkGlobal);\n\n if (existingGlobal && isLoaded(existingGlobal)) {\n return Promise.resolve(existingGlobal);\n }\n\n return new Promise(function (resolve, reject) {\n // If we are already loading the SDK, add the resolve and reject\n // functions to the existing array of requests\n if (requests[url]) {\n requests[url].push({\n resolve: resolve,\n reject: reject\n });\n return;\n }\n\n requests[url] = [{\n resolve: resolve,\n reject: reject\n }];\n\n var onLoaded = function onLoaded(sdk) {\n // When loaded, resolve all pending request promises\n requests[url].forEach(function (request) {\n return request.resolve(sdk);\n });\n };\n\n if (sdkReady) {\n var previousOnReady = window[sdkReady];\n\n window[sdkReady] = function () {\n if (previousOnReady) previousOnReady();\n onLoaded(getGlobal(sdkGlobal));\n };\n }\n\n fetchScript(url, function (err) {\n if (err) {\n // Loading the SDK failed – reject all requests and\n // reset the array of requests for this SDK\n requests[url].forEach(function (request) {\n return request.reject(err);\n });\n requests[url] = null;\n } else if (!sdkReady) {\n onLoaded(getGlobal(sdkGlobal));\n }\n });\n });\n}\n\nfunction getConfig(props, defaultProps) {\n return (0, _deepmerge[\"default\"])(defaultProps.config, props.config);\n}\n\nfunction omit(object) {\n var _ref;\n\n for (var _len = arguments.length, arrays = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n arrays[_key - 1] = arguments[_key];\n }\n\n var omitKeys = (_ref = []).concat.apply(_ref, arrays);\n\n var output = {};\n var keys = Object.keys(object);\n\n for (var _i2 = 0, _keys = keys; _i2 < _keys.length; _i2++) {\n var key = _keys[_i2];\n\n if (omitKeys.indexOf(key) === -1) {\n output[key] = object[key];\n }\n }\n\n return output;\n}\n\nfunction callPlayer(method) {\n var _this$player;\n\n // Util method for calling a method on this.player\n // but guard against errors and console.warn instead\n if (!this.player || !this.player[method]) {\n var message = \"ReactPlayer: \".concat(this.constructor.displayName, \" player could not call %c\").concat(method, \"%c \\u2013 \");\n\n if (!this.player) {\n message += 'The player was not available';\n } else if (!this.player[method]) {\n message += 'The method was not available';\n }\n\n console.warn(message, 'font-weight: bold', '');\n return null;\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return (_this$player = this.player)[method].apply(_this$player, args);\n}\n\nfunction isMediaStream(url) {\n return typeof window !== 'undefined' && typeof window.MediaStream !== 'undefined' && url instanceof window.MediaStream;\n}\n\nfunction isBlobUrl(url) {\n return /^blob:/.test(url);\n}\n\nfunction supportsWebKitPresentationMode() {\n var video = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.createElement('video');\n // Check if Safari supports PiP, and is not on mobile (other than iPad)\n // iPhone safari appears to \"support\" PiP through the check, however PiP does not function\n var notMobile = /iPhone|iPod/.test(navigator.userAgent) === false;\n return video.webkitSupportsPresentationMode && typeof video.webkitSetPresentationMode === 'function' && notMobile;\n}","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :\n typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :\n (global = global || self, factory(global.swipeable = {}, global.react));\n}(this, (function (exports, React) {\n function _interopNamespace(e) {\n if (e && e.__esModule) return e;\n var n = Object.create(null);\n if (e) {\n Object.keys(e).forEach(function (k) {\n if (k !== 'default') {\n var d = Object.getOwnPropertyDescriptor(e, k);\n Object.defineProperty(n, k, d.get ? d : {\n enumerable: true,\n get: function () {\n return e[k];\n }\n });\n }\n });\n }\n n['default'] = e;\n return n;\n }\n\n var React__namespace = /*#__PURE__*/_interopNamespace(React);\n\n function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n }\n\n var LEFT = \"Left\";\n var RIGHT = \"Right\";\n var UP = \"Up\";\n var DOWN = \"Down\";\n\n var defaultProps = {\n delta: 10,\n preventDefaultTouchmoveEvent: false,\n rotationAngle: 0,\n trackMouse: false,\n trackTouch: true\n };\n var initialState = {\n first: true,\n initial: [0, 0],\n start: 0,\n swiping: false,\n xy: [0, 0]\n };\n var mouseMove = \"mousemove\";\n var mouseUp = \"mouseup\";\n var touchEnd = \"touchend\";\n var touchMove = \"touchmove\";\n var touchStart = \"touchstart\";\n\n function getDirection(absX, absY, deltaX, deltaY) {\n if (absX > absY) {\n if (deltaX > 0) {\n return RIGHT;\n }\n\n return LEFT;\n } else if (deltaY > 0) {\n return DOWN;\n }\n\n return UP;\n }\n\n function rotateXYByAngle(pos, angle) {\n if (angle === 0) return pos;\n var angleInRadians = Math.PI / 180 * angle;\n var x = pos[0] * Math.cos(angleInRadians) + pos[1] * Math.sin(angleInRadians);\n var y = pos[1] * Math.cos(angleInRadians) - pos[0] * Math.sin(angleInRadians);\n return [x, y];\n }\n\n function getHandlers(set, handlerProps) {\n var onStart = function onStart(event) {\n if (event && \"touches\" in event && event.touches.length > 1) return;\n set(function (state, props) {\n if (props.trackMouse) {\n document.addEventListener(mouseMove, onMove);\n document.addEventListener(mouseUp, onUp);\n }\n\n var _ref = \"touches\" in event ? event.touches[0] : event,\n clientX = _ref.clientX,\n clientY = _ref.clientY;\n\n var xy = rotateXYByAngle([clientX, clientY], props.rotationAngle);\n return _extends({}, state, initialState, {\n initial: [].concat(xy),\n xy: xy,\n start: event.timeStamp || 0\n });\n });\n };\n\n var onMove = function onMove(event) {\n set(function (state, props) {\n if (\"touches\" in event && event.touches.length > 1) {\n return state;\n }\n\n var _ref2 = \"touches\" in event ? event.touches[0] : event,\n clientX = _ref2.clientX,\n clientY = _ref2.clientY;\n\n var _rotateXYByAngle = rotateXYByAngle([clientX, clientY], props.rotationAngle),\n x = _rotateXYByAngle[0],\n y = _rotateXYByAngle[1];\n\n var deltaX = x - state.xy[0];\n var deltaY = y - state.xy[1];\n var absX = Math.abs(deltaX);\n var absY = Math.abs(deltaY);\n var time = (event.timeStamp || 0) - state.start;\n var velocity = Math.sqrt(absX * absX + absY * absY) / (time || 1);\n var vxvy = [deltaX / (time || 1), deltaY / (time || 1)];\n var dir = getDirection(absX, absY, deltaX, deltaY);\n var delta = typeof props.delta === \"number\" ? props.delta : props.delta[dir.toLowerCase()] || defaultProps.delta;\n if (absX < delta && absY < delta && !state.swiping) return state;\n var eventData = {\n absX: absX,\n absY: absY,\n deltaX: deltaX,\n deltaY: deltaY,\n dir: dir,\n event: event,\n first: state.first,\n initial: state.initial,\n velocity: velocity,\n vxvy: vxvy\n };\n eventData.first && props.onSwipeStart && props.onSwipeStart(eventData);\n props.onSwiping && props.onSwiping(eventData);\n var cancelablePageSwipe = false;\n\n if (props.onSwiping || props.onSwiped || \"onSwiped\" + dir in props) {\n cancelablePageSwipe = true;\n }\n\n if (cancelablePageSwipe && props.preventDefaultTouchmoveEvent && props.trackTouch && event.cancelable) event.preventDefault();\n return _extends({}, state, {\n first: false,\n eventData: eventData,\n swiping: true\n });\n });\n };\n\n var onEnd = function onEnd(event) {\n set(function (state, props) {\n var eventData;\n\n if (state.swiping && state.eventData) {\n eventData = _extends({}, state.eventData, {\n event: event\n });\n props.onSwiped && props.onSwiped(eventData);\n var onSwipedDir = props[\"onSwiped\" + eventData.dir];\n onSwipedDir && onSwipedDir(eventData);\n } else {\n props.onTap && props.onTap({\n event: event\n });\n }\n\n return _extends({}, state, initialState, {\n eventData: eventData\n });\n });\n };\n\n var cleanUpMouse = function cleanUpMouse() {\n document.removeEventListener(mouseMove, onMove);\n document.removeEventListener(mouseUp, onUp);\n };\n\n var onUp = function onUp(e) {\n cleanUpMouse();\n onEnd(e);\n };\n\n var attachTouch = function attachTouch(el, passive) {\n var cleanup = function cleanup() {};\n\n if (el && el.addEventListener) {\n var tls = [[touchStart, onStart], [touchMove, onMove], [touchEnd, onEnd]];\n tls.forEach(function (_ref3) {\n var e = _ref3[0],\n h = _ref3[1];\n return el.addEventListener(e, h, {\n passive: passive\n });\n });\n\n cleanup = function cleanup() {\n return tls.forEach(function (_ref4) {\n var e = _ref4[0],\n h = _ref4[1];\n return el.removeEventListener(e, h);\n });\n };\n }\n\n return cleanup;\n };\n\n var onRef = function onRef(el) {\n if (el === null) return;\n set(function (state, props) {\n if (state.el === el) return state;\n var addState = {};\n\n if (state.el && state.el !== el && state.cleanUpTouch) {\n state.cleanUpTouch();\n addState.cleanUpTouch = undefined;\n }\n\n if (props.trackTouch && el) {\n addState.cleanUpTouch = attachTouch(el, !props.preventDefaultTouchmoveEvent);\n }\n\n return _extends({}, state, {\n el: el\n }, addState);\n });\n };\n\n var output = {\n ref: onRef\n };\n\n if (handlerProps.trackMouse) {\n output.onMouseDown = onStart;\n }\n\n return [output, attachTouch];\n }\n\n function updateTransientState(state, props, attachTouch) {\n var addState = {};\n\n if (!props.trackTouch && state.cleanUpTouch) {\n state.cleanUpTouch();\n addState.cleanUpTouch = undefined;\n } else if (props.trackTouch && !state.cleanUpTouch) {\n if (state.el) {\n addState.cleanUpTouch = attachTouch(state.el, !props.preventDefaultTouchmoveEvent);\n }\n }\n\n return _extends({}, state, addState);\n }\n\n function useSwipeable(options) {\n var trackMouse = options.trackMouse;\n var transientState = React__namespace.useRef(_extends({}, initialState));\n var transientProps = React__namespace.useRef(_extends({}, defaultProps));\n transientProps.current = _extends({}, defaultProps, options);\n\n var _React$useMemo = React__namespace.useMemo(function () {\n return getHandlers(function (stateSetter) {\n return transientState.current = stateSetter(transientState.current, transientProps.current);\n }, {\n trackMouse: trackMouse\n });\n }, [trackMouse]),\n handlers = _React$useMemo[0],\n attachTouch = _React$useMemo[1];\n\n transientState.current = updateTransientState(transientState.current, transientProps.current, attachTouch);\n return handlers;\n }\n\n exports.DOWN = DOWN;\n exports.LEFT = LEFT;\n exports.RIGHT = RIGHT;\n exports.UP = UP;\n exports.useSwipeable = useSwipeable;\n\n})));\n//# sourceMappingURL=react-swipeable.umd.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.defaultProps = exports.propTypes = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar string = _propTypes[\"default\"].string,\n bool = _propTypes[\"default\"].bool,\n number = _propTypes[\"default\"].number,\n array = _propTypes[\"default\"].array,\n oneOfType = _propTypes[\"default\"].oneOfType,\n shape = _propTypes[\"default\"].shape,\n object = _propTypes[\"default\"].object,\n func = _propTypes[\"default\"].func,\n node = _propTypes[\"default\"].node;\nvar propTypes = {\n url: oneOfType([string, array, object]),\n playing: bool,\n loop: bool,\n controls: bool,\n volume: number,\n muted: bool,\n playbackRate: number,\n width: oneOfType([string, number]),\n height: oneOfType([string, number]),\n style: object,\n progressInterval: number,\n playsinline: bool,\n pip: bool,\n stopOnUnmount: bool,\n light: oneOfType([bool, string]),\n playIcon: node,\n previewTabIndex: number,\n fallback: node,\n wrapper: oneOfType([string, func, shape({\n render: func.isRequired\n })]),\n config: shape({\n soundcloud: shape({\n options: object\n }),\n youtube: shape({\n playerVars: object,\n embedOptions: object,\n onUnstarted: func\n }),\n facebook: shape({\n appId: string,\n version: string,\n playerId: string,\n attributes: object\n }),\n dailymotion: shape({\n params: object\n }),\n vimeo: shape({\n playerOptions: object\n }),\n file: shape({\n attributes: object,\n tracks: array,\n forceVideo: bool,\n forceAudio: bool,\n forceHLS: bool,\n forceDASH: bool,\n forceFLV: bool,\n hlsOptions: object,\n hlsVersion: string,\n dashVersion: string,\n flvVersion: string\n }),\n wistia: shape({\n options: object,\n playerId: string,\n customControls: array\n }),\n mixcloud: shape({\n options: object\n }),\n twitch: shape({\n options: object,\n playerId: string\n }),\n vidyard: shape({\n options: object\n })\n }),\n onReady: func,\n onStart: func,\n onPlay: func,\n onPause: func,\n onBuffer: func,\n onBufferEnd: func,\n onEnded: func,\n onError: func,\n onDuration: func,\n onSeek: func,\n onProgress: func,\n onClickPreview: func,\n onEnablePIP: func,\n onDisablePIP: func\n};\nexports.propTypes = propTypes;\n\nvar noop = function noop() {};\n\nvar defaultProps = {\n playing: false,\n loop: false,\n controls: false,\n volume: null,\n muted: false,\n playbackRate: 1,\n width: '640px',\n height: '360px',\n style: {},\n progressInterval: 1000,\n playsinline: false,\n pip: false,\n stopOnUnmount: true,\n light: false,\n fallback: null,\n wrapper: 'div',\n previewTabIndex: 0,\n config: {\n soundcloud: {\n options: {\n visual: true,\n // Undocumented, but makes player fill container and look better\n buying: false,\n liking: false,\n download: false,\n sharing: false,\n show_comments: false,\n show_playcount: false\n }\n },\n youtube: {\n playerVars: {\n playsinline: 1,\n showinfo: 0,\n rel: 0,\n iv_load_policy: 3,\n modestbranding: 1\n },\n embedOptions: {},\n onUnstarted: noop\n },\n facebook: {\n appId: '1309697205772819',\n version: 'v3.3',\n playerId: null,\n attributes: {}\n },\n dailymotion: {\n params: {\n api: 1,\n 'endscreen-enable': false\n }\n },\n vimeo: {\n playerOptions: {\n autopause: false,\n byline: false,\n portrait: false,\n title: false\n }\n },\n file: {\n attributes: {},\n tracks: [],\n forceVideo: false,\n forceAudio: false,\n forceHLS: false,\n forceDASH: false,\n forceFLV: false,\n hlsOptions: {},\n hlsVersion: '0.14.16',\n dashVersion: '3.1.3',\n flvVersion: '1.5.0'\n },\n wistia: {\n options: {},\n playerId: null,\n customControls: null\n },\n mixcloud: {\n options: {\n hide_cover: 1\n }\n },\n twitch: {\n options: {},\n playerId: null\n },\n vidyard: {\n options: {}\n }\n },\n onReady: noop,\n onStart: noop,\n onPlay: noop,\n onPause: noop,\n onBuffer: noop,\n onBufferEnd: noop,\n onEnded: noop,\n onError: noop,\n onDuration: noop,\n onSeek: noop,\n onProgress: noop,\n onClickPreview: noop,\n onEnablePIP: noop,\n onDisablePIP: noop\n};\nexports.defaultProps = defaultProps;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canPlay = exports.FLV_EXTENSIONS = exports.DASH_EXTENSIONS = exports.HLS_EXTENSIONS = exports.VIDEO_EXTENSIONS = exports.AUDIO_EXTENSIONS = exports.MATCH_URL_KALTURA = exports.MATCH_URL_VIDYARD = exports.MATCH_URL_MIXCLOUD = exports.MATCH_URL_DAILYMOTION = exports.MATCH_URL_TWITCH_CHANNEL = exports.MATCH_URL_TWITCH_VIDEO = exports.MATCH_URL_WISTIA = exports.MATCH_URL_STREAMABLE = exports.MATCH_URL_FACEBOOK_WATCH = exports.MATCH_URL_FACEBOOK = exports.MATCH_URL_VIMEO = exports.MATCH_URL_SOUNDCLOUD = exports.MATCH_URL_YOUTUBE = void 0;\n\nvar _utils = require(\"./utils\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar MATCH_URL_YOUTUBE = /(?:youtu\\.be\\/|youtube(?:-nocookie)?\\.com\\/(?:embed\\/|v\\/|watch\\/|watch\\?v=|watch\\?.+&v=))((\\w|-){11})|youtube\\.com\\/playlist\\?list=|youtube\\.com\\/user\\//;\nexports.MATCH_URL_YOUTUBE = MATCH_URL_YOUTUBE;\nvar MATCH_URL_SOUNDCLOUD = /(?:soundcloud\\.com|snd\\.sc)\\/[^.]+$/;\nexports.MATCH_URL_SOUNDCLOUD = MATCH_URL_SOUNDCLOUD;\nvar MATCH_URL_VIMEO = /vimeo\\.com\\/.+/;\nexports.MATCH_URL_VIMEO = MATCH_URL_VIMEO;\nvar MATCH_URL_FACEBOOK = /^https?:\\/\\/(www\\.)?facebook\\.com.*\\/(video(s)?|watch|story)(\\.php?|\\/).+$/;\nexports.MATCH_URL_FACEBOOK = MATCH_URL_FACEBOOK;\nvar MATCH_URL_FACEBOOK_WATCH = /^https?:\\/\\/fb\\.watch\\/.+$/;\nexports.MATCH_URL_FACEBOOK_WATCH = MATCH_URL_FACEBOOK_WATCH;\nvar MATCH_URL_STREAMABLE = /streamable\\.com\\/([a-z0-9]+)$/;\nexports.MATCH_URL_STREAMABLE = MATCH_URL_STREAMABLE;\nvar MATCH_URL_WISTIA = /(?:wistia\\.(?:com|net)|wi\\.st)\\/(?:medias|embed)\\/(?:iframe\\/)?(.*)$/;\nexports.MATCH_URL_WISTIA = MATCH_URL_WISTIA;\nvar MATCH_URL_TWITCH_VIDEO = /(?:www\\.|go\\.)?twitch\\.tv\\/videos\\/(\\d+)($|\\?)/;\nexports.MATCH_URL_TWITCH_VIDEO = MATCH_URL_TWITCH_VIDEO;\nvar MATCH_URL_TWITCH_CHANNEL = /(?:www\\.|go\\.)?twitch\\.tv\\/([a-zA-Z0-9_]+)($|\\?)/;\nexports.MATCH_URL_TWITCH_CHANNEL = MATCH_URL_TWITCH_CHANNEL;\nvar MATCH_URL_DAILYMOTION = /^(?:(?:https?):)?(?:\\/\\/)?(?:www\\.)?(?:(?:dailymotion\\.com(?:\\/embed)?\\/video)|dai\\.ly)\\/([a-zA-Z0-9]+)(?:_[\\w_-]+)?$/;\nexports.MATCH_URL_DAILYMOTION = MATCH_URL_DAILYMOTION;\nvar MATCH_URL_MIXCLOUD = /mixcloud\\.com\\/([^/]+\\/[^/]+)/;\nexports.MATCH_URL_MIXCLOUD = MATCH_URL_MIXCLOUD;\nvar MATCH_URL_VIDYARD = /vidyard.com\\/(?:watch\\/)?([a-zA-Z0-9-]+)/;\nexports.MATCH_URL_VIDYARD = MATCH_URL_VIDYARD;\nvar MATCH_URL_KALTURA = /^https?:\\/\\/[a-zA-Z]+\\.kaltura.(com|org)\\/p\\/([0-9]+)\\/sp\\/([0-9]+)00\\/embedIframeJs\\/uiconf_id\\/([0-9]+)\\/partner_id\\/([0-9]+)(.*)entry_id.([a-zA-Z0-9-_]+)$/;\nexports.MATCH_URL_KALTURA = MATCH_URL_KALTURA;\nvar AUDIO_EXTENSIONS = /\\.(m4a|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\\?)/i;\nexports.AUDIO_EXTENSIONS = AUDIO_EXTENSIONS;\nvar VIDEO_EXTENSIONS = /\\.(mp4|og[gv]|webm|mov|m4v)($|\\?)/i;\nexports.VIDEO_EXTENSIONS = VIDEO_EXTENSIONS;\nvar HLS_EXTENSIONS = /\\.(m3u8)($|\\?)/i;\nexports.HLS_EXTENSIONS = HLS_EXTENSIONS;\nvar DASH_EXTENSIONS = /\\.(mpd)($|\\?)/i;\nexports.DASH_EXTENSIONS = DASH_EXTENSIONS;\nvar FLV_EXTENSIONS = /\\.(flv)($|\\?)/i;\nexports.FLV_EXTENSIONS = FLV_EXTENSIONS;\n\nvar canPlayFile = function canPlayFile(url) {\n if (url instanceof Array) {\n var _iterator = _createForOfIteratorHelper(url),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var item = _step.value;\n\n if (typeof item === 'string' && canPlayFile(item)) {\n return true;\n }\n\n if (canPlayFile(item.src)) {\n return true;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return false;\n }\n\n if ((0, _utils.isMediaStream)(url) || (0, _utils.isBlobUrl)(url)) {\n return true;\n }\n\n return AUDIO_EXTENSIONS.test(url) || VIDEO_EXTENSIONS.test(url) || HLS_EXTENSIONS.test(url) || DASH_EXTENSIONS.test(url) || FLV_EXTENSIONS.test(url);\n};\n\nvar canPlay = {\n youtube: function youtube(url) {\n if (url instanceof Array) {\n return url.every(function (item) {\n return MATCH_URL_YOUTUBE.test(item);\n });\n }\n\n return MATCH_URL_YOUTUBE.test(url);\n },\n soundcloud: function soundcloud(url) {\n return MATCH_URL_SOUNDCLOUD.test(url) && !AUDIO_EXTENSIONS.test(url);\n },\n vimeo: function vimeo(url) {\n return MATCH_URL_VIMEO.test(url) && !VIDEO_EXTENSIONS.test(url) && !HLS_EXTENSIONS.test(url);\n },\n facebook: function facebook(url) {\n return MATCH_URL_FACEBOOK.test(url) || MATCH_URL_FACEBOOK_WATCH.test(url);\n },\n streamable: function streamable(url) {\n return MATCH_URL_STREAMABLE.test(url);\n },\n wistia: function wistia(url) {\n return MATCH_URL_WISTIA.test(url);\n },\n twitch: function twitch(url) {\n return MATCH_URL_TWITCH_VIDEO.test(url) || MATCH_URL_TWITCH_CHANNEL.test(url);\n },\n dailymotion: function dailymotion(url) {\n return MATCH_URL_DAILYMOTION.test(url);\n },\n mixcloud: function mixcloud(url) {\n return MATCH_URL_MIXCLOUD.test(url);\n },\n vidyard: function vidyard(url) {\n return MATCH_URL_VIDYARD.test(url);\n },\n kaltura: function kaltura(url) {\n return MATCH_URL_KALTURA.test(url);\n },\n file: canPlayFile\n};\nexports.canPlay = canPlay;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = require(\"react\");\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nvar _default = [{\n key: 'youtube',\n name: 'YouTube',\n canPlay: _patterns.canPlay.youtube,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerYouTube' */\n './YouTube');\n })\n}, {\n key: 'soundcloud',\n name: 'SoundCloud',\n canPlay: _patterns.canPlay.soundcloud,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerSoundCloud' */\n './SoundCloud');\n })\n}, {\n key: 'vimeo',\n name: 'Vimeo',\n canPlay: _patterns.canPlay.vimeo,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerVimeo' */\n './Vimeo');\n })\n}, {\n key: 'facebook',\n name: 'Facebook',\n canPlay: _patterns.canPlay.facebook,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerFacebook' */\n './Facebook');\n })\n}, {\n key: 'streamable',\n name: 'Streamable',\n canPlay: _patterns.canPlay.streamable,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerStreamable' */\n './Streamable');\n })\n}, {\n key: 'wistia',\n name: 'Wistia',\n canPlay: _patterns.canPlay.wistia,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerWistia' */\n './Wistia');\n })\n}, {\n key: 'twitch',\n name: 'Twitch',\n canPlay: _patterns.canPlay.twitch,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerTwitch' */\n './Twitch');\n })\n}, {\n key: 'dailymotion',\n name: 'DailyMotion',\n canPlay: _patterns.canPlay.dailymotion,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerDailyMotion' */\n './DailyMotion');\n })\n}, {\n key: 'mixcloud',\n name: 'Mixcloud',\n canPlay: _patterns.canPlay.mixcloud,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerMixcloud' */\n './Mixcloud');\n })\n}, {\n key: 'vidyard',\n name: 'Vidyard',\n canPlay: _patterns.canPlay.vidyard,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerVidyard' */\n './Vidyard');\n })\n}, {\n key: 'kaltura',\n name: 'Kaltura',\n canPlay: _patterns.canPlay.kaltura,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerKaltura' */\n './Kaltura');\n })\n}, {\n key: 'file',\n name: 'FilePlayer',\n canPlay: _patterns.canPlay.file,\n canEnablePIP: function canEnablePIP(url) {\n return _patterns.canPlay.file(url) && (document.pictureInPictureEnabled || (0, _utils.supportsWebKitPresentationMode)()) && !_patterns.AUDIO_EXTENSIONS.test(url);\n },\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerFilePlayer' */\n './FilePlayer');\n })\n}];\nexports[\"default\"] = _default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createReactPlayer = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _deepmerge = _interopRequireDefault(require(\"deepmerge\"));\n\nvar _memoizeOne = _interopRequireDefault(require(\"memoize-one\"));\n\nvar _reactFastCompare = _interopRequireDefault(require(\"react-fast-compare\"));\n\nvar _props = require(\"./props\");\n\nvar _utils = require(\"./utils\");\n\nvar _Player3 = _interopRequireDefault(require(\"./Player\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar Preview = /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerPreview' */\n './Preview');\n});\nvar IS_BROWSER = typeof window !== 'undefined' && window.document;\nvar IS_GLOBAL = typeof global !== 'undefined' && global.window && global.window.document;\nvar SUPPORTED_PROPS = Object.keys(_props.propTypes); // Return null when rendering on the server\n// as Suspense is not supported yet\n\nvar UniversalSuspense = IS_BROWSER || IS_GLOBAL ? _react.Suspense : function () {\n return null;\n};\nvar customPlayers = [];\n\nvar createReactPlayer = function createReactPlayer(players, fallback) {\n var _class, _temp;\n\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inherits(ReactPlayer, _Component);\n\n var _super = _createSuper(ReactPlayer);\n\n function ReactPlayer() {\n var _this;\n\n _classCallCheck(this, ReactPlayer);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n showPreview: !!_this.props.light\n });\n\n _defineProperty(_assertThisInitialized(_this), \"references\", {\n wrapper: function wrapper(_wrapper) {\n _this.wrapper = _wrapper;\n },\n player: function player(_player) {\n _this.player = _player;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleClickPreview\", function (e) {\n _this.setState({\n showPreview: false\n });\n\n _this.props.onClickPreview(e);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"showPreview\", function () {\n _this.setState({\n showPreview: true\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getDuration\", function () {\n if (!_this.player) return null;\n return _this.player.getDuration();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getCurrentTime\", function () {\n if (!_this.player) return null;\n return _this.player.getCurrentTime();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getSecondsLoaded\", function () {\n if (!_this.player) return null;\n return _this.player.getSecondsLoaded();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getInternalPlayer\", function () {\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'player';\n if (!_this.player) return null;\n return _this.player.getInternalPlayer(key);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"seekTo\", function (fraction, type) {\n if (!_this.player) return null;\n\n _this.player.seekTo(fraction, type);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleReady\", function () {\n _this.props.onReady(_assertThisInitialized(_this));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getActivePlayer\", (0, _memoizeOne[\"default\"])(function (url) {\n for (var _i = 0, _arr = [].concat(customPlayers, _toConsumableArray(players)); _i < _arr.length; _i++) {\n var player = _arr[_i];\n\n if (player.canPlay(url)) {\n return player;\n }\n }\n\n if (fallback) {\n return fallback;\n }\n\n return null;\n }));\n\n _defineProperty(_assertThisInitialized(_this), \"getConfig\", (0, _memoizeOne[\"default\"])(function (url, key) {\n var config = _this.props.config;\n return _deepmerge[\"default\"].all([_props.defaultProps.config, _props.defaultProps.config[key] || {}, config, config[key] || {}]);\n }));\n\n _defineProperty(_assertThisInitialized(_this), \"getAttributes\", (0, _memoizeOne[\"default\"])(function (url) {\n return (0, _utils.omit)(_this.props, SUPPORTED_PROPS);\n }));\n\n _defineProperty(_assertThisInitialized(_this), \"renderActivePlayer\", function (url) {\n if (!url) return null;\n\n var player = _this.getActivePlayer(url);\n\n if (!player) return null;\n\n var config = _this.getConfig(url, player.key);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_Player3[\"default\"], _extends({}, _this.props, {\n key: player.key,\n ref: _this.references.player,\n config: config,\n activePlayer: player.lazyPlayer || player,\n onReady: _this.handleReady\n }));\n });\n\n return _this;\n }\n\n _createClass(ReactPlayer, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !(0, _reactFastCompare[\"default\"])(this.props, nextProps) || !(0, _reactFastCompare[\"default\"])(this.state, nextState);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var light = this.props.light;\n\n if (!prevProps.light && light) {\n this.setState({\n showPreview: true\n });\n }\n\n if (prevProps.light && !light) {\n this.setState({\n showPreview: false\n });\n }\n }\n }, {\n key: \"renderPreview\",\n value: function renderPreview(url) {\n if (!url) return null;\n var _this$props = this.props,\n light = _this$props.light,\n playIcon = _this$props.playIcon,\n previewTabIndex = _this$props.previewTabIndex;\n return /*#__PURE__*/_react[\"default\"].createElement(Preview, {\n url: url,\n light: light,\n playIcon: playIcon,\n previewTabIndex: previewTabIndex,\n onClick: this.handleClickPreview\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n url = _this$props2.url,\n style = _this$props2.style,\n width = _this$props2.width,\n height = _this$props2.height,\n fallback = _this$props2.fallback,\n Wrapper = _this$props2.wrapper;\n var showPreview = this.state.showPreview;\n var attributes = this.getAttributes(url);\n return /*#__PURE__*/_react[\"default\"].createElement(Wrapper, _extends({\n ref: this.references.wrapper,\n style: _objectSpread(_objectSpread({}, style), {}, {\n width: width,\n height: height\n })\n }, attributes), /*#__PURE__*/_react[\"default\"].createElement(UniversalSuspense, {\n fallback: fallback\n }, showPreview ? this.renderPreview(url) : this.renderActivePlayer(url)));\n }\n }]);\n\n return ReactPlayer;\n }(_react.Component), _defineProperty(_class, \"displayName\", 'ReactPlayer'), _defineProperty(_class, \"propTypes\", _props.propTypes), _defineProperty(_class, \"defaultProps\", _props.defaultProps), _defineProperty(_class, \"addCustomPlayer\", function (player) {\n customPlayers.push(player);\n }), _defineProperty(_class, \"removeCustomPlayers\", function () {\n customPlayers.length = 0;\n }), _defineProperty(_class, \"canPlay\", function (url) {\n for (var _i2 = 0, _arr2 = [].concat(customPlayers, _toConsumableArray(players)); _i2 < _arr2.length; _i2++) {\n var _Player = _arr2[_i2];\n\n if (_Player.canPlay(url)) {\n return true;\n }\n }\n\n return false;\n }), _defineProperty(_class, \"canEnablePIP\", function (url) {\n for (var _i3 = 0, _arr3 = [].concat(customPlayers, _toConsumableArray(players)); _i3 < _arr3.length; _i3++) {\n var _Player2 = _arr3[_i3];\n\n if (_Player2.canEnablePIP && _Player2.canEnablePIP(url)) {\n return true;\n }\n }\n\n return false;\n }), _temp;\n};\n\nexports.createReactPlayer = createReactPlayer;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _reactFastCompare = _interopRequireDefault(require(\"react-fast-compare\"));\n\nvar _props = require(\"./props\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SEEK_ON_PLAY_EXPIRY = 5000;\n\nvar Player = /*#__PURE__*/function (_Component) {\n _inherits(Player, _Component);\n\n var _super = _createSuper(Player);\n\n function Player() {\n var _this;\n\n _classCallCheck(this, Player);\n\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(_args));\n\n _defineProperty(_assertThisInitialized(_this), \"mounted\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"isReady\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"isPlaying\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"isLoading\", true);\n\n _defineProperty(_assertThisInitialized(_this), \"loadOnReady\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"startOnPlay\", true);\n\n _defineProperty(_assertThisInitialized(_this), \"seekOnPlay\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"onDurationCalled\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"handlePlayerMount\", function (player) {\n _this.player = player;\n\n _this.player.load(_this.props.url);\n\n _this.progress();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getInternalPlayer\", function (key) {\n if (!_this.player) return null;\n return _this.player[key];\n });\n\n _defineProperty(_assertThisInitialized(_this), \"progress\", function () {\n if (_this.props.url && _this.player && _this.isReady) {\n var playedSeconds = _this.getCurrentTime() || 0;\n\n var loadedSeconds = _this.getSecondsLoaded();\n\n var duration = _this.getDuration();\n\n if (duration) {\n var progress = {\n playedSeconds: playedSeconds,\n played: playedSeconds / duration\n };\n\n if (loadedSeconds !== null) {\n progress.loadedSeconds = loadedSeconds;\n progress.loaded = loadedSeconds / duration;\n } // Only call onProgress if values have changed\n\n\n if (progress.playedSeconds !== _this.prevPlayed || progress.loadedSeconds !== _this.prevLoaded) {\n _this.props.onProgress(progress);\n }\n\n _this.prevPlayed = progress.playedSeconds;\n _this.prevLoaded = progress.loadedSeconds;\n }\n }\n\n _this.progressTimeout = setTimeout(_this.progress, _this.props.progressFrequency || _this.props.progressInterval);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleReady\", function () {\n if (!_this.mounted) return;\n _this.isReady = true;\n _this.isLoading = false;\n var _this$props = _this.props,\n onReady = _this$props.onReady,\n playing = _this$props.playing,\n volume = _this$props.volume,\n muted = _this$props.muted;\n onReady();\n\n if (!muted && volume !== null) {\n _this.player.setVolume(volume);\n }\n\n if (_this.loadOnReady) {\n _this.player.load(_this.loadOnReady, true);\n\n _this.loadOnReady = null;\n } else if (playing) {\n _this.player.play();\n }\n\n _this.handleDurationCheck();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handlePlay\", function () {\n _this.isPlaying = true;\n _this.isLoading = false;\n var _this$props2 = _this.props,\n onStart = _this$props2.onStart,\n onPlay = _this$props2.onPlay,\n playbackRate = _this$props2.playbackRate;\n\n if (_this.startOnPlay) {\n if (_this.player.setPlaybackRate && playbackRate !== 1) {\n _this.player.setPlaybackRate(playbackRate);\n }\n\n onStart();\n _this.startOnPlay = false;\n }\n\n onPlay();\n\n if (_this.seekOnPlay) {\n _this.seekTo(_this.seekOnPlay);\n\n _this.seekOnPlay = null;\n }\n\n _this.handleDurationCheck();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handlePause\", function (e) {\n _this.isPlaying = false;\n\n if (!_this.isLoading) {\n _this.props.onPause(e);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleEnded\", function () {\n var _this$props3 = _this.props,\n activePlayer = _this$props3.activePlayer,\n loop = _this$props3.loop,\n onEnded = _this$props3.onEnded;\n\n if (activePlayer.loopOnEnded && loop) {\n _this.seekTo(0);\n }\n\n if (!loop) {\n _this.isPlaying = false;\n onEnded();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleError\", function () {\n var _this$props4;\n\n _this.isLoading = false;\n\n (_this$props4 = _this.props).onError.apply(_this$props4, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleDurationCheck\", function () {\n clearTimeout(_this.durationCheckTimeout);\n\n var duration = _this.getDuration();\n\n if (duration) {\n if (!_this.onDurationCalled) {\n _this.props.onDuration(duration);\n\n _this.onDurationCalled = true;\n }\n } else {\n _this.durationCheckTimeout = setTimeout(_this.handleDurationCheck, 100);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleLoaded\", function () {\n // Sometimes we know loading has stopped but onReady/onPlay are never called\n // so this provides a way for players to avoid getting stuck\n _this.isLoading = false;\n });\n\n return _this;\n }\n\n _createClass(Player, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.mounted = true;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n clearTimeout(this.progressTimeout);\n clearTimeout(this.durationCheckTimeout);\n\n if (this.isReady && this.props.stopOnUnmount) {\n this.player.stop();\n\n if (this.player.disablePIP) {\n this.player.disablePIP();\n }\n }\n\n this.mounted = false;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this2 = this;\n\n // If there isn’t a player available, don’t do anything\n if (!this.player) {\n return;\n } // Invoke player methods based on changed props\n\n\n var _this$props5 = this.props,\n url = _this$props5.url,\n playing = _this$props5.playing,\n volume = _this$props5.volume,\n muted = _this$props5.muted,\n playbackRate = _this$props5.playbackRate,\n pip = _this$props5.pip,\n loop = _this$props5.loop,\n activePlayer = _this$props5.activePlayer;\n\n if (!(0, _reactFastCompare[\"default\"])(prevProps.url, url)) {\n if (this.isLoading && !activePlayer.forceLoad) {\n console.warn(\"ReactPlayer: the attempt to load \".concat(url, \" is being deferred until the player has loaded\"));\n this.loadOnReady = url;\n return;\n }\n\n this.isLoading = true;\n this.startOnPlay = true;\n this.onDurationCalled = false;\n this.player.load(url, this.isReady);\n }\n\n if (!prevProps.playing && playing && !this.isPlaying) {\n this.player.play();\n }\n\n if (prevProps.playing && !playing && this.isPlaying) {\n this.player.pause();\n }\n\n if (!prevProps.pip && pip && this.player.enablePIP) {\n this.player.enablePIP();\n }\n\n if (prevProps.pip && !pip && this.player.disablePIP) {\n this.player.disablePIP();\n }\n\n if (prevProps.volume !== volume && volume !== null) {\n this.player.setVolume(volume);\n }\n\n if (prevProps.muted !== muted) {\n if (muted) {\n this.player.mute();\n } else {\n this.player.unmute();\n\n if (volume !== null) {\n // Set volume next tick to fix a bug with DailyMotion\n setTimeout(function () {\n return _this2.player.setVolume(volume);\n });\n }\n }\n }\n\n if (prevProps.playbackRate !== playbackRate && this.player.setPlaybackRate) {\n this.player.setPlaybackRate(playbackRate);\n }\n\n if (prevProps.loop !== loop && this.player.setLoop) {\n this.player.setLoop(loop);\n }\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n if (!this.isReady) return null;\n return this.player.getDuration();\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n if (!this.isReady) return null;\n return this.player.getCurrentTime();\n }\n }, {\n key: \"getSecondsLoaded\",\n value: function getSecondsLoaded() {\n if (!this.isReady) return null;\n return this.player.getSecondsLoaded();\n }\n }, {\n key: \"seekTo\",\n value: function seekTo(amount, type) {\n var _this3 = this;\n\n // When seeking before player is ready, store value and seek later\n if (!this.isReady && amount !== 0) {\n this.seekOnPlay = amount;\n setTimeout(function () {\n _this3.seekOnPlay = null;\n }, SEEK_ON_PLAY_EXPIRY);\n return;\n }\n\n var isFraction = !type ? amount > 0 && amount < 1 : type === 'fraction';\n\n if (isFraction) {\n // Convert fraction to seconds based on duration\n var duration = this.player.getDuration();\n\n if (!duration) {\n console.warn('ReactPlayer: could not seek using fraction – duration not yet available');\n return;\n }\n\n this.player.seekTo(duration * amount);\n return;\n }\n\n this.player.seekTo(amount);\n }\n }, {\n key: \"render\",\n value: function render() {\n var Player = this.props.activePlayer;\n\n if (!Player) {\n return null;\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(Player, _extends({}, this.props, {\n onMount: this.handlePlayerMount,\n onReady: this.handleReady,\n onPlay: this.handlePlay,\n onPause: this.handlePause,\n onEnded: this.handleEnded,\n onLoaded: this.handleLoaded,\n onError: this.handleError\n }));\n }\n }]);\n\n return Player;\n}(_react.Component);\n\nexports[\"default\"] = Player;\n\n_defineProperty(Player, \"displayName\", 'Player');\n\n_defineProperty(Player, \"propTypes\", _props.propTypes);\n\n_defineProperty(Player, \"defaultProps\", _props.defaultProps);","import { __read } from 'tslib';\nimport { useState } from 'react';\nimport { motionValue } from '../value/index.js';\nimport { useOnChange } from '../value/use-on-change.js';\n\n// Does this device prefer reduced motion? Returns `null` server-side.\nvar prefersReducedMotion;\nfunction initPrefersReducedMotion() {\n prefersReducedMotion = motionValue(null);\n if (typeof window === \"undefined\")\n return;\n if (window.matchMedia) {\n var motionMediaQuery_1 = window.matchMedia(\"(prefers-reduced-motion)\");\n var setReducedMotionPreferences = function () {\n return prefersReducedMotion.set(motionMediaQuery_1.matches);\n };\n motionMediaQuery_1.addListener(setReducedMotionPreferences);\n setReducedMotionPreferences();\n }\n else {\n prefersReducedMotion.set(false);\n }\n}\n/**\n * A hook that returns `true` if we should be using reduced motion based on the current device's Reduced Motion setting.\n *\n * This can be used to implement changes to your UI based on Reduced Motion. For instance, replacing motion-sickness inducing\n * `x`/`y` animations with `opacity`, disabling the autoplay of background videos, or turning off parallax motion.\n *\n * It will actively respond to changes and re-render your components with the latest setting.\n *\n * ```jsx\n * export function Sidebar({ isOpen }) {\n * const shouldReduceMotion = useReducedMotion()\n * const closedX = shouldReduceMotion ? 0 : \"-100%\"\n *\n * return (\n * \n * )\n * }\n * ```\n *\n * @return boolean\n *\n * @public\n */\nfunction useReducedMotion() {\n /**\n * Lazy initialisation of prefersReducedMotion\n */\n !prefersReducedMotion && initPrefersReducedMotion();\n var _a = __read(useState(prefersReducedMotion.get()), 2), shouldReduceMotion = _a[0], setShouldReduceMotion = _a[1];\n useOnChange(prefersReducedMotion, setShouldReduceMotion);\n return shouldReduceMotion;\n}\n\nexport { useReducedMotion };\n","import { useEffect } from 'react';\nimport { isMotionValue } from './utils/is-motion-value.js';\n\nfunction useOnChange(value, callback) {\n useEffect(function () {\n if (isMotionValue(value))\n return value.onChange(callback);\n }, [callback]);\n}\nfunction useMultiOnChange(values, handler) {\n useEffect(function () {\n var subscriptions = values.map(function (value) { return value.onChange(handler); });\n return function () { return subscriptions.forEach(function (unsubscribe) { return unsubscribe(); }); };\n });\n}\n\nexport { useMultiOnChange, useOnChange };\n","import { useEffect, useRef } from 'react';\nvar useInterval = function (callback, delay) {\n var savedCallback = useRef(function () { });\n useEffect(function () {\n savedCallback.current = callback;\n });\n useEffect(function () {\n if (delay !== null) {\n var interval_1 = setInterval(function () { return savedCallback.current(); }, delay || 0);\n return function () { return clearInterval(interval_1); };\n }\n return undefined;\n }, [delay]);\n};\nexport default useInterval;\n","import * as React from 'react';\nimport { useMemo } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.js';\nimport { useConstant } from '../../utils/use-constant.js';\n\nvar presenceId = 0;\nfunction getPresenceId() {\n var id = presenceId;\n presenceId++;\n return id;\n}\nvar PresenceChild = function (_a) {\n var children = _a.children, initial = _a.initial, isPresent = _a.isPresent, onExitComplete = _a.onExitComplete, custom = _a.custom, presenceAffectsLayout = _a.presenceAffectsLayout;\n var presenceChildren = useConstant(newChildrenMap);\n var id = useConstant(getPresenceId);\n var context = useMemo(function () { return ({\n id: id,\n initial: initial,\n isPresent: isPresent,\n custom: custom,\n onExitComplete: function (childId) {\n presenceChildren.set(childId, true);\n var allComplete = true;\n presenceChildren.forEach(function (isComplete) {\n if (!isComplete)\n allComplete = false;\n });\n allComplete && (onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete());\n },\n register: function (childId) {\n presenceChildren.set(childId, false);\n return function () { return presenceChildren.delete(childId); };\n },\n }); }, \n /**\n * If the presence of a child affects the layout of the components around it,\n * we want to make a new context value to ensure they get re-rendered\n * so they can detect that layout change.\n */\n presenceAffectsLayout ? undefined : [isPresent]);\n useMemo(function () {\n presenceChildren.forEach(function (_, key) { return presenceChildren.set(key, false); });\n }, [isPresent]);\n /**\n * If there's no `motion` components to fire exit animations, we want to remove this\n * component immediately.\n */\n React.useEffect(function () {\n !isPresent && !presenceChildren.size && (onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete());\n }, [isPresent]);\n return (React.createElement(PresenceContext.Provider, { value: context }, children));\n};\nfunction newChildrenMap() {\n return new Map();\n}\n\nexport { PresenceChild };\n","import sync from 'framesync';\nimport { copyAxisBox } from '../../../utils/geometry/index.js';\nimport { compareByDepth } from '../../utils/compare-by-depth.js';\n\nfunction isProjecting(visualElement) {\n var isEnabled = visualElement.projection.isEnabled;\n return isEnabled || visualElement.shouldResetTransform();\n}\nfunction collectProjectingAncestors(visualElement, ancestors) {\n if (ancestors === void 0) { ancestors = []; }\n var parent = visualElement.parent;\n if (parent)\n collectProjectingAncestors(parent, ancestors);\n if (isProjecting(visualElement))\n ancestors.push(visualElement);\n return ancestors;\n}\nfunction collectProjectingChildren(visualElement) {\n var children = [];\n var addChild = function (child) {\n if (isProjecting(child))\n children.push(child);\n child.children.forEach(addChild);\n };\n visualElement.children.forEach(addChild);\n return children.sort(compareByDepth);\n}\n/**\n * Update the layoutState by measuring the DOM layout. This\n * should be called after resetting any layout-affecting transforms.\n */\nfunction updateLayoutMeasurement(visualElement) {\n if (visualElement.shouldResetTransform())\n return;\n var layoutState = visualElement.getLayoutState();\n visualElement.notifyBeforeLayoutMeasure(layoutState.layout);\n layoutState.isHydrated = true;\n layoutState.layout = visualElement.measureViewportBox();\n layoutState.layoutCorrected = copyAxisBox(layoutState.layout);\n visualElement.notifyLayoutMeasure(layoutState.layout, visualElement.prevViewportBox || layoutState.layout);\n sync.update(function () { return visualElement.rebaseProjectionTarget(); });\n}\n/**\n * Record the viewport box as it was before an expected mutation/re-render\n */\nfunction snapshotViewportBox(visualElement) {\n if (visualElement.shouldResetTransform())\n return;\n visualElement.prevViewportBox = visualElement.measureViewportBox(false);\n /**\n * Update targetBox to match the prevViewportBox. This is just to ensure\n * that targetBox is affected by scroll in the same way as the measured box\n */\n visualElement.rebaseProjectionTarget(false, visualElement.prevViewportBox);\n}\n\nexport { collectProjectingAncestors, collectProjectingChildren, snapshotViewportBox, updateLayoutMeasurement };\n","var unresolvedJobs = new Set();\nfunction pushJob(stack, job, pointer) {\n if (!stack[pointer])\n stack[pointer] = [];\n stack[pointer].push(job);\n}\nfunction batchLayout(callback) {\n unresolvedJobs.add(callback);\n return function () { return unresolvedJobs.delete(callback); };\n}\nfunction flushLayout() {\n if (!unresolvedJobs.size)\n return;\n var pointer = 0;\n var reads = [[]];\n var writes = [];\n var setRead = function (job) { return pushJob(reads, job, pointer); };\n var setWrite = function (job) {\n pushJob(writes, job, pointer);\n pointer++;\n };\n /**\n * Resolve jobs into their array stacks\n */\n unresolvedJobs.forEach(function (callback) {\n callback(setRead, setWrite);\n pointer = 0;\n });\n unresolvedJobs.clear();\n /**\n * Execute jobs\n */\n var numStacks = writes.length;\n for (var i = 0; i <= numStacks; i++) {\n reads[i] && reads[i].forEach(executeJob);\n writes[i] && writes[i].forEach(executeJob);\n }\n}\nvar executeJob = function (job) { return job(); };\n\nexport { batchLayout, flushLayout };\n","import { __spreadArray, __read } from 'tslib';\nimport sync, { flushSync } from 'framesync';\nimport { collectProjectingAncestors, updateLayoutMeasurement } from '../../../render/dom/projection/utils.js';\nimport { batchLayout, flushLayout } from '../../../render/dom/utils/batch-layout.js';\nimport { compareByDepth } from '../../../render/utils/compare-by-depth.js';\nimport { Presence } from '../types.js';\n\n/**\n * Default handlers for batching VisualElements\n */\nvar defaultHandler = {\n layoutReady: function (child) { return child.notifyLayoutReady(); },\n};\n/**\n * Create a batcher to process VisualElements\n */\nfunction createBatcher() {\n var queue = new Set();\n return {\n add: function (child) { return queue.add(child); },\n flush: function (_a) {\n var _b = _a === void 0 ? defaultHandler : _a, layoutReady = _b.layoutReady, parent = _b.parent;\n batchLayout(function (read, write) {\n var order = Array.from(queue).sort(compareByDepth);\n var ancestors = parent\n ? collectProjectingAncestors(parent)\n : [];\n write(function () {\n var allElements = __spreadArray(__spreadArray([], __read(ancestors)), __read(order));\n allElements.forEach(function (element) { return element.resetTransform(); });\n });\n read(function () {\n order.forEach(updateLayoutMeasurement);\n });\n write(function () {\n ancestors.forEach(function (element) { return element.restoreTransform(); });\n order.forEach(layoutReady);\n });\n read(function () {\n /**\n * After all children have started animating, ensure any Entering components are set to Present.\n * If we add deferred animations (set up all animations and then start them in two loops) this\n * could be moved to the start loop. But it needs to happen after all the animations configs\n * are generated in AnimateSharedLayout as this relies on presence data\n */\n order.forEach(function (child) {\n if (child.isPresent)\n child.presence = Presence.Present;\n });\n });\n write(function () {\n /**\n * Starting these animations will have queued jobs on the frame loop. In some situations,\n * like when removing an element, these will be processed too late after the DOM is manipulated,\n * leaving a flash of incorrectly-projected content. By manually flushing these jobs\n * we ensure there's no flash.\n */\n flushSync.preRender();\n flushSync.render();\n });\n read(function () {\n /**\n * Schedule a callback at the end of the following frame to assign the latest projection\n * box to the prevViewportBox snapshot. Once global batching is in place this could be run\n * synchronously. But for now it ensures that if any nested `AnimateSharedLayout` top-level\n * child attempts to calculate its previous relative position against a prevViewportBox\n * it will be against its latest projection box instead, as the snapshot is useless beyond this\n * render.\n */\n sync.postRender(function () {\n return order.forEach(assignProjectionToSnapshot);\n });\n queue.clear();\n });\n });\n // TODO: Need to find a layout-synchronous way of flushing this\n flushLayout();\n },\n };\n}\nfunction assignProjectionToSnapshot(child) {\n child.prevViewportBox = child.projection.target;\n}\n\nexport { createBatcher };\n","import { createContext } from 'react';\nimport { createBatcher } from '../components/AnimateSharedLayout/utils/batcher.js';\n\nvar SharedLayoutContext = createContext(createBatcher());\n/**\n * @internal\n */\nvar FramerTreeLayoutContext = createContext(createBatcher());\nfunction isSharedLayout(context) {\n return !!context.forceUpdate;\n}\n\nexport { FramerTreeLayoutContext, SharedLayoutContext, isSharedLayout };\n","import { __spreadArray, __read } from 'tslib';\nimport * as React from 'react';\nimport { useContext, useRef, cloneElement, Children, isValidElement } from 'react';\nimport { useForceUpdate } from '../../utils/use-force-update.js';\nimport { PresenceChild } from './PresenceChild.js';\nimport { SharedLayoutContext, isSharedLayout } from '../../context/SharedLayoutContext.js';\n\nfunction getChildKey(child) {\n return child.key || \"\";\n}\nfunction updateChildLookup(children, allChildren) {\n var seenChildren = process.env.NODE_ENV !== \"production\" ? new Set() : null;\n children.forEach(function (child) {\n var key = getChildKey(child);\n if (process.env.NODE_ENV !== \"production\" && seenChildren) {\n if (seenChildren.has(key)) {\n console.warn(\"Children of AnimatePresence require unique keys. \\\"\" + key + \"\\\" is a duplicate.\");\n }\n seenChildren.add(key);\n }\n allChildren.set(key, child);\n });\n}\nfunction onlyElements(children) {\n var filtered = [];\n // We use forEach here instead of map as map mutates the component key by preprending `.$`\n Children.forEach(children, function (child) {\n if (isValidElement(child))\n filtered.push(child);\n });\n return filtered;\n}\n/**\n * `AnimatePresence` enables the animation of components that have been removed from the tree.\n *\n * When adding/removing more than a single child, every child **must** be given a unique `key` prop.\n *\n * @library\n *\n * Any `Frame` components that have an `exit` property defined will animate out when removed from\n * the tree.\n *\n * ```jsx\n * import { Frame, AnimatePresence } from 'framer'\n *\n * // As items are added and removed from `items`\n * export function Items({ items }) {\n * return (\n * \n * {items.map(item => (\n * \n * ))}\n * \n * )\n * }\n * ```\n *\n * You can sequence exit animations throughout a tree using variants.\n *\n * @motion\n *\n * Any `motion` components that have an `exit` property defined will animate out when removed from\n * the tree.\n *\n * ```jsx\n * import { motion, AnimatePresence } from 'framer-motion'\n *\n * export const Items = ({ items }) => (\n * \n * {items.map(item => (\n * \n * ))}\n * \n * )\n * ```\n *\n * You can sequence exit animations throughout a tree using variants.\n *\n * If a child contains multiple `motion` components with `exit` props, it will only unmount the child\n * once all `motion` components have finished animating out. Likewise, any components using\n * `usePresence` all need to call `safeToRemove`.\n *\n * @public\n */\nvar AnimatePresence = function (_a) {\n var children = _a.children, custom = _a.custom, _b = _a.initial, initial = _b === void 0 ? true : _b, onExitComplete = _a.onExitComplete, exitBeforeEnter = _a.exitBeforeEnter, _c = _a.presenceAffectsLayout, presenceAffectsLayout = _c === void 0 ? true : _c;\n // We want to force a re-render once all exiting animations have finished. We\n // either use a local forceRender function, or one from a parent context if it exists.\n var forceRender = useForceUpdate();\n var layoutContext = useContext(SharedLayoutContext);\n if (isSharedLayout(layoutContext)) {\n forceRender = layoutContext.forceUpdate;\n }\n var isInitialRender = useRef(true);\n // Filter out any children that aren't ReactElements. We can only track ReactElements with a props.key\n var filteredChildren = onlyElements(children);\n // Keep a living record of the children we're actually rendering so we\n // can diff to figure out which are entering and exiting\n var presentChildren = useRef(filteredChildren);\n // A lookup table to quickly reference components by key\n var allChildren = useRef(new Map())\n .current;\n // A living record of all currently exiting components.\n var exiting = useRef(new Set()).current;\n updateChildLookup(filteredChildren, allChildren);\n // If this is the initial component render, just deal with logic surrounding whether\n // we play onMount animations or not.\n if (isInitialRender.current) {\n isInitialRender.current = false;\n return (React.createElement(React.Fragment, null, filteredChildren.map(function (child) { return (React.createElement(PresenceChild, { key: getChildKey(child), isPresent: true, initial: initial ? undefined : false, presenceAffectsLayout: presenceAffectsLayout }, child)); })));\n }\n // If this is a subsequent render, deal with entering and exiting children\n var childrenToRender = __spreadArray([], __read(filteredChildren));\n // Diff the keys of the currently-present and target children to update our\n // exiting list.\n var presentKeys = presentChildren.current.map(getChildKey);\n var targetKeys = filteredChildren.map(getChildKey);\n // Diff the present children with our target children and mark those that are exiting\n var numPresent = presentKeys.length;\n for (var i = 0; i < numPresent; i++) {\n var key = presentKeys[i];\n if (targetKeys.indexOf(key) === -1) {\n exiting.add(key);\n }\n else {\n // In case this key has re-entered, remove from the exiting list\n exiting.delete(key);\n }\n }\n // If we currently have exiting children, and we're deferring rendering incoming children\n // until after all current children have exiting, empty the childrenToRender array\n if (exitBeforeEnter && exiting.size) {\n childrenToRender = [];\n }\n // Loop through all currently exiting components and clone them to overwrite `animate`\n // with any `exit` prop they might have defined.\n exiting.forEach(function (key) {\n // If this component is actually entering again, early return\n if (targetKeys.indexOf(key) !== -1)\n return;\n var child = allChildren.get(key);\n if (!child)\n return;\n var insertionIndex = presentKeys.indexOf(key);\n var onExit = function () {\n allChildren.delete(key);\n exiting.delete(key);\n // Remove this child from the present children\n var removeIndex = presentChildren.current.findIndex(function (presentChild) { return presentChild.key === key; });\n presentChildren.current.splice(removeIndex, 1);\n // Defer re-rendering until all exiting children have indeed left\n if (!exiting.size) {\n presentChildren.current = filteredChildren;\n forceRender();\n onExitComplete && onExitComplete();\n }\n };\n childrenToRender.splice(insertionIndex, 0, React.createElement(PresenceChild, { key: getChildKey(child), isPresent: false, onExitComplete: onExit, custom: custom, presenceAffectsLayout: presenceAffectsLayout }, child));\n });\n // Add `MotionContext` even to children that don't need it to ensure we're rendering\n // the same tree between renders\n childrenToRender = childrenToRender.map(function (child) {\n var key = child.key;\n return exiting.has(key) ? (child) : (React.createElement(PresenceChild, { key: getChildKey(child), isPresent: true, presenceAffectsLayout: presenceAffectsLayout }, child));\n });\n presentChildren.current = childrenToRender;\n if (process.env.NODE_ENV !== \"production\" &&\n exitBeforeEnter &&\n childrenToRender.length > 1) {\n console.warn(\"You're attempting to animate multiple children within AnimatePresence, but its exitBeforeEnter prop is set to true. This will lead to odd visual behaviour.\");\n }\n return (React.createElement(React.Fragment, null, exiting.size\n ? childrenToRender\n : childrenToRender.map(function (child) { return cloneElement(child); })));\n};\n\nexport { AnimatePresence };\n","import { __read } from 'tslib';\nimport { useCallback, useRef, useState } from 'react';\nimport { useUnmountEffect } from './use-unmount-effect.js';\n\nfunction useForceUpdate() {\n var unloadingRef = useRef(false);\n var _a = __read(useState(0), 2), forcedRenderCount = _a[0], setForcedRenderCount = _a[1];\n useUnmountEffect(function () { return (unloadingRef.current = true); });\n return useCallback(function () {\n !unloadingRef.current && setForcedRenderCount(forcedRenderCount + 1);\n }, [forcedRenderCount]);\n}\n\nexport { useForceUpdate };\n","import { __spreadArray, __read } from 'tslib';\nimport { invariant } from 'hey-listen';\nimport { stopAnimation, animateVisualElement } from '../render/utils/animation.js';\nimport { setValues } from '../render/utils/setters.js';\n\n/**\n * @public\n */\nfunction animationControls() {\n /**\n * Track whether the host component has mounted.\n */\n var hasMounted = false;\n /**\n * Pending animations that are started before a component is mounted.\n * TODO: Remove this as animations should only run in effects\n */\n var pendingAnimations = [];\n /**\n * A collection of linked component animation controls.\n */\n var subscribers = new Set();\n var controls = {\n subscribe: function (visualElement) {\n subscribers.add(visualElement);\n return function () { return void subscribers.delete(visualElement); };\n },\n start: function (definition, transitionOverride) {\n /**\n * TODO: We only perform this hasMounted check because in Framer we used to\n * encourage the ability to start an animation within the render phase. This\n * isn't behaviour concurrent-safe so when we make Framer concurrent-safe\n * we can ditch this.\n */\n if (hasMounted) {\n var animations_1 = [];\n subscribers.forEach(function (visualElement) {\n animations_1.push(animateVisualElement(visualElement, definition, {\n transitionOverride: transitionOverride,\n }));\n });\n return Promise.all(animations_1);\n }\n else {\n return new Promise(function (resolve) {\n pendingAnimations.push({\n animation: [definition, transitionOverride],\n resolve: resolve,\n });\n });\n }\n },\n set: function (definition) {\n invariant(hasMounted, \"controls.set() should only be called after a component has mounted. Consider calling within a useEffect hook.\");\n return subscribers.forEach(function (visualElement) {\n setValues(visualElement, definition);\n });\n },\n stop: function () {\n subscribers.forEach(function (visualElement) {\n stopAnimation(visualElement);\n });\n },\n mount: function () {\n hasMounted = true;\n pendingAnimations.forEach(function (_a) {\n var animation = _a.animation, resolve = _a.resolve;\n controls.start.apply(controls, __spreadArray([], __read(animation))).then(resolve);\n });\n return function () {\n hasMounted = false;\n controls.stop();\n };\n },\n };\n return controls;\n}\n\nexport { animationControls };\n","import { animationControls } from './animation-controls.js';\nimport { useEffect } from 'react';\nimport { useConstant } from '../utils/use-constant.js';\n\n/**\n * Creates `AnimationControls`, which can be used to manually start, stop\n * and sequence animations on one or more components.\n *\n * The returned `AnimationControls` should be passed to the `animate` property\n * of the components you want to animate.\n *\n * These components can then be animated with the `start` method.\n *\n * @library\n *\n * ```jsx\n * import * as React from 'react'\n * import { Frame, useAnimation } from 'framer'\n *\n * export function MyComponent(props) {\n * const controls = useAnimation()\n *\n * controls.start({\n * x: 100,\n * transition: { duration: 0.5 },\n * })\n *\n * return \n * }\n * ```\n *\n * @motion\n *\n * ```jsx\n * import * as React from 'react'\n * import { motion, useAnimation } from 'framer-motion'\n *\n * export function MyComponent(props) {\n * const controls = useAnimation()\n *\n * controls.start({\n * x: 100,\n * transition: { duration: 0.5 },\n * })\n *\n * return \n * }\n * ```\n *\n * @returns Animation controller with `start` and `stop` methods\n *\n * @public\n */\nfunction useAnimation() {\n var controls = useConstant(animationControls);\n useEffect(controls.mount, []);\n return controls;\n}\n\nexport { useAnimation };\n"],"sourceRoot":""}