{"version":3,"sources":["../node_modules/react-is/index.js","../node_modules/react-loadable/lib/index.js","../node_modules/react-player/lib/utils.js","../node_modules/react-player/lib/patterns.js","../node_modules/react-number-format/dist/react-number-format.es.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/react-notification-system/dist/constants.js","../node_modules/react-mentions/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/react-mentions/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/react-mentions/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/react-mentions/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/react-mentions/node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/react-mentions/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/react-mentions/node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/react-mentions/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/react-mentions/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/react-mentions/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/react-mentions/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/react-mentions/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/react-mentions/node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/react-mentions/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/react-mentions/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/react-mentions/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/react-mentions/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/react-mentions/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/react-mentions/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/react-mentions/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/react-mentions/dist/react-mentions.esm.js","../node_modules/react-player/lib/ReactPlayer.js","../node_modules/react-player/lib/props.js","../node_modules/react-player/lib/players/YouTube.js","../node_modules/react-player/youtube.js","../node_modules/react-player/lib/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-player/lib/Player.js","../node_modules/react-player/lib/Preview.js","../node_modules/react-player/lib/players/index.js","../node_modules/react-player/lib/players/SoundCloud.js","../node_modules/react-player/lib/players/Vimeo.js","../node_modules/react-player/lib/players/Facebook.js","../node_modules/react-player/lib/players/Streamable.js","../node_modules/react-player/lib/players/Wistia.js","../node_modules/react-player/lib/players/Twitch.js","../node_modules/react-player/lib/players/DailyMotion.js","../node_modules/react-player/lib/players/Mixcloud.js","../node_modules/react-player/lib/players/Vidyard.js","../node_modules/react-player/lib/players/Kaltura.js","../node_modules/react-player/lib/players/FilePlayer.js","../node_modules/react-notification-system/dist/NotificationSystem.js","../node_modules/react-notification-system/dist/NotificationContainer.js","../node_modules/react-notification-system/dist/NotificationItem.js","../node_modules/react-notification-system/dist/helpers.js","../node_modules/react-notification-system/dist/styles.js"],"names":["module","exports","_typeof","Symbol","iterator","obj","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","call","ReferenceError","_inherits","subClass","superClass","Object","create","value","enumerable","writable","configurable","setPrototypeOf","__proto__","React","PropTypes","ALL_INITIALIZERS","READY_INITIALIZERS","load","loader","promise","state","loading","loaded","error","then","catch","err","loadMap","promises","keys","forEach","key","result","push","res","Promise","all","render","props","createElement","__esModule","default","createLoadableComponent","loadFn","options","_class","_temp","Error","opts","assign","delay","timeout","webpack","modules","init","getModuleIds","every","moduleId","_React$Component","LoadableComponent","this","_this","retry","setState","timedOut","_loadModule","pastDelay","preload","componentWillMount","_mounted","_this2","context","loadable","Array","isArray","moduleName","report","_delay","setTimeout","_timeout","update","_clearTimeouts","componentWillUnmount","clearTimeout","isLoading","Component","contextTypes","shape","func","isRequired","Loadable","Map","Capture","_React$Component2","apply","arguments","getChildContext","Children","only","children","flushInitializers","initializers","length","pop","propTypes","childContextTypes","preloadAll","resolve","reject","preloadReady","defineProperty","parseStartTime","url","parseTimeParam","MATCH_START_QUERY","parseEndTime","MATCH_END_QUERY","randomString","Math","random","toString","substr","queryString","object","map","concat","join","getSDK","sdkGlobal","sdkReady","undefined","isLoaded","fetchScript","_loadScript","existingGlobal","getGlobal","requests","onLoaded","sdk","request","previousOnReady","window","getConfig","defaultProps","_deepmerge","config","omit","_ref","_len","arrays","_key","omitKeys","output","_i2","_keys","indexOf","callPlayer","method","_this$player","player","message","displayName","console","warn","_len2","args","_key2","isMediaStream","MediaStream","isBlobUrl","test","supportsWebKitPresentationMode","video","document","notMobile","navigator","userAgent","webkitSupportsPresentationMode","webkitSetPresentationMode","_interopRequireDefault","_slicedToArray","arr","i","_arrayWithHoles","_arr","_n","_d","_e","_s","_i","next","done","_iterableToArrayLimit","o","minLen","_arrayLikeToArray","n","slice","name","from","_unsupportedIterableToArray","_nonIterableRest","len","arr2","MATCH_START_STAMP","MATCH_NUMERIC","pattern","match","stamp","seconds","array","exec","_array2","count","period","parseInt","parseTimeString","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","e","f","normalCompletion","didErr","step","_e2","youtube","item","soundcloud","vimeo","facebook","streamable","wistia","twitch","dailymotion","mixcloud","vidyard","kaltura","file","canPlayFile","_step","_iterator","src","_defineProperties","target","descriptor","_extends","source","hasOwnProperty","_getPrototypeOf","getPrototypeOf","_setPrototypeOf","p","_assertThisInitialized","emptyFunction","emptyFunctionWithReset","resetWarningCache","fn","createCommonjsModule","shim","propName","componentName","location","propFullName","secret","getShim","ReactPropTypes","bool","number","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","exact","checkPropTypes","factoryWithThrowingShims","noop","charIsNumber","_char","escapeRegExp","str","replace","splitDecimal","numStr","allowNegative","hasNagation","addNegation","parts","split","beforeDecimal","afterDecimal","limitToScale","scale","fixedDecimalScale","filler","setCaretPosition","el","caretPos","createTextRange","range","move","select","selectionStart","focus","setSelectionRange","clamp","num","min","max","getCurrentCaretPosition","selectionEnd","propTypes$1","thousandSeparator","decimalSeparator","allowedDecimalSeparators","thousandsGroupStyle","decimalScale","displayType","prefix","suffix","format","removeFormatting","mask","defaultValue","isNumericString","customInput","allowEmptyFormatting","allowLeadingZeros","onValueChange","onKeyDown","onMouseUp","onChange","onFocus","onBlur","type","isAllowed","renderText","getInputRef","current","NumberFormat","validateProps","formattedValue","formatValueProp","numAsString","selectionBeforeInput","bind","protoProps","staticProps","prevProps","updateValueIfRequired","focusedElm","stateValue","_state$numAsString","lastNumStr","lastValueWithNewFormat","formatNumString","floatValue","parseFloat","lastFloatValue","isNaN","updateValue","input","_this$getSeparators","getSeparators","numRegex","getNumberRegex","hasNegation","firstDecimalIndex","substring","RegExp","g","ignoreDecimalSeparator","_this$props","_this$props2","index","_this$props$mask","_this$getSeparators3","currentValue","direction","_this$props3","firstHashPosition","lastIndexOf","nextPos","caretLeftBound","caretRightBound","inputValue","j","inputNumber","formattedNumber","currentInputChar","currentFormatChar","correctCaretPosition","val","_this$props4","isNegative","suffixLastIndex","formatArray","filter","start","ln","part","_this$props5","removePatternFormatting","removePrefixAndSuffix","getFloatString","hashCount","formattedNumberAry","getMaskAtIndex","_this$props6","_this$getSeparators4","hasDecimalSeparator","_splitDecimal","thousandsGroupRegex","getThousandsGroupRegex","search","applyThousandSeparator","_this$props7","formatWithPattern","formatAsNumber","_this$props8","_this$props9","_this$props9$value","isNonNumericFalsy","shoudHaveDecimalSeparator","roundedDecimalParts","toFixed","intPart","reverse","reduce","roundedStr","idx","Number","decimalPart","roundToPrecision","formatInput","negationRegex","doubleNegationRegex","removeNegation","formatNegation","_this$props10","end","isCharacterAFormat","lastValue","_this$props11","_this$getSeparators6","_this$selectionBefore","_findChangedIndex","prevValue","newValue","prevLength","newLength","findChangedIndex","separator","leftBound","rightBound","checkIfFormatGotDeleted","numericString","_splitDecimal2","isBeforeDecimalPoint","params","_params$setCaretPosit","currentCaretPosition","getCaretPosition","setPatchedCaretPosition","getValueObject","correctInputValue","focusTimeout","fixLeadingZero","expectedCaretPosition","_el$value","_this$props12","negativeRegex","isPatternFormat","newCaretPosition","preventDefault","isUnitTestRun","_el$value2","caretPosition","persist","_el$value3","_this$props13","otherProps","keyMaps","filteredObj","inputProps","inputMode","ref","CustomInput","getDerivedStateFromProps","componentWillReceiveProps","nextProps","prevState","componentWillUpdate","nextState","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","polyfill","isReactComponent","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","newApiName","componentDidUpdate","maybeSnapshot","snapshot","__suppressDeprecationWarning","positions","tl","tr","tc","bl","br","bc","levels","success","warning","info","notification","title","level","position","autoDismiss","dismissible","action","_toConsumableArray","iter","_createClass","_typeof2","_defineProperty","_objectWithoutProperties","excluded","sourceKeys","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","escapeRegex","PLACEHOLDERS","markup","parameterName","indexDisplay","indexId","regExps","serializedRegexParser","regex","_serializedRegexParse2","regexString","regexFlags","countPlaceholders","emptyFn","iterateMentionsMarkup","markupIteratee","textIteratee","c","accOffset","captureGroupOffsets","currentPlainTextIndex","offset","find","mentionChildIndex","_config$mentionChildI","displayTransform","idPos","displayPos","id","display","lastIndex","getPlainText","plainTextIndex","plainText","mapPlainTextIndex","indexInPlainText","inMarkupCorrection","substrPlainTextIndex","mentionPlainTextIndex","childIndex","lastMentionEndIndex","spliceString","insert","getMentions","mentions","getSuggestionHtmlId","countSuggestions","suggestions","values","acc","results","markupToRegex","escapedMarkup","charAfterDisplay","charAfterId","toArray","_ref$props","numberOfGroups","numberOfPlaceholders","lettersDiacritics","base","letters","normalizeString","formattedStr","letterDiacritics","removeAccents","toLowerCase","getSubstringIndex","ignoreAccents","isNumber","rest","k","includes","createDefaultStyle","defaultStyle","getModifiers","ComponentToWrap","DefaultStyleEnhancer","style","className","classNames","modifiers","styles","_Component","Highlighter","caretElement","left","top","notifyCaretPosition","_this$caretElement","offsetLeft","offsetTop","newPosition","onCaretPositionChange","caretPositionInMarkup","containerRef","resultComponents","componentKeys","components","substringComponentKey","usedKeys","_generateComponentKey","getMentionComponentForMatch","splitIndex","renderSubstring","renderHighlighterCaret","child","cloneElement","setCaretElement","Element","Highlighter$1","boxSizing","width","color","overflow","whiteSpace","wordWrap","border","textAlign","visibility","singleLine","styled","Suggestion","role","focused","renderContent","query","renderSuggestion","suggestion","getDisplay","highlightedDisplay","renderHighlightedDisplay","Suggestion$1","cursor","styled$1","LoadingIndicator","spinnerStyles","SuggestionsOverlay","_getPrototypeOf2","ev","onMouseEnter","queryInfo","onSelect","ulElement","offsetHeight","scrollHeight","scrollFocusedIntoView","scrollTop","_this$ulElement$child","focusIndex","getBoundingClientRect","bottom","topContainer","a11ySuggestionsListLabel","isOpened","onMouseDown","inline","setUlElement","renderSuggestions","renderLoadingIndicator","accResults","_this3","isFocused","getID","onClick","handleMouseEnter","SuggestionsOverlay$1","zIndex","backgroundColor","marginTop","minWidth","list","margin","padding","listStyleType","styled$2","ownKeys","enumerableOnly","symbols","sym","getOwnPropertyDescriptor","_objectSpread","getOwnPropertyDescriptors","defineProperties","KEY","TAB","RETURN","ESC","UP","DOWN","isComposing","allowSpaceInQuery","allowSuggestionsAboveCursor","suggestionsPortalHost","inputRef","MentionsInput","_props","containerElement","readOnly","disabled","handleChange","handleSelect","handleKeyDown","handleBlur","onCompositionStart","handleCompositionStart","onCompositionEnd","handleCompositionEnd","onScroll","updateHighlighterScroll","uuidSuggestionsOverlay","getInputProps","renderHighlighter","renderInput","renderTextarea","setInputRef","inputElement","suggestionsElement","_this$state$suggestio","suggestionsPosition","suggestionsNode","setSuggestionsElement","addMention","handleSuggestionsMouseDown","handleSuggestionsMouseEnter","createPortal","_this$state","setHighlighterElement","handleCaretPositionChange","highlighterElement","event","_this$props$valueLink","valueLink","requestChange","activeElement","contentDocument","newPlainTextValue","plainTextValue","selectionStartBefore","selectionEndBefore","selectionEndAfter","oldPlainTextValue","lengthDelta","spliceStart","spliceEnd","mappedSpliceStart","mappedSpliceEnd","controlSpliceStart","controlSpliceEnd","willRemoveMention","controlPlainTextValue","applyChangeToValue","setSelectionAfterMentionChange","startOfMention","foundMention","findStartOfMentionInPlainText","eventMock","executeOnChange","updateMentionsQueries","clearSuggestions","keyCode","stopPropagation","shiftFocus","selectFocused","delta","suggestionsCount","_this$state2","_Object$values$reduce","clickedSuggestion","_suggestionsMouseDown","highlighter","caretOffsetParentRect","caretHeight","getComputedStyleLengthProp","viewportRelative","viewportHeight","documentElement","clientHeight","innerHeight","scrollLeft","viewportWidth","clientWidth","innerWidth","offsetWidth","_left","_top","right","height","collapse","moveEnd","moveStart","_queryId","positionInValue","substringStartIndex","lastMention","getEndOfLastMention","trigger","escapedTriggerChar","makeTriggerRegex","querySequenceStart","queryData","querySequenceEnd","syncResult","data","callback","l","getDataProvider","provideData","updateSuggestions","queryId","_ref2","_ref3","_mentionsChild$props","appendSpaceOnAdd","onAdd","makeMentionsMarkup","displayValue","handleCopy","handleCut","handlePaste","addEventListener","updateSuggestionsPosition","setSelection","removeEventListener","setContainerElement","renderControl","renderSuggestionsOverlay","supportsClipboardActions","_this$state3","markupStartIndex","markupEndIndex","pastedMentions","clipboardData","getData","pastedData","_this$state4","setData","saveSelectionToClipboard","_this$state5","forElement","propertyName","getComputedStyle","getPropertyValue","isFinite","MentionsInput$1","overflowY","fontFamily","fontSize","letterSpacing","resize","marginLeft","_ref4","styled$3","fontWeight","onRemove","createReactPlayer","_react","_interopRequireWildcard","_memoizeOne","_reactFastCompare","_Player3","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","_isNativeReflectConstruct","Super","NewTarget","_getRequireWildcardCache","WeakMap","cache","has","get","newObj","hasPropertyDescriptor","desc","set","Preview","lazy","IS_BROWSER","IS_GLOBAL","global","SUPPORTED_PROPS","UniversalSuspense","Suspense","customPlayers","players","fallback","ReactPlayer","_super","showPreview","light","wrapper","_wrapper","_player","onClickPreview","getDuration","getCurrentTime","getSecondsLoaded","getInternalPlayer","fraction","seekTo","onReady","getActivePlayer","references","activePlayer","lazyPlayer","handleReady","playIcon","previewTabIndex","handleClickPreview","Wrapper","attributes","getAttributes","renderPreview","renderActivePlayer","_arr2","_i3","_arr3","_Player2","canEnablePIP","_propTypes","playing","loop","controls","volume","muted","playbackRate","progressInterval","playsinline","pip","stopOnUnmount","playerVars","embedOptions","onUnstarted","appId","version","playerId","playerOptions","tracks","forceVideo","forceAudio","forceHLS","forceDASH","forceFLV","hlsOptions","hlsVersion","dashVersion","flvVersion","customControls","onStart","onPlay","onPause","onBuffer","onBufferEnd","onEnded","onError","onDuration","onSeek","onProgress","onEnablePIP","onDisablePIP","visual","buying","liking","download","sharing","show_comments","show_playcount","showinfo","rel","iv_load_policy","modestbranding","api","autopause","byline","portrait","hide_cover","_patterns","MATCH_PLAYLIST","MATCH_USER_UPLOADS","MATCH_NOCOOKIE","YouTube","listType","playlist","_this$props$config","_window$SDK_GLOBAL$Pl","PlayerState","UNSTARTED","PLAYING","PAUSED","BUFFERING","ENDED","CUED","isPlaylist","play","container","onMount","isReady","_onError","loadPlaylist","parsePlaylist","cueVideoById","videoId","startSeconds","endSeconds","YT","Player","autoplay","mute","origin","events","setLoop","onStateChange","host","body","contains","amount","pause","rate","_players","_ReactPlayer","_default","b","for","d","h","m","q","r","t","v","w","x","y","z","a","u","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","_args","progress","playedSeconds","loadedSeconds","duration","played","prevPlayed","prevLoaded","progressTimeout","progressFrequency","mounted","setVolume","loadOnReady","handleDurationCheck","isPlaying","startOnPlay","setPlaybackRate","seekOnPlay","loopOnEnded","durationCheckTimeout","onDurationCalled","stop","disablePIP","forceLoad","enablePIP","unmute","handlePlayerMount","handlePlay","handlePause","handleEnded","handleLoaded","handleError","image","fetchImage","fetch","response","json","thumbnail_url","flexCenter","alignItems","justifyContent","preview","backgroundImage","backgroundSize","backgroundPosition","shadow","background","borderRadius","borderStyle","borderWidth","borderColor","defaultPlayIcon","tabIndex","onKeyPress","handleKeyPress","pictureInPictureEnabled","SoundCloud","iframe","SC","_SC$Widget$Events","Widget","Events","PLAY","PLAY_PROGRESS","PAUSE","FINISH","ERROR","currentTime","currentPosition","fractionLoaded","loadedProgress","encodeURIComponent","frameBorder","allow","Vimeo","ready","querySelector","on","refreshDuration","secondsLoaded","SDK_URL","Facebook","FB","XFBML","parse","xfbml","Event","subscribe","msg","playerID","getElementById","Streamable","playerjs","percent","scrolling","allowFullScreen","Wistia","_onReady","control","defineControl","_wq","autoPlay","silentAutoPlay","controlsVisibleOnLoad","fullscreenButton","playbar","playbackRateControl","qualityControl","volumeControl","settingsControl","smallPlayButton","unbind","videoID","Twitch","isChannel","setChannel","setVideo","channel","time","_Twitch$Player","READY","ONLINE","OFFLINE","DailyMotion","DM","apiready","seeked","video_end","durationchange","onDurationChange","waiting","bufferedTime","Mixcloud","PlayerWidget","ended","feed","Vidyard","addReadyListener","renderPlayer","uuid","getPlayerMetadata","meta","length_in_seconds","VidyardV4","destroyPlayer","Kaltura","referrerPolicy","HAS_NAVIGATOR","IS_IPAD_PRO","platform","maxTouchPoints","IS_IOS","MSStream","MATCH_DROPBOX_URL","MATCH_CLOUDFLARE_STREAM","FilePlayer","webkitPresentationMode","track","prevPlayer","addListeners","shouldUseAudio","removeListeners","srcObject","hls","destroy","onPresentationModeChange","shouldUseHLS","setAttribute","poster","dash","reset","Hls","MANIFEST_PARSED","loadSource","attachMedia","shouldUseDASH","dashjs","MediaPlayer","initialize","getDebug","setLogToBrowserConsole","updateSettings","debug","logLevel","Debug","LOG_LEVEL_NONE","shouldUseFLV","flvjs","flv","createPlayer","attachMediaElement","URL","createObjectURL","removeAttribute","requestPictureInPicture","pictureInPictureElement","exitPictureInPicture","seekable","Infinity","buffered","useHLS","useDASH","useFLV","getSource","renderSourceElement","renderTrack","merge","NotificationContainer","Constants","Styles","NotificationSystem","super","notifications","uid","_isMounted","overrideWidth","overrideStyle","elements","messageWrapper","dismiss","actionWrapper","setOverrideStyle","byElement","_didNotificationRemoved","addNotification","getNotificationRef","removeNotification","editNotification","clearNotifications","_getStyles","override","Containers","DefaultStyle","_element","toCheck","_notification","foundNotification","refs","_hideNotification","newNotification","newNotifications","stateNotification","containers","_notifications","getStyles","noAnimation","allowHTML","NotificationItem","_style","ReactDOM","Helpers","whichTransitionEvent","transition","transitions","OTransition","MozTransition","WebkitTransition","transitionKey","_styles","_notificationTimer","_height","_noAnimation","_removeCount","visible","removed","_getCssPropertyByPosition","_defaultAction","_removeNotification","_dismiss","_showNotification","_onTransitionEnd","_handleMouseEnter","_handleMouseLeave","_handleNotificationClick","css","property","clear","transitionEvent","findDOMNode","Timer","resume","notificationStyle","cssByPos","actionButton","overlay","paddingTop","paddingBottom","opacity","isVisible","isHidden","dangerouslySetInnerHTML","__html","label","onMouseLeave","timerId","remaining","defaultColors","rgb","hex","STYLES","WebkitBoxSizing","MozBoxSizing","WebkitTransform","transform","willChange","borderTop","WebkitBoxShadow","MozBoxShadow","boxShadow","Title","MessageWrapper","Dismiss","lineHeight","Action","ActionWrapper"],"mappings":"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M,KACNC,QAAS,wBACR,CACDD,KAAM,KACNC,QAAS,wBACR,CACDD,KAAM,KACNC,QAAS,uCACR,CACDD,KAAM,KACNC,QAAS,wBACR,CACDD,KAAM,IACNC,QAAS,mIACR,CACDD,KAAM,IACNC,QAAS,0KACR,CACDD,KAAM,IACNC,QAAS,qNACR,CACDD,KAAM,KACNC,QAAS,mCACR,CACDD,KAAM,KACNC,QAAS,mCACR,CACDD,KAAM,IACNC,QAAS,8ZACR,CACDD,KAAM,IACNC,QAAS,4FACR,CACDD,KAAM,IACNC,QAAS,qNACR,CACDD,KAAM,IACNC,QAAS,4MACR,CACDD,KAAM,IACNC,QAAS,mRACR,CACDD,KAAM,IACNC,QAAS,4EACR,CACDD,KAAM,IACNC,QAAS,8MACR,CACDD,KAAM,IACNC,QAAS,mQACR,CACDD,KAAM,KACNC,QAAS,sBACR,CACDD,KAAM,KACNC,QAAS,sBACR,CACDD,KAAM,IACNC,QAAS,wHACR,CACDD,KAAM,IACNC,QAAS,gPACR,CACDD,KAAM,KACNC,QAAS,sBACR,CACDD,KAAM,KACNC,QAAS,sBACR,CACDD,KAAM,IACNC,QAAS,8kBACR,CACDD,KAAM,KACNC,QAAS,sBACR,CACDD,KAAM,KACNC,QAAS,sBACR,CACDD,KAAM,KACNC,QAAS,wBACR,CACDD,KAAM,KACNC,QAAS,sBACR,CACDD,KAAM,IACNC,QAAS,uJACR,CACDD,KAAM,IACNC,QAAS,6FACR,CACDD,KAAM,IACNC,QAAS,oPACR,CACDD,KAAM,IACNC,QAAS,oPACR,CACDD,KAAM,IACNC,QAAS,oNACR,CACDD,KAAM,KACNC,QAAS,sBACR,CACDD,KAAM,KACNC,QAAS,wBACR,CACDD,KAAM,IACNC,QAAS,idACR,CACDD,KAAM,IACNC,QAAS,uHACR,CACDD,KAAM,KACNC,QAAS,wBACR,CACDD,KAAM,IACNC,QAAS,oJACR,CACDD,KAAM,IACNC,QAAS,8EACR,CACDD,KAAM,IACNC,QAAS,oNACR,CACDD,KAAM,IACNC,QAAS,0MACR,CACDD,KAAM,IACNC,QAAS,keACR,CACDD,KAAM,KACNC,QAAS,wBACR,CACDD,KAAM,KACNC,QAAS,gDACR,CACDD,KAAM,KACNC,QAAS,wBACR,CACDD,KAAM,KACNC,QAAS,wBACR,CACDD,KAAM,KACNC,QAAS,uCACR,CACDD,KAAM,KACNC,QAAS,wBACR,CACDD,KAAM,IACNC,QAAS,mIACR,CACDD,KAAM,IACNC,QAAS,wLACR,CACDD,KAAM,IACNC,QAAS,sNACR,CACDD,KAAM,KACNC,QAAS,mCACR,CACDD,KAAM,IACNC,QAAS,4aACR,CACDD,KAAM,IACNC,QAAS,6FACR,CACDD,KAAM,IACNC,QAAS,qNACR,CACDD,KAAM,IACNC,QAAS,yNACR,CACDD,KAAM,KACNC,QAAS,sBACR,CACDD,KAAM,IACNC,QAAS,oRACR,CACDD,KAAM,KACNC,QAAS,sBACR,CACDD,KAAM,IACNC,QAAS,0FACR,CACDD,KAAM,IACNC,QAAS,+MACR,CACDD,KAAM,IACNC,QAAS,kQACR,CACDD,KAAM,KACNC,QAAS,sBACR,CACDD,KAAM,IACNC,QAAS,uHACR,CACDD,KAAM,IACNC,QAAS,8PACR,CACDD,KAAM,KACNC,QAAS,sBACR,CACDD,KAAM,IACNC,QAAS,+kBACR,CACDD,KAAM,KACNC,QAAS,sBACR,CACDD,KAAM,KACNC,QAAS,sBACR,CACDD,KAAM,KACNC,QAAS,sBACR,CACDD,KAAM,KACNC,QAAS,wBACR,CACDD,KAAM,IACNC,QAAS,uJACR,CACDD,KAAM,IACNC,QAAS,8FACR,CACDD,KAAM,IACNC,QAAS,mPACR,CACDD,KAAM,IACNC,QAAS,gQACR,CACDD,KAAM,KACNC,QAAS,sBACR,CACDD,KAAM,IACNC,QAAS,qOACR,CACDD,KAAM,KACNC,QAAS,sBACR,CACDD,KAAM,KACNC,QAAS,wBACR,CACDD,KAAM,IACNC,QAAS,kdACR,CACDD,KAAM,IACNC,QAAS,wHACR,CACDD,KAAM,KACNC,QAAS,wBACR,CACDD,KAAM,IACNC,QAAS,mKACR,CACDD,KAAM,IACNC,QAAS,+EACR,CACDD,KAAM,IACNC,QAAS,mOACR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","file":"static/js/defaultVendors~main~feca55ca.dbc98761.chunk.js","sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","\"use strict\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar React = require(\"react\");\nvar PropTypes = require(\"prop-types\");\n\nvar ALL_INITIALIZERS = [];\nvar READY_INITIALIZERS = [];\n\nfunction isWebpackReady(getModuleIds) {\n if ((typeof __webpack_modules__ === \"undefined\" ? \"undefined\" : _typeof(__webpack_modules__)) !== \"object\") {\n return false;\n }\n\n return getModuleIds().every(function (moduleId) {\n return typeof moduleId !== \"undefined\" && typeof __webpack_modules__[moduleId] !== \"undefined\";\n });\n}\n\nfunction load(loader) {\n var promise = loader();\n\n var state = {\n loading: true,\n loaded: null,\n error: null\n };\n\n state.promise = promise.then(function (loaded) {\n state.loading = false;\n state.loaded = loaded;\n return loaded;\n }).catch(function (err) {\n state.loading = false;\n state.error = err;\n throw err;\n });\n\n return state;\n}\n\nfunction loadMap(obj) {\n var state = {\n loading: false,\n loaded: {},\n error: null\n };\n\n var promises = [];\n\n try {\n Object.keys(obj).forEach(function (key) {\n var result = load(obj[key]);\n\n if (!result.loading) {\n state.loaded[key] = result.loaded;\n state.error = result.error;\n } else {\n state.loading = true;\n }\n\n promises.push(result.promise);\n\n result.promise.then(function (res) {\n state.loaded[key] = res;\n }).catch(function (err) {\n state.error = err;\n });\n });\n } catch (err) {\n state.error = err;\n }\n\n state.promise = Promise.all(promises).then(function (res) {\n state.loading = false;\n return res;\n }).catch(function (err) {\n state.loading = false;\n throw err;\n });\n\n return state;\n}\n\nfunction resolve(obj) {\n return obj && obj.__esModule ? obj.default : obj;\n}\n\nfunction render(loaded, props) {\n return React.createElement(resolve(loaded), props);\n}\n\nfunction createLoadableComponent(loadFn, options) {\n var _class, _temp;\n\n if (!options.loading) {\n throw new Error(\"react-loadable requires a `loading` component\");\n }\n\n var opts = Object.assign({\n loader: null,\n loading: null,\n delay: 200,\n timeout: null,\n render: render,\n webpack: null,\n modules: null\n }, options);\n\n var res = null;\n\n function init() {\n if (!res) {\n res = loadFn(opts.loader);\n }\n return res.promise;\n }\n\n ALL_INITIALIZERS.push(init);\n\n if (typeof opts.webpack === \"function\") {\n READY_INITIALIZERS.push(function () {\n if (isWebpackReady(opts.webpack)) {\n return init();\n }\n });\n }\n\n return _temp = _class = function (_React$Component) {\n _inherits(LoadableComponent, _React$Component);\n\n function LoadableComponent(props) {\n _classCallCheck(this, LoadableComponent);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.retry = function () {\n _this.setState({ error: null, loading: true, timedOut: false });\n res = loadFn(opts.loader);\n _this._loadModule();\n };\n\n init();\n\n _this.state = {\n error: res.error,\n pastDelay: false,\n timedOut: false,\n loading: res.loading,\n loaded: res.loaded\n };\n return _this;\n }\n\n LoadableComponent.preload = function preload() {\n return init();\n };\n\n LoadableComponent.prototype.componentWillMount = function componentWillMount() {\n this._mounted = true;\n this._loadModule();\n };\n\n LoadableComponent.prototype._loadModule = function _loadModule() {\n var _this2 = this;\n\n if (this.context.loadable && Array.isArray(opts.modules)) {\n opts.modules.forEach(function (moduleName) {\n _this2.context.loadable.report(moduleName);\n });\n }\n\n if (!res.loading) {\n return;\n }\n\n if (typeof opts.delay === \"number\") {\n if (opts.delay === 0) {\n this.setState({ pastDelay: true });\n } else {\n this._delay = setTimeout(function () {\n _this2.setState({ pastDelay: true });\n }, opts.delay);\n }\n }\n\n if (typeof opts.timeout === \"number\") {\n this._timeout = setTimeout(function () {\n _this2.setState({ timedOut: true });\n }, opts.timeout);\n }\n\n var update = function update() {\n if (!_this2._mounted) {\n return;\n }\n\n _this2.setState({\n error: res.error,\n loaded: res.loaded,\n loading: res.loading\n });\n\n _this2._clearTimeouts();\n };\n\n res.promise.then(function () {\n update();\n }).catch(function (err) {\n update();\n });\n };\n\n LoadableComponent.prototype.componentWillUnmount = function componentWillUnmount() {\n this._mounted = false;\n this._clearTimeouts();\n };\n\n LoadableComponent.prototype._clearTimeouts = function _clearTimeouts() {\n clearTimeout(this._delay);\n clearTimeout(this._timeout);\n };\n\n LoadableComponent.prototype.render = function render() {\n if (this.state.loading || this.state.error) {\n return React.createElement(opts.loading, {\n isLoading: this.state.loading,\n pastDelay: this.state.pastDelay,\n timedOut: this.state.timedOut,\n error: this.state.error,\n retry: this.retry\n });\n } else if (this.state.loaded) {\n return opts.render(this.state.loaded, this.props);\n } else {\n return null;\n }\n };\n\n return LoadableComponent;\n }(React.Component), _class.contextTypes = {\n loadable: PropTypes.shape({\n report: PropTypes.func.isRequired\n })\n }, _temp;\n}\n\nfunction Loadable(opts) {\n return createLoadableComponent(load, opts);\n}\n\nfunction LoadableMap(opts) {\n if (typeof opts.render !== \"function\") {\n throw new Error(\"LoadableMap requires a `render(loaded, props)` function\");\n }\n\n return createLoadableComponent(loadMap, opts);\n}\n\nLoadable.Map = LoadableMap;\n\nvar Capture = function (_React$Component2) {\n _inherits(Capture, _React$Component2);\n\n function Capture() {\n _classCallCheck(this, Capture);\n\n return _possibleConstructorReturn(this, _React$Component2.apply(this, arguments));\n }\n\n Capture.prototype.getChildContext = function getChildContext() {\n return {\n loadable: {\n report: this.props.report\n }\n };\n };\n\n Capture.prototype.render = function render() {\n return React.Children.only(this.props.children);\n };\n\n return Capture;\n}(React.Component);\n\nCapture.propTypes = {\n report: PropTypes.func.isRequired\n};\nCapture.childContextTypes = {\n loadable: PropTypes.shape({\n report: PropTypes.func.isRequired\n }).isRequired\n};\n\n\nLoadable.Capture = Capture;\n\nfunction flushInitializers(initializers) {\n var promises = [];\n\n while (initializers.length) {\n var init = initializers.pop();\n promises.push(init());\n }\n\n return Promise.all(promises).then(function () {\n if (initializers.length) {\n return flushInitializers(initializers);\n }\n });\n}\n\nLoadable.preloadAll = function () {\n return new Promise(function (resolve, reject) {\n flushInitializers(ALL_INITIALIZERS).then(resolve, reject);\n });\n};\n\nLoadable.preloadReady = function () {\n return new Promise(function (resolve, reject) {\n // We always will resolve, errors should be handled within loading UIs.\n flushInitializers(READY_INITIALIZERS).then(resolve, resolve);\n });\n};\n\nmodule.exports = Loadable;","\"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}","\"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;","/**\n * react-number-format - 4.4.1\n * Author : Sudhanshu Yadav\n * Copyright (c) 2016, 2020 to Sudhanshu Yadav, released under the MIT license.\n * https://github.com/s-yadav/react-number-format\n */\n\nimport React from 'react';\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _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\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nvar ReactPropTypesSecret_1 = ReactPropTypesSecret;\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nvar factoryWithThrowingShims = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret_1) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } shim.isRequired = shim;\n function getShim() {\n return shim;\n } // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\nvar propTypes = createCommonjsModule(function (module) {\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n{\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = factoryWithThrowingShims();\n}\n});\n\n// basic noop function\nfunction noop() {}\nfunction returnTrue() {\n return true;\n}\nfunction charIsNumber(_char) {\n return !!(_char || '').match(/\\d/);\n}\nfunction escapeRegExp(str) {\n return str.replace(/[-[\\]/{}()*+?.\\\\^$|]/g, \"\\\\$&\");\n}\nfunction getThousandsGroupRegex(thousandsGroupStyle) {\n switch (thousandsGroupStyle) {\n case 'lakh':\n return /(\\d+?)(?=(\\d\\d)+(\\d)(?!\\d))(\\.\\d+)?/g;\n\n case 'wan':\n return /(\\d)(?=(\\d{4})+(?!\\d))/g;\n\n case 'thousand':\n default:\n return /(\\d)(?=(\\d{3})+(?!\\d))/g;\n }\n}\nfunction applyThousandSeparator(str, thousandSeparator, thousandsGroupStyle) {\n var thousandsGroupRegex = getThousandsGroupRegex(thousandsGroupStyle);\n var index = str.search(/[1-9]/);\n index = index === -1 ? str.length : index;\n return str.substring(0, index) + str.substring(index, str.length).replace(thousandsGroupRegex, '$1' + thousandSeparator);\n} //spilt a float number into different parts beforeDecimal, afterDecimal, and negation\n\nfunction splitDecimal(numStr) {\n var allowNegative = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var hasNagation = numStr[0] === '-';\n var addNegation = hasNagation && allowNegative;\n numStr = numStr.replace('-', '');\n var parts = numStr.split('.');\n var beforeDecimal = parts[0];\n var afterDecimal = parts[1] || '';\n return {\n beforeDecimal: beforeDecimal,\n afterDecimal: afterDecimal,\n hasNagation: hasNagation,\n addNegation: addNegation\n };\n}\nfunction fixLeadingZero(numStr) {\n if (!numStr) return numStr;\n var isNegative = numStr[0] === '-';\n if (isNegative) numStr = numStr.substring(1, numStr.length);\n var parts = numStr.split('.');\n var beforeDecimal = parts[0].replace(/^0+/, '') || '0';\n var afterDecimal = parts[1] || '';\n return \"\".concat(isNegative ? '-' : '').concat(beforeDecimal).concat(afterDecimal ? \".\".concat(afterDecimal) : '');\n}\n/**\n * limit decimal numbers to given scale\n * Not used .fixedTo because that will break with big numbers\n */\n\nfunction limitToScale(numStr, scale, fixedDecimalScale) {\n var str = '';\n var filler = fixedDecimalScale ? '0' : '';\n\n for (var i = 0; i <= scale - 1; i++) {\n str += numStr[i] || filler;\n }\n\n return str;\n}\n/**\n * This method is required to round prop value to given scale.\n * Not used .round or .fixedTo because that will break with big numbers\n */\n\nfunction roundToPrecision(numStr, scale, fixedDecimalScale) {\n //if number is empty don't do anything return empty string\n if (['', '-'].indexOf(numStr) !== -1) return numStr;\n var shoudHaveDecimalSeparator = numStr.indexOf('.') !== -1 && scale;\n\n var _splitDecimal = splitDecimal(numStr),\n beforeDecimal = _splitDecimal.beforeDecimal,\n afterDecimal = _splitDecimal.afterDecimal,\n hasNagation = _splitDecimal.hasNagation;\n\n var roundedDecimalParts = parseFloat(\"0.\".concat(afterDecimal || '0')).toFixed(scale).split('.');\n var intPart = beforeDecimal.split('').reverse().reduce(function (roundedStr, current, idx) {\n if (roundedStr.length > idx) {\n return (Number(roundedStr[0]) + Number(current)).toString() + roundedStr.substring(1, roundedStr.length);\n }\n\n return current + roundedStr;\n }, roundedDecimalParts[0]);\n var decimalPart = limitToScale(roundedDecimalParts[1] || '', Math.min(scale, afterDecimal.length), fixedDecimalScale);\n var negation = hasNagation ? '-' : '';\n var decimalSeparator = shoudHaveDecimalSeparator ? '.' : '';\n return \"\".concat(negation).concat(intPart).concat(decimalSeparator).concat(decimalPart);\n}\nfunction omit(obj, keyMaps) {\n var filteredObj = {};\n Object.keys(obj).forEach(function (key) {\n if (!keyMaps[key]) filteredObj[key] = obj[key];\n });\n return filteredObj;\n}\n/** set the caret positon in an input field **/\n\nfunction setCaretPosition(el, caretPos) {\n el.value = el.value; // ^ this is used to not only get \"focus\", but\n // to make sure we don't have it everything -selected-\n // (it causes an issue in chrome, and having it doesn't hurt any other browser)\n\n if (el !== null) {\n if (el.createTextRange) {\n var range = el.createTextRange();\n range.move('character', caretPos);\n range.select();\n return true;\n } // (el.selectionStart === 0 added for Firefox bug)\n\n\n if (el.selectionStart || el.selectionStart === 0) {\n el.focus();\n el.setSelectionRange(caretPos, caretPos);\n return true;\n } // fail city, fortunately this never happens (as far as I've tested) :)\n\n\n el.focus();\n return false;\n }\n}\n/**\n Given previous value and newValue it returns the index\n start - end to which values have changed.\n This function makes assumption about only consecutive\n characters are changed which is correct assumption for caret input.\n*/\n\nfunction findChangedIndex(prevValue, newValue) {\n var i = 0,\n j = 0;\n var prevLength = prevValue.length;\n var newLength = newValue.length;\n\n while (prevValue[i] === newValue[i] && i < prevLength) {\n i++;\n } //check what has been changed from last\n\n\n while (prevValue[prevLength - 1 - j] === newValue[newLength - 1 - j] && newLength - j > i && prevLength - j > i) {\n j++;\n }\n\n return {\n start: i,\n end: prevLength - j\n };\n}\n/*\n Returns a number whose value is limited to the given range\n*/\n\nfunction clamp(num, min, max) {\n return Math.min(Math.max(num, min), max);\n}\nfunction getCurrentCaretPosition(el) {\n /*Max of selectionStart and selectionEnd is taken for the patch of pixel and other mobile device caret bug*/\n return Math.max(el.selectionStart, el.selectionEnd);\n}\n\nvar propTypes$1 = {\n thousandSeparator: propTypes.oneOfType([propTypes.string, propTypes.oneOf([true])]),\n decimalSeparator: propTypes.string,\n allowedDecimalSeparators: propTypes.arrayOf(propTypes.string),\n thousandsGroupStyle: propTypes.oneOf(['thousand', 'lakh', 'wan']),\n decimalScale: propTypes.number,\n fixedDecimalScale: propTypes.bool,\n displayType: propTypes.oneOf(['input', 'text']),\n prefix: propTypes.string,\n suffix: propTypes.string,\n format: propTypes.oneOfType([propTypes.string, propTypes.func]),\n removeFormatting: propTypes.func,\n mask: propTypes.oneOfType([propTypes.string, propTypes.arrayOf(propTypes.string)]),\n value: propTypes.oneOfType([propTypes.number, propTypes.string]),\n defaultValue: propTypes.oneOfType([propTypes.number, propTypes.string]),\n isNumericString: propTypes.bool,\n customInput: propTypes.elementType,\n allowNegative: propTypes.bool,\n allowEmptyFormatting: propTypes.bool,\n allowLeadingZeros: propTypes.bool,\n onValueChange: propTypes.func,\n onKeyDown: propTypes.func,\n onMouseUp: propTypes.func,\n onChange: propTypes.func,\n onFocus: propTypes.func,\n onBlur: propTypes.func,\n type: propTypes.oneOf(['text', 'tel', 'password']),\n isAllowed: propTypes.func,\n renderText: propTypes.func,\n getInputRef: propTypes.oneOfType([propTypes.func, // for legacy refs\n propTypes.shape({\n current: propTypes.any\n })])\n};\nvar defaultProps = {\n displayType: 'input',\n decimalSeparator: '.',\n thousandsGroupStyle: 'thousand',\n fixedDecimalScale: false,\n prefix: '',\n suffix: '',\n allowNegative: true,\n allowEmptyFormatting: false,\n allowLeadingZeros: false,\n isNumericString: false,\n type: 'text',\n onValueChange: noop,\n onChange: noop,\n onKeyDown: noop,\n onMouseUp: noop,\n onFocus: noop,\n onBlur: noop,\n isAllowed: returnTrue\n};\n\nvar NumberFormat =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(NumberFormat, _React$Component);\n\n function NumberFormat(props) {\n var _this;\n\n _classCallCheck(this, NumberFormat);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(NumberFormat).call(this, props));\n var defaultValue = props.defaultValue; //validate props\n\n _this.validateProps();\n\n var formattedValue = _this.formatValueProp(defaultValue);\n\n _this.state = {\n value: formattedValue,\n numAsString: _this.removeFormatting(formattedValue)\n };\n _this.selectionBeforeInput = {\n selectionStart: 0,\n selectionEnd: 0\n };\n _this.onChange = _this.onChange.bind(_assertThisInitialized(_this));\n _this.onKeyDown = _this.onKeyDown.bind(_assertThisInitialized(_this));\n _this.onMouseUp = _this.onMouseUp.bind(_assertThisInitialized(_this));\n _this.onFocus = _this.onFocus.bind(_assertThisInitialized(_this));\n _this.onBlur = _this.onBlur.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(NumberFormat, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n this.updateValueIfRequired(prevProps);\n }\n }, {\n key: \"updateValueIfRequired\",\n value: function updateValueIfRequired(prevProps) {\n var props = this.props,\n state = this.state,\n focusedElm = this.focusedElm;\n var stateValue = state.value,\n _state$numAsString = state.numAsString,\n lastNumStr = _state$numAsString === void 0 ? '' : _state$numAsString; // If only state changed no need to do any thing\n\n if (prevProps !== props) {\n //validate props\n this.validateProps();\n var lastValueWithNewFormat = this.formatNumString(lastNumStr);\n var formattedValue = props.value === undefined ? lastValueWithNewFormat : this.formatValueProp();\n var numAsString = this.removeFormatting(formattedValue);\n var floatValue = parseFloat(numAsString);\n var lastFloatValue = parseFloat(lastNumStr);\n\n if ( //while typing set state only when float value changes\n (!isNaN(floatValue) || !isNaN(lastFloatValue)) && floatValue !== lastFloatValue || //can also set state when float value is same and the format props changes\n lastValueWithNewFormat !== stateValue || //set state always when not in focus and formatted value is changed\n focusedElm === null && formattedValue !== stateValue) {\n this.updateValue({\n formattedValue: formattedValue,\n numAsString: numAsString,\n input: focusedElm\n });\n }\n }\n }\n /** Misc methods **/\n\n }, {\n key: \"getFloatString\",\n value: function getFloatString() {\n var num = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var decimalScale = this.props.decimalScale;\n\n var _this$getSeparators = this.getSeparators(),\n decimalSeparator = _this$getSeparators.decimalSeparator;\n\n var numRegex = this.getNumberRegex(true); //remove negation for regex check\n\n var hasNegation = num[0] === '-';\n if (hasNegation) num = num.replace('-', ''); //if decimal scale is zero remove decimal and number after decimalSeparator\n\n if (decimalSeparator && decimalScale === 0) {\n num = num.split(decimalSeparator)[0];\n }\n\n num = (num.match(numRegex) || []).join('').replace(decimalSeparator, '.'); //remove extra decimals\n\n var firstDecimalIndex = num.indexOf('.');\n\n if (firstDecimalIndex !== -1) {\n num = \"\".concat(num.substring(0, firstDecimalIndex), \".\").concat(num.substring(firstDecimalIndex + 1, num.length).replace(new RegExp(escapeRegExp(decimalSeparator), 'g'), ''));\n } //add negation back\n\n\n if (hasNegation) num = '-' + num;\n return num;\n } //returned regex assumes decimalSeparator is as per prop\n\n }, {\n key: \"getNumberRegex\",\n value: function getNumberRegex(g, ignoreDecimalSeparator) {\n var _this$props = this.props,\n format = _this$props.format,\n decimalScale = _this$props.decimalScale;\n\n var _this$getSeparators2 = this.getSeparators(),\n decimalSeparator = _this$getSeparators2.decimalSeparator;\n\n return new RegExp('\\\\d' + (decimalSeparator && decimalScale !== 0 && !ignoreDecimalSeparator && !format ? '|' + escapeRegExp(decimalSeparator) : ''), g ? 'g' : undefined);\n }\n }, {\n key: \"getSeparators\",\n value: function getSeparators() {\n var decimalSeparator = this.props.decimalSeparator;\n var _this$props2 = this.props,\n thousandSeparator = _this$props2.thousandSeparator,\n allowedDecimalSeparators = _this$props2.allowedDecimalSeparators;\n\n if (thousandSeparator === true) {\n thousandSeparator = ',';\n }\n\n if (!allowedDecimalSeparators) {\n allowedDecimalSeparators = [decimalSeparator, '.'];\n }\n\n return {\n decimalSeparator: decimalSeparator,\n thousandSeparator: thousandSeparator,\n allowedDecimalSeparators: allowedDecimalSeparators\n };\n }\n }, {\n key: \"getMaskAtIndex\",\n value: function getMaskAtIndex(index) {\n var _this$props$mask = this.props.mask,\n mask = _this$props$mask === void 0 ? ' ' : _this$props$mask;\n\n if (typeof mask === 'string') {\n return mask;\n }\n\n return mask[index] || ' ';\n }\n }, {\n key: \"getValueObject\",\n value: function getValueObject(formattedValue, numAsString) {\n var floatValue = parseFloat(numAsString);\n return {\n formattedValue: formattedValue,\n value: numAsString,\n floatValue: isNaN(floatValue) ? undefined : floatValue\n };\n }\n }, {\n key: \"validateProps\",\n value: function validateProps() {\n var mask = this.props.mask; //validate decimalSeparator and thousandSeparator\n\n var _this$getSeparators3 = this.getSeparators(),\n decimalSeparator = _this$getSeparators3.decimalSeparator,\n thousandSeparator = _this$getSeparators3.thousandSeparator;\n\n if (decimalSeparator === thousandSeparator) {\n throw new Error(\"\\n Decimal separator can't be same as thousand separator.\\n thousandSeparator: \".concat(thousandSeparator, \" (thousandSeparator = {true} is same as thousandSeparator = \\\",\\\")\\n decimalSeparator: \").concat(decimalSeparator, \" (default value for decimalSeparator is .)\\n \"));\n } //validate mask\n\n\n if (mask) {\n var maskAsStr = mask === 'string' ? mask : mask.toString();\n\n if (maskAsStr.match(/\\d/g)) {\n throw new Error(\"\\n Mask \".concat(mask, \" should not contain numeric character;\\n \"));\n }\n }\n }\n /** Misc methods end **/\n\n /** caret specific methods **/\n\n }, {\n key: \"setPatchedCaretPosition\",\n value: function setPatchedCaretPosition(el, caretPos, currentValue) {\n /* setting caret position within timeout of 0ms is required for mobile chrome,\n otherwise browser resets the caret position after we set it\n We are also setting it without timeout so that in normal browser we don't see the flickering */\n setCaretPosition(el, caretPos);\n setTimeout(function () {\n if (el.value === currentValue) setCaretPosition(el, caretPos);\n }, 0);\n }\n /* This keeps the caret within typing area so people can't type in between prefix or suffix */\n\n }, {\n key: \"correctCaretPosition\",\n value: function correctCaretPosition(value, caretPos, direction) {\n var _this$props3 = this.props,\n prefix = _this$props3.prefix,\n suffix = _this$props3.suffix,\n format = _this$props3.format; //if value is empty return 0\n\n if (value === '') return 0; //caret position should be between 0 and value length\n\n caretPos = clamp(caretPos, 0, value.length); //in case of format as number limit between prefix and suffix\n\n if (!format) {\n var hasNegation = value[0] === '-';\n return clamp(caretPos, prefix.length + (hasNegation ? 1 : 0), value.length - suffix.length);\n } //in case if custom format method don't do anything\n\n\n if (typeof format === 'function') return caretPos;\n /* in case format is string find the closest # position from the caret position */\n //in case the caretPos have input value on it don't do anything\n\n if (format[caretPos] === '#' && charIsNumber(value[caretPos])) return caretPos; //if caretPos is just after input value don't do anything\n\n if (format[caretPos - 1] === '#' && charIsNumber(value[caretPos - 1])) return caretPos; //find the nearest caret position\n\n var firstHashPosition = format.indexOf('#');\n var lastHashPosition = format.lastIndexOf('#'); //limit the cursor between the first # position and the last # position\n\n caretPos = clamp(caretPos, firstHashPosition, lastHashPosition + 1);\n var nextPos = format.substring(caretPos, format.length).indexOf('#');\n var caretLeftBound = caretPos;\n var caretRightBound = caretPos + (nextPos === -1 ? 0 : nextPos); //get the position where the last number is present\n\n while (caretLeftBound > firstHashPosition && (format[caretLeftBound] !== '#' || !charIsNumber(value[caretLeftBound]))) {\n caretLeftBound -= 1;\n }\n\n var goToLeft = !charIsNumber(value[caretRightBound]) || direction === 'left' && caretPos !== firstHashPosition || caretPos - caretLeftBound < caretRightBound - caretPos;\n\n if (goToLeft) {\n //check if number should be taken after the bound or after it\n //if number preceding a valid number keep it after\n return charIsNumber(value[caretLeftBound]) ? caretLeftBound + 1 : caretLeftBound;\n }\n\n return caretRightBound;\n }\n }, {\n key: \"getCaretPosition\",\n value: function getCaretPosition(inputValue, formattedValue, caretPos) {\n var format = this.props.format;\n var stateValue = this.state.value;\n var numRegex = this.getNumberRegex(true);\n var inputNumber = (inputValue.match(numRegex) || []).join('');\n var formattedNumber = (formattedValue.match(numRegex) || []).join('');\n var j, i;\n j = 0;\n\n for (i = 0; i < caretPos; i++) {\n var currentInputChar = inputValue[i] || '';\n var currentFormatChar = formattedValue[j] || ''; //no need to increase new cursor position if formatted value does not have those characters\n //case inputValue = 1a23 and formattedValue = 123\n\n if (!currentInputChar.match(numRegex) && currentInputChar !== currentFormatChar) continue; //When we are striping out leading zeros maintain the new cursor position\n //Case inputValue = 00023 and formattedValue = 23;\n\n if (currentInputChar === '0' && currentFormatChar.match(numRegex) && currentFormatChar !== '0' && inputNumber.length !== formattedNumber.length) continue; //we are not using currentFormatChar because j can change here\n\n while (currentInputChar !== formattedValue[j] && j < formattedValue.length) {\n j++;\n }\n\n j++;\n }\n\n if (typeof format === 'string' && !stateValue) {\n //set it to the maximum value so it goes after the last number\n j = formattedValue.length;\n } //correct caret position if its outside of editable area\n\n\n j = this.correctCaretPosition(formattedValue, j);\n return j;\n }\n /** caret specific methods ends **/\n\n /** methods to remove formattting **/\n\n }, {\n key: \"removePrefixAndSuffix\",\n value: function removePrefixAndSuffix(val) {\n var _this$props4 = this.props,\n format = _this$props4.format,\n prefix = _this$props4.prefix,\n suffix = _this$props4.suffix; //remove prefix and suffix\n\n if (!format && val) {\n var isNegative = val[0] === '-'; //remove negation sign\n\n if (isNegative) val = val.substring(1, val.length); //remove prefix\n\n val = prefix && val.indexOf(prefix) === 0 ? val.substring(prefix.length, val.length) : val; //remove suffix\n\n var suffixLastIndex = val.lastIndexOf(suffix);\n val = suffix && suffixLastIndex !== -1 && suffixLastIndex === val.length - suffix.length ? val.substring(0, suffixLastIndex) : val; //add negation sign back\n\n if (isNegative) val = '-' + val;\n }\n\n return val;\n }\n }, {\n key: \"removePatternFormatting\",\n value: function removePatternFormatting(val) {\n var format = this.props.format;\n var formatArray = format.split('#').filter(function (str) {\n return str !== '';\n });\n var start = 0;\n var numStr = '';\n\n for (var i = 0, ln = formatArray.length; i <= ln; i++) {\n var part = formatArray[i] || ''; //if i is the last fragment take the index of end of the value\n //For case like +1 (911) 911 91 91 having pattern +1 (###) ### ## ##\n\n var index = i === ln ? val.length : val.indexOf(part, start);\n /* in any case if we don't find the pattern part in the value assume the val as numeric string\n This will be also in case if user has started typing, in any other case it will not be -1\n unless wrong prop value is provided */\n\n if (index === -1) {\n numStr = val;\n break;\n } else {\n numStr += val.substring(start, index);\n start = index + part.length;\n }\n }\n\n return (numStr.match(/\\d/g) || []).join('');\n }\n }, {\n key: \"removeFormatting\",\n value: function removeFormatting(val) {\n var _this$props5 = this.props,\n format = _this$props5.format,\n removeFormatting = _this$props5.removeFormatting;\n if (!val) return val;\n\n if (!format) {\n val = this.removePrefixAndSuffix(val);\n val = this.getFloatString(val);\n } else if (typeof format === 'string') {\n val = this.removePatternFormatting(val);\n } else if (typeof removeFormatting === 'function') {\n //condition need to be handled if format method is provide,\n val = removeFormatting(val);\n } else {\n val = (val.match(/\\d/g) || []).join('');\n }\n\n return val;\n }\n /** methods to remove formattting end **/\n\n /*** format specific methods start ***/\n\n /**\n * Format when # based string is provided\n * @param {string} numStr Numeric String\n * @return {string} formatted Value\n */\n\n }, {\n key: \"formatWithPattern\",\n value: function formatWithPattern(numStr) {\n var format = this.props.format;\n var hashCount = 0;\n var formattedNumberAry = format.split('');\n\n for (var i = 0, ln = format.length; i < ln; i++) {\n if (format[i] === '#') {\n formattedNumberAry[i] = numStr[hashCount] || this.getMaskAtIndex(hashCount);\n hashCount += 1;\n }\n }\n\n return formattedNumberAry.join('');\n }\n /**\n * @param {string} numStr Numeric string/floatString] It always have decimalSeparator as .\n * @return {string} formatted Value\n */\n\n }, {\n key: \"formatAsNumber\",\n value: function formatAsNumber(numStr) {\n var _this$props6 = this.props,\n decimalScale = _this$props6.decimalScale,\n fixedDecimalScale = _this$props6.fixedDecimalScale,\n prefix = _this$props6.prefix,\n suffix = _this$props6.suffix,\n allowNegative = _this$props6.allowNegative,\n thousandsGroupStyle = _this$props6.thousandsGroupStyle;\n\n var _this$getSeparators4 = this.getSeparators(),\n thousandSeparator = _this$getSeparators4.thousandSeparator,\n decimalSeparator = _this$getSeparators4.decimalSeparator;\n\n var hasDecimalSeparator = numStr.indexOf('.') !== -1 || decimalScale && fixedDecimalScale;\n\n var _splitDecimal = splitDecimal(numStr, allowNegative),\n beforeDecimal = _splitDecimal.beforeDecimal,\n afterDecimal = _splitDecimal.afterDecimal,\n addNegation = _splitDecimal.addNegation; // eslint-disable-line prefer-const\n //apply decimal precision if its defined\n\n\n if (decimalScale !== undefined) afterDecimal = limitToScale(afterDecimal, decimalScale, fixedDecimalScale);\n\n if (thousandSeparator) {\n beforeDecimal = applyThousandSeparator(beforeDecimal, thousandSeparator, thousandsGroupStyle);\n } //add prefix and suffix\n\n\n if (prefix) beforeDecimal = prefix + beforeDecimal;\n if (suffix) afterDecimal = afterDecimal + suffix; //restore negation sign\n\n if (addNegation) beforeDecimal = '-' + beforeDecimal;\n numStr = beforeDecimal + (hasDecimalSeparator && decimalSeparator || '') + afterDecimal;\n return numStr;\n }\n }, {\n key: \"formatNumString\",\n value: function formatNumString() {\n var numStr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var _this$props7 = this.props,\n format = _this$props7.format,\n allowEmptyFormatting = _this$props7.allowEmptyFormatting;\n var formattedValue = numStr;\n\n if (numStr === '' && !allowEmptyFormatting) {\n formattedValue = '';\n } else if (numStr === '-' && !format) {\n formattedValue = '-';\n } else if (typeof format === 'string') {\n formattedValue = this.formatWithPattern(formattedValue);\n } else if (typeof format === 'function') {\n formattedValue = format(formattedValue);\n } else {\n formattedValue = this.formatAsNumber(formattedValue);\n }\n\n return formattedValue;\n }\n }, {\n key: \"formatValueProp\",\n value: function formatValueProp(defaultValue) {\n var _this$props8 = this.props,\n format = _this$props8.format,\n decimalScale = _this$props8.decimalScale,\n fixedDecimalScale = _this$props8.fixedDecimalScale,\n allowEmptyFormatting = _this$props8.allowEmptyFormatting;\n var _this$props9 = this.props,\n _this$props9$value = _this$props9.value,\n value = _this$props9$value === void 0 ? defaultValue : _this$props9$value,\n isNumericString = _this$props9.isNumericString;\n var isNonNumericFalsy = !value && value !== 0;\n\n if (isNonNumericFalsy && allowEmptyFormatting) {\n value = '';\n } // if value is not defined return empty string\n\n\n if (isNonNumericFalsy && !allowEmptyFormatting) return '';\n\n if (typeof value === 'number') {\n value = value.toString();\n isNumericString = true;\n } //change infinity value to empty string\n\n\n if (value === 'Infinity' && isNumericString) {\n value = '';\n } //round the number based on decimalScale\n //format only if non formatted value is provided\n\n\n if (isNumericString && !format && typeof decimalScale === 'number') {\n value = roundToPrecision(value, decimalScale, fixedDecimalScale);\n }\n\n var formattedValue = isNumericString ? this.formatNumString(value) : this.formatInput(value);\n return formattedValue;\n }\n }, {\n key: \"formatNegation\",\n value: function formatNegation() {\n var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var allowNegative = this.props.allowNegative;\n var negationRegex = new RegExp('(-)');\n var doubleNegationRegex = new RegExp('(-)(.)*(-)'); // Check number has '-' value\n\n var hasNegation = negationRegex.test(value); // Check number has 2 or more '-' values\n\n var removeNegation = doubleNegationRegex.test(value); //remove negation\n\n value = value.replace(/-/g, '');\n\n if (hasNegation && !removeNegation && allowNegative) {\n value = '-' + value;\n }\n\n return value;\n }\n }, {\n key: \"formatInput\",\n value: function formatInput() {\n var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var format = this.props.format; //format negation only if we are formatting as number\n\n if (!format) {\n value = this.removePrefixAndSuffix(value);\n value = this.formatNegation(value);\n } //remove formatting from number\n\n\n value = this.removeFormatting(value);\n return this.formatNumString(value);\n }\n /*** format specific methods end ***/\n\n }, {\n key: \"isCharacterAFormat\",\n value: function isCharacterAFormat(caretPos, value) {\n var _this$props10 = this.props,\n format = _this$props10.format,\n prefix = _this$props10.prefix,\n suffix = _this$props10.suffix,\n decimalScale = _this$props10.decimalScale,\n fixedDecimalScale = _this$props10.fixedDecimalScale;\n\n var _this$getSeparators5 = this.getSeparators(),\n decimalSeparator = _this$getSeparators5.decimalSeparator; //check within format pattern\n\n\n if (typeof format === 'string' && format[caretPos] !== '#') return true; //check in number format\n\n if (!format && (caretPos < prefix.length || caretPos >= value.length - suffix.length || decimalScale && fixedDecimalScale && value[caretPos] === decimalSeparator)) {\n return true;\n }\n\n return false;\n }\n }, {\n key: \"checkIfFormatGotDeleted\",\n value: function checkIfFormatGotDeleted(start, end, value) {\n for (var i = start; i < end; i++) {\n if (this.isCharacterAFormat(i, value)) return true;\n }\n\n return false;\n }\n /**\n * This will check if any formatting got removed by the delete or backspace and reset the value\n * It will also work as fallback if android chome keyDown handler does not work\n **/\n\n }, {\n key: \"correctInputValue\",\n value: function correctInputValue(caretPos, lastValue, value) {\n var _this$props11 = this.props,\n format = _this$props11.format,\n allowNegative = _this$props11.allowNegative,\n prefix = _this$props11.prefix,\n suffix = _this$props11.suffix,\n decimalScale = _this$props11.decimalScale;\n\n var _this$getSeparators6 = this.getSeparators(),\n allowedDecimalSeparators = _this$getSeparators6.allowedDecimalSeparators,\n decimalSeparator = _this$getSeparators6.decimalSeparator;\n\n var lastNumStr = this.state.numAsString || '';\n var _this$selectionBefore = this.selectionBeforeInput,\n selectionStart = _this$selectionBefore.selectionStart,\n selectionEnd = _this$selectionBefore.selectionEnd;\n\n var _findChangedIndex = findChangedIndex(lastValue, value),\n start = _findChangedIndex.start,\n end = _findChangedIndex.end;\n /** Check for any allowed decimal separator is added in the numeric format and replace it with decimal separator */\n\n\n if (!format && start === end && allowedDecimalSeparators.indexOf(value[selectionStart]) !== -1) {\n var separator = decimalScale === 0 ? '' : decimalSeparator;\n return value.substr(0, selectionStart) + separator + value.substr(selectionStart + 1, value.length);\n }\n /* don't do anyhting if something got added,\n or if value is empty string (when whole input is cleared)\n or whole input is replace with a number\n */\n\n\n var leftBound = !!format ? 0 : prefix.length;\n var rightBound = lastValue.length - (!!format ? 0 : suffix.length);\n\n if (value.length > lastValue.length || !value.length || start === end || selectionStart === 0 && selectionEnd === lastValue.length || selectionStart === leftBound && selectionEnd === rightBound) {\n return value;\n } //if format got deleted reset the value to last value\n\n\n if (this.checkIfFormatGotDeleted(start, end, lastValue)) {\n value = lastValue;\n } //for numbers check if beforeDecimal got deleted and there is nothing after decimal,\n //clear all numbers in such case while keeping the - sign\n\n\n if (!format) {\n var numericString = this.removeFormatting(value);\n\n var _splitDecimal2 = splitDecimal(numericString, allowNegative),\n beforeDecimal = _splitDecimal2.beforeDecimal,\n afterDecimal = _splitDecimal2.afterDecimal,\n addNegation = _splitDecimal2.addNegation; // eslint-disable-line prefer-const\n //clear only if something got deleted\n\n\n var isBeforeDecimalPoint = caretPos < value.indexOf(decimalSeparator) + 1;\n\n if (numericString.length < lastNumStr.length && isBeforeDecimalPoint && beforeDecimal === '' && !parseFloat(afterDecimal)) {\n return addNegation ? '-' : '';\n }\n }\n\n return value;\n }\n /** Update value and caret position */\n\n }, {\n key: \"updateValue\",\n value: function updateValue(params) {\n var formattedValue = params.formattedValue,\n input = params.input,\n _params$setCaretPosit = params.setCaretPosition,\n setCaretPosition = _params$setCaretPosit === void 0 ? true : _params$setCaretPosit;\n var numAsString = params.numAsString,\n caretPos = params.caretPos;\n var onValueChange = this.props.onValueChange;\n var lastValue = this.state.value;\n\n if (input) {\n //set caret position, and value imperatively when element is provided\n if (setCaretPosition) {\n //calculate caret position if not defined\n if (!caretPos) {\n var inputValue = params.inputValue || input.value;\n var currentCaretPosition = getCurrentCaretPosition(input);\n /**\n * set the value imperatively, this is required for IE fix\n * This is also required as if new caret position is beyond the previous value.\n * Caret position will not be set correctly\n */\n\n input.value = formattedValue; //get the caret position\n\n caretPos = this.getCaretPosition(inputValue, formattedValue, currentCaretPosition);\n } //set caret position\n\n\n this.setPatchedCaretPosition(input, caretPos, formattedValue);\n } else {\n /**\n * if we are not setting caret position set the value imperatively.\n * This is required on onBlur method\n */\n input.value = formattedValue;\n }\n } //calculate numeric string if not passed\n\n\n if (numAsString === undefined) {\n numAsString = this.removeFormatting(formattedValue);\n } //update state if value is changed\n\n\n if (formattedValue !== lastValue) {\n this.setState({\n value: formattedValue,\n numAsString: numAsString\n }); // trigger onValueChange synchronously, so parent is updated along with the number format. Fix for #277, #287\n\n onValueChange(this.getValueObject(formattedValue, numAsString));\n }\n }\n }, {\n key: \"onChange\",\n value: function onChange(e) {\n var el = e.target;\n var inputValue = el.value;\n var state = this.state,\n props = this.props;\n var isAllowed = props.isAllowed;\n var lastValue = state.value || '';\n var currentCaretPosition = getCurrentCaretPosition(el);\n inputValue = this.correctInputValue(currentCaretPosition, lastValue, inputValue);\n var formattedValue = this.formatInput(inputValue) || '';\n var numAsString = this.removeFormatting(formattedValue);\n var valueObj = this.getValueObject(formattedValue, numAsString);\n\n if (!isAllowed(valueObj)) {\n formattedValue = lastValue;\n }\n\n this.updateValue({\n formattedValue: formattedValue,\n numAsString: numAsString,\n inputValue: inputValue,\n input: el\n });\n props.onChange(e);\n }\n }, {\n key: \"onBlur\",\n value: function onBlur(e) {\n var props = this.props,\n state = this.state;\n var format = props.format,\n onBlur = props.onBlur,\n allowLeadingZeros = props.allowLeadingZeros;\n var numAsString = state.numAsString;\n var lastValue = state.value;\n this.focusedElm = null;\n\n if (this.focusTimeout) {\n clearTimeout(this.focusTimeout);\n }\n\n if (!format) {\n // if the numAsString is not a valid number reset it to empty\n if (isNaN(parseFloat(numAsString))) {\n numAsString = '';\n }\n\n if (!allowLeadingZeros) {\n numAsString = fixLeadingZero(numAsString);\n }\n\n var formattedValue = this.formatNumString(numAsString); //change the state\n\n if (formattedValue !== lastValue) {\n // the event needs to be persisted because its properties can be accessed in an asynchronous way\n this.updateValue({\n formattedValue: formattedValue,\n numAsString: numAsString,\n input: e.target,\n setCaretPosition: false\n });\n onBlur(e);\n return;\n }\n }\n\n onBlur(e);\n }\n }, {\n key: \"onKeyDown\",\n value: function onKeyDown(e) {\n var el = e.target;\n var key = e.key;\n var selectionStart = el.selectionStart,\n selectionEnd = el.selectionEnd,\n _el$value = el.value,\n value = _el$value === void 0 ? '' : _el$value;\n var expectedCaretPosition;\n var _this$props12 = this.props,\n decimalScale = _this$props12.decimalScale,\n fixedDecimalScale = _this$props12.fixedDecimalScale,\n prefix = _this$props12.prefix,\n suffix = _this$props12.suffix,\n format = _this$props12.format,\n onKeyDown = _this$props12.onKeyDown;\n var ignoreDecimalSeparator = decimalScale !== undefined && fixedDecimalScale;\n var numRegex = this.getNumberRegex(false, ignoreDecimalSeparator);\n var negativeRegex = new RegExp('-');\n var isPatternFormat = typeof format === 'string';\n this.selectionBeforeInput = {\n selectionStart: selectionStart,\n selectionEnd: selectionEnd\n }; //Handle backspace and delete against non numerical/decimal characters or arrow keys\n\n if (key === 'ArrowLeft' || key === 'Backspace') {\n expectedCaretPosition = selectionStart - 1;\n } else if (key === 'ArrowRight') {\n expectedCaretPosition = selectionStart + 1;\n } else if (key === 'Delete') {\n expectedCaretPosition = selectionStart;\n } //if expectedCaretPosition is not set it means we don't want to Handle keyDown\n //also if multiple characters are selected don't handle\n\n\n if (expectedCaretPosition === undefined || selectionStart !== selectionEnd) {\n onKeyDown(e);\n return;\n }\n\n var newCaretPosition = expectedCaretPosition;\n var leftBound = isPatternFormat ? format.indexOf('#') : prefix.length;\n var rightBound = isPatternFormat ? format.lastIndexOf('#') + 1 : value.length - suffix.length;\n\n if (key === 'ArrowLeft' || key === 'ArrowRight') {\n var direction = key === 'ArrowLeft' ? 'left' : 'right';\n newCaretPosition = this.correctCaretPosition(value, expectedCaretPosition, direction);\n } else if (key === 'Delete' && !numRegex.test(value[expectedCaretPosition]) && !negativeRegex.test(value[expectedCaretPosition])) {\n while (!numRegex.test(value[newCaretPosition]) && newCaretPosition < rightBound) {\n newCaretPosition++;\n }\n } else if (key === 'Backspace' && !numRegex.test(value[expectedCaretPosition])) {\n /* NOTE: This is special case when backspace is pressed on a\n negative value while the cursor position is after prefix. We can't handle it on onChange because\n we will not have any information of keyPress\n */\n if (selectionStart <= leftBound + 1 && value[0] === '-' && typeof format === 'undefined') {\n var newValue = value.substring(1);\n this.updateValue({\n formattedValue: newValue,\n caretPos: newCaretPosition,\n input: el\n });\n } else if (!negativeRegex.test(value[expectedCaretPosition])) {\n while (!numRegex.test(value[newCaretPosition - 1]) && newCaretPosition > leftBound) {\n newCaretPosition--;\n }\n\n newCaretPosition = this.correctCaretPosition(value, newCaretPosition, 'left');\n }\n }\n\n if (newCaretPosition !== expectedCaretPosition || expectedCaretPosition < leftBound || expectedCaretPosition > rightBound) {\n e.preventDefault();\n this.setPatchedCaretPosition(el, newCaretPosition, value);\n }\n /* NOTE: this is just required for unit test as we need to get the newCaretPosition,\n Remove this when you find different solution */\n\n\n if (e.isUnitTestRun) {\n this.setPatchedCaretPosition(el, newCaretPosition, value);\n }\n\n onKeyDown(e);\n }\n /** required to handle the caret position when click anywhere within the input **/\n\n }, {\n key: \"onMouseUp\",\n value: function onMouseUp(e) {\n var el = e.target;\n /**\n * NOTE: we have to give default value for value as in case when custom input is provided\n * value can come as undefined when nothing is provided on value prop.\n */\n\n var selectionStart = el.selectionStart,\n selectionEnd = el.selectionEnd,\n _el$value2 = el.value,\n value = _el$value2 === void 0 ? '' : _el$value2;\n\n if (selectionStart === selectionEnd) {\n var caretPosition = this.correctCaretPosition(value, selectionStart);\n\n if (caretPosition !== selectionStart) {\n this.setPatchedCaretPosition(el, caretPosition, value);\n }\n }\n\n this.props.onMouseUp(e);\n }\n }, {\n key: \"onFocus\",\n value: function onFocus(e) {\n var _this2 = this;\n\n // Workaround Chrome and Safari bug https://bugs.chromium.org/p/chromium/issues/detail?id=779328\n // (onFocus event target selectionStart is always 0 before setTimeout)\n e.persist();\n this.focusedElm = e.target;\n this.focusTimeout = setTimeout(function () {\n var el = e.target;\n var selectionStart = el.selectionStart,\n selectionEnd = el.selectionEnd,\n _el$value3 = el.value,\n value = _el$value3 === void 0 ? '' : _el$value3;\n\n var caretPosition = _this2.correctCaretPosition(value, selectionStart); //setPatchedCaretPosition only when everything is not selected on focus (while tabbing into the field)\n\n\n if (caretPosition !== selectionStart && !(selectionStart === 0 && selectionEnd === value.length)) {\n _this2.setPatchedCaretPosition(el, caretPosition, value);\n }\n\n _this2.props.onFocus(e);\n }, 0);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props13 = this.props,\n type = _this$props13.type,\n displayType = _this$props13.displayType,\n customInput = _this$props13.customInput,\n renderText = _this$props13.renderText,\n getInputRef = _this$props13.getInputRef;\n var value = this.state.value;\n var otherProps = omit(this.props, propTypes$1);\n\n var inputProps = _extends({\n inputMode: 'numeric'\n }, otherProps, {\n type: type,\n value: value,\n onChange: this.onChange,\n onKeyDown: this.onKeyDown,\n onMouseUp: this.onMouseUp,\n onFocus: this.onFocus,\n onBlur: this.onBlur\n });\n\n if (displayType === 'text') {\n return renderText ? renderText(value) || null : React.createElement(\"span\", _extends({}, otherProps, {\n ref: getInputRef\n }), value);\n } else if (customInput) {\n var CustomInput = customInput;\n return React.createElement(CustomInput, _extends({}, inputProps, {\n ref: getInputRef\n }));\n }\n\n return React.createElement(\"input\", _extends({}, inputProps, {\n ref: getInputRef\n }));\n }\n }]);\n\n return NumberFormat;\n}(React.Component);\n\nNumberFormat.propTypes = propTypes$1;\nNumberFormat.defaultProps = defaultProps;\n\nexport default NumberFormat;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","var CONSTANTS = {\n\n // Positions\n positions: {\n tl: 'tl',\n tr: 'tr',\n tc: 'tc',\n bl: 'bl',\n br: 'br',\n bc: 'bc'\n },\n\n // Levels\n levels: {\n success: 'success',\n error: 'error',\n warning: 'warning',\n info: 'info'\n },\n\n // Notification defaults\n notification: {\n title: null,\n message: null,\n level: null,\n position: 'tr',\n autoDismiss: 5,\n dismissible: 'both',\n action: null\n }\n};\n\n\nmodule.exports = CONSTANTS;\n","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}","export default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}","export default function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}","export default 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}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nexport default function _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import _typeof from \"../../helpers/esm/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { Children, Component } from 'react';\nimport invariant from 'invariant';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport useStyles, { inline } from 'substyle';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\n\n// escape RegExp special characters https://stackoverflow.com/a/9310752/5142490\nvar escapeRegex = function escapeRegex(str) {\n return str.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n};\n\nvar PLACEHOLDERS = {\n id: '__id__',\n display: '__display__'\n};\n\nvar findPositionOfCapturingGroup = function findPositionOfCapturingGroup(markup, parameterName) {\n invariant(parameterName === 'id' || parameterName === 'display', \"Second arg must be either \\\"id\\\" or \\\"display\\\", got: \\\"\".concat(parameterName, \"\\\"\")); // find positions of placeholders in the markup\n\n var indexDisplay = markup.indexOf(PLACEHOLDERS.display);\n var indexId = markup.indexOf(PLACEHOLDERS.id); // set indices to null if not found\n\n if (indexDisplay < 0) indexDisplay = null;\n if (indexId < 0) indexId = null; // markup must contain one of the mandatory placeholders\n\n invariant(indexDisplay !== null || indexId !== null, \"The markup '\".concat(markup, \"' does not contain either of the placeholders '__id__' or '__display__'\"));\n\n if (indexDisplay !== null && indexId !== null) {\n // both placeholders are used, return 0 or 1 depending on the position of the requested parameter\n return parameterName === 'id' && indexId <= indexDisplay || parameterName === 'display' && indexDisplay <= indexId ? 0 : 1;\n } // just one placeholder is being used, we'll use the captured string for both parameters\n\n\n return 0;\n};\n\nvar combineRegExps = function combineRegExps(regExps) {\n var serializedRegexParser = /^\\/(.+)\\/(\\w+)?$/;\n return new RegExp(regExps.map(function (regex) {\n var _serializedRegexParse = serializedRegexParser.exec(regex.toString()),\n _serializedRegexParse2 = _slicedToArray(_serializedRegexParse, 3),\n regexString = _serializedRegexParse2[1],\n regexFlags = _serializedRegexParse2[2];\n\n invariant(!regexFlags, \"RegExp flags are not supported. Change /\".concat(regexString, \"/\").concat(regexFlags, \" into /\").concat(regexString, \"/\"));\n return \"(\".concat(regexString, \")\");\n }).join('|'), 'g');\n};\n\nvar countPlaceholders = function countPlaceholders(markup) {\n var count = 0;\n if (markup.indexOf('__id__') >= 0) count++;\n if (markup.indexOf('__display__') >= 0) count++;\n return count;\n};\n\nvar emptyFn = function emptyFn() {}; // Finds all occurrences of the markup in the value and calls the `markupIteratee` callback for each of them.\n// The optional `textIteratee` callback is called for each plain text ranges in between these markup occurrences.\n\n\nvar iterateMentionsMarkup = function iterateMentionsMarkup(value, config, markupIteratee) {\n var textIteratee = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : emptyFn;\n var regex = combineRegExps(config.map(function (c) {\n return c.regex;\n }));\n var accOffset = 2; // first is whole match, second is the for the capturing group of first regexp component\n\n var captureGroupOffsets = config.map(function (_ref) {\n var markup = _ref.markup;\n var result = accOffset; // + 1 is for the capturing group we add around each regexp component in combineRegExps\n\n accOffset += countPlaceholders(markup) + 1;\n return result;\n });\n var match;\n var start = 0;\n var currentPlainTextIndex = 0; // detect all mention markup occurrences in the value and iterate the matches\n\n while ((match = regex.exec(value)) !== null) {\n var offset = captureGroupOffsets.find(function (o) {\n return !!match[o];\n }); // eslint-disable-line no-loop-func\n\n var mentionChildIndex = captureGroupOffsets.indexOf(offset);\n var _config$mentionChildI = config[mentionChildIndex],\n markup = _config$mentionChildI.markup,\n displayTransform = _config$mentionChildI.displayTransform;\n var idPos = offset + findPositionOfCapturingGroup(markup, 'id');\n var displayPos = offset + findPositionOfCapturingGroup(markup, 'display');\n var id = match[idPos];\n var display = displayTransform(id, match[displayPos]);\n var substr = value.substring(start, match.index);\n textIteratee(substr, start, currentPlainTextIndex);\n currentPlainTextIndex += substr.length;\n markupIteratee(match[0], match.index, currentPlainTextIndex, id, display, mentionChildIndex, start);\n currentPlainTextIndex += display.length;\n start = regex.lastIndex;\n }\n\n if (start < value.length) {\n textIteratee(value.substring(start), start, currentPlainTextIndex);\n }\n};\n\nvar getPlainText = function getPlainText(value, config) {\n var result = '';\n iterateMentionsMarkup(value, config, function (match, index, plainTextIndex, id, display) {\n result += display;\n }, function (plainText) {\n result += plainText;\n });\n return result;\n};\n\n// in the marked up value string.\n// If the passed character index lies inside a mention, the value of `inMarkupCorrection` defines the\n// correction to apply:\n// - 'START' to return the index of the mention markup's first char (default)\n// - 'END' to return the index after its last char\n// - 'NULL' to return null\n\nvar mapPlainTextIndex = function mapPlainTextIndex(value, config, indexInPlainText) {\n var inMarkupCorrection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'START';\n\n if (typeof indexInPlainText !== 'number') {\n return indexInPlainText;\n }\n\n var result;\n\n var textIteratee = function textIteratee(substr, index, substrPlainTextIndex) {\n if (result !== undefined) return;\n\n if (substrPlainTextIndex + substr.length >= indexInPlainText) {\n // found the corresponding position in the current plain text range\n result = index + indexInPlainText - substrPlainTextIndex;\n }\n };\n\n var markupIteratee = function markupIteratee(markup, index, mentionPlainTextIndex, id, display, childIndex, lastMentionEndIndex) {\n if (result !== undefined) return;\n\n if (mentionPlainTextIndex + display.length > indexInPlainText) {\n // found the corresponding position inside current match,\n // return the index of the first or after the last char of the matching markup\n // depending on whether the `inMarkupCorrection`\n if (inMarkupCorrection === 'NULL') {\n result = null;\n } else {\n result = index + (inMarkupCorrection === 'END' ? markup.length : 0);\n }\n }\n };\n\n iterateMentionsMarkup(value, config, markupIteratee, textIteratee); // when a mention is at the end of the value and we want to get the caret position\n // at the end of the string, result is undefined\n\n return result === undefined ? value.length : result;\n};\n\nvar spliceString = function spliceString(str, start, end, insert) {\n return str.substring(0, start) + insert + str.substring(end);\n};\n\n// guided by the textarea text selection ranges before and after the change\n\nvar applyChangeToValue = function applyChangeToValue(value, plainTextValue, _ref, config) {\n var selectionStartBefore = _ref.selectionStartBefore,\n selectionEndBefore = _ref.selectionEndBefore,\n selectionEndAfter = _ref.selectionEndAfter;\n var oldPlainTextValue = getPlainText(value, config);\n var lengthDelta = oldPlainTextValue.length - plainTextValue.length;\n\n if (selectionStartBefore === 'undefined') {\n selectionStartBefore = selectionEndAfter + lengthDelta;\n }\n\n if (selectionEndBefore === 'undefined') {\n selectionEndBefore = selectionStartBefore;\n } // Fixes an issue with replacing combined characters for complex input. Eg like acented letters on OSX\n\n\n if (selectionStartBefore === selectionEndBefore && selectionEndBefore === selectionEndAfter && oldPlainTextValue.length === plainTextValue.length) {\n selectionStartBefore = selectionStartBefore - 1;\n } // extract the insertion from the new plain text value\n\n\n var insert = plainTextValue.slice(selectionStartBefore, selectionEndAfter); // handling for Backspace key with no range selection\n\n var spliceStart = Math.min(selectionStartBefore, selectionEndAfter);\n var spliceEnd = selectionEndBefore;\n\n if (selectionStartBefore === selectionEndAfter) {\n // handling for Delete key with no range selection\n spliceEnd = Math.max(selectionEndBefore, selectionStartBefore + lengthDelta);\n }\n\n var mappedSpliceStart = mapPlainTextIndex(value, config, spliceStart, 'START');\n var mappedSpliceEnd = mapPlainTextIndex(value, config, spliceEnd, 'END');\n var controlSpliceStart = mapPlainTextIndex(value, config, spliceStart, 'NULL');\n var controlSpliceEnd = mapPlainTextIndex(value, config, spliceEnd, 'NULL');\n var willRemoveMention = controlSpliceStart === null || controlSpliceEnd === null;\n var newValue = spliceString(value, mappedSpliceStart, mappedSpliceEnd, insert);\n\n if (!willRemoveMention) {\n // test for auto-completion changes\n var controlPlainTextValue = getPlainText(newValue, config);\n\n if (controlPlainTextValue !== plainTextValue) {\n // some auto-correction is going on\n // find start of diff\n spliceStart = 0;\n\n while (plainTextValue[spliceStart] === controlPlainTextValue[spliceStart]) {\n spliceStart++;\n } // extract auto-corrected insertion\n\n\n insert = plainTextValue.slice(spliceStart, selectionEndAfter); // find index of the unchanged remainder\n\n spliceEnd = oldPlainTextValue.lastIndexOf(plainTextValue.substring(selectionEndAfter)); // re-map the corrected indices\n\n mappedSpliceStart = mapPlainTextIndex(value, config, spliceStart, 'START');\n mappedSpliceEnd = mapPlainTextIndex(value, config, spliceEnd, 'END');\n newValue = spliceString(value, mappedSpliceStart, mappedSpliceEnd, insert);\n }\n }\n\n return newValue;\n};\n\n// returns a the index of of the first char of the mention in the plain text.\n// If indexInPlainText does not lie inside a mention, returns indexInPlainText.\n\nvar findStartOfMentionInPlainText = function findStartOfMentionInPlainText(value, config, indexInPlainText) {\n var result = indexInPlainText;\n var foundMention = false;\n\n var markupIteratee = function markupIteratee(markup, index, mentionPlainTextIndex, id, display, childIndex, lastMentionEndIndex) {\n if (mentionPlainTextIndex <= indexInPlainText && mentionPlainTextIndex + display.length > indexInPlainText) {\n result = mentionPlainTextIndex;\n foundMention = true;\n }\n };\n\n iterateMentionsMarkup(value, config, markupIteratee);\n\n if (foundMention) {\n return result;\n }\n};\n\nvar getMentions = function getMentions(value, config) {\n var mentions = [];\n iterateMentionsMarkup(value, config, function (match, index, plainTextIndex, id, display, childIndex, start) {\n mentions.push({\n id: id,\n display: display,\n childIndex: childIndex,\n index: index,\n plainTextIndex: plainTextIndex\n });\n });\n return mentions;\n};\n\nvar getSuggestionHtmlId = function getSuggestionHtmlId(prefix, id) {\n return \"\".concat(prefix, \"-\").concat(id);\n};\n\nvar countSuggestions = function countSuggestions(suggestions) {\n return Object.values(suggestions).reduce(function (acc, _ref) {\n var results = _ref.results;\n return acc + results.length;\n }, 0);\n};\n\nvar getEndOfLastMention = function getEndOfLastMention(value, config) {\n var mentions = getMentions(value, config);\n var lastMention = mentions[mentions.length - 1];\n return lastMention ? lastMention.plainTextIndex + lastMention.display.length : 0;\n};\n\nvar markupToRegex = function markupToRegex(markup) {\n var escapedMarkup = escapeRegex(markup);\n var charAfterDisplay = markup[markup.indexOf(PLACEHOLDERS.display) + PLACEHOLDERS.display.length];\n var charAfterId = markup[markup.indexOf(PLACEHOLDERS.id) + PLACEHOLDERS.id.length];\n return new RegExp(escapedMarkup.replace(PLACEHOLDERS.display, \"([^\".concat(escapeRegex(charAfterDisplay || ''), \"]+?)\")).replace(PLACEHOLDERS.id, \"([^\".concat(escapeRegex(charAfterId || ''), \"]+?)\")));\n};\n\nvar readConfigFromChildren = function readConfigFromChildren(children) {\n return Children.toArray(children).map(function (_ref) {\n var _ref$props = _ref.props,\n markup = _ref$props.markup,\n regex = _ref$props.regex,\n displayTransform = _ref$props.displayTransform;\n return {\n markup: markup,\n regex: regex ? coerceCapturingGroups(regex, markup) : markupToRegex(markup),\n displayTransform: displayTransform || function (id, display) {\n return display || id;\n }\n };\n });\n}; // make sure that the custom regex defines the correct number of capturing groups\n\n\nvar coerceCapturingGroups = function coerceCapturingGroups(regex, markup) {\n var numberOfGroups = new RegExp(regex.toString() + '|').exec('').length - 1;\n var numberOfPlaceholders = countPlaceholders(markup);\n invariant(numberOfGroups === numberOfPlaceholders, \"Number of capturing groups in RegExp \".concat(regex.toString(), \" (\").concat(numberOfGroups, \") does not match the number of placeholders in the markup '\").concat(markup, \"' (\").concat(numberOfPlaceholders, \")\"));\n return regex;\n};\n\nvar makeMentionsMarkup = function makeMentionsMarkup(markup, id, display) {\n return markup.replace(PLACEHOLDERS.id, id).replace(PLACEHOLDERS.display, display);\n};\n\n// This contains all the latin letters and the regex that match these letters with diacritics\n// https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript\nvar lettersDiacritics = [{\n base: 'A',\n letters: /(A|Ⓐ|A|À|Á|Â|Ầ|Ấ|Ẫ|Ẩ|Ã|Ā|Ă|Ằ|Ắ|Ẵ|Ẳ|Ȧ|Ǡ|Ä|Ǟ|Ả|Å|Ǻ|Ǎ|Ȁ|Ȃ|Ạ|Ậ|Ặ|Ḁ|Ą|Ⱥ|Ɐ|[\\u0041\\u24B6\\uFF21\\u00C0\\u00C1\\u00C2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\u00C3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\u00C4\\u01DE\\u1EA2\\u00C5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F])/g\n}, {\n base: 'AA',\n letters: /(Ꜳ|[\\uA732])/g\n}, {\n base: 'AE',\n letters: /(Æ|Ǽ|Ǣ|[\\u00C6\\u01FC\\u01E2])/g\n}, {\n base: 'AO',\n letters: /(Ꜵ|[\\uA734])/g\n}, {\n base: 'AU',\n letters: /(Ꜷ|[\\uA736])/g\n}, {\n base: 'AV',\n letters: /(Ꜹ|Ꜻ|[\\uA738\\uA73A])/g\n}, {\n base: 'AY',\n letters: /(Ꜽ|[\\uA73C])/g\n}, {\n base: 'B',\n letters: /(B|Ⓑ|B|Ḃ|Ḅ|Ḇ|Ƀ|Ƃ|Ɓ|[\\u0042\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181])/g\n}, {\n base: 'C',\n letters: /(C|Ⓒ|C|Ć|Ĉ|Ċ|Č|Ç|Ḉ|Ƈ|Ȼ|Ꜿ|[\\u0043\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\u00C7\\u1E08\\u0187\\u023B\\uA73E])/g\n}, {\n base: 'D',\n letters: /(D|Ⓓ|D|Ḋ|Ď|Ḍ|Ḑ|Ḓ|Ḏ|Đ|Ƌ|Ɗ|Ɖ|Ꝺ|Ð|[\\u0044\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779\\u00D0])/g\n}, {\n base: 'DZ',\n letters: /(DZ|DŽ|[\\u01F1\\u01C4])/g\n}, {\n base: 'Dz',\n letters: /(Dz|Dž|[\\u01F2\\u01C5])/g\n}, {\n base: 'E',\n letters: /(E|Ⓔ|E|È|É|Ê|Ề|Ế|Ễ|Ể|Ẽ|Ē|Ḕ|Ḗ|Ĕ|Ė|Ë|Ẻ|Ě|Ȅ|Ȇ|Ẹ|Ệ|Ȩ|Ḝ|Ę|Ḙ|Ḛ|Ɛ|Ǝ|[\\u0045\\u24BA\\uFF25\\u00C8\\u00C9\\u00CA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\u00CB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E])/g\n}, {\n base: 'F',\n letters: /(F|Ⓕ|F|Ḟ|Ƒ|Ꝼ|[\\u0046\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B])/g\n}, {\n base: 'G',\n letters: /(G|Ⓖ|G|Ǵ|Ĝ|Ḡ|Ğ|Ġ|Ǧ|Ģ|Ǥ|Ɠ|Ꞡ|Ᵹ|Ꝿ|[\\u0047\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E])/g\n}, {\n base: 'H',\n letters: /(H|Ⓗ|H|Ĥ|Ḣ|Ḧ|Ȟ|Ḥ|Ḩ|Ḫ|Ħ|Ⱨ|Ⱶ|Ɥ|[\\u0048\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D])/g\n}, {\n base: 'I',\n letters: /(I|Ⓘ|I|Ì|Í|Î|Ĩ|Ī|Ĭ|İ|Ï|Ḯ|Ỉ|Ǐ|Ȉ|Ȋ|Ị|Į|Ḭ|Ɨ|[\\u0049\\u24BE\\uFF29\\u00CC\\u00CD\\u00CE\\u0128\\u012A\\u012C\\u0130\\u00CF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197])/g\n}, {\n base: 'J',\n letters: /(J|Ⓙ|J|Ĵ|Ɉ|[\\u004A\\u24BF\\uFF2A\\u0134\\u0248])/g\n}, {\n base: 'K',\n letters: /(K|Ⓚ|K|Ḱ|Ǩ|Ḳ|Ķ|Ḵ|Ƙ|Ⱪ|Ꝁ|Ꝃ|Ꝅ|Ꞣ|[\\u004B\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2])/g\n}, {\n base: 'L',\n letters: /(L|Ⓛ|L|Ŀ|Ĺ|Ľ|Ḷ|Ḹ|Ļ|Ḽ|Ḻ|Ł|Ƚ|Ɫ|Ⱡ|Ꝉ|Ꝇ|Ꞁ|[\\u004C\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780])/g\n}, {\n base: 'LJ',\n letters: /(LJ|[\\u01C7])/g\n}, {\n base: 'Lj',\n letters: /(Lj|[\\u01C8])/g\n}, {\n base: 'M',\n letters: /(M|Ⓜ|M|Ḿ|Ṁ|Ṃ|Ɱ|Ɯ|[\\u004D\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C])/g\n}, {\n base: 'N',\n letters: /(N|Ⓝ|N|Ǹ|Ń|Ñ|Ṅ|Ň|Ṇ|Ņ|Ṋ|Ṉ|Ƞ|Ɲ|Ꞑ|Ꞥ|Ŋ|[\\u004E\\u24C3\\uFF2E\\u01F8\\u0143\\u00D1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4\\u014A])/g\n}, {\n base: 'NJ',\n letters: /(NJ|[\\u01CA])/g\n}, {\n base: 'Nj',\n letters: /(Nj|[\\u01CB])/g\n}, {\n base: 'O',\n letters: /(O|Ⓞ|O|Ò|Ó|Ô|Ồ|Ố|Ỗ|Ổ|Õ|Ṍ|Ȭ|Ṏ|Ō|Ṑ|Ṓ|Ŏ|Ȯ|Ȱ|Ö|Ȫ|Ỏ|Ő|Ǒ|Ȍ|Ȏ|Ơ|Ờ|Ớ|Ỡ|Ở|Ợ|Ọ|Ộ|Ǫ|Ǭ|Ø|Ǿ|Ɔ|Ɵ|Ꝋ|Ꝍ|[\\u004F\\u24C4\\uFF2F\\u00D2\\u00D3\\u00D4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\u00D5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\u00D6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\u00D8\\u01FE\\u0186\\u019F\\uA74A\\uA74C])/g\n}, {\n base: 'OE',\n letters: /(Œ|[\\u0152])/g\n}, {\n base: 'OI',\n letters: /(Ƣ|[\\u01A2])/g\n}, {\n base: 'OO',\n letters: /(Ꝏ|[\\uA74E])/g\n}, {\n base: 'OU',\n letters: /(Ȣ|[\\u0222])/g\n}, {\n base: 'P',\n letters: /(P|Ⓟ|P|Ṕ|Ṗ|Ƥ|Ᵽ|Ꝑ|Ꝓ|Ꝕ|[\\u0050\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754])/g\n}, {\n base: 'Q',\n letters: /(Q|Ⓠ|Q|Ꝗ|Ꝙ|Ɋ|[\\u0051\\u24C6\\uFF31\\uA756\\uA758\\u024A])/g\n}, {\n base: 'R',\n letters: /(R|Ⓡ|R|Ŕ|Ṙ|Ř|Ȑ|Ȓ|Ṛ|Ṝ|Ŗ|Ṟ|Ɍ|Ɽ|Ꝛ|Ꞧ|Ꞃ|[\\u0052\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782])/g\n}, {\n base: 'S',\n letters: /(S|Ⓢ|S|ẞ|Ś|Ṥ|Ŝ|Ṡ|Š|Ṧ|Ṣ|Ṩ|Ș|Ş|Ȿ|Ꞩ|Ꞅ|[\\u0053\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784])/g\n}, {\n base: 'T',\n letters: /(T|Ⓣ|T|Ṫ|Ť|Ṭ|Ț|Ţ|Ṱ|Ṯ|Ŧ|Ƭ|Ʈ|Ⱦ|Ꞇ|[\\u0054\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786])/g\n}, {\n base: 'TH',\n letters: /(Þ|[\\u00DE])/g\n}, {\n base: 'TZ',\n letters: /(Ꜩ|[\\uA728])/g\n}, {\n base: 'U',\n letters: /(U|Ⓤ|U|Ù|Ú|Û|Ũ|Ṹ|Ū|Ṻ|Ŭ|Ü|Ǜ|Ǘ|Ǖ|Ǚ|Ủ|Ů|Ű|Ǔ|Ȕ|Ȗ|Ư|Ừ|Ứ|Ữ|Ử|Ự|Ụ|Ṳ|Ų|Ṷ|Ṵ|Ʉ|[\\u0055\\u24CA\\uFF35\\u00D9\\u00DA\\u00DB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\u00DC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244])/g\n}, {\n base: 'V',\n letters: /(V|Ⓥ|V|Ṽ|Ṿ|Ʋ|Ꝟ|Ʌ|[\\u0056\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245])/g\n}, {\n base: 'VY',\n letters: /(Ꝡ|[\\uA760])/g\n}, {\n base: 'W',\n letters: /(W|Ⓦ|W|Ẁ|Ẃ|Ŵ|Ẇ|Ẅ|Ẉ|Ⱳ|[\\u0057\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72])/g\n}, {\n base: 'X',\n letters: /(X|Ⓧ|X|Ẋ|Ẍ|[\\u0058\\u24CD\\uFF38\\u1E8A\\u1E8C])/g\n}, {\n base: 'Y',\n letters: /(Y|Ⓨ|Y|Ỳ|Ý|Ŷ|Ỹ|Ȳ|Ẏ|Ÿ|Ỷ|Ỵ|Ƴ|Ɏ|Ỿ|[\\u0059\\u24CE\\uFF39\\u1EF2\\u00DD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE])/g\n}, {\n base: 'Z',\n letters: /(Z|Ⓩ|Z|Ź|Ẑ|Ż|Ž|Ẓ|Ẕ|Ƶ|Ȥ|Ɀ|Ⱬ|Ꝣ|[\\u005A\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762])/g\n}, {\n base: 'a',\n letters: /(a|ⓐ|a|ẚ|à|á|â|ầ|ấ|ẫ|ẩ|ã|ā|ă|ằ|ắ|ẵ|ẳ|ȧ|ǡ|ä|ǟ|ả|å|ǻ|ǎ|ȁ|ȃ|ạ|ậ|ặ|ḁ|ą|ⱥ|ɐ|[\\u0061\\u24D0\\uFF41\\u1E9A\\u00E0\\u00E1\\u00E2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\u00E3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\u00E4\\u01DF\\u1EA3\\u00E5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250])/g\n}, {\n base: 'aa',\n letters: /(ꜳ|[\\uA733])/g\n}, {\n base: 'ae',\n letters: /(æ|ǽ|ǣ|[\\u00E6\\u01FD\\u01E3])/g\n}, {\n base: 'ao',\n letters: /(ꜵ|[\\uA735])/g\n}, {\n base: 'au',\n letters: /(ꜷ|[\\uA737])/g\n}, {\n base: 'av',\n letters: /(ꜹ|ꜻ|[\\uA739\\uA73B])/g\n}, {\n base: 'ay',\n letters: /(ꜽ|[\\uA73D])/g\n}, {\n base: 'b',\n letters: /(b|ⓑ|b|ḃ|ḅ|ḇ|ƀ|ƃ|ɓ|[\\u0062\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253])/g\n}, {\n base: 'c',\n letters: /(c|ⓒ|c|ć|ĉ|ċ|č|ç|ḉ|ƈ|ȼ|ꜿ|ↄ|[\\u0063\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\u00E7\\u1E09\\u0188\\u023C\\uA73F\\u2184])/g\n}, {\n base: 'd',\n letters: /(d|ⓓ|d|ḋ|ď|ḍ|ḑ|ḓ|ḏ|đ|ƌ|ɖ|ɗ|ꝺ|ð|[\\u0064\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A\\u00F0])/g\n}, {\n base: 'dz',\n letters: /(dz|dž|[\\u01F3\\u01C6])/g\n}, {\n base: 'e',\n letters: /(e|ⓔ|e|è|é|ê|ề|ế|ễ|ể|ẽ|ē|ḕ|ḗ|ĕ|ė|ë|ẻ|ě|ȅ|ȇ|ẹ|ệ|ȩ|ḝ|ę|ḙ|ḛ|ɇ|ɛ|ǝ|[\\u0065\\u24D4\\uFF45\\u00E8\\u00E9\\u00EA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\u00EB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD])/g\n}, {\n base: 'f',\n letters: /(f|ⓕ|f|ḟ|ƒ|ꝼ|[\\u0066\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C])/g\n}, {\n base: 'g',\n letters: /(g|ⓖ|g|ǵ|ĝ|ḡ|ğ|ġ|ǧ|ģ|ǥ|ɠ|ꞡ|ᵹ|ꝿ|[\\u0067\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F])/g\n}, {\n base: 'h',\n letters: /(h|ⓗ|h|ĥ|ḣ|ḧ|ȟ|ḥ|ḩ|ḫ|ẖ|ħ|ⱨ|ⱶ|ɥ|[\\u0068\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265])/g\n}, {\n base: 'hv',\n letters: /(ƕ|[\\u0195])/g\n}, {\n base: 'i',\n letters: /(i|ⓘ|i|ì|í|î|ĩ|ī|ĭ|ï|ḯ|ỉ|ǐ|ȉ|ȋ|ị|į|ḭ|ɨ|ı|[\\u0069\\u24D8\\uFF49\\u00EC\\u00ED\\u00EE\\u0129\\u012B\\u012D\\u00EF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131])/g\n}, {\n base: 'ij',\n letters: /(ij|[\\u0133])/g\n}, {\n base: 'j',\n letters: /(j|ⓙ|j|ĵ|ǰ|ɉ|[\\u006A\\u24D9\\uFF4A\\u0135\\u01F0\\u0249])/g\n}, {\n base: 'k',\n letters: /(k|ⓚ|k|ḱ|ǩ|ḳ|ķ|ḵ|ƙ|ⱪ|ꝁ|ꝃ|ꝅ|ꞣ|[\\u006B\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3])/g\n}, {\n base: 'l',\n letters: /(l|ⓛ|l|ŀ|ĺ|ľ|ḷ|ḹ|ļ|ḽ|ḻ|ł|ƚ|ɫ|ⱡ|ꝉ|ꞁ|ꝇ|[\\u006C\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747])/g\n}, {\n base: 'lj',\n letters: /(lj|[\\u01C9])/g\n}, {\n base: 'm',\n letters: /(m|ⓜ|m|ḿ|ṁ|ṃ|ɱ|ɯ|[\\u006D\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F])/g\n}, {\n base: 'n',\n letters: /(n|ⓝ|n|ǹ|ń|ñ|ṅ|ň|ṇ|ņ|ṋ|ṉ|ƞ|ɲ|ʼn|ꞑ|ꞥ|ŋ|[\\u006E\\u24DD\\uFF4E\\u01F9\\u0144\\u00F1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5\\u014B])/g\n}, {\n base: 'nj',\n letters: /(nj|[\\u01CC])/g\n}, {\n base: 'o',\n letters: /(o|ⓞ|o|ò|ó|ô|ồ|ố|ỗ|ổ|õ|ṍ|ȭ|ṏ|ō|ṑ|ṓ|ŏ|ȯ|ȱ|ö|ȫ|ỏ|ő|ǒ|ȍ|ȏ|ơ|ờ|ớ|ỡ|ở|ợ|ọ|ộ|ǫ|ǭ|ø|ǿ|ɔ|ꝋ|ꝍ|ɵ|[\\u006F\\u24DE\\uFF4F\\u00F2\\u00F3\\u00F4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\u00F5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\u00F6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\u00F8\\u01FF\\u0254\\uA74B\\uA74D\\u0275])/g\n}, {\n base: 'oe',\n letters: /(œ|[\\u0153])/g\n}, {\n base: 'oi',\n letters: /(ƣ|[\\u01A3])/g\n}, {\n base: 'ou',\n letters: /(ȣ|[\\u0223])/g\n}, {\n base: 'oo',\n letters: /(ꝏ|[\\uA74F])/g\n}, {\n base: 'p',\n letters: /(p|ⓟ|p|ṕ|ṗ|ƥ|ᵽ|ꝑ|ꝓ|ꝕ|[\\u0070\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755])/g\n}, {\n base: 'q',\n letters: /(q|ⓠ|q|ɋ|ꝗ|ꝙ|[\\u0071\\u24E0\\uFF51\\u024B\\uA757\\uA759])/g\n}, {\n base: 'r',\n letters: /(r|ⓡ|r|ŕ|ṙ|ř|ȑ|ȓ|ṛ|ṝ|ŗ|ṟ|ɍ|ɽ|ꝛ|ꞧ|ꞃ|[\\u0072\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783])/g\n}, {\n base: 's',\n letters: /(s|ⓢ|s|ś|ṥ|ŝ|ṡ|š|ṧ|ṣ|ṩ|ș|ş|ȿ|ꞩ|ꞅ|ẛ|ſ|[\\u0073\\u24E2\\uFF53\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B\\u017F])/g\n}, {\n base: 'ss',\n letters: /(ß|[\\u00DF])/g\n}, {\n base: 't',\n letters: /(t|ⓣ|t|ṫ|ẗ|ť|ṭ|ț|ţ|ṱ|ṯ|ŧ|ƭ|ʈ|ⱦ|ꞇ|[\\u0074\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787])/g\n}, {\n base: 'th',\n letters: /(þ|[\\u00FE])/g\n}, {\n base: 'tz',\n letters: /(ꜩ|[\\uA729])/g\n}, {\n base: 'u',\n letters: /(u|ⓤ|u|ù|ú|û|ũ|ṹ|ū|ṻ|ŭ|ü|ǜ|ǘ|ǖ|ǚ|ủ|ů|ű|ǔ|ȕ|ȗ|ư|ừ|ứ|ữ|ử|ự|ụ|ṳ|ų|ṷ|ṵ|ʉ|[\\u0075\\u24E4\\uFF55\\u00F9\\u00FA\\u00FB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\u00FC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289])/g\n}, {\n base: 'v',\n letters: /(v|ⓥ|v|ṽ|ṿ|ʋ|ꝟ|ʌ|[\\u0076\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C])/g\n}, {\n base: 'vy',\n letters: /(ꝡ|[\\uA761])/g\n}, {\n base: 'w',\n letters: /(w|ⓦ|w|ẁ|ẃ|ŵ|ẇ|ẅ|ẘ|ẉ|ⱳ|[\\u0077\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73])/g\n}, {\n base: 'x',\n letters: /(x|ⓧ|x|ẋ|ẍ|[\\u0078\\u24E7\\uFF58\\u1E8B\\u1E8D])/g\n}, {\n base: 'y',\n letters: /(y|ⓨ|y|ỳ|ý|ŷ|ỹ|ȳ|ẏ|ÿ|ỷ|ẙ|ỵ|ƴ|ɏ|ỿ|[\\u0079\\u24E8\\uFF59\\u1EF3\\u00FD\\u0177\\u1EF9\\u0233\\u1E8F\\u00FF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF])/g\n}, {\n base: 'z',\n letters: /(z|ⓩ|z|ź|ẑ|ż|ž|ẓ|ẕ|ƶ|ȥ|ɀ|ⱬ|ꝣ|[\\u007A\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763])/g\n}];\n\nvar removeAccents = function removeAccents(str) {\n var formattedStr = str;\n lettersDiacritics.forEach(function (letterDiacritics) {\n formattedStr = formattedStr.replace(letterDiacritics.letters, letterDiacritics.base);\n });\n return formattedStr;\n};\n\nvar normalizeString = function normalizeString(str) {\n return removeAccents(str).toLowerCase();\n};\n\nvar getSubstringIndex = function getSubstringIndex(str, substr, ignoreAccents) {\n if (!ignoreAccents) {\n return str.toLowerCase().indexOf(substr.toLowerCase());\n }\n\n return normalizeString(str).indexOf(normalizeString(substr));\n};\n\nvar isNumber = function isNumber(val) {\n return typeof val === 'number';\n};\n\nvar keys = function keys(obj) {\n return obj === Object(obj) ? Object.keys(obj) : [];\n};\n\nvar omit = function omit(obj) {\n var _ref;\n\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n var keys = (_ref = []).concat.apply(_ref, rest);\n\n return Object.keys(obj).reduce(function (acc, k) {\n if (obj.hasOwnProperty(k) && !keys.includes(k) && obj[k] !== undefined) {\n acc[k] = obj[k];\n }\n\n return acc;\n }, {});\n};\n\nfunction createDefaultStyle(defaultStyle, getModifiers) {\n var enhance = function enhance(ComponentToWrap) {\n var DefaultStyleEnhancer = function DefaultStyleEnhancer(_ref) {\n var style = _ref.style,\n className = _ref.className,\n classNames = _ref.classNames,\n rest = _objectWithoutProperties(_ref, [\"style\", \"className\", \"classNames\"]);\n\n var modifiers = getModifiers ? getModifiers(rest) : undefined;\n var styles = useStyles(defaultStyle, {\n style: style,\n className: className,\n classNames: classNames\n }, modifiers);\n return React.createElement(ComponentToWrap, _extends({}, rest, {\n style: styles\n }));\n };\n\n var displayName = ComponentToWrap.displayName || ComponentToWrap.name || 'Component';\n DefaultStyleEnhancer.displayName = \"defaultStyle(\".concat(displayName, \")\");\n return DefaultStyleEnhancer;\n };\n\n return enhance;\n}\n\nvar _generateComponentKey = function _generateComponentKey(usedKeys, id) {\n if (!usedKeys.hasOwnProperty(id)) {\n usedKeys[id] = 0;\n } else {\n usedKeys[id]++;\n }\n\n return id + '_' + usedKeys[id];\n};\n\nvar Highlighter =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Highlighter, _Component);\n\n function Highlighter() {\n var _this;\n\n _classCallCheck(this, Highlighter);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Highlighter).apply(this, arguments));\n\n _defineProperty(_assertThisInitialized(_this), \"setCaretElement\", function (el) {\n _this.caretElement = el;\n });\n\n _this.state = {\n left: undefined,\n top: undefined\n };\n return _this;\n }\n\n _createClass(Highlighter, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.notifyCaretPosition();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.notifyCaretPosition();\n }\n }, {\n key: \"notifyCaretPosition\",\n value: function notifyCaretPosition() {\n if (!this.caretElement) {\n return;\n }\n\n var _this$caretElement = this.caretElement,\n offsetLeft = _this$caretElement.offsetLeft,\n offsetTop = _this$caretElement.offsetTop;\n\n if (this.state.left === offsetLeft && this.state.top === offsetTop) {\n return;\n }\n\n var newPosition = {\n left: offsetLeft,\n top: offsetTop\n };\n this.setState(newPosition);\n this.props.onCaretPositionChange(newPosition);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n selectionStart = _this$props.selectionStart,\n selectionEnd = _this$props.selectionEnd,\n value = _this$props.value,\n style = _this$props.style,\n children = _this$props.children,\n containerRef = _this$props.containerRef;\n var config = readConfigFromChildren(children); // If there's a caret (i.e. no range selection), map the caret position into the marked up value\n\n var caretPositionInMarkup;\n\n if (selectionStart === selectionEnd) {\n caretPositionInMarkup = mapPlainTextIndex(value, config, selectionStart, 'START');\n }\n\n var resultComponents = [];\n var componentKeys = {}; // start by appending directly to the resultComponents\n\n var components = resultComponents;\n var substringComponentKey = 0;\n\n var textIteratee = function textIteratee(substr, index, indexInPlainText) {\n // check whether the caret element has to be inserted inside the current plain substring\n if (isNumber(caretPositionInMarkup) && caretPositionInMarkup >= index && caretPositionInMarkup <= index + substr.length) {\n // if yes, split substr at the caret position and insert the caret component\n var splitIndex = caretPositionInMarkup - index;\n components.push(_this2.renderSubstring(substr.substring(0, splitIndex), substringComponentKey)); // add all following substrings and mention components as children of the caret component\n\n components = [_this2.renderSubstring(substr.substring(splitIndex), substringComponentKey)];\n } else {\n // otherwise just push the plain text substring\n components.push(_this2.renderSubstring(substr, substringComponentKey));\n }\n\n substringComponentKey++;\n };\n\n var mentionIteratee = function mentionIteratee(markup, index, indexInPlainText, id, display, mentionChildIndex, lastMentionEndIndex) {\n // generate a component key based on the id\n var key = _generateComponentKey(componentKeys, id);\n\n components.push(_this2.getMentionComponentForMatch(id, display, mentionChildIndex, key));\n };\n\n iterateMentionsMarkup(value, config, mentionIteratee, textIteratee); // append a span containing a space, to ensure the last text line has the correct height\n\n components.push(' ');\n\n if (components !== resultComponents) {\n // if a caret component is to be rendered, add all components that followed as its children\n resultComponents.push(this.renderHighlighterCaret(components));\n }\n\n return React.createElement(\"div\", _extends({}, style, {\n ref: containerRef\n }), resultComponents);\n }\n }, {\n key: \"renderSubstring\",\n value: function renderSubstring(string, key) {\n // set substring span to hidden, so that Emojis are not shown double in Mobile Safari\n return React.createElement(\"span\", _extends({}, this.props.style('substring'), {\n key: key\n }), string);\n } // Returns a clone of the Mention child applicable for the specified type to be rendered inside the highlighter\n\n }, {\n key: \"getMentionComponentForMatch\",\n value: function getMentionComponentForMatch(id, display, mentionChildIndex, key) {\n var props = {\n id: id,\n display: display,\n key: key\n };\n var child = Children.toArray(this.props.children)[mentionChildIndex];\n return React.cloneElement(child, props);\n } // Renders an component to be inserted in the highlighter at the current caret position\n\n }, {\n key: \"renderHighlighterCaret\",\n value: function renderHighlighterCaret(children) {\n return React.createElement(\"span\", _extends({}, this.props.style('caret'), {\n ref: this.setCaretElement,\n key: \"caret\"\n }), children);\n }\n }]);\n\n return Highlighter;\n}(Component);\n\n_defineProperty(Highlighter, \"propTypes\", {\n selectionStart: PropTypes.number,\n selectionEnd: PropTypes.number,\n value: PropTypes.string.isRequired,\n onCaretPositionChange: PropTypes.func.isRequired,\n containerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : PropTypes.instanceOf(Element)\n })]),\n children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element)]).isRequired\n});\n\n_defineProperty(Highlighter, \"defaultProps\", {\n value: ''\n});\n\nvar styled = createDefaultStyle({\n position: 'relative',\n boxSizing: 'border-box',\n width: '100%',\n color: 'transparent',\n overflow: 'hidden',\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word',\n border: '1px solid transparent',\n textAlign: 'start',\n '&singleLine': {\n whiteSpace: 'pre',\n wordWrap: null\n },\n substring: {\n visibility: 'hidden'\n }\n}, function (props) {\n return {\n '&singleLine': props.singleLine\n };\n});\nvar Highlighter$1 = styled(Highlighter);\n\nvar Suggestion =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Suggestion, _Component);\n\n function Suggestion() {\n _classCallCheck(this, Suggestion);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Suggestion).apply(this, arguments));\n }\n\n _createClass(Suggestion, [{\n key: \"render\",\n value: function render() {\n var rest = omit(this.props, ['style', 'classNames', 'className'], // substyle props\n keys(Suggestion.propTypes));\n return React.createElement(\"li\", _extends({\n id: this.props.id,\n role: \"option\",\n \"aria-selected\": this.props.focused\n }, rest, this.props.style), this.renderContent());\n }\n }, {\n key: \"renderContent\",\n value: function renderContent() {\n var _this$props = this.props,\n query = _this$props.query,\n renderSuggestion = _this$props.renderSuggestion,\n suggestion = _this$props.suggestion,\n index = _this$props.index,\n focused = _this$props.focused;\n var display = this.getDisplay();\n var highlightedDisplay = this.renderHighlightedDisplay(display, query);\n\n if (renderSuggestion) {\n return renderSuggestion(suggestion, query, highlightedDisplay, index, focused);\n }\n\n return highlightedDisplay;\n }\n }, {\n key: \"getDisplay\",\n value: function getDisplay() {\n var suggestion = this.props.suggestion;\n\n if (typeof suggestion === 'string') {\n return suggestion;\n }\n\n var id = suggestion.id,\n display = suggestion.display;\n\n if (id === undefined || !display) {\n return id;\n }\n\n return display;\n }\n }, {\n key: \"renderHighlightedDisplay\",\n value: function renderHighlightedDisplay(display) {\n var _this$props2 = this.props,\n ignoreAccents = _this$props2.ignoreAccents,\n query = _this$props2.query,\n style = _this$props2.style;\n var i = getSubstringIndex(display, query, ignoreAccents);\n\n if (i === -1) {\n return React.createElement(\"span\", style('display'), display);\n }\n\n return React.createElement(\"span\", style('display'), display.substring(0, i), React.createElement(\"b\", style('highlight'), display.substring(i, i + query.length)), display.substring(i + query.length));\n }\n }]);\n\n return Suggestion;\n}(Component);\n\n_defineProperty(Suggestion, \"propTypes\", {\n id: PropTypes.string.isRequired,\n query: PropTypes.string.isRequired,\n index: PropTypes.number.isRequired,\n ignoreAccents: PropTypes.bool,\n suggestion: PropTypes.oneOfType([PropTypes.string, PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n display: PropTypes.string\n })]).isRequired,\n renderSuggestion: PropTypes.func,\n focused: PropTypes.bool\n});\n\nvar styled$1 = createDefaultStyle({\n cursor: 'pointer'\n}, function (props) {\n return {\n '&focused': props.focused\n };\n});\nvar Suggestion$1 = styled$1(Suggestion);\n\nfunction LoadingIndicator() {\n var styles = useStyles();\n var spinnerStyles = styles('spinner');\n return React.createElement(\"div\", styles, React.createElement(\"div\", spinnerStyles, React.createElement(\"div\", spinnerStyles(['element', 'element1'])), React.createElement(\"div\", spinnerStyles(['element', 'element2'])), React.createElement(\"div\", spinnerStyles(['element', 'element3'])), React.createElement(\"div\", spinnerStyles(['element', 'element4'])), React.createElement(\"div\", spinnerStyles(['element', 'element5']))));\n}\n\nvar SuggestionsOverlay =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(SuggestionsOverlay, _Component);\n\n function SuggestionsOverlay() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, SuggestionsOverlay);\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 = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(SuggestionsOverlay)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"handleMouseEnter\", function (index, ev) {\n if (_this.props.onMouseEnter) {\n _this.props.onMouseEnter(index);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"select\", function (suggestion, queryInfo) {\n _this.props.onSelect(suggestion, queryInfo);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setUlElement\", function (el) {\n _this.ulElement = el;\n });\n\n return _this;\n }\n\n _createClass(SuggestionsOverlay, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n if (!this.ulElement || this.ulElement.offsetHeight >= this.ulElement.scrollHeight || !this.props.scrollFocusedIntoView) {\n return;\n }\n\n var scrollTop = this.ulElement.scrollTop;\n\n var _this$ulElement$child = this.ulElement.children[this.props.focusIndex].getBoundingClientRect(),\n top = _this$ulElement$child.top,\n bottom = _this$ulElement$child.bottom;\n\n var _this$ulElement$getBo = this.ulElement.getBoundingClientRect(),\n topContainer = _this$ulElement$getBo.top;\n\n top = top - topContainer + scrollTop;\n bottom = bottom - topContainer + scrollTop;\n\n if (top < scrollTop) {\n this.ulElement.scrollTop = top;\n } else if (bottom > this.ulElement.offsetHeight) {\n this.ulElement.scrollTop = bottom - this.ulElement.offsetHeight;\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n id = _this$props.id,\n a11ySuggestionsListLabel = _this$props.a11ySuggestionsListLabel,\n isOpened = _this$props.isOpened,\n style = _this$props.style,\n onMouseDown = _this$props.onMouseDown,\n containerRef = _this$props.containerRef,\n position = _this$props.position,\n left = _this$props.left,\n top = _this$props.top; // do not show suggestions until there is some data\n\n if (!isOpened) {\n return null;\n }\n\n return React.createElement(\"div\", _extends({}, inline({\n position: position || 'absolute',\n left: left,\n top: top\n }, style), {\n onMouseDown: onMouseDown,\n ref: containerRef\n }), React.createElement(\"ul\", _extends({\n ref: this.setUlElement,\n id: id,\n role: \"listbox\",\n \"aria-label\": a11ySuggestionsListLabel\n }, style('list')), this.renderSuggestions()), this.renderLoadingIndicator());\n }\n }, {\n key: \"renderSuggestions\",\n value: function renderSuggestions() {\n var _this2 = this;\n\n return Object.values(this.props.suggestions).reduce(function (accResults, _ref) {\n var results = _ref.results,\n queryInfo = _ref.queryInfo;\n return [].concat(_toConsumableArray(accResults), _toConsumableArray(results.map(function (result, index) {\n return _this2.renderSuggestion(result, queryInfo, accResults.length + index);\n })));\n }, []);\n }\n }, {\n key: \"renderSuggestion\",\n value: function renderSuggestion(result, queryInfo, index) {\n var _this3 = this;\n\n var isFocused = index === this.props.focusIndex;\n var childIndex = queryInfo.childIndex,\n query = queryInfo.query;\n var renderSuggestion = Children.toArray(this.props.children)[childIndex].props.renderSuggestion;\n var ignoreAccents = this.props.ignoreAccents;\n return React.createElement(Suggestion$1, {\n style: this.props.style('item'),\n key: \"\".concat(childIndex, \"-\").concat(getID(result)),\n id: getSuggestionHtmlId(this.props.id, index),\n query: query,\n index: index,\n ignoreAccents: ignoreAccents,\n renderSuggestion: renderSuggestion,\n suggestion: result,\n focused: isFocused,\n onClick: function onClick() {\n return _this3.select(result, queryInfo);\n },\n onMouseEnter: function onMouseEnter() {\n return _this3.handleMouseEnter(index);\n }\n });\n }\n }, {\n key: \"renderLoadingIndicator\",\n value: function renderLoadingIndicator() {\n if (!this.props.isLoading) {\n return;\n }\n\n return React.createElement(LoadingIndicator, {\n style: this.props.style('loadingIndicator')\n });\n }\n }]);\n\n return SuggestionsOverlay;\n}(Component);\n\n_defineProperty(SuggestionsOverlay, \"propTypes\", {\n id: PropTypes.string.isRequired,\n suggestions: PropTypes.object.isRequired,\n a11ySuggestionsListLabel: PropTypes.string,\n focusIndex: PropTypes.number,\n position: PropTypes.string,\n left: PropTypes.number,\n top: PropTypes.number,\n scrollFocusedIntoView: PropTypes.bool,\n isLoading: PropTypes.bool,\n isOpened: PropTypes.bool.isRequired,\n onSelect: PropTypes.func,\n ignoreAccents: PropTypes.bool,\n containerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : PropTypes.instanceOf(Element)\n })]),\n children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element)]).isRequired\n});\n\n_defineProperty(SuggestionsOverlay, \"defaultProps\", {\n suggestions: {},\n onSelect: function onSelect() {\n return null;\n }\n});\n\nvar getID = function getID(suggestion) {\n if (typeof suggestion === 'string') {\n return suggestion;\n }\n\n return suggestion.id;\n};\n\nvar styled$2 = createDefaultStyle({\n zIndex: 1,\n backgroundColor: 'white',\n marginTop: 14,\n minWidth: 100,\n list: {\n margin: 0,\n padding: 0,\n listStyleType: 'none'\n }\n});\nvar SuggestionsOverlay$1 = styled$2(SuggestionsOverlay);\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar makeTriggerRegex = function makeTriggerRegex(trigger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (trigger instanceof RegExp) {\n return trigger;\n } else {\n var allowSpaceInQuery = options.allowSpaceInQuery;\n var escapedTriggerChar = escapeRegex(trigger); // first capture group is the part to be replaced on completion\n // second capture group is for extracting the search query\n\n return new RegExp(\"(?:^|\\\\s)(\".concat(escapedTriggerChar, \"([^\").concat(allowSpaceInQuery ? '' : '\\\\s').concat(escapedTriggerChar, \"]*))$\"));\n }\n};\n\nvar getDataProvider = function getDataProvider(data, ignoreAccents) {\n if (data instanceof Array) {\n // if data is an array, create a function to query that\n return function (query, callback) {\n var results = [];\n\n for (var i = 0, l = data.length; i < l; ++i) {\n var display = data[i].display || data[i].id;\n\n if (getSubstringIndex(display, query, ignoreAccents) >= 0) {\n results.push(data[i]);\n }\n }\n\n return results;\n };\n } else {\n // expect data to be a query function\n return data;\n }\n};\n\nvar KEY = {\n TAB: 9,\n RETURN: 13,\n ESC: 27,\n UP: 38,\n DOWN: 40\n};\nvar isComposing = false;\nvar propTypes = {\n /**\n * If set to `true` a regular text input element will be rendered\n * instead of a textarea\n */\n singleLine: PropTypes.bool,\n allowSpaceInQuery: PropTypes.bool,\n allowSuggestionsAboveCursor: PropTypes.bool,\n ignoreAccents: PropTypes.bool,\n a11ySuggestionsListLabel: PropTypes.string,\n value: PropTypes.string,\n onKeyDown: PropTypes.func,\n onSelect: PropTypes.func,\n onBlur: PropTypes.func,\n onChange: PropTypes.func,\n suggestionsPortalHost: typeof Element === 'undefined' ? PropTypes.any : PropTypes.PropTypes.instanceOf(Element),\n inputRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : PropTypes.instanceOf(Element)\n })]),\n children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element)]).isRequired\n};\n\nvar MentionsInput =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(MentionsInput, _React$Component);\n\n function MentionsInput(_props) {\n var _this;\n\n _classCallCheck(this, MentionsInput);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(MentionsInput).call(this, _props));\n\n _defineProperty(_assertThisInitialized(_this), \"setContainerElement\", function (el) {\n _this.containerElement = el;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getInputProps\", function () {\n var _this$props = _this.props,\n readOnly = _this$props.readOnly,\n disabled = _this$props.disabled,\n style = _this$props.style; // pass all props that neither we, nor substyle, consume through to the input control\n\n var props = omit(_this.props, ['style', 'classNames', 'className'], // substyle props\n keys(propTypes));\n return _objectSpread({}, props, {}, style('input'), {\n value: _this.getPlainText()\n }, !readOnly && !disabled && {\n onChange: _this.handleChange,\n onSelect: _this.handleSelect,\n onKeyDown: _this.handleKeyDown,\n onBlur: _this.handleBlur,\n onCompositionStart: _this.handleCompositionStart,\n onCompositionEnd: _this.handleCompositionEnd,\n onScroll: _this.updateHighlighterScroll\n }, {}, _this.isOpened() && {\n role: 'combobox',\n 'aria-controls': _this.uuidSuggestionsOverlay,\n 'aria-expanded': true,\n 'aria-autocomplete': 'list',\n 'aria-haspopup': 'listbox',\n 'aria-activedescendant': getSuggestionHtmlId(_this.uuidSuggestionsOverlay, _this.state.focusIndex)\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderControl\", function () {\n var _this$props2 = _this.props,\n singleLine = _this$props2.singleLine,\n style = _this$props2.style;\n\n var inputProps = _this.getInputProps();\n\n return React.createElement(\"div\", style('control'), _this.renderHighlighter(), singleLine ? _this.renderInput(inputProps) : _this.renderTextarea(inputProps));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderInput\", function (props) {\n return React.createElement(\"input\", _extends({\n type: \"text\",\n ref: _this.setInputRef\n }, props));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderTextarea\", function (props) {\n return React.createElement(\"textarea\", _extends({\n ref: _this.setInputRef\n }, props));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setInputRef\", function (el) {\n _this.inputElement = el;\n var inputRef = _this.props.inputRef;\n\n if (typeof inputRef === 'function') {\n inputRef(el);\n } else if (inputRef) {\n inputRef.current = el;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setSuggestionsElement\", function (el) {\n _this.suggestionsElement = el;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderSuggestionsOverlay\", function () {\n if (!isNumber(_this.state.selectionStart)) {\n // do not show suggestions when the input does not have the focus\n return null;\n }\n\n var _this$state$suggestio = _this.state.suggestionsPosition,\n position = _this$state$suggestio.position,\n left = _this$state$suggestio.left,\n top = _this$state$suggestio.top;\n var suggestionsNode = React.createElement(SuggestionsOverlay$1, {\n id: _this.uuidSuggestionsOverlay,\n style: _this.props.style('suggestions'),\n position: position,\n left: left,\n top: top,\n focusIndex: _this.state.focusIndex,\n scrollFocusedIntoView: _this.state.scrollFocusedIntoView,\n containerRef: _this.setSuggestionsElement,\n suggestions: _this.state.suggestions,\n onSelect: _this.addMention,\n onMouseDown: _this.handleSuggestionsMouseDown,\n onMouseEnter: _this.handleSuggestionsMouseEnter,\n isLoading: _this.isLoading(),\n isOpened: _this.isOpened(),\n ignoreAccents: _this.props.ignoreAccents,\n a11ySuggestionsListLabel: _this.props.a11ySuggestionsListLabel\n }, _this.props.children);\n\n if (_this.props.suggestionsPortalHost) {\n return ReactDOM.createPortal(suggestionsNode, _this.props.suggestionsPortalHost);\n } else {\n return suggestionsNode;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderHighlighter\", function () {\n var _this$state = _this.state,\n selectionStart = _this$state.selectionStart,\n selectionEnd = _this$state.selectionEnd;\n var _this$props3 = _this.props,\n singleLine = _this$props3.singleLine,\n children = _this$props3.children,\n value = _this$props3.value,\n style = _this$props3.style;\n return React.createElement(Highlighter$1, {\n containerRef: _this.setHighlighterElement,\n style: style('highlighter'),\n value: value,\n singleLine: singleLine,\n selectionStart: selectionStart,\n selectionEnd: selectionEnd,\n onCaretPositionChange: _this.handleCaretPositionChange\n }, children);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setHighlighterElement\", function (el) {\n _this.highlighterElement = el;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleCaretPositionChange\", function (position) {\n _this.setState({\n caretPosition: position\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getPlainText\", function () {\n return getPlainText(_this.props.value || '', readConfigFromChildren(_this.props.children));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"executeOnChange\", function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (_this.props.onChange) {\n var _this$props4;\n\n return (_this$props4 = _this.props).onChange.apply(_this$props4, [event].concat(args));\n }\n\n if (_this.props.valueLink) {\n var _this$props$valueLink;\n\n return (_this$props$valueLink = _this.props.valueLink).requestChange.apply(_this$props$valueLink, [event.target.value].concat(args));\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleChange\", function (ev) {\n isComposing = false; // if we are inside iframe, we need to find activeElement within its contentDocument\n\n var currentDocument = document.activeElement && document.activeElement.contentDocument || document;\n\n if (currentDocument.activeElement !== ev.target) {\n // fix an IE bug (blur from empty input element with placeholder attribute trigger \"input\" event)\n return;\n }\n\n var value = _this.props.value || '';\n var config = readConfigFromChildren(_this.props.children);\n var newPlainTextValue = ev.target.value; // Derive the new value to set by applying the local change in the textarea's plain text\n\n var newValue = applyChangeToValue(value, newPlainTextValue, {\n selectionStartBefore: _this.state.selectionStart,\n selectionEndBefore: _this.state.selectionEnd,\n selectionEndAfter: ev.target.selectionEnd\n }, config); // In case a mention is deleted, also adjust the new plain text value\n\n newPlainTextValue = getPlainText(newValue, config); // Save current selection after change to be able to restore caret position after rerendering\n\n var selectionStart = ev.target.selectionStart;\n var selectionEnd = ev.target.selectionEnd;\n var setSelectionAfterMentionChange = false; // Adjust selection range in case a mention will be deleted by the characters outside of the\n // selection range that are automatically deleted\n\n var startOfMention = findStartOfMentionInPlainText(value, config, selectionStart);\n\n if (startOfMention !== undefined && _this.state.selectionEnd > startOfMention) {\n // only if a deletion has taken place\n selectionStart = startOfMention;\n selectionEnd = selectionStart;\n setSelectionAfterMentionChange = true;\n }\n\n _this.setState({\n selectionStart: selectionStart,\n selectionEnd: selectionEnd,\n setSelectionAfterMentionChange: setSelectionAfterMentionChange\n });\n\n var mentions = getMentions(newValue, config); // Propagate change\n // let handleChange = this.getOnChange(this.props) || emptyFunction;\n\n var eventMock = {\n target: {\n value: newValue\n }\n }; // this.props.onChange.call(this, eventMock, newValue, newPlainTextValue, mentions);\n\n _this.executeOnChange(eventMock, newValue, newPlainTextValue, mentions);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleSelect\", function (ev) {\n // keep track of selection range / caret position\n _this.setState({\n selectionStart: ev.target.selectionStart,\n selectionEnd: ev.target.selectionEnd\n }); // do nothing while a IME composition session is active\n\n\n if (isComposing) return; // refresh suggestions queries\n\n var el = _this.inputElement;\n\n if (ev.target.selectionStart === ev.target.selectionEnd) {\n _this.updateMentionsQueries(el.value, ev.target.selectionStart);\n } else {\n _this.clearSuggestions();\n } // sync highlighters scroll position\n\n\n _this.updateHighlighterScroll();\n\n _this.props.onSelect(ev);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleKeyDown\", function (ev) {\n // do not intercept key events if the suggestions overlay is not shown\n var suggestionsCount = countSuggestions(_this.state.suggestions);\n\n if (suggestionsCount === 0 || !_this.suggestionsElement) {\n _this.props.onKeyDown(ev);\n\n return;\n }\n\n if (Object.values(KEY).indexOf(ev.keyCode) >= 0) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n switch (ev.keyCode) {\n case KEY.ESC:\n {\n _this.clearSuggestions();\n\n return;\n }\n\n case KEY.DOWN:\n {\n _this.shiftFocus(+1);\n\n return;\n }\n\n case KEY.UP:\n {\n _this.shiftFocus(-1);\n\n return;\n }\n\n case KEY.RETURN:\n {\n _this.selectFocused();\n\n return;\n }\n\n case KEY.TAB:\n {\n _this.selectFocused();\n\n return;\n }\n\n default:\n {\n return;\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"shiftFocus\", function (delta) {\n var suggestionsCount = countSuggestions(_this.state.suggestions);\n\n _this.setState({\n focusIndex: (suggestionsCount + _this.state.focusIndex + delta) % suggestionsCount,\n scrollFocusedIntoView: true\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"selectFocused\", function () {\n var _this$state2 = _this.state,\n suggestions = _this$state2.suggestions,\n focusIndex = _this$state2.focusIndex;\n var _Object$values$reduce = Object.values(suggestions).reduce(function (acc, _ref) {\n var results = _ref.results,\n queryInfo = _ref.queryInfo;\n return [].concat(_toConsumableArray(acc), _toConsumableArray(results.map(function (result) {\n return {\n result: result,\n queryInfo: queryInfo\n };\n })));\n }, [])[focusIndex],\n result = _Object$values$reduce.result,\n queryInfo = _Object$values$reduce.queryInfo;\n\n _this.addMention(result, queryInfo);\n\n _this.setState({\n focusIndex: 0\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleBlur\", function (ev) {\n var clickedSuggestion = _this._suggestionsMouseDown;\n _this._suggestionsMouseDown = false; // only reset selection if the mousedown happened on an element\n // other than the suggestions overlay\n\n if (!clickedSuggestion) {\n _this.setState({\n selectionStart: null,\n selectionEnd: null\n });\n }\n\n window.setTimeout(function () {\n _this.updateHighlighterScroll();\n }, 1);\n\n _this.props.onBlur(ev, clickedSuggestion);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleSuggestionsMouseDown\", function (ev) {\n _this._suggestionsMouseDown = true;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleSuggestionsMouseEnter\", function (focusIndex) {\n _this.setState({\n focusIndex: focusIndex,\n scrollFocusedIntoView: false\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateSuggestionsPosition\", function () {\n var caretPosition = _this.state.caretPosition;\n var _this$props5 = _this.props,\n suggestionsPortalHost = _this$props5.suggestionsPortalHost,\n allowSuggestionsAboveCursor = _this$props5.allowSuggestionsAboveCursor;\n\n if (!caretPosition || !_this.suggestionsElement) {\n return;\n }\n\n var suggestions = _this.suggestionsElement;\n var highlighter = _this.highlighterElement; // first get viewport-relative position (highlighter is offsetParent of caret):\n\n var caretOffsetParentRect = highlighter.getBoundingClientRect();\n var caretHeight = getComputedStyleLengthProp(highlighter, 'font-size');\n var viewportRelative = {\n left: caretOffsetParentRect.left + caretPosition.left,\n top: caretOffsetParentRect.top + caretPosition.top + caretHeight\n };\n var viewportHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n\n if (!suggestions) {\n return;\n }\n\n var position = {}; // if suggestions menu is in a portal, update position to be releative to its portal node\n\n if (suggestionsPortalHost) {\n position.position = 'fixed';\n var left = viewportRelative.left;\n var top = viewportRelative.top; // absolute/fixed positioned elements are positioned according to their entire box including margins; so we remove margins here:\n\n left -= getComputedStyleLengthProp(suggestions, 'margin-left');\n top -= getComputedStyleLengthProp(suggestions, 'margin-top'); // take into account highlighter/textinput scrolling:\n\n left -= highlighter.scrollLeft;\n top -= highlighter.scrollTop; // guard for mentions suggestions list clipped by right edge of window\n\n var viewportWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n\n if (left + suggestions.offsetWidth > viewportWidth) {\n position.left = Math.max(0, viewportWidth - suggestions.offsetWidth);\n } else {\n position.left = left;\n } // guard for mentions suggestions list clipped by bottom edge of window if allowSuggestionsAboveCursor set to true.\n // Move the list up above the caret if it's getting cut off by the bottom of the window, provided that the list height\n // is small enough to NOT cover up the caret\n\n\n if (allowSuggestionsAboveCursor && top + suggestions.offsetHeight > viewportHeight && suggestions.offsetHeight < top - caretHeight) {\n position.top = Math.max(0, top - suggestions.offsetHeight - caretHeight);\n } else {\n position.top = top;\n }\n } else {\n var _left = caretPosition.left - highlighter.scrollLeft;\n\n var _top = caretPosition.top - highlighter.scrollTop; // guard for mentions suggestions list clipped by right edge of window\n\n\n if (_left + suggestions.offsetWidth > _this.containerElement.offsetWidth) {\n position.right = 0;\n } else {\n position.left = _left;\n } // guard for mentions suggestions list clipped by bottom edge of window if allowSuggestionsAboveCursor set to true.\n // move the list up above the caret if it's getting cut off by the bottom of the window, provided that the list height\n // is small enough to NOT cover up the caret\n\n\n if (allowSuggestionsAboveCursor && viewportRelative.top - highlighter.scrollTop + suggestions.offsetHeight > viewportHeight && suggestions.offsetHeight < caretOffsetParentRect.top - caretHeight - highlighter.scrollTop) {\n position.top = _top - suggestions.offsetHeight - caretHeight;\n } else {\n position.top = _top;\n }\n }\n\n if (position.left === _this.state.suggestionsPosition.left && position.top === _this.state.suggestionsPosition.top && position.position === _this.state.suggestionsPosition.position) {\n return;\n }\n\n _this.setState({\n suggestionsPosition: position\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateHighlighterScroll\", function () {\n var input = _this.inputElement;\n var highlighter = _this.highlighterElement;\n\n if (!input || !highlighter) {\n // since the invocation of this function is deferred,\n // the whole component may have been unmounted in the meanwhile\n return;\n }\n\n highlighter.scrollLeft = input.scrollLeft;\n highlighter.scrollTop = input.scrollTop;\n highlighter.height = input.height;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleCompositionStart\", function () {\n isComposing = true;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleCompositionEnd\", function () {\n isComposing = false;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setSelection\", function (selectionStart, selectionEnd) {\n if (selectionStart === null || selectionEnd === null) return;\n var el = _this.inputElement;\n\n if (el.setSelectionRange) {\n el.setSelectionRange(selectionStart, selectionEnd);\n } else if (el.createTextRange) {\n var range = el.createTextRange();\n range.collapse(true);\n range.moveEnd('character', selectionEnd);\n range.moveStart('character', selectionStart);\n range.select();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateMentionsQueries\", function (plainTextValue, caretPosition) {\n // Invalidate previous queries. Async results for previous queries will be neglected.\n _this._queryId++;\n _this.suggestions = {};\n\n _this.setState({\n suggestions: {}\n });\n\n var value = _this.props.value || '';\n var children = _this.props.children;\n var config = readConfigFromChildren(children);\n var positionInValue = mapPlainTextIndex(value, config, caretPosition, 'NULL'); // If caret is inside of mention, do not query\n\n if (positionInValue === null) {\n return;\n } // Extract substring in between the end of the previous mention and the caret\n\n\n var substringStartIndex = getEndOfLastMention(value.substring(0, positionInValue), config);\n var substring = plainTextValue.substring(substringStartIndex, caretPosition); // Check if suggestions have to be shown:\n // Match the trigger patterns of all Mention children on the extracted substring\n\n React.Children.forEach(children, function (child, childIndex) {\n if (!child) {\n return;\n }\n\n var regex = makeTriggerRegex(child.props.trigger, _this.props);\n var match = substring.match(regex);\n\n if (match) {\n var querySequenceStart = substringStartIndex + substring.indexOf(match[1], match.index);\n\n _this.queryData(match[2], childIndex, querySequenceStart, querySequenceStart + match[1].length, plainTextValue);\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"clearSuggestions\", function () {\n // Invalidate previous queries. Async results for previous queries will be neglected.\n _this._queryId++;\n _this.suggestions = {};\n\n _this.setState({\n suggestions: {},\n focusIndex: 0\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"queryData\", function (query, childIndex, querySequenceStart, querySequenceEnd, plainTextValue) {\n var _this$props6 = _this.props,\n children = _this$props6.children,\n ignoreAccents = _this$props6.ignoreAccents;\n var mentionChild = Children.toArray(children)[childIndex];\n var provideData = getDataProvider(mentionChild.props.data, ignoreAccents);\n var syncResult = provideData(query, _this.updateSuggestions.bind(null, _this._queryId, childIndex, query, querySequenceStart, querySequenceEnd, plainTextValue));\n\n if (syncResult instanceof Array) {\n _this.updateSuggestions(_this._queryId, childIndex, query, querySequenceStart, querySequenceEnd, plainTextValue, syncResult);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateSuggestions\", function (queryId, childIndex, query, querySequenceStart, querySequenceEnd, plainTextValue, results) {\n // neglect async results from previous queries\n if (queryId !== _this._queryId) return; // save in property so that multiple sync state updates from different mentions sources\n // won't overwrite each other\n\n _this.suggestions = _objectSpread({}, _this.suggestions, _defineProperty({}, childIndex, {\n queryInfo: {\n childIndex: childIndex,\n query: query,\n querySequenceStart: querySequenceStart,\n querySequenceEnd: querySequenceEnd,\n plainTextValue: plainTextValue\n },\n results: results\n }));\n var focusIndex = _this.state.focusIndex;\n var suggestionsCount = countSuggestions(_this.suggestions);\n\n _this.setState({\n suggestions: _this.suggestions,\n focusIndex: focusIndex >= suggestionsCount ? Math.max(suggestionsCount - 1, 0) : focusIndex\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"addMention\", function (_ref2, _ref3) {\n var id = _ref2.id,\n display = _ref2.display;\n var childIndex = _ref3.childIndex,\n querySequenceStart = _ref3.querySequenceStart,\n querySequenceEnd = _ref3.querySequenceEnd,\n plainTextValue = _ref3.plainTextValue;\n // Insert mention in the marked up value at the correct position\n var value = _this.props.value || '';\n var config = readConfigFromChildren(_this.props.children);\n var mentionsChild = Children.toArray(_this.props.children)[childIndex];\n var _mentionsChild$props = mentionsChild.props,\n markup = _mentionsChild$props.markup,\n displayTransform = _mentionsChild$props.displayTransform,\n appendSpaceOnAdd = _mentionsChild$props.appendSpaceOnAdd,\n onAdd = _mentionsChild$props.onAdd;\n var start = mapPlainTextIndex(value, config, querySequenceStart, 'START');\n var end = start + querySequenceEnd - querySequenceStart;\n var insert = makeMentionsMarkup(markup, id, display);\n\n if (appendSpaceOnAdd) {\n insert += ' ';\n }\n\n var newValue = spliceString(value, start, end, insert); // Refocus input and set caret position to end of mention\n\n _this.inputElement.focus();\n\n var displayValue = displayTransform(id, display);\n\n if (appendSpaceOnAdd) {\n displayValue += ' ';\n }\n\n var newCaretPosition = querySequenceStart + displayValue.length;\n\n _this.setState({\n selectionStart: newCaretPosition,\n selectionEnd: newCaretPosition,\n setSelectionAfterMentionChange: true\n }); // Propagate change\n\n\n var eventMock = {\n target: {\n value: newValue\n }\n };\n var mentions = getMentions(newValue, config);\n var newPlainTextValue = spliceString(plainTextValue, querySequenceStart, querySequenceEnd, displayValue);\n\n _this.executeOnChange(eventMock, newValue, newPlainTextValue, mentions);\n\n if (onAdd) {\n onAdd(id, display);\n } // Make sure the suggestions overlay is closed\n\n\n _this.clearSuggestions();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"isLoading\", function () {\n var isLoading = false;\n React.Children.forEach(_this.props.children, function (child) {\n isLoading = isLoading || child && child.props.isLoading;\n });\n return isLoading;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"isOpened\", function () {\n return isNumber(_this.state.selectionStart) && (countSuggestions(_this.state.suggestions) !== 0 || _this.isLoading());\n });\n\n _defineProperty(_assertThisInitialized(_this), \"_queryId\", 0);\n\n _this.suggestions = {};\n _this.uuidSuggestionsOverlay = Math.random().toString(16).substring(2);\n _this.handleCopy = _this.handleCopy.bind(_assertThisInitialized(_this));\n _this.handleCut = _this.handleCut.bind(_assertThisInitialized(_this));\n _this.handlePaste = _this.handlePaste.bind(_assertThisInitialized(_this));\n _this.state = {\n focusIndex: 0,\n selectionStart: null,\n selectionEnd: null,\n suggestions: {},\n caretPosition: null,\n suggestionsPosition: {}\n };\n return _this;\n }\n\n _createClass(MentionsInput, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n document.addEventListener('copy', this.handleCopy);\n document.addEventListener('cut', this.handleCut);\n document.addEventListener('paste', this.handlePaste);\n this.updateSuggestionsPosition();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n // Update position of suggestions unless this componentDidUpdate was\n // triggered by an update to suggestionsPosition.\n if (prevState.suggestionsPosition === this.state.suggestionsPosition) {\n this.updateSuggestionsPosition();\n } // maintain selection in case a mention is added/removed causing\n // the cursor to jump to the end\n\n\n if (this.state.setSelectionAfterMentionChange) {\n this.setState({\n setSelectionAfterMentionChange: false\n });\n this.setSelection(this.state.selectionStart, this.state.selectionEnd);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n document.removeEventListener('copy', this.handleCopy);\n document.removeEventListener('cut', this.handleCut);\n document.removeEventListener('paste', this.handlePaste);\n }\n }, {\n key: \"render\",\n value: function render() {\n return React.createElement(\"div\", _extends({\n ref: this.setContainerElement\n }, this.props.style), this.renderControl(), this.renderSuggestionsOverlay());\n }\n }, {\n key: \"handlePaste\",\n value: function handlePaste(event) {\n if (event.target !== this.inputElement) {\n return;\n }\n\n if (!this.supportsClipboardActions(event)) {\n return;\n }\n\n event.preventDefault();\n var _this$state3 = this.state,\n selectionStart = _this$state3.selectionStart,\n selectionEnd = _this$state3.selectionEnd;\n var _this$props7 = this.props,\n value = _this$props7.value,\n children = _this$props7.children;\n var config = readConfigFromChildren(children);\n var markupStartIndex = mapPlainTextIndex(value, config, selectionStart, 'START');\n var markupEndIndex = mapPlainTextIndex(value, config, selectionEnd, 'END');\n var pastedMentions = event.clipboardData.getData('text/react-mentions');\n var pastedData = event.clipboardData.getData('text/plain');\n var newValue = spliceString(value, markupStartIndex, markupEndIndex, pastedMentions || pastedData).replace(/\\r/g, '');\n var newPlainTextValue = getPlainText(newValue, config);\n var eventMock = {\n target: _objectSpread({}, event.target, {\n value: newValue\n })\n };\n this.executeOnChange(eventMock, newValue, newPlainTextValue, getMentions(newValue, config));\n }\n }, {\n key: \"saveSelectionToClipboard\",\n value: function saveSelectionToClipboard(event) {\n var _this$state4 = this.state,\n selectionStart = _this$state4.selectionStart,\n selectionEnd = _this$state4.selectionEnd;\n var _this$props8 = this.props,\n children = _this$props8.children,\n value = _this$props8.value;\n var config = readConfigFromChildren(children);\n var markupStartIndex = mapPlainTextIndex(value, config, selectionStart, 'START');\n var markupEndIndex = mapPlainTextIndex(value, config, selectionEnd, 'END');\n event.clipboardData.setData('text/plain', event.target.value.slice(selectionStart, selectionEnd));\n event.clipboardData.setData('text/react-mentions', value.slice(markupStartIndex, markupEndIndex));\n }\n }, {\n key: \"supportsClipboardActions\",\n value: function supportsClipboardActions(event) {\n return !!event.clipboardData;\n }\n }, {\n key: \"handleCopy\",\n value: function handleCopy(event) {\n if (event.target !== this.inputElement) {\n return;\n }\n\n if (!this.supportsClipboardActions(event)) {\n return;\n }\n\n event.preventDefault();\n this.saveSelectionToClipboard(event);\n }\n }, {\n key: \"handleCut\",\n value: function handleCut(event) {\n if (event.target !== this.inputElement) {\n return;\n }\n\n if (!this.supportsClipboardActions(event)) {\n return;\n }\n\n event.preventDefault();\n this.saveSelectionToClipboard(event);\n var _this$state5 = this.state,\n selectionStart = _this$state5.selectionStart,\n selectionEnd = _this$state5.selectionEnd;\n var _this$props9 = this.props,\n children = _this$props9.children,\n value = _this$props9.value;\n var config = readConfigFromChildren(children);\n var markupStartIndex = mapPlainTextIndex(value, config, selectionStart, 'START');\n var markupEndIndex = mapPlainTextIndex(value, config, selectionEnd, 'END');\n var newValue = [value.slice(0, markupStartIndex), value.slice(markupEndIndex)].join('');\n var newPlainTextValue = getPlainText(newValue, config);\n var eventMock = {\n target: _objectSpread({}, event.target, {\n value: newPlainTextValue\n })\n };\n this.executeOnChange(eventMock, newValue, newPlainTextValue, getMentions(value, config));\n } // Handle input element's change event\n\n }]);\n\n return MentionsInput;\n}(React.Component);\n/**\n * Returns the computed length property value for the provided element.\n * Note: According to spec and testing, can count on length values coming back in pixels. See https://developer.mozilla.org/en-US/docs/Web/CSS/used_value#Difference_from_computed_value\n */\n\n\n_defineProperty(MentionsInput, \"propTypes\", propTypes);\n\n_defineProperty(MentionsInput, \"defaultProps\", {\n ignoreAccents: false,\n singleLine: false,\n allowSuggestionsAboveCursor: false,\n onKeyDown: function onKeyDown() {\n return null;\n },\n onSelect: function onSelect() {\n return null;\n },\n onBlur: function onBlur() {\n return null;\n }\n});\n\nvar getComputedStyleLengthProp = function getComputedStyleLengthProp(forElement, propertyName) {\n var length = parseFloat(window.getComputedStyle(forElement, null).getPropertyValue(propertyName));\n return isFinite(length) ? length : 0;\n};\n\nvar isMobileSafari = typeof navigator !== 'undefined' && /iPhone|iPad|iPod/i.test(navigator.userAgent);\nvar styled$3 = createDefaultStyle({\n position: 'relative',\n overflowY: 'visible',\n input: {\n display: 'block',\n width: '100%',\n position: 'absolute',\n margin: 0,\n top: 0,\n left: 0,\n boxSizing: 'border-box',\n backgroundColor: 'transparent',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n letterSpacing: 'inherit'\n },\n '&multiLine': {\n input: _objectSpread({\n height: '100%',\n bottom: 0,\n overflow: 'hidden',\n resize: 'none'\n }, isMobileSafari ? {\n marginTop: 1,\n marginLeft: -3\n } : null)\n }\n}, function (_ref4) {\n var singleLine = _ref4.singleLine;\n return {\n '&singleLine': singleLine,\n '&multiLine': !singleLine\n };\n});\nvar MentionsInput$1 = styled$3(MentionsInput);\n\nvar defaultStyle = {\n fontWeight: 'inherit'\n};\n\nvar Mention = function Mention(_ref) {\n var display = _ref.display,\n style = _ref.style,\n className = _ref.className,\n classNames = _ref.classNames;\n var styles = useStyles(defaultStyle, {\n style: style,\n className: className,\n classNames: classNames\n });\n return React.createElement(\"strong\", styles, display);\n};\n\nMention.propTypes = {\n /**\n * Called when a new mention is added in the input\n *\n * Example:\n *\n * ```js\n * function(id, display) {\n * console.log(\"user \" + display + \" was mentioned!\");\n * }\n * ```\n */\n onAdd: PropTypes.func,\n onRemove: PropTypes.func,\n renderSuggestion: PropTypes.func,\n trigger: PropTypes.oneOfType([PropTypes.string, PropTypes.instanceOf(RegExp)]),\n markup: PropTypes.string,\n displayTransform: PropTypes.func,\n\n /**\n * If set to `true` spaces will not interrupt matching suggestions\n */\n allowSpaceInQuery: PropTypes.bool,\n isLoading: PropTypes.bool\n};\nMention.defaultProps = {\n trigger: '@',\n markup: '@[__display__](__id__)',\n displayTransform: function displayTransform(id, display) {\n return display || id;\n },\n onAdd: function onAdd() {\n return null;\n },\n onRemove: function onRemove() {\n return null;\n },\n renderSuggestion: null,\n isLoading: false,\n appendSpaceOnAdd: false\n};\n\nexport { Mention, MentionsInput$1 as MentionsInput };\n","\"use strict\";\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 _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\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\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\nvar Preview = /*#__PURE__*/(0, _react.lazy)(function () {\n return Promise.resolve().then(function () {\n return _interopRequireWildcard(require('./Preview'));\n });\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\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\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 _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\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 _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\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 SDK_URL = 'https://www.youtube.com/iframe_api';\nvar SDK_GLOBAL = 'YT';\nvar SDK_GLOBAL_READY = 'onYouTubeIframeAPIReady';\nvar MATCH_PLAYLIST = /[?&](?:list|channel)=([a-zA-Z0-9_-]+)/;\nvar MATCH_USER_UPLOADS = /user\\/([a-zA-Z0-9_-]+)\\/?/;\nvar MATCH_NOCOOKIE = /youtube-nocookie\\.com/;\nvar NOCOOKIE_HOST = 'https://www.youtube-nocookie.com';\n\nvar YouTube = /*#__PURE__*/function (_Component) {\n _inherits(YouTube, _Component);\n\n var _super = _createSuper(YouTube);\n\n function YouTube() {\n var _this;\n\n _classCallCheck(this, YouTube);\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), \"callPlayer\", _utils.callPlayer);\n\n _defineProperty(_assertThisInitialized(_this), \"parsePlaylist\", function (url) {\n if (url instanceof Array) {\n return {\n listType: 'playlist',\n playlist: url.map(_this.getID).join(',')\n };\n }\n\n if (MATCH_PLAYLIST.test(url)) {\n var _url$match = url.match(MATCH_PLAYLIST),\n _url$match2 = _slicedToArray(_url$match, 2),\n playlistId = _url$match2[1];\n\n return {\n listType: 'playlist',\n list: playlistId.replace(/^UC/, 'UU')\n };\n }\n\n if (MATCH_USER_UPLOADS.test(url)) {\n var _url$match3 = url.match(MATCH_USER_UPLOADS),\n _url$match4 = _slicedToArray(_url$match3, 2),\n username = _url$match4[1];\n\n return {\n listType: 'user_uploads',\n list: username\n };\n }\n\n return {};\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onStateChange\", function (event) {\n var data = event.data;\n var _this$props = _this.props,\n onPlay = _this$props.onPlay,\n onPause = _this$props.onPause,\n onBuffer = _this$props.onBuffer,\n onBufferEnd = _this$props.onBufferEnd,\n onEnded = _this$props.onEnded,\n onReady = _this$props.onReady,\n loop = _this$props.loop,\n _this$props$config = _this$props.config,\n playerVars = _this$props$config.playerVars,\n onUnstarted = _this$props$config.onUnstarted;\n var _window$SDK_GLOBAL$Pl = window[SDK_GLOBAL].PlayerState,\n UNSTARTED = _window$SDK_GLOBAL$Pl.UNSTARTED,\n PLAYING = _window$SDK_GLOBAL$Pl.PLAYING,\n PAUSED = _window$SDK_GLOBAL$Pl.PAUSED,\n BUFFERING = _window$SDK_GLOBAL$Pl.BUFFERING,\n ENDED = _window$SDK_GLOBAL$Pl.ENDED,\n CUED = _window$SDK_GLOBAL$Pl.CUED;\n if (data === UNSTARTED) onUnstarted();\n\n if (data === PLAYING) {\n onPlay();\n onBufferEnd();\n }\n\n if (data === PAUSED) onPause();\n if (data === BUFFERING) onBuffer();\n\n if (data === ENDED) {\n var isPlaylist = !!_this.callPlayer('getPlaylist'); // Only loop manually if not playing a playlist\n\n if (loop && !isPlaylist) {\n if (playerVars.start) {\n _this.seekTo(playerVars.start);\n } else {\n _this.play();\n }\n }\n\n onEnded();\n }\n\n if (data === CUED) onReady();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n _this.callPlayer('mute');\n });\n\n _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n _this.callPlayer('unMute');\n });\n\n _defineProperty(_assertThisInitialized(_this), \"ref\", function (container) {\n _this.container = container;\n });\n\n return _this;\n }\n\n _createClass(YouTube, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.onMount && this.props.onMount(this);\n }\n }, {\n key: \"getID\",\n value: function getID(url) {\n if (!url || url instanceof Array || MATCH_PLAYLIST.test(url)) {\n return null;\n }\n\n return url.match(_patterns.MATCH_URL_YOUTUBE)[1];\n }\n }, {\n key: \"load\",\n value: function load(url, isReady) {\n var _this2 = this;\n\n var _this$props2 = this.props,\n playing = _this$props2.playing,\n muted = _this$props2.muted,\n playsinline = _this$props2.playsinline,\n controls = _this$props2.controls,\n loop = _this$props2.loop,\n config = _this$props2.config,\n _onError = _this$props2.onError;\n var playerVars = config.playerVars,\n embedOptions = config.embedOptions;\n var id = this.getID(url);\n\n if (isReady) {\n if (MATCH_PLAYLIST.test(url) || MATCH_USER_UPLOADS.test(url) || url instanceof Array) {\n this.player.loadPlaylist(this.parsePlaylist(url));\n return;\n }\n\n this.player.cueVideoById({\n videoId: id,\n startSeconds: (0, _utils.parseStartTime)(url) || playerVars.start,\n endSeconds: (0, _utils.parseEndTime)(url) || playerVars.end\n });\n return;\n }\n\n (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL, SDK_GLOBAL_READY, function (YT) {\n return YT.loaded;\n }).then(function (YT) {\n if (!_this2.container) return;\n _this2.player = new YT.Player(_this2.container, _objectSpread({\n width: '100%',\n height: '100%',\n videoId: id,\n playerVars: _objectSpread(_objectSpread({\n autoplay: playing ? 1 : 0,\n mute: muted ? 1 : 0,\n controls: controls ? 1 : 0,\n start: (0, _utils.parseStartTime)(url),\n end: (0, _utils.parseEndTime)(url),\n origin: window.location.origin,\n playsinline: playsinline ? 1 : 0\n }, _this2.parsePlaylist(url)), playerVars),\n events: {\n onReady: function onReady() {\n if (loop) {\n _this2.player.setLoop(true); // Enable playlist looping\n\n }\n\n _this2.props.onReady();\n },\n onStateChange: _this2.onStateChange,\n onError: function onError(event) {\n return _onError(event.data);\n }\n },\n host: MATCH_NOCOOKIE.test(url) ? NOCOOKIE_HOST : undefined\n }, embedOptions));\n }, _onError);\n\n if (embedOptions.events) {\n console.warn('Using `embedOptions.events` will likely break things. Use ReactPlayer’s callback props instead, eg onReady, onPlay, onPause');\n }\n }\n }, {\n key: \"play\",\n value: function play() {\n this.callPlayer('playVideo');\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this.callPlayer('pauseVideo');\n }\n }, {\n key: \"stop\",\n value: function stop() {\n if (!document.body.contains(this.callPlayer('getIframe'))) return;\n this.callPlayer('stopVideo');\n }\n }, {\n key: \"seekTo\",\n value: function seekTo(amount) {\n this.callPlayer('seekTo', amount);\n\n if (!this.props.playing) {\n this.pause();\n }\n }\n }, {\n key: \"setVolume\",\n value: function setVolume(fraction) {\n this.callPlayer('setVolume', fraction * 100);\n }\n }, {\n key: \"setPlaybackRate\",\n value: function setPlaybackRate(rate) {\n this.callPlayer('setPlaybackRate', rate);\n }\n }, {\n key: \"setLoop\",\n value: function setLoop(loop) {\n this.callPlayer('setLoop', loop);\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return this.callPlayer('getDuration');\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.callPlayer('getCurrentTime');\n }\n }, {\n key: \"getSecondsLoaded\",\n value: function getSecondsLoaded() {\n return this.callPlayer('getVideoLoadedFraction') * this.getDuration();\n }\n }, {\n key: \"render\",\n value: function render() {\n var display = this.props.display;\n var style = {\n width: '100%',\n height: '100%',\n display: display\n };\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: style\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n ref: this.ref\n }));\n }\n }]);\n\n return YouTube;\n}(_react.Component);\n\nexports[\"default\"] = YouTube;\n\n_defineProperty(YouTube, \"displayName\", 'YouTube');\n\n_defineProperty(YouTube, \"canPlay\", _patterns.canPlay.youtube);","\n const createReactPlayer = require('./lib/ReactPlayer').createReactPlayer\n const Player = require('./lib/players/YouTube').default\n module.exports = createReactPlayer([{\n key: 'youtube',\n canPlay: Player.canPlay,\n lazyPlayer: Player\n }])\n ","\"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;","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","\"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);","\"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\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 _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 ICON_SIZE = '64px';\nvar cache = {};\n\nvar Preview = /*#__PURE__*/function (_Component) {\n _inherits(Preview, _Component);\n\n var _super = _createSuper(Preview);\n\n function Preview() {\n var _this;\n\n _classCallCheck(this, Preview);\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), \"state\", {\n image: null\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleKeyPress\", function (e) {\n if (e.key === 'Enter' || e.key === ' ') {\n _this.props.onClick();\n }\n });\n\n return _this;\n }\n\n _createClass(Preview, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.mounted = true;\n this.fetchImage(this.props);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n url = _this$props.url,\n light = _this$props.light;\n\n if (prevProps.url !== url || prevProps.light !== light) {\n this.fetchImage(this.props);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n }\n }, {\n key: \"fetchImage\",\n value: function fetchImage(_ref) {\n var _this2 = this;\n\n var url = _ref.url,\n light = _ref.light;\n\n if (typeof light === 'string') {\n this.setState({\n image: light\n });\n return;\n }\n\n if (cache[url]) {\n this.setState({\n image: cache[url]\n });\n return;\n }\n\n this.setState({\n image: null\n });\n return window.fetch(\"https://noembed.com/embed?url=\".concat(url)).then(function (response) {\n return response.json();\n }).then(function (data) {\n if (data.thumbnail_url && _this2.mounted) {\n var image = data.thumbnail_url.replace('height=100', 'height=480');\n\n _this2.setState({\n image: image\n });\n\n cache[url] = image;\n }\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n onClick = _this$props2.onClick,\n playIcon = _this$props2.playIcon,\n previewTabIndex = _this$props2.previewTabIndex;\n var image = this.state.image;\n var flexCenter = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n };\n var styles = {\n preview: _objectSpread({\n width: '100%',\n height: '100%',\n backgroundImage: image ? \"url(\".concat(image, \")\") : undefined,\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n cursor: 'pointer'\n }, flexCenter),\n shadow: _objectSpread({\n background: 'radial-gradient(rgb(0, 0, 0, 0.3), rgba(0, 0, 0, 0) 60%)',\n borderRadius: ICON_SIZE,\n width: ICON_SIZE,\n height: ICON_SIZE\n }, flexCenter),\n playIcon: {\n borderStyle: 'solid',\n borderWidth: '16px 0 16px 26px',\n borderColor: 'transparent transparent transparent white',\n marginLeft: '7px'\n }\n };\n\n var defaultPlayIcon = /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: styles.shadow,\n className: \"react-player__shadow\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: styles.playIcon,\n className: \"react-player__play-icon\"\n }));\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: styles.preview,\n className: \"react-player__preview\",\n onClick: onClick,\n tabIndex: previewTabIndex,\n onKeyPress: this.handleKeyPress\n }, playIcon || defaultPlayIcon);\n }\n }]);\n\n return Preview;\n}(_react.Component);\n\nexports[\"default\"] = Preview;","\"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\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\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\nvar _default = [{\n key: 'youtube',\n name: 'YouTube',\n canPlay: _patterns.canPlay.youtube,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return Promise.resolve().then(function () {\n return _interopRequireWildcard(require('./YouTube'));\n });\n })\n}, {\n key: 'soundcloud',\n name: 'SoundCloud',\n canPlay: _patterns.canPlay.soundcloud,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return Promise.resolve().then(function () {\n return _interopRequireWildcard(require('./SoundCloud'));\n });\n })\n}, {\n key: 'vimeo',\n name: 'Vimeo',\n canPlay: _patterns.canPlay.vimeo,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return Promise.resolve().then(function () {\n return _interopRequireWildcard(require('./Vimeo'));\n });\n })\n}, {\n key: 'facebook',\n name: 'Facebook',\n canPlay: _patterns.canPlay.facebook,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return Promise.resolve().then(function () {\n return _interopRequireWildcard(require('./Facebook'));\n });\n })\n}, {\n key: 'streamable',\n name: 'Streamable',\n canPlay: _patterns.canPlay.streamable,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return Promise.resolve().then(function () {\n return _interopRequireWildcard(require('./Streamable'));\n });\n })\n}, {\n key: 'wistia',\n name: 'Wistia',\n canPlay: _patterns.canPlay.wistia,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return Promise.resolve().then(function () {\n return _interopRequireWildcard(require('./Wistia'));\n });\n })\n}, {\n key: 'twitch',\n name: 'Twitch',\n canPlay: _patterns.canPlay.twitch,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return Promise.resolve().then(function () {\n return _interopRequireWildcard(require('./Twitch'));\n });\n })\n}, {\n key: 'dailymotion',\n name: 'DailyMotion',\n canPlay: _patterns.canPlay.dailymotion,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return Promise.resolve().then(function () {\n return _interopRequireWildcard(require('./DailyMotion'));\n });\n })\n}, {\n key: 'mixcloud',\n name: 'Mixcloud',\n canPlay: _patterns.canPlay.mixcloud,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return Promise.resolve().then(function () {\n return _interopRequireWildcard(require('./Mixcloud'));\n });\n })\n}, {\n key: 'vidyard',\n name: 'Vidyard',\n canPlay: _patterns.canPlay.vidyard,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return Promise.resolve().then(function () {\n return _interopRequireWildcard(require('./Vidyard'));\n });\n })\n}, {\n key: 'kaltura',\n name: 'Kaltura',\n canPlay: _patterns.canPlay.kaltura,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return Promise.resolve().then(function () {\n return _interopRequireWildcard(require('./Kaltura'));\n });\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 Promise.resolve().then(function () {\n return _interopRequireWildcard(require('./FilePlayer'));\n });\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[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\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 _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 SDK_URL = 'https://w.soundcloud.com/player/api.js';\nvar SDK_GLOBAL = 'SC';\n\nvar SoundCloud = /*#__PURE__*/function (_Component) {\n _inherits(SoundCloud, _Component);\n\n var _super = _createSuper(SoundCloud);\n\n function SoundCloud() {\n var _this;\n\n _classCallCheck(this, SoundCloud);\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), \"callPlayer\", _utils.callPlayer);\n\n _defineProperty(_assertThisInitialized(_this), \"duration\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"currentTime\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"fractionLoaded\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n _this.setVolume(0);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n if (_this.props.volume !== null) {\n _this.setVolume(_this.props.volume);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"ref\", function (iframe) {\n _this.iframe = iframe;\n });\n\n return _this;\n }\n\n _createClass(SoundCloud, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.onMount && this.props.onMount(this);\n }\n }, {\n key: \"load\",\n value: function load(url, isReady) {\n var _this2 = this;\n\n (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (SC) {\n if (!_this2.iframe) return;\n var _SC$Widget$Events = SC.Widget.Events,\n PLAY = _SC$Widget$Events.PLAY,\n PLAY_PROGRESS = _SC$Widget$Events.PLAY_PROGRESS,\n PAUSE = _SC$Widget$Events.PAUSE,\n FINISH = _SC$Widget$Events.FINISH,\n ERROR = _SC$Widget$Events.ERROR;\n\n if (!isReady) {\n _this2.player = SC.Widget(_this2.iframe);\n\n _this2.player.bind(PLAY, _this2.props.onPlay);\n\n _this2.player.bind(PAUSE, function () {\n var remaining = _this2.duration - _this2.currentTime;\n\n if (remaining < 0.05) {\n // Prevent onPause firing right before onEnded\n return;\n }\n\n _this2.props.onPause();\n });\n\n _this2.player.bind(PLAY_PROGRESS, function (e) {\n _this2.currentTime = e.currentPosition / 1000;\n _this2.fractionLoaded = e.loadedProgress;\n });\n\n _this2.player.bind(FINISH, function () {\n return _this2.props.onEnded();\n });\n\n _this2.player.bind(ERROR, function (e) {\n return _this2.props.onError(e);\n });\n }\n\n _this2.player.load(url, _objectSpread(_objectSpread({}, _this2.props.config.options), {}, {\n callback: function callback() {\n _this2.player.getDuration(function (duration) {\n _this2.duration = duration / 1000;\n\n _this2.props.onReady();\n });\n }\n }));\n });\n }\n }, {\n key: \"play\",\n value: function play() {\n this.callPlayer('play');\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this.callPlayer('pause');\n }\n }, {\n key: \"stop\",\n value: function stop() {// Nothing to do\n }\n }, {\n key: \"seekTo\",\n value: function seekTo(seconds) {\n this.callPlayer('seekTo', seconds * 1000);\n }\n }, {\n key: \"setVolume\",\n value: function setVolume(fraction) {\n this.callPlayer('setVolume', fraction * 100);\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return this.duration;\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.currentTime;\n }\n }, {\n key: \"getSecondsLoaded\",\n value: function getSecondsLoaded() {\n return this.fractionLoaded * this.duration;\n }\n }, {\n key: \"render\",\n value: function render() {\n var display = this.props.display;\n var style = {\n width: '100%',\n height: '100%',\n display: display\n };\n return /*#__PURE__*/_react[\"default\"].createElement(\"iframe\", {\n ref: this.ref,\n src: \"https://w.soundcloud.com/player/?url=\".concat(encodeURIComponent(this.props.url)),\n style: style,\n frameBorder: 0,\n allow: \"autoplay\"\n });\n }\n }]);\n\n return SoundCloud;\n}(_react.Component);\n\nexports[\"default\"] = SoundCloud;\n\n_defineProperty(SoundCloud, \"displayName\", 'SoundCloud');\n\n_defineProperty(SoundCloud, \"canPlay\", _patterns.canPlay.soundcloud);\n\n_defineProperty(SoundCloud, \"loopOnEnded\", true);","\"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 _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\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 _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 SDK_URL = 'https://player.vimeo.com/api/player.js';\nvar SDK_GLOBAL = 'Vimeo';\n\nvar Vimeo = /*#__PURE__*/function (_Component) {\n _inherits(Vimeo, _Component);\n\n var _super = _createSuper(Vimeo);\n\n function Vimeo() {\n var _this;\n\n _classCallCheck(this, Vimeo);\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), \"callPlayer\", _utils.callPlayer);\n\n _defineProperty(_assertThisInitialized(_this), \"duration\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"currentTime\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"secondsLoaded\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n _this.setVolume(0);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n if (_this.props.volume !== null) {\n _this.setVolume(_this.props.volume);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"ref\", function (container) {\n _this.container = container;\n });\n\n return _this;\n }\n\n _createClass(Vimeo, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.onMount && this.props.onMount(this);\n }\n }, {\n key: \"load\",\n value: function load(url) {\n var _this2 = this;\n\n this.duration = null;\n (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (Vimeo) {\n if (!_this2.container) return;\n _this2.player = new Vimeo.Player(_this2.container, _objectSpread({\n url: url,\n autoplay: _this2.props.playing,\n muted: _this2.props.muted,\n loop: _this2.props.loop,\n playsinline: _this2.props.playsinline,\n controls: _this2.props.controls\n }, _this2.props.config.playerOptions));\n\n _this2.player.ready().then(function () {\n var iframe = _this2.container.querySelector('iframe');\n\n iframe.style.width = '100%';\n iframe.style.height = '100%';\n })[\"catch\"](_this2.props.onError);\n\n _this2.player.on('loaded', function () {\n _this2.props.onReady();\n\n _this2.refreshDuration();\n });\n\n _this2.player.on('play', function () {\n _this2.props.onPlay();\n\n _this2.refreshDuration();\n });\n\n _this2.player.on('pause', _this2.props.onPause);\n\n _this2.player.on('seeked', function (e) {\n return _this2.props.onSeek(e.seconds);\n });\n\n _this2.player.on('ended', _this2.props.onEnded);\n\n _this2.player.on('error', _this2.props.onError);\n\n _this2.player.on('timeupdate', function (_ref) {\n var seconds = _ref.seconds;\n _this2.currentTime = seconds;\n });\n\n _this2.player.on('progress', function (_ref2) {\n var seconds = _ref2.seconds;\n _this2.secondsLoaded = seconds;\n });\n\n _this2.player.on('bufferstart', _this2.props.onBuffer);\n\n _this2.player.on('bufferend', _this2.props.onBufferEnd);\n }, this.props.onError);\n }\n }, {\n key: \"refreshDuration\",\n value: function refreshDuration() {\n var _this3 = this;\n\n this.player.getDuration().then(function (duration) {\n _this3.duration = duration;\n });\n }\n }, {\n key: \"play\",\n value: function play() {\n var promise = this.callPlayer('play');\n\n if (promise) {\n promise[\"catch\"](this.props.onError);\n }\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this.callPlayer('pause');\n }\n }, {\n key: \"stop\",\n value: function stop() {\n this.callPlayer('unload');\n }\n }, {\n key: \"seekTo\",\n value: function seekTo(seconds) {\n this.callPlayer('setCurrentTime', seconds);\n }\n }, {\n key: \"setVolume\",\n value: function setVolume(fraction) {\n this.callPlayer('setVolume', fraction);\n }\n }, {\n key: \"setLoop\",\n value: function setLoop(loop) {\n this.callPlayer('setLoop', loop);\n }\n }, {\n key: \"setPlaybackRate\",\n value: function setPlaybackRate(rate) {\n this.callPlayer('setPlaybackRate', rate);\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return this.duration;\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.currentTime;\n }\n }, {\n key: \"getSecondsLoaded\",\n value: function getSecondsLoaded() {\n return this.secondsLoaded;\n }\n }, {\n key: \"render\",\n value: function render() {\n var display = this.props.display;\n var style = {\n width: '100%',\n height: '100%',\n overflow: 'hidden',\n display: display\n };\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n key: this.props.url,\n ref: this.ref,\n style: style\n });\n }\n }]);\n\n return Vimeo;\n}(_react.Component);\n\nexports[\"default\"] = Vimeo;\n\n_defineProperty(Vimeo, \"displayName\", 'Vimeo');\n\n_defineProperty(Vimeo, \"canPlay\", _patterns.canPlay.vimeo);\n\n_defineProperty(Vimeo, \"forceLoad\", true);","\"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 _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\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 SDK_URL = 'https://connect.facebook.net/en_US/sdk.js';\nvar SDK_GLOBAL = 'FB';\nvar SDK_GLOBAL_READY = 'fbAsyncInit';\nvar PLAYER_ID_PREFIX = 'facebook-player-';\n\nvar Facebook = /*#__PURE__*/function (_Component) {\n _inherits(Facebook, _Component);\n\n var _super = _createSuper(Facebook);\n\n function Facebook() {\n var _this;\n\n _classCallCheck(this, Facebook);\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), \"callPlayer\", _utils.callPlayer);\n\n _defineProperty(_assertThisInitialized(_this), \"playerID\", _this.props.config.playerId || \"\".concat(PLAYER_ID_PREFIX).concat((0, _utils.randomString)()));\n\n _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n _this.callPlayer('mute');\n });\n\n _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n _this.callPlayer('unmute');\n });\n\n return _this;\n }\n\n _createClass(Facebook, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.onMount && this.props.onMount(this);\n }\n }, {\n key: \"load\",\n value: function load(url, isReady) {\n var _this2 = this;\n\n if (isReady) {\n (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL, SDK_GLOBAL_READY).then(function (FB) {\n return FB.XFBML.parse();\n });\n return;\n }\n\n (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL, SDK_GLOBAL_READY).then(function (FB) {\n FB.init({\n appId: _this2.props.config.appId,\n xfbml: true,\n version: _this2.props.config.version\n });\n FB.Event.subscribe('xfbml.render', function (msg) {\n // Here we know the SDK has loaded, even if onReady/onPlay\n // is not called due to a video that cannot be embedded\n _this2.props.onLoaded();\n });\n FB.Event.subscribe('xfbml.ready', function (msg) {\n if (msg.type === 'video' && msg.id === _this2.playerID) {\n _this2.player = msg.instance;\n\n _this2.player.subscribe('startedPlaying', _this2.props.onPlay);\n\n _this2.player.subscribe('paused', _this2.props.onPause);\n\n _this2.player.subscribe('finishedPlaying', _this2.props.onEnded);\n\n _this2.player.subscribe('startedBuffering', _this2.props.onBuffer);\n\n _this2.player.subscribe('finishedBuffering', _this2.props.onBufferEnd);\n\n _this2.player.subscribe('error', _this2.props.onError);\n\n if (_this2.props.muted) {\n _this2.callPlayer('mute');\n } else {\n _this2.callPlayer('unmute');\n }\n\n _this2.props.onReady(); // For some reason Facebook have added `visibility: hidden`\n // to the iframe when autoplay fails, so here we set it back\n\n\n document.getElementById(_this2.playerID).querySelector('iframe').style.visibility = 'visible';\n }\n });\n });\n }\n }, {\n key: \"play\",\n value: function play() {\n this.callPlayer('play');\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this.callPlayer('pause');\n }\n }, {\n key: \"stop\",\n value: function stop() {// Nothing to do\n }\n }, {\n key: \"seekTo\",\n value: function seekTo(seconds) {\n this.callPlayer('seek', seconds);\n }\n }, {\n key: \"setVolume\",\n value: function setVolume(fraction) {\n this.callPlayer('setVolume', fraction);\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return this.callPlayer('getDuration');\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.callPlayer('getCurrentPosition');\n }\n }, {\n key: \"getSecondsLoaded\",\n value: function getSecondsLoaded() {\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var attributes = this.props.config.attributes;\n var style = {\n width: '100%',\n height: '100%'\n };\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", _extends({\n style: style,\n id: this.playerID,\n className: \"fb-video\",\n \"data-href\": this.props.url,\n \"data-autoplay\": this.props.playing ? 'true' : 'false',\n \"data-allowfullscreen\": \"true\",\n \"data-controls\": this.props.controls ? 'true' : 'false'\n }, attributes));\n }\n }]);\n\n return Facebook;\n}(_react.Component);\n\nexports[\"default\"] = Facebook;\n\n_defineProperty(Facebook, \"displayName\", 'Facebook');\n\n_defineProperty(Facebook, \"canPlay\", _patterns.canPlay.facebook);\n\n_defineProperty(Facebook, \"loopOnEnded\", true);","\"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 _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\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 _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 SDK_URL = 'https://cdn.embed.ly/player-0.1.0.min.js';\nvar SDK_GLOBAL = 'playerjs';\n\nvar Streamable = /*#__PURE__*/function (_Component) {\n _inherits(Streamable, _Component);\n\n var _super = _createSuper(Streamable);\n\n function Streamable() {\n var _this;\n\n _classCallCheck(this, Streamable);\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), \"callPlayer\", _utils.callPlayer);\n\n _defineProperty(_assertThisInitialized(_this), \"duration\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"currentTime\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"secondsLoaded\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n _this.callPlayer('mute');\n });\n\n _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n _this.callPlayer('unmute');\n });\n\n _defineProperty(_assertThisInitialized(_this), \"ref\", function (iframe) {\n _this.iframe = iframe;\n });\n\n return _this;\n }\n\n _createClass(Streamable, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.onMount && this.props.onMount(this);\n }\n }, {\n key: \"load\",\n value: function load(url) {\n var _this2 = this;\n\n (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (playerjs) {\n if (!_this2.iframe) return;\n _this2.player = new playerjs.Player(_this2.iframe);\n\n _this2.player.setLoop(_this2.props.loop);\n\n _this2.player.on('ready', _this2.props.onReady);\n\n _this2.player.on('play', _this2.props.onPlay);\n\n _this2.player.on('pause', _this2.props.onPause);\n\n _this2.player.on('seeked', _this2.props.onSeek);\n\n _this2.player.on('ended', _this2.props.onEnded);\n\n _this2.player.on('error', _this2.props.onError);\n\n _this2.player.on('timeupdate', function (_ref) {\n var duration = _ref.duration,\n seconds = _ref.seconds;\n _this2.duration = duration;\n _this2.currentTime = seconds;\n });\n\n _this2.player.on('buffered', function (_ref2) {\n var percent = _ref2.percent;\n\n if (_this2.duration) {\n _this2.secondsLoaded = _this2.duration * percent;\n }\n });\n\n if (_this2.props.muted) {\n _this2.player.mute();\n }\n }, this.props.onError);\n }\n }, {\n key: \"play\",\n value: function play() {\n this.callPlayer('play');\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this.callPlayer('pause');\n }\n }, {\n key: \"stop\",\n value: function stop() {// Nothing to do\n }\n }, {\n key: \"seekTo\",\n value: function seekTo(seconds) {\n this.callPlayer('setCurrentTime', seconds);\n }\n }, {\n key: \"setVolume\",\n value: function setVolume(fraction) {\n this.callPlayer('setVolume', fraction * 100);\n }\n }, {\n key: \"setLoop\",\n value: function setLoop(loop) {\n this.callPlayer('setLoop', loop);\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return this.duration;\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.currentTime;\n }\n }, {\n key: \"getSecondsLoaded\",\n value: function getSecondsLoaded() {\n return this.secondsLoaded;\n }\n }, {\n key: \"render\",\n value: function render() {\n var id = this.props.url.match(_patterns.MATCH_URL_STREAMABLE)[1];\n var style = {\n width: '100%',\n height: '100%'\n };\n return /*#__PURE__*/_react[\"default\"].createElement(\"iframe\", {\n ref: this.ref,\n src: \"https://streamable.com/o/\".concat(id),\n frameBorder: \"0\",\n scrolling: \"no\",\n style: style,\n allowFullScreen: true\n });\n }\n }]);\n\n return Streamable;\n}(_react.Component);\n\nexports[\"default\"] = Streamable;\n\n_defineProperty(Streamable, \"displayName\", 'Streamable');\n\n_defineProperty(Streamable, \"canPlay\", _patterns.canPlay.streamable);","\"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 _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\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 _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 SDK_URL = 'https://fast.wistia.com/assets/external/E-v1.js';\nvar SDK_GLOBAL = 'Wistia';\nvar PLAYER_ID_PREFIX = 'wistia-player-';\n\nvar Wistia = /*#__PURE__*/function (_Component) {\n _inherits(Wistia, _Component);\n\n var _super = _createSuper(Wistia);\n\n function Wistia() {\n var _this;\n\n _classCallCheck(this, Wistia);\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), \"callPlayer\", _utils.callPlayer);\n\n _defineProperty(_assertThisInitialized(_this), \"playerID\", _this.props.config.playerId || \"\".concat(PLAYER_ID_PREFIX).concat((0, _utils.randomString)()));\n\n _defineProperty(_assertThisInitialized(_this), \"onPlay\", function () {\n var _this$props;\n\n return (_this$props = _this.props).onPlay.apply(_this$props, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onPause\", function () {\n var _this$props2;\n\n return (_this$props2 = _this.props).onPause.apply(_this$props2, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSeek\", function () {\n var _this$props3;\n\n return (_this$props3 = _this.props).onSeek.apply(_this$props3, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onEnded\", function () {\n var _this$props4;\n\n return (_this$props4 = _this.props).onEnded.apply(_this$props4, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n _this.callPlayer('mute');\n });\n\n _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n _this.callPlayer('unmute');\n });\n\n return _this;\n }\n\n _createClass(Wistia, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.onMount && this.props.onMount(this);\n }\n }, {\n key: \"load\",\n value: function load(url) {\n var _this2 = this;\n\n var _this$props5 = this.props,\n playing = _this$props5.playing,\n muted = _this$props5.muted,\n controls = _this$props5.controls,\n _onReady = _this$props5.onReady,\n config = _this$props5.config,\n onError = _this$props5.onError;\n (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (Wistia) {\n if (config.customControls) {\n config.customControls.forEach(function (control) {\n return Wistia.defineControl(control);\n });\n }\n\n window._wq = window._wq || [];\n\n window._wq.push({\n id: _this2.playerID,\n options: _objectSpread({\n autoPlay: playing,\n silentAutoPlay: 'allow',\n muted: muted,\n controlsVisibleOnLoad: controls,\n fullscreenButton: controls,\n playbar: controls,\n playbackRateControl: controls,\n qualityControl: controls,\n volumeControl: controls,\n settingsControl: controls,\n smallPlayButton: controls\n }, config.options),\n onReady: function onReady(player) {\n _this2.player = player;\n\n _this2.unbind();\n\n _this2.player.bind('play', _this2.onPlay);\n\n _this2.player.bind('pause', _this2.onPause);\n\n _this2.player.bind('seek', _this2.onSeek);\n\n _this2.player.bind('end', _this2.onEnded);\n\n _onReady();\n }\n });\n }, onError);\n }\n }, {\n key: \"unbind\",\n value: function unbind() {\n this.player.unbind('play', this.onPlay);\n this.player.unbind('pause', this.onPause);\n this.player.unbind('seek', this.onSeek);\n this.player.unbind('end', this.onEnded);\n } // Proxy methods to prevent listener leaks\n\n }, {\n key: \"play\",\n value: function play() {\n this.callPlayer('play');\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this.callPlayer('pause');\n }\n }, {\n key: \"stop\",\n value: function stop() {\n this.unbind();\n this.callPlayer('remove');\n }\n }, {\n key: \"seekTo\",\n value: function seekTo(seconds) {\n this.callPlayer('time', seconds);\n }\n }, {\n key: \"setVolume\",\n value: function setVolume(fraction) {\n this.callPlayer('volume', fraction);\n }\n }, {\n key: \"setPlaybackRate\",\n value: function setPlaybackRate(rate) {\n this.callPlayer('playbackRate', rate);\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return this.callPlayer('duration');\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.callPlayer('time');\n }\n }, {\n key: \"getSecondsLoaded\",\n value: function getSecondsLoaded() {\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var url = this.props.url;\n var videoID = url && url.match(_patterns.MATCH_URL_WISTIA)[1];\n var className = \"wistia_embed wistia_async_\".concat(videoID);\n var style = {\n width: '100%',\n height: '100%'\n };\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n id: this.playerID,\n key: videoID,\n className: className,\n style: style\n });\n }\n }]);\n\n return Wistia;\n}(_react.Component);\n\nexports[\"default\"] = Wistia;\n\n_defineProperty(Wistia, \"displayName\", 'Wistia');\n\n_defineProperty(Wistia, \"canPlay\", _patterns.canPlay.wistia);\n\n_defineProperty(Wistia, \"loopOnEnded\", true);","\"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 _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\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 _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 SDK_URL = 'https://player.twitch.tv/js/embed/v1.js';\nvar SDK_GLOBAL = 'Twitch';\nvar PLAYER_ID_PREFIX = 'twitch-player-';\n\nvar Twitch = /*#__PURE__*/function (_Component) {\n _inherits(Twitch, _Component);\n\n var _super = _createSuper(Twitch);\n\n function Twitch() {\n var _this;\n\n _classCallCheck(this, Twitch);\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), \"callPlayer\", _utils.callPlayer);\n\n _defineProperty(_assertThisInitialized(_this), \"playerID\", _this.props.config.playerId || \"\".concat(PLAYER_ID_PREFIX).concat((0, _utils.randomString)()));\n\n _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n _this.callPlayer('setMuted', true);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n _this.callPlayer('setMuted', false);\n });\n\n return _this;\n }\n\n _createClass(Twitch, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.onMount && this.props.onMount(this);\n }\n }, {\n key: \"load\",\n value: function load(url, isReady) {\n var _this2 = this;\n\n var _this$props = this.props,\n playsinline = _this$props.playsinline,\n onError = _this$props.onError,\n config = _this$props.config,\n controls = _this$props.controls;\n\n var isChannel = _patterns.MATCH_URL_TWITCH_CHANNEL.test(url);\n\n var id = isChannel ? url.match(_patterns.MATCH_URL_TWITCH_CHANNEL)[1] : url.match(_patterns.MATCH_URL_TWITCH_VIDEO)[1];\n\n if (isReady) {\n if (isChannel) {\n this.player.setChannel(id);\n } else {\n this.player.setVideo('v' + id);\n }\n\n return;\n }\n\n (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (Twitch) {\n _this2.player = new Twitch.Player(_this2.playerID, _objectSpread({\n video: isChannel ? '' : id,\n channel: isChannel ? id : '',\n height: '100%',\n width: '100%',\n playsinline: playsinline,\n autoplay: _this2.props.playing,\n muted: _this2.props.muted,\n // https://github.com/CookPete/react-player/issues/733#issuecomment-549085859\n controls: isChannel ? true : controls,\n time: (0, _utils.parseStartTime)(url)\n }, config.options));\n var _Twitch$Player = Twitch.Player,\n READY = _Twitch$Player.READY,\n PLAYING = _Twitch$Player.PLAYING,\n PAUSE = _Twitch$Player.PAUSE,\n ENDED = _Twitch$Player.ENDED,\n ONLINE = _Twitch$Player.ONLINE,\n OFFLINE = _Twitch$Player.OFFLINE;\n\n _this2.player.addEventListener(READY, _this2.props.onReady);\n\n _this2.player.addEventListener(PLAYING, _this2.props.onPlay);\n\n _this2.player.addEventListener(PAUSE, _this2.props.onPause);\n\n _this2.player.addEventListener(ENDED, _this2.props.onEnded); // Prevent weird isLoading behaviour when streams are offline\n\n\n _this2.player.addEventListener(ONLINE, _this2.props.onLoaded);\n\n _this2.player.addEventListener(OFFLINE, _this2.props.onLoaded);\n }, onError);\n }\n }, {\n key: \"play\",\n value: function play() {\n this.callPlayer('play');\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this.callPlayer('pause');\n }\n }, {\n key: \"stop\",\n value: function stop() {\n this.callPlayer('pause');\n }\n }, {\n key: \"seekTo\",\n value: function seekTo(seconds) {\n this.callPlayer('seek', seconds);\n }\n }, {\n key: \"setVolume\",\n value: function setVolume(fraction) {\n this.callPlayer('setVolume', fraction);\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return this.callPlayer('getDuration');\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.callPlayer('getCurrentTime');\n }\n }, {\n key: \"getSecondsLoaded\",\n value: function getSecondsLoaded() {\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var style = {\n width: '100%',\n height: '100%'\n };\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: style,\n id: this.playerID\n });\n }\n }]);\n\n return Twitch;\n}(_react.Component);\n\nexports[\"default\"] = Twitch;\n\n_defineProperty(Twitch, \"displayName\", 'Twitch');\n\n_defineProperty(Twitch, \"canPlay\", _patterns.canPlay.twitch);\n\n_defineProperty(Twitch, \"loopOnEnded\", true);","\"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 _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\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 _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\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 SDK_URL = 'https://api.dmcdn.net/all.js';\nvar SDK_GLOBAL = 'DM';\nvar SDK_GLOBAL_READY = 'dmAsyncInit';\n\nvar DailyMotion = /*#__PURE__*/function (_Component) {\n _inherits(DailyMotion, _Component);\n\n var _super = _createSuper(DailyMotion);\n\n function DailyMotion() {\n var _this;\n\n _classCallCheck(this, DailyMotion);\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), \"callPlayer\", _utils.callPlayer);\n\n _defineProperty(_assertThisInitialized(_this), \"onDurationChange\", function () {\n var duration = _this.getDuration();\n\n _this.props.onDuration(duration);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n _this.callPlayer('setMuted', true);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n _this.callPlayer('setMuted', false);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"ref\", function (container) {\n _this.container = container;\n });\n\n return _this;\n }\n\n _createClass(DailyMotion, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.onMount && this.props.onMount(this);\n }\n }, {\n key: \"load\",\n value: function load(url) {\n var _this2 = this;\n\n var _this$props = this.props,\n controls = _this$props.controls,\n config = _this$props.config,\n onError = _this$props.onError,\n playing = _this$props.playing;\n\n var _url$match = url.match(_patterns.MATCH_URL_DAILYMOTION),\n _url$match2 = _slicedToArray(_url$match, 2),\n id = _url$match2[1];\n\n if (this.player) {\n this.player.load(id, {\n start: (0, _utils.parseStartTime)(url),\n autoplay: playing\n });\n return;\n }\n\n (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL, SDK_GLOBAL_READY, function (DM) {\n return DM.player;\n }).then(function (DM) {\n if (!_this2.container) return;\n var Player = DM.player;\n _this2.player = new Player(_this2.container, {\n width: '100%',\n height: '100%',\n video: id,\n params: _objectSpread({\n controls: controls,\n autoplay: _this2.props.playing,\n mute: _this2.props.muted,\n start: (0, _utils.parseStartTime)(url),\n origin: window.location.origin\n }, config.params),\n events: {\n apiready: _this2.props.onReady,\n seeked: function seeked() {\n return _this2.props.onSeek(_this2.player.currentTime);\n },\n video_end: _this2.props.onEnded,\n durationchange: _this2.onDurationChange,\n pause: _this2.props.onPause,\n playing: _this2.props.onPlay,\n waiting: _this2.props.onBuffer,\n error: function error(event) {\n return onError(event);\n }\n }\n });\n }, onError);\n }\n }, {\n key: \"play\",\n value: function play() {\n this.callPlayer('play');\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this.callPlayer('pause');\n }\n }, {\n key: \"stop\",\n value: function stop() {// Nothing to do\n }\n }, {\n key: \"seekTo\",\n value: function seekTo(seconds) {\n this.callPlayer('seek', seconds);\n }\n }, {\n key: \"setVolume\",\n value: function setVolume(fraction) {\n this.callPlayer('setVolume', fraction);\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return this.player.duration || null;\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.player.currentTime;\n }\n }, {\n key: \"getSecondsLoaded\",\n value: function getSecondsLoaded() {\n return this.player.bufferedTime;\n }\n }, {\n key: \"render\",\n value: function render() {\n var display = this.props.display;\n var style = {\n width: '100%',\n height: '100%',\n display: display\n };\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: style\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n ref: this.ref\n }));\n }\n }]);\n\n return DailyMotion;\n}(_react.Component);\n\nexports[\"default\"] = DailyMotion;\n\n_defineProperty(DailyMotion, \"displayName\", 'DailyMotion');\n\n_defineProperty(DailyMotion, \"canPlay\", _patterns.canPlay.dailymotion);\n\n_defineProperty(DailyMotion, \"loopOnEnded\", true);","\"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 _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\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 _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 SDK_URL = 'https://widget.mixcloud.com/media/js/widgetApi.js';\nvar SDK_GLOBAL = 'Mixcloud';\n\nvar Mixcloud = /*#__PURE__*/function (_Component) {\n _inherits(Mixcloud, _Component);\n\n var _super = _createSuper(Mixcloud);\n\n function Mixcloud() {\n var _this;\n\n _classCallCheck(this, Mixcloud);\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), \"callPlayer\", _utils.callPlayer);\n\n _defineProperty(_assertThisInitialized(_this), \"duration\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"currentTime\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"secondsLoaded\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"mute\", function () {// No volume support\n });\n\n _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {// No volume support\n });\n\n _defineProperty(_assertThisInitialized(_this), \"ref\", function (iframe) {\n _this.iframe = iframe;\n });\n\n return _this;\n }\n\n _createClass(Mixcloud, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.onMount && this.props.onMount(this);\n }\n }, {\n key: \"load\",\n value: function load(url) {\n var _this2 = this;\n\n (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (Mixcloud) {\n _this2.player = Mixcloud.PlayerWidget(_this2.iframe);\n\n _this2.player.ready.then(function () {\n _this2.player.events.play.on(_this2.props.onPlay);\n\n _this2.player.events.pause.on(_this2.props.onPause);\n\n _this2.player.events.ended.on(_this2.props.onEnded);\n\n _this2.player.events.error.on(_this2.props.error);\n\n _this2.player.events.progress.on(function (seconds, duration) {\n _this2.currentTime = seconds;\n _this2.duration = duration;\n });\n\n _this2.props.onReady();\n });\n }, this.props.onError);\n }\n }, {\n key: \"play\",\n value: function play() {\n this.callPlayer('play');\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this.callPlayer('pause');\n }\n }, {\n key: \"stop\",\n value: function stop() {// Nothing to do\n }\n }, {\n key: \"seekTo\",\n value: function seekTo(seconds) {\n this.callPlayer('seek', seconds);\n }\n }, {\n key: \"setVolume\",\n value: function setVolume(fraction) {// No volume support\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return this.duration;\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.currentTime;\n }\n }, {\n key: \"getSecondsLoaded\",\n value: function getSecondsLoaded() {\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n url = _this$props.url,\n config = _this$props.config;\n var id = url.match(_patterns.MATCH_URL_MIXCLOUD)[1];\n var style = {\n width: '100%',\n height: '100%'\n };\n var query = (0, _utils.queryString)(_objectSpread(_objectSpread({}, config.options), {}, {\n feed: \"/\".concat(id, \"/\")\n })); // We have to give the iframe a key here to prevent a\n // weird dialog appearing when loading a new track\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"iframe\", {\n key: id,\n ref: this.ref,\n style: style,\n src: \"https://www.mixcloud.com/widget/iframe/?\".concat(query),\n frameBorder: \"0\"\n });\n }\n }]);\n\n return Mixcloud;\n}(_react.Component);\n\nexports[\"default\"] = Mixcloud;\n\n_defineProperty(Mixcloud, \"displayName\", 'Mixcloud');\n\n_defineProperty(Mixcloud, \"canPlay\", _patterns.canPlay.mixcloud);\n\n_defineProperty(Mixcloud, \"loopOnEnded\", true);","\"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 _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\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 _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 SDK_URL = 'https://play.vidyard.com/embed/v4.js';\nvar SDK_GLOBAL = 'VidyardV4';\nvar SDK_GLOBAL_READY = 'onVidyardAPI';\n\nvar Vidyard = /*#__PURE__*/function (_Component) {\n _inherits(Vidyard, _Component);\n\n var _super = _createSuper(Vidyard);\n\n function Vidyard() {\n var _this;\n\n _classCallCheck(this, Vidyard);\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), \"callPlayer\", _utils.callPlayer);\n\n _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n _this.setVolume(0);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n if (_this.props.volume !== null) {\n _this.setVolume(_this.props.volume);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"ref\", function (container) {\n _this.container = container;\n });\n\n return _this;\n }\n\n _createClass(Vidyard, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.onMount && this.props.onMount(this);\n }\n }, {\n key: \"load\",\n value: function load(url) {\n var _this2 = this;\n\n var _this$props = this.props,\n playing = _this$props.playing,\n config = _this$props.config,\n onError = _this$props.onError,\n onDuration = _this$props.onDuration;\n var id = url && url.match(_patterns.MATCH_URL_VIDYARD)[1];\n\n if (this.player) {\n this.stop();\n }\n\n (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL, SDK_GLOBAL_READY).then(function (Vidyard) {\n if (!_this2.container) return;\n Vidyard.api.addReadyListener(function (data, player) {\n _this2.player = player;\n\n _this2.player.on('ready', _this2.props.onReady);\n\n _this2.player.on('play', _this2.props.onPlay);\n\n _this2.player.on('pause', _this2.props.onPause);\n\n _this2.player.on('seek', _this2.props.onSeek);\n\n _this2.player.on('playerComplete', _this2.props.onEnded);\n }, id);\n Vidyard.api.renderPlayer(_objectSpread({\n uuid: id,\n container: _this2.container,\n autoplay: playing ? 1 : 0\n }, config.options));\n Vidyard.api.getPlayerMetadata(id).then(function (meta) {\n _this2.duration = meta.length_in_seconds;\n onDuration(meta.length_in_seconds);\n });\n }, onError);\n }\n }, {\n key: \"play\",\n value: function play() {\n this.callPlayer('play');\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this.callPlayer('pause');\n }\n }, {\n key: \"stop\",\n value: function stop() {\n window.VidyardV4.api.destroyPlayer(this.player);\n }\n }, {\n key: \"seekTo\",\n value: function seekTo(amount) {\n this.callPlayer('seek', amount);\n }\n }, {\n key: \"setVolume\",\n value: function setVolume(fraction) {\n this.callPlayer('setVolume', fraction);\n }\n }, {\n key: \"setPlaybackRate\",\n value: function setPlaybackRate(rate) {\n this.callPlayer('setPlaybackSpeed', rate);\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return this.duration;\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.callPlayer('currentTime');\n }\n }, {\n key: \"getSecondsLoaded\",\n value: function getSecondsLoaded() {\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var display = this.props.display;\n var style = {\n width: '100%',\n height: '100%',\n display: display\n };\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: style\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n ref: this.ref\n }));\n }\n }]);\n\n return Vidyard;\n}(_react.Component);\n\nexports[\"default\"] = Vidyard;\n\n_defineProperty(Vidyard, \"displayName\", 'Vidyard');\n\n_defineProperty(Vidyard, \"canPlay\", _patterns.canPlay.vidyard);","\"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 _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\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 _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 SDK_URL = 'https://cdn.embed.ly/player-0.1.0.min.js';\nvar SDK_GLOBAL = 'playerjs';\n\nvar Kaltura = /*#__PURE__*/function (_Component) {\n _inherits(Kaltura, _Component);\n\n var _super = _createSuper(Kaltura);\n\n function Kaltura() {\n var _this;\n\n _classCallCheck(this, Kaltura);\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), \"callPlayer\", _utils.callPlayer);\n\n _defineProperty(_assertThisInitialized(_this), \"duration\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"currentTime\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"secondsLoaded\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n _this.callPlayer('mute');\n });\n\n _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n _this.callPlayer('unmute');\n });\n\n _defineProperty(_assertThisInitialized(_this), \"ref\", function (iframe) {\n _this.iframe = iframe;\n });\n\n return _this;\n }\n\n _createClass(Kaltura, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.onMount && this.props.onMount(this);\n }\n }, {\n key: \"load\",\n value: function load(url) {\n var _this2 = this;\n\n (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (playerjs) {\n if (!_this2.iframe) return;\n _this2.player = new playerjs.Player(_this2.iframe);\n\n _this2.player.on('ready', function () {\n _this2.player.isReady = true;\n\n _this2.player.on('play', _this2.props.onPlay);\n\n _this2.player.on('pause', _this2.props.onPause);\n\n _this2.player.on('seeked', _this2.props.onSeek);\n\n _this2.player.on('ended', _this2.props.onEnded);\n\n _this2.player.on('error', _this2.props.onError);\n\n _this2.player.on('timeupdate', function (_ref) {\n var duration = _ref.duration,\n seconds = _ref.seconds;\n _this2.duration = duration;\n _this2.currentTime = seconds;\n });\n\n _this2.player.on('buffered', function (_ref2) {\n var percent = _ref2.percent;\n\n if (_this2.duration) {\n _this2.secondsLoaded = _this2.duration * percent;\n }\n });\n\n _this2.player.setLoop(_this2.props.loop);\n\n if (_this2.props.muted) {\n _this2.player.mute();\n }\n\n setTimeout(function () {\n _this2.props.onReady();\n });\n });\n }, this.props.onError);\n }\n }, {\n key: \"play\",\n value: function play() {\n this.callPlayer('play');\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this.callPlayer('pause');\n }\n }, {\n key: \"stop\",\n value: function stop() {// Nothing to do\n }\n }, {\n key: \"seekTo\",\n value: function seekTo(seconds) {\n this.callPlayer('setCurrentTime', seconds);\n }\n }, {\n key: \"setVolume\",\n value: function setVolume(fraction) {\n this.callPlayer('setVolume', fraction);\n }\n }, {\n key: \"setLoop\",\n value: function setLoop(loop) {\n this.callPlayer('setLoop', loop);\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return this.duration;\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.currentTime;\n }\n }, {\n key: \"getSecondsLoaded\",\n value: function getSecondsLoaded() {\n return this.secondsLoaded;\n }\n }, {\n key: \"render\",\n value: function render() {\n var style = {\n width: '100%',\n height: '100%'\n };\n return /*#__PURE__*/_react[\"default\"].createElement(\"iframe\", {\n ref: this.ref,\n src: this.props.url,\n frameBorder: \"0\",\n scrolling: \"no\",\n style: style,\n allowFullScreen: true,\n allow: \"encrypted-media\",\n referrerPolicy: \"no-referrer-when-downgrade\"\n });\n }\n }]);\n\n return Kaltura;\n}(_react.Component);\n\nexports[\"default\"] = Kaltura;\n\n_defineProperty(Kaltura, \"displayName\", 'Kaltura');\n\n_defineProperty(Kaltura, \"canPlay\", _patterns.canPlay.kaltura);","\"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 _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\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 HAS_NAVIGATOR = typeof navigator !== 'undefined';\nvar IS_IPAD_PRO = HAS_NAVIGATOR && navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1;\nvar IS_IOS = HAS_NAVIGATOR && (/iPad|iPhone|iPod/.test(navigator.userAgent) || IS_IPAD_PRO) && !window.MSStream;\nvar HLS_SDK_URL = 'https://cdn.jsdelivr.net/npm/hls.js@VERSION/dist/hls.min.js';\nvar HLS_GLOBAL = 'Hls';\nvar DASH_SDK_URL = 'https://cdnjs.cloudflare.com/ajax/libs/dashjs/VERSION/dash.all.min.js';\nvar DASH_GLOBAL = 'dashjs';\nvar FLV_SDK_URL = 'https://cdn.jsdelivr.net/npm/flv.js@VERSION/dist/flv.min.js';\nvar FLV_GLOBAL = 'flvjs';\nvar MATCH_DROPBOX_URL = /www\\.dropbox\\.com\\/.+/;\nvar MATCH_CLOUDFLARE_STREAM = /https:\\/\\/watch\\.cloudflarestream\\.com\\/([a-z0-9]+)/;\nvar REPLACE_CLOUDFLARE_STREAM = 'https://videodelivery.net/{id}/manifest/video.m3u8';\n\nvar FilePlayer = /*#__PURE__*/function (_Component) {\n _inherits(FilePlayer, _Component);\n\n var _super = _createSuper(FilePlayer);\n\n function FilePlayer() {\n var _this;\n\n _classCallCheck(this, FilePlayer);\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), \"onReady\", function () {\n var _this$props;\n\n return (_this$props = _this.props).onReady.apply(_this$props, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onPlay\", function () {\n var _this$props2;\n\n return (_this$props2 = _this.props).onPlay.apply(_this$props2, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onBuffer\", function () {\n var _this$props3;\n\n return (_this$props3 = _this.props).onBuffer.apply(_this$props3, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onBufferEnd\", function () {\n var _this$props4;\n\n return (_this$props4 = _this.props).onBufferEnd.apply(_this$props4, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onPause\", function () {\n var _this$props5;\n\n return (_this$props5 = _this.props).onPause.apply(_this$props5, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onEnded\", function () {\n var _this$props6;\n\n return (_this$props6 = _this.props).onEnded.apply(_this$props6, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onError\", function () {\n var _this$props7;\n\n return (_this$props7 = _this.props).onError.apply(_this$props7, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onEnablePIP\", function () {\n var _this$props8;\n\n return (_this$props8 = _this.props).onEnablePIP.apply(_this$props8, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDisablePIP\", function (e) {\n var _this$props9 = _this.props,\n onDisablePIP = _this$props9.onDisablePIP,\n playing = _this$props9.playing;\n onDisablePIP(e);\n\n if (playing) {\n _this.play();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onPresentationModeChange\", function (e) {\n if (_this.player && (0, _utils.supportsWebKitPresentationMode)(_this.player)) {\n var webkitPresentationMode = _this.player.webkitPresentationMode;\n\n if (webkitPresentationMode === 'picture-in-picture') {\n _this.onEnablePIP(e);\n } else if (webkitPresentationMode === 'inline') {\n _this.onDisablePIP(e);\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSeek\", function (e) {\n _this.props.onSeek(e.target.currentTime);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n _this.player.muted = true;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n _this.player.muted = false;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderSourceElement\", function (source, index) {\n if (typeof source === 'string') {\n return /*#__PURE__*/_react[\"default\"].createElement(\"source\", {\n key: index,\n src: source\n });\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"source\", _extends({\n key: index\n }, source));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderTrack\", function (track, index) {\n return /*#__PURE__*/_react[\"default\"].createElement(\"track\", _extends({\n key: index\n }, track));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"ref\", function (player) {\n if (_this.player) {\n // Store previous player to be used by removeListeners()\n _this.prevPlayer = _this.player;\n }\n\n _this.player = player;\n });\n\n return _this;\n }\n\n _createClass(FilePlayer, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.onMount && this.props.onMount(this);\n this.addListeners(this.player);\n\n if (IS_IOS) {\n this.player.load();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (this.shouldUseAudio(this.props) !== this.shouldUseAudio(prevProps)) {\n this.removeListeners(this.prevPlayer, prevProps.url);\n this.addListeners(this.player);\n }\n\n if (this.props.url !== prevProps.url && !(0, _utils.isMediaStream)(this.props.url)) {\n this.player.srcObject = null;\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.removeListeners(this.player);\n\n if (this.hls) {\n this.hls.destroy();\n }\n }\n }, {\n key: \"addListeners\",\n value: function addListeners(player) {\n var _this$props10 = this.props,\n url = _this$props10.url,\n playsinline = _this$props10.playsinline;\n player.addEventListener('play', this.onPlay);\n player.addEventListener('waiting', this.onBuffer);\n player.addEventListener('playing', this.onBufferEnd);\n player.addEventListener('pause', this.onPause);\n player.addEventListener('seeked', this.onSeek);\n player.addEventListener('ended', this.onEnded);\n player.addEventListener('error', this.onError);\n player.addEventListener('enterpictureinpicture', this.onEnablePIP);\n player.addEventListener('leavepictureinpicture', this.onDisablePIP);\n player.addEventListener('webkitpresentationmodechanged', this.onPresentationModeChange);\n\n if (!this.shouldUseHLS(url)) {\n // onReady is handled by hls.js\n player.addEventListener('canplay', this.onReady);\n }\n\n if (playsinline) {\n player.setAttribute('playsinline', '');\n player.setAttribute('webkit-playsinline', '');\n player.setAttribute('x5-playsinline', '');\n }\n }\n }, {\n key: \"removeListeners\",\n value: function removeListeners(player, url) {\n player.removeEventListener('canplay', this.onReady);\n player.removeEventListener('play', this.onPlay);\n player.removeEventListener('waiting', this.onBuffer);\n player.removeEventListener('playing', this.onBufferEnd);\n player.removeEventListener('pause', this.onPause);\n player.removeEventListener('seeked', this.onSeek);\n player.removeEventListener('ended', this.onEnded);\n player.removeEventListener('error', this.onError);\n player.removeEventListener('enterpictureinpicture', this.onEnablePIP);\n player.removeEventListener('leavepictureinpicture', this.onDisablePIP);\n player.removeEventListener('webkitpresentationmodechanged', this.onPresentationModeChange);\n\n if (!this.shouldUseHLS(url)) {\n // onReady is handled by hls.js\n player.removeEventListener('canplay', this.onReady);\n }\n } // Proxy methods to prevent listener leaks\n\n }, {\n key: \"shouldUseAudio\",\n value: function shouldUseAudio(props) {\n if (props.config.forceVideo) {\n return false;\n }\n\n if (props.config.attributes.poster) {\n return false; // Use