element.');\n }\n var callbackRef = function callbackRef(element) {\n var containerElements = _this3.props.containerElements;\n if (child) {\n if (typeof child.ref === 'function') {\n child.ref(element);\n } else if (child.ref) {\n child.ref.current = element;\n }\n }\n _this3.focusTrapElements = containerElements ? containerElements : [element];\n };\n var childWithRef = React.cloneElement(child, {\n ref: callbackRef\n });\n return childWithRef;\n }\n return null;\n }\n }]);\n}(React.Component); // support server-side rendering where `Element` will not be defined\nvar ElementType = typeof Element === 'undefined' ? Function : Element;\nFocusTrap.propTypes = {\n active: PropTypes.bool,\n paused: PropTypes.bool,\n focusTrapOptions: PropTypes.shape({\n document: PropTypes.object,\n onActivate: PropTypes.func,\n onPostActivate: PropTypes.func,\n checkCanFocusTrap: PropTypes.func,\n onPause: PropTypes.func,\n onPostPause: PropTypes.func,\n onUnpause: PropTypes.func,\n onPostUnpause: PropTypes.func,\n onDeactivate: PropTypes.func,\n onPostDeactivate: PropTypes.func,\n checkCanReturnFocus: PropTypes.func,\n initialFocus: PropTypes.oneOfType([PropTypes.instanceOf(ElementType), PropTypes.string, PropTypes.bool, PropTypes.func]),\n fallbackFocus: PropTypes.oneOfType([PropTypes.instanceOf(ElementType), PropTypes.string,\n // NOTE: does not support `false` as value (or return value from function)\n PropTypes.func]),\n escapeDeactivates: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n clickOutsideDeactivates: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n returnFocusOnDeactivate: PropTypes.bool,\n setReturnFocus: PropTypes.oneOfType([PropTypes.instanceOf(ElementType), PropTypes.string, PropTypes.bool, PropTypes.func]),\n allowOutsideClick: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n preventScroll: PropTypes.bool,\n tabbableOptions: PropTypes.shape({\n displayCheck: PropTypes.oneOf(['full', 'legacy-full', 'non-zero-area', 'none']),\n getShadowRoot: PropTypes.oneOfType([PropTypes.bool, PropTypes.func])\n }),\n trapStack: PropTypes.array,\n isKeyForward: PropTypes.func,\n isKeyBackward: PropTypes.func\n }),\n containerElements: PropTypes.arrayOf(PropTypes.instanceOf(ElementType)),\n // DOM element ONLY\n children: PropTypes.oneOfType([PropTypes.element,\n // React element\n PropTypes.instanceOf(ElementType) // DOM element\n ])\n\n // NOTE: _createFocusTrap is internal, for testing purposes only, so we don't\n // specify it here. It's expected to be set to the function returned from\n // require('focus-trap'), or one with a compatible interface.\n};\nFocusTrap.defaultProps = {\n active: true,\n paused: false,\n focusTrapOptions: {},\n _createFocusTrap: createFocusTrap\n};\nmodule.exports = FocusTrap;","import React, { useState, useEffect, useRef} from \"react\";\r\nimport cn from \"classnames\";\r\nimport Cookies from 'js-cookie';\r\n\r\nexport interface ISignLink {\r\n signInLabel: string;\r\n signInUrl: string;\r\n signOutUrl?: string;\r\n signOutLabel: string;\r\n isSignedIn: boolean;\r\n className?: string;\r\n serverErrorText: string;\r\n returnUrl?: string; \r\n}\r\nconst SignLink = ({ signInUrl, signInLabel, signOutLabel, signOutUrl, isSignedIn, className, returnUrl }: ISignLink) => {\r\n\r\n const signInLinkUrl = returnUrl ? signInUrl +'?ReturnUrl=' + returnUrl : signInUrl;\r\n\r\n const handleLogout = (e: React.FormEvent) => {\r\n e.preventDefault();\r\n\r\n const options = {\r\n method: \"POST\"\r\n };\r\n\r\n fetch(signOutUrl, options)\r\n .then((response) => {\r\n console.log('response', response);\r\n if (response.status == 200) {\r\n window.location.reload();\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n return (\r\n <>\r\n {isSignedIn ? (\r\n
\r\n ) : (\r\n
\r\n {signInLabel}\r\n \r\n )}\r\n >\r\n );\r\n};\r\n\r\nexport default SignLink;\r\n","import cn from \"classnames\";\r\nimport React, { MutableRefObject, useState, useEffect } from \"react\";\r\n\r\nexport interface IHamburger {\r\n className?: string;\r\n isExpanded: boolean;\r\n ariaLabel?: string;\r\n toggleMenu?: () => any;\r\n forwardRef?: MutableRefObject
;\r\n}\r\n\r\nexport const Hamburger = ({ className, toggleMenu = () => {}, isExpanded, ariaLabel, forwardRef }: IHamburger) => {\r\n\r\n const onButtonClick = () => {\r\n toggleMenu();\r\n };\r\n\r\n useEffect(() => {\r\n const body = document.body;\r\n const bodyClass = 'no-scroll';\r\n if (isExpanded) {\r\n body.classList.add(bodyClass);\r\n } else {\r\n body.classList.remove(bodyClass);\r\n }\r\n }, [isExpanded]);\r\n\r\n return (\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport {CardProps} from \"./CardProps.csharp\";\r\nimport {CardType} from \"./CardType.csharp\";\r\nimport {ArticleCard} from \"../ArticleCard/ArticleCard\";\r\nimport {ExhibitionCard} from \"../ExhibitionCard/ExhibitionCard\";\r\nimport {EventCard} from \"../EventCard/EventCard\";\r\n\r\nexport const Card = (props: CardProps) => {\r\n if(props.model.type === CardType.ArticleCard){\r\n return ;\r\n }\r\n else if (props.model.type === CardType.ExhibitionCard){\r\n return ;\r\n }\r\n else if (props.model.type === CardType.EventCard){\r\n return ;\r\n }\r\n throw \"Unknown card type\";\r\n};","import * as React from \"react\";\r\nimport classNames from \"classnames\";\r\nimport {ResponsivePicture} from \"../../ReactComponents/responsivePicture/responsivePicture\";\r\nimport {CardProps} from \"../Card/CardProps.csharp\";\r\nimport {ArticleCardViewModel} from \"./ArticleCardViewModel.csharp\";\r\n\r\nexport const ArticleCard = (props: CardProps) => {\r\n const {title, intro, picture, url} = (props.model as ArticleCardViewModel);\r\n return \r\n};\r\n","import * as React from \"react\";\r\nimport { CardProps } from \"../Card/CardProps.csharp\";\r\nimport { ExhibitionCardViewModel } from \"./ExhibitionCardViewModel.csharp\";\r\nimport { ResponsivePicture } from \"../../ReactComponents/responsivePicture/responsivePicture\";\r\nimport classNames from \"classnames\";\r\nimport { CardVariant } from \"../Card/CardVariant.csharp\";\r\nimport { AudioGuide } from \"../../../Features/Blocks/AudioGuide\";\r\n\r\nexport class ExhibitionCard extends React.Component {\r\n render() {\r\n const { title, subtitle, location, duration, picture, url, exhibitionType, audioGuideInfoHtml, hasAudioGuide, audioGuideLeadText, hideAudioGuideIcon } =\r\n this.props.model as ExhibitionCardViewModel;\r\n\r\n let exhibitionTypeStringTranslation = \"\";\r\n if (exhibitionType === 0) {\r\n exhibitionTypeStringTranslation = this.props.translations.permanentExhibitionCollection;\r\n } else if (exhibitionType === 3) {\r\n exhibitionTypeStringTranslation = this.props.translations.interactiveExperience;\r\n } else {\r\n exhibitionTypeStringTranslation = this.props.translations.permanentExhibition;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CardProps } from \"../Card/CardProps.csharp\";\r\nimport { EventCardViewModel } from \"./EventCardViewModel.csharp\";\r\nimport { ResponsivePicture } from \"../../ReactComponents/responsivePicture/responsivePicture\";\r\nimport classNames from \"classnames\";\r\nimport { CardVariant } from \"../Card/CardVariant.csharp\";\r\n\r\nexport const EventCard = (props: CardProps) => {\r\n const { title, subtitle, picture, location, date, time, url, type, ticketUrl, ticketText, timesAsList } =\r\n props.model as EventCardViewModel;\r\n\r\n const ticketsButton = ticketUrl ? {ticketText} : {ticketText};\r\n\r\n let dateTime;\r\n if (timesAsList) {\r\n dateTime = (\r\n \r\n
{date}
\r\n
\r\n {timesAsList.slice(0, 4).map((time, i) => (\r\n \r\n {time}\r\n {i === 3 && timesAsList.length > 4 ? \", ...\" : \"\"}\r\n \r\n ))}\r\n
\r\n
\r\n \r\n {timesAsList.slice(0, 4).join(\", \")}\r\n {timesAsList.length > 4 ? \", ...\" : \"\"}\r\n \r\n
\r\n
\r\n );\r\n } else if (!date && !time) {\r\n dateTime = ;\r\n } else {\r\n dateTime =\r\n props.variant === CardVariant.ListItem ? (\r\n <>\r\n {date}
\r\n {time}
\r\n >\r\n ) : (\r\n \r\n {date},{time}\r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Collapse = undefined;\n\nvar _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; };\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactMotion = require('react-motion');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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 SPRING_PRECISION = 1;\n\nvar WAITING = 'WAITING';\nvar RESIZING = 'RESIZING';\nvar RESTING = 'RESTING';\nvar IDLING = 'IDLING';\n\nvar noop = function noop() {\n return null;\n};\nvar css = {\n collapse: 'ReactCollapse--collapse',\n content: 'ReactCollapse--content'\n};\n\nvar Collapse = exports.Collapse = function (_React$PureComponent) {\n _inherits(Collapse, _React$PureComponent);\n\n function Collapse(props) {\n _classCallCheck(this, Collapse);\n\n var _this = _possibleConstructorReturn(this, (Collapse.__proto__ || Object.getPrototypeOf(Collapse)).call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.state = {\n currentState: IDLING,\n from: 0,\n to: 0\n };\n return _this;\n }\n\n _createClass(Collapse, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _props = this.props,\n isOpened = _props.isOpened,\n forceInitialAnimation = _props.forceInitialAnimation,\n onRest = _props.onRest;\n\n if (isOpened) {\n var to = this.getTo();\n if (forceInitialAnimation) {\n var from = this.wrapper.clientHeight;\n this.setState({ currentState: RESIZING, from: from, to: to });\n } else {\n this.setState({ currentState: IDLING, from: to, to: to });\n }\n }\n onRest();\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if (nextProps.hasNestedCollapse) {\n // For nested collapses we do not need to change to waiting state\n // and should keep `height:auto`\n // Because children will be animated and height will not jump anyway\n // See https://github.com/nkbt/react-collapse/issues/76 for more details\n if (nextProps.isOpened !== this.props.isOpened) {\n // Still go to WAITING state if own isOpened was changed\n this.setState({ currentState: WAITING });\n }\n } else if (this.state.currentState === IDLING && (nextProps.isOpened || this.props.isOpened)) {\n this.setState({ currentState: WAITING });\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(_, prevState) {\n var _props2 = this.props,\n isOpened = _props2.isOpened,\n onRest = _props2.onRest,\n onMeasure = _props2.onMeasure;\n\n\n if (this.state.currentState === IDLING) {\n onRest();\n return;\n }\n\n if (prevState.to !== this.state.to) {\n onMeasure({ height: this.state.to, width: this.content.clientWidth });\n }\n\n var from = this.wrapper.clientHeight;\n var to = isOpened ? this.getTo() : 0;\n\n if (from !== to) {\n this.setState({ currentState: RESIZING, from: from, to: to });\n return;\n }\n\n if (this.state.currentState === RESTING || this.state.currentState === WAITING) {\n this.setState({ currentState: IDLING, from: from, to: to });\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n cancelAnimationFrame(this.raf);\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(_reactMotion.Motion, _extends({}, this.getMotionProps(), {\n onRest: this.onRest,\n children: this.renderContent }));\n }\n }]);\n\n return Collapse;\n}(_react2.default.PureComponent);\n\nCollapse.propTypes = {\n isOpened: _propTypes2.default.bool.isRequired,\n springConfig: _propTypes2.default.objectOf(_propTypes2.default.number),\n forceInitialAnimation: _propTypes2.default.bool,\n\n hasNestedCollapse: _propTypes2.default.bool,\n\n fixedHeight: _propTypes2.default.number,\n\n theme: _propTypes2.default.objectOf(_propTypes2.default.string),\n style: _propTypes2.default.object,\n\n onRender: _propTypes2.default.func,\n onRest: _propTypes2.default.func,\n onMeasure: _propTypes2.default.func,\n\n children: _propTypes2.default.node.isRequired\n};\nCollapse.defaultProps = {\n forceInitialAnimation: false,\n hasNestedCollapse: false,\n fixedHeight: -1,\n style: {},\n theme: css,\n onRender: noop,\n onRest: noop,\n onMeasure: noop\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.onContentRef = function (content) {\n _this2.content = content;\n };\n\n this.onWrapperRef = function (wrapper) {\n _this2.wrapper = wrapper;\n };\n\n this.onRest = function () {\n _this2.raf = requestAnimationFrame(_this2.setResting);\n };\n\n this.setResting = function () {\n _this2.setState({ currentState: RESTING });\n };\n\n this.getTo = function () {\n var fixedHeight = _this2.props.fixedHeight;\n\n return fixedHeight > -1 ? fixedHeight : _this2.content.clientHeight;\n };\n\n this.getWrapperStyle = function (height) {\n if (_this2.state.currentState === IDLING && _this2.state.to) {\n var fixedHeight = _this2.props.fixedHeight;\n\n if (fixedHeight > -1) {\n return { overflow: 'hidden', height: fixedHeight };\n }\n return { height: 'auto' };\n }\n\n if (_this2.state.currentState === WAITING && !_this2.state.to) {\n return { overflow: 'hidden', height: 0 };\n }\n\n return { overflow: 'hidden', height: Math.max(0, height) };\n };\n\n this.getMotionProps = function () {\n var springConfig = _this2.props.springConfig;\n\n\n return _this2.state.currentState === IDLING ? {\n // When completely stable, instantly jump to the position\n defaultStyle: { height: _this2.state.to },\n style: { height: _this2.state.to }\n } : {\n // Otherwise, animate\n defaultStyle: { height: _this2.state.from },\n style: { height: (0, _reactMotion.spring)(_this2.state.to, _extends({ precision: SPRING_PRECISION }, springConfig)) }\n };\n };\n\n this.renderContent = function (_ref) {\n var height = _ref.height;\n\n // eslint-disable-line\n var _props3 = _this2.props,\n _isOpened = _props3.isOpened,\n _springConfig = _props3.springConfig,\n _forceInitialAnimation = _props3.forceInitialAnimation,\n _hasNestedCollapse = _props3.hasNestedCollapse,\n _fixedHeight = _props3.fixedHeight,\n theme = _props3.theme,\n style = _props3.style,\n onRender = _props3.onRender,\n _onRest = _props3.onRest,\n _onMeasure = _props3.onMeasure,\n children = _props3.children,\n props = _objectWithoutProperties(_props3, ['isOpened', 'springConfig', 'forceInitialAnimation', 'hasNestedCollapse', 'fixedHeight', 'theme', 'style', 'onRender', 'onRest', 'onMeasure', 'children']);\n\n var _state = _this2.state,\n from = _state.from,\n to = _state.to;\n\n // DANGEROUS, use with caution, never do setState with it\n\n onRender({ current: height, from: from, to: to });\n\n return _react2.default.createElement(\n 'div',\n _extends({\n ref: _this2.onWrapperRef,\n className: theme.collapse,\n style: _extends({}, _this2.getWrapperStyle(Math.max(0, height)), style)\n }, props),\n _react2.default.createElement(\n 'div',\n { ref: _this2.onContentRef, className: theme.content },\n children\n )\n );\n };\n};","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = {\n noWobble: { stiffness: 170, damping: 26 }, // the default, if nothing provided\n gentle: { stiffness: 120, damping: 14 },\n wobbly: { stiffness: 180, damping: 12 },\n stiff: { stiffness: 210, damping: 20 }\n};\nmodule.exports = exports[\"default\"];","\"use strict\";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function wrap(e,t,a,r){return\"in\"in e&&(e.when=e.in),_react2.default.Children.count(r)<2?_react2.default.createElement(_RevealBase2.default,_extends({},e,{inEffect:t,outEffect:a,children:r})):(r=_react2.default.Children.map(r,function(r){return _react2.default.createElement(_RevealBase2.default,_extends({},e,{inEffect:t,outEffect:a,children:r}))}),\"Fragment\"in _react2.default?_react2.default.createElement(_react2.default.Fragment,null,r):_react2.default.createElement(\"span\",null,r))}Object.defineProperty(exports,\"__esModule\",{value:!0});var _extends=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,e){var r=e.distance,t=e.left,p=e.right,a=e.up,l=e.down,i=e.top,u=e.bottom,n=e.big,s=e.mirror,d=e.opposite,_=(r?r.toString():0)+((t?1:0)|(p?2:0)|(i||l?4:0)|(u||a?8:0)|(s?16:0)|(d?32:0)|(o?64:0)|(n?128:0));if(lookup.hasOwnProperty(_))return lookup[_];var f=t||p||a||l||i||u,y=void 0,b=void 0;if(f){if(!s!=!(o&&d)){var v=[p,t,u,i,l,a];t=v[0],p=v[1],i=v[2],u=v[3],a=v[4],l=v[5]}var c=r||(n?\"2000px\":\"100%\");y=t?\"-\"+c:p?c:\"0\",b=l||i?\"-\"+c:a||u?c:\"0\"}return lookup[_]=(0,_globals.animation)((o?\"to\":\"from\")+\" {opacity: 0;\"+(f?\" transform: translate3d(\"+y+\", \"+b+\", 0);\":\"\")+\"}\\n \"+(o?\"from\":\"to\")+\" {opacity: 1;transform: none;} \"),lookup[_]}function Fade(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=o.children,t=(o.out,o.forever),p=o.timeout,a=o.duration,l=void 0===a?_globals.defaults.duration:a,i=o.delay,u=void 0===i?_globals.defaults.delay:i,n=o.count,s=void 0===n?_globals.defaults.count:n,d=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),_={make:make,duration:void 0===p?l:p,delay:u,forever:t,count:s,style:{animationFillMode:\"both\"},reverse:d.left};return e?(0,_wrap2.default)(d,_,_,r):_}Object.defineProperty(exports,\"__esModule\",{value:!0});var _propTypes=require(\"prop-types\"),_globals=require(\"./globals\"),_wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,big:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,distance:_propTypes.string,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Fade.propTypes=propTypes,exports.default=Fade,module.exports=exports.default;","import React, { useState, useRef, ReactNode, useEffect } from \"react\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport { Swiper as SwiperType } from \"swiper\";\r\nimport classNames from \"classnames\";\r\n\r\ninterface ICarousel {\r\n displayData: { key: string; data: ReactNode }[];\r\n previousSlideAriaLabel: string;\r\n nextSlideAriaLabel: string;\r\n spaceBetweenSlides?: number;\r\n isOrangeButtons?: boolean\r\n isMemberTickets?: boolean\r\n}\r\n\r\nexport const Carousel = ({\r\n displayData,\r\n previousSlideAriaLabel,\r\n nextSlideAriaLabel,\r\n spaceBetweenSlides = 20,\r\n isOrangeButtons = false,\r\n isMemberTickets = false\r\n}: ICarousel) => {\r\n const swiperRef = useRef();\r\n const [hideLeftButton, setHideLeftButton] = useState(true);\r\n const [hideRightButton, setHideRightButton] = useState(false);\r\n const [centerSlides, setCenterSlides] = useState(false);\r\n\r\n const hideButtons = () => {\r\n if (swiperRef.current) {\r\n setHideLeftButton(swiperRef.current.isBeginning);\r\n setHideRightButton(swiperRef.current.isEnd);\r\n }\r\n };\r\n useEffect(() => {\r\n if (displayData.length < 4){\r\n setHideRightButton(true);\r\n setCenterSlides(true);\r\n }\r\n }, []);\r\n\r\n if (displayData.length === 0) return null;\r\n return (\r\n \r\n
\r\n );\r\n};\r\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"DayPicker\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"DayPicker\"] = factory(root[\"React\"]);\n})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_0__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 8);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap ad04ceedbfe1663a194a","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"DayPicker\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"DayPicker\"] = factory(root[\"React\"]);\n})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_0__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 8);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.clone = clone;\nexports.isDate = isDate;\nexports.addMonths = addMonths;\nexports.isSameDay = isSameDay;\nexports.isSameMonth = isSameMonth;\nexports.isDayBefore = isDayBefore;\nexports.isDayAfter = isDayAfter;\nexports.isPastDay = isPastDay;\nexports.isFutureDay = isFutureDay;\nexports.isDayBetween = isDayBetween;\nexports.addDayToRange = addDayToRange;\nexports.isDayInRange = isDayInRange;\nexports.getWeekNumber = getWeekNumber;\n/**\n * Clone a date object.\n *\n * @export\n * @param {Date} d The date to clone\n * @return {Date} The cloned date\n */\nfunction clone(d) {\n return new Date(d.getTime());\n}\n\n/**\n * Return `true` if the passed value is a valid JavaScript Date object.\n *\n * @export\n * @param {any} value\n * @returns {Boolean}\n */\nfunction isDate(value) {\n return value instanceof Date && !isNaN(value.valueOf());\n}\n\n/**\n * Return `d` as a new date with `n` months added.\n *\n * @export\n * @param {Date} d\n * @param {number} n\n */\nfunction addMonths(d, n) {\n var newDate = clone(d);\n newDate.setMonth(d.getMonth() + n);\n return newDate;\n}\n\n/**\n * Return `true` if two dates are the same day, ignoring the time.\n *\n * @export\n * @param {Date} d1\n * @param {Date} d2\n * @return {Boolean}\n */\nfunction isSameDay(d1, d2) {\n if (!d1 || !d2) {\n return false;\n }\n return d1.getDate() === d2.getDate() && d1.getMonth() === d2.getMonth() && d1.getFullYear() === d2.getFullYear();\n}\n\n/**\n * Return `true` if two dates fall in the same month.\n *\n * @export\n * @param {Date} d1\n * @param {Date} d2\n * @return {Boolean}\n */\nfunction isSameMonth(d1, d2) {\n if (!d1 || !d2) {\n return false;\n }\n return d1.getMonth() === d2.getMonth() && d1.getFullYear() === d2.getFullYear();\n}\n\n/**\n * Returns `true` if the first day is before the second day.\n *\n * @export\n * @param {Date} d1\n * @param {Date} d2\n * @returns {Boolean}\n */\nfunction isDayBefore(d1, d2) {\n var day1 = clone(d1).setHours(0, 0, 0, 0);\n var day2 = clone(d2).setHours(0, 0, 0, 0);\n return day1 < day2;\n}\n\n/**\n * Returns `true` if the first day is after the second day.\n *\n * @export\n * @param {Date} d1\n * @param {Date} d2\n * @returns {Boolean}\n */\nfunction isDayAfter(d1, d2) {\n var day1 = clone(d1).setHours(0, 0, 0, 0);\n var day2 = clone(d2).setHours(0, 0, 0, 0);\n return day1 > day2;\n}\n\n/**\n * Return `true` if a day is in the past, e.g. yesterday or any day\n * before yesterday.\n *\n * @export\n * @param {Date} d\n * @return {Boolean}\n */\nfunction isPastDay(d) {\n var today = new Date();\n today.setHours(0, 0, 0, 0);\n return isDayBefore(d, today);\n}\n\n/**\n * Return `true` if a day is in the future, e.g. tomorrow or any day\n * after tomorrow.\n *\n * @export\n * @param {Date} d\n * @return {Boolean}\n */\nfunction isFutureDay(d) {\n var tomorrow = new Date(new Date().getTime() + 24 * 60 * 60 * 1000);\n tomorrow.setHours(0, 0, 0, 0);\n return d >= tomorrow;\n}\n\n/**\n * Return `true` if day `d` is between days `d1` and `d2`,\n * without including them.\n *\n * @export\n * @param {Date} d\n * @param {Date} d1\n * @param {Date} d2\n * @return {Boolean}\n */\nfunction isDayBetween(d, d1, d2) {\n var date = clone(d);\n date.setHours(0, 0, 0, 0);\n return isDayAfter(date, d1) && isDayBefore(date, d2) || isDayAfter(date, d2) && isDayBefore(date, d1);\n}\n\n/**\n * Add a day to a range and return a new range. A range is an object with\n * `from` and `to` days.\n *\n * @export\n * @param {Date} day\n * @param {Object} range\n * @return {Object} Returns a new range object\n */\nfunction addDayToRange(day) {\n var range = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { from: null, to: null };\n var from = range.from,\n to = range.to;\n\n if (!from) {\n from = day;\n } else if (from && to && isSameDay(from, to) && isSameDay(day, from)) {\n from = null;\n to = null;\n } else if (to && isDayBefore(day, from)) {\n from = day;\n } else if (to && isSameDay(day, to)) {\n from = day;\n to = day;\n } else {\n to = day;\n if (isDayBefore(to, from)) {\n to = from;\n from = day;\n }\n }\n\n return { from: from, to: to };\n}\n\n/**\n * Return `true` if a day is included in a range of days.\n *\n * @export\n * @param {Date} day\n * @param {Object} range\n * @return {Boolean}\n */\nfunction isDayInRange(day, range) {\n var from = range.from,\n to = range.to;\n\n return from && isSameDay(day, from) || to && isSameDay(day, to) || from && to && isDayBetween(day, from, to);\n}\n\n/**\n * Return the year's week number (as per ISO, i.e. with the week starting from monday)\n * for the given day.\n *\n * @export\n * @param {Date} day\n * @returns {Number}\n */\nfunction getWeekNumber(day) {\n var date = clone(day);\n date.setHours(0, 0, 0);\n date.setDate(date.getDate() + 4 - (date.getDay() || 7));\n return Math.ceil(((date - new Date(date.getFullYear(), 0, 1)) / 8.64e7 + 1) / 7);\n}\n\nexports.default = {\n addDayToRange: addDayToRange,\n addMonths: addMonths,\n clone: clone,\n getWeekNumber: getWeekNumber,\n isDate: isDate,\n isDayAfter: isDayAfter,\n isDayBefore: isDayBefore,\n isDayBetween: isDayBetween,\n isDayInRange: isDayInRange,\n isFutureDay: isFutureDay,\n isPastDay: isPastDay,\n isSameDay: isSameDay,\n isSameMonth: isSameMonth\n};\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar LEFT = exports.LEFT = 37;\nvar UP = exports.UP = 38;\nvar RIGHT = exports.RIGHT = 39;\nvar DOWN = exports.DOWN = 40;\nvar ENTER = exports.ENTER = 13;\nvar SPACE = exports.SPACE = 32;\nvar ESC = exports.ESC = 27;\nvar TAB = exports.TAB = 9;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n// Proxy object to map classnames when css modules are not used\n\nexports.default = {\n container: 'DayPicker',\n wrapper: 'DayPicker-wrapper',\n interactionDisabled: 'DayPicker--interactionDisabled',\n months: 'DayPicker-Months',\n month: 'DayPicker-Month',\n\n navBar: 'DayPicker-NavBar',\n navButtonPrev: 'DayPicker-NavButton DayPicker-NavButton--prev',\n navButtonNext: 'DayPicker-NavButton DayPicker-NavButton--next',\n navButtonInteractionDisabled: 'DayPicker-NavButton--interactionDisabled',\n\n caption: 'DayPicker-Caption',\n weekdays: 'DayPicker-Weekdays',\n weekdaysRow: 'DayPicker-WeekdaysRow',\n weekday: 'DayPicker-Weekday',\n body: 'DayPicker-Body',\n week: 'DayPicker-Week',\n weekNumber: 'DayPicker-WeekNumber',\n day: 'DayPicker-Day',\n footer: 'DayPicker-Footer',\n todayButton: 'DayPicker-TodayButton',\n\n // default modifiers\n today: 'today',\n selected: 'selected',\n disabled: 'disabled',\n outside: 'outside'\n};\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _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; };\n\nexports.cancelEvent = cancelEvent;\nexports.getFirstDayOfMonth = getFirstDayOfMonth;\nexports.getDaysInMonth = getDaysInMonth;\nexports.getModifiersFromProps = getModifiersFromProps;\nexports.getFirstDayOfWeekFromProps = getFirstDayOfWeekFromProps;\nexports.isRangeOfDates = isRangeOfDates;\nexports.getMonthsDiff = getMonthsDiff;\nexports.getWeekArray = getWeekArray;\nexports.startOfMonth = startOfMonth;\nexports.getDayNodes = getDayNodes;\nexports.nodeListToArray = nodeListToArray;\nexports.hasOwnProp = hasOwnProp;\n\nvar _DateUtils = __webpack_require__(1);\n\nvar _LocaleUtils = __webpack_require__(5);\n\nvar _classNames = __webpack_require__(3);\n\nvar _classNames2 = _interopRequireDefault(_classNames);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction cancelEvent(e) {\n e.preventDefault();\n e.stopPropagation();\n}\n\nfunction getFirstDayOfMonth(d) {\n return new Date(d.getFullYear(), d.getMonth(), 1, 12);\n}\n\nfunction getDaysInMonth(d) {\n var resultDate = getFirstDayOfMonth(d);\n\n resultDate.setMonth(resultDate.getMonth() + 1);\n resultDate.setDate(resultDate.getDate() - 1);\n\n return resultDate.getDate();\n}\n\nfunction getModifiersFromProps(props) {\n var modifiers = _extends({}, props.modifiers);\n if (props.selectedDays) {\n modifiers[props.classNames.selected] = props.selectedDays;\n }\n if (props.disabledDays) {\n modifiers[props.classNames.disabled] = props.disabledDays;\n }\n return modifiers;\n}\n\nfunction getFirstDayOfWeekFromProps(props) {\n var firstDayOfWeek = props.firstDayOfWeek,\n _props$locale = props.locale,\n locale = _props$locale === undefined ? 'en' : _props$locale,\n _props$localeUtils = props.localeUtils,\n localeUtils = _props$localeUtils === undefined ? {} : _props$localeUtils;\n\n if (!isNaN(firstDayOfWeek)) {\n return firstDayOfWeek;\n }\n if (localeUtils.getFirstDayOfWeek) {\n return localeUtils.getFirstDayOfWeek(locale);\n }\n return 0;\n}\n\nfunction isRangeOfDates(value) {\n return !!(value && value.from && value.to);\n}\n\nfunction getMonthsDiff(d1, d2) {\n return d2.getMonth() - d1.getMonth() + 12 * (d2.getFullYear() - d1.getFullYear());\n}\n\nfunction getWeekArray(d) {\n var firstDayOfWeek = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (0, _LocaleUtils.getFirstDayOfWeek)();\n var fixedWeeks = arguments[2];\n\n var daysInMonth = getDaysInMonth(d);\n var dayArray = [];\n\n var week = [];\n var weekArray = [];\n\n for (var i = 1; i <= daysInMonth; i += 1) {\n dayArray.push(new Date(d.getFullYear(), d.getMonth(), i, 12));\n }\n\n dayArray.forEach(function (day) {\n if (week.length > 0 && day.getDay() === firstDayOfWeek) {\n weekArray.push(week);\n week = [];\n }\n week.push(day);\n if (dayArray.indexOf(day) === dayArray.length - 1) {\n weekArray.push(week);\n }\n });\n\n // unshift days to start the first week\n var firstWeek = weekArray[0];\n for (var _i = 7 - firstWeek.length; _i > 0; _i -= 1) {\n var outsideDate = (0, _DateUtils.clone)(firstWeek[0]);\n outsideDate.setDate(firstWeek[0].getDate() - 1);\n firstWeek.unshift(outsideDate);\n }\n\n // push days until the end of the last week\n var lastWeek = weekArray[weekArray.length - 1];\n for (var _i2 = lastWeek.length; _i2 < 7; _i2 += 1) {\n var _outsideDate = (0, _DateUtils.clone)(lastWeek[lastWeek.length - 1]);\n _outsideDate.setDate(lastWeek[lastWeek.length - 1].getDate() + 1);\n lastWeek.push(_outsideDate);\n }\n\n // add extra weeks to reach 6 weeks\n if (fixedWeeks && weekArray.length < 6) {\n var lastExtraWeek = void 0;\n\n for (var _i3 = weekArray.length; _i3 < 6; _i3 += 1) {\n lastExtraWeek = weekArray[weekArray.length - 1];\n var lastDay = lastExtraWeek[lastExtraWeek.length - 1];\n var extraWeek = [];\n\n for (var j = 0; j < 7; j += 1) {\n var _outsideDate2 = (0, _DateUtils.clone)(lastDay);\n _outsideDate2.setDate(lastDay.getDate() + j + 1);\n extraWeek.push(_outsideDate2);\n }\n\n weekArray.push(extraWeek);\n }\n }\n\n return weekArray;\n}\n\nfunction startOfMonth(d) {\n var newDate = (0, _DateUtils.clone)(d);\n newDate.setDate(1);\n newDate.setHours(12, 0, 0, 0); // always set noon to avoid time zone issues\n return newDate;\n}\n\nfunction getDayNodes(node, classNames) {\n var outsideClassName = void 0;\n if (classNames === _classNames2.default) {\n // When using CSS modules prefix the modifier as required by the BEM syntax\n outsideClassName = classNames.day + '--' + classNames.outside;\n } else {\n outsideClassName = '' + classNames.outside;\n }\n var dayQuery = classNames.day.replace(/ /g, '.');\n var outsideDayQuery = outsideClassName.replace(/ /g, '.');\n var selector = '.' + dayQuery + ':not(.' + outsideDayQuery + ')';\n return node.querySelectorAll(selector);\n}\n\nfunction nodeListToArray(nodeList) {\n return Array.prototype.slice.call(nodeList, 0);\n}\n\nfunction hasOwnProp(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.formatDay = formatDay;\nexports.formatMonthTitle = formatMonthTitle;\nexports.formatWeekdayShort = formatWeekdayShort;\nexports.formatWeekdayLong = formatWeekdayLong;\nexports.getFirstDayOfWeek = getFirstDayOfWeek;\nexports.getMonths = getMonths;\nvar WEEKDAYS_LONG = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n\nvar WEEKDAYS_SHORT = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n\nvar MONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n\nfunction formatDay(day) {\n return day.toDateString();\n}\n\nfunction formatMonthTitle(d) {\n return MONTHS[d.getMonth()] + ' ' + d.getFullYear();\n}\n\nfunction formatWeekdayShort(i) {\n return WEEKDAYS_SHORT[i];\n}\n\nfunction formatWeekdayLong(i) {\n return WEEKDAYS_LONG[i];\n}\n\nfunction getFirstDayOfWeek() {\n return 0;\n}\n\nfunction getMonths() {\n return MONTHS;\n}\n\nexports.default = {\n formatDay: formatDay,\n formatMonthTitle: formatMonthTitle,\n formatWeekdayShort: formatWeekdayShort,\n formatWeekdayLong: formatWeekdayLong,\n getFirstDayOfWeek: getFirstDayOfWeek,\n getMonths: getMonths\n};\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.dayMatchesModifier = dayMatchesModifier;\nexports.getModifiersForDay = getModifiersForDay;\n\nvar _DateUtils = __webpack_require__(1);\n\nvar _Helpers = __webpack_require__(4);\n\n/**\n * Return `true` if a date matches the specified modifier.\n *\n * @export\n * @param {Date} day\n * @param {Any} modifier\n * @return {Boolean}\n */\nfunction dayMatchesModifier(day, modifier) {\n if (!modifier) {\n return false;\n }\n var arr = Array.isArray(modifier) ? modifier : [modifier];\n return arr.some(function (mod) {\n if (!mod) {\n return false;\n }\n if (mod instanceof Date) {\n return (0, _DateUtils.isSameDay)(day, mod);\n }\n if ((0, _Helpers.isRangeOfDates)(mod)) {\n return (0, _DateUtils.isDayInRange)(day, mod);\n }\n if (mod.after && mod.before && (0, _DateUtils.isDayAfter)(mod.before, mod.after)) {\n return (0, _DateUtils.isDayAfter)(day, mod.after) && (0, _DateUtils.isDayBefore)(day, mod.before);\n }\n if (mod.after && mod.before && ((0, _DateUtils.isDayAfter)(mod.after, mod.before) || (0, _DateUtils.isSameDay)(mod.after, mod.before))) {\n return (0, _DateUtils.isDayAfter)(day, mod.after) || (0, _DateUtils.isDayBefore)(day, mod.before);\n }\n if (mod.after) {\n return (0, _DateUtils.isDayAfter)(day, mod.after);\n }\n if (mod.before) {\n return (0, _DateUtils.isDayBefore)(day, mod.before);\n }\n if (mod.daysOfWeek) {\n return mod.daysOfWeek.some(function (dayOfWeek) {\n return day.getDay() === dayOfWeek;\n });\n }\n if (typeof mod === 'function') {\n return mod(day);\n }\n return false;\n });\n}\n\n/**\n * Return the modifiers matching the given day for the given\n * object of modifiers.\n *\n * @export\n * @param {Date} day\n * @param {Object} [modifiersObj={}]\n * @return {Array}\n */\nfunction getModifiersForDay(day) {\n var modifiersObj = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.keys(modifiersObj).reduce(function (modifiers, modifierName) {\n var value = modifiersObj[modifierName];\n if (dayMatchesModifier(day, value)) {\n modifiers.push(modifierName);\n }\n return modifiers;\n }, []);\n}\n\nexports.default = { dayMatchesModifier: dayMatchesModifier, getModifiersForDay: getModifiersForDay };\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ModifiersUtils = exports.LocaleUtils = exports.DateUtils = exports.DayPicker = undefined;\n\nvar _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; };\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _Caption = __webpack_require__(9);\n\nvar _Caption2 = _interopRequireDefault(_Caption);\n\nvar _Navbar = __webpack_require__(10);\n\nvar _Navbar2 = _interopRequireDefault(_Navbar);\n\nvar _Month = __webpack_require__(11);\n\nvar _Month2 = _interopRequireDefault(_Month);\n\nvar _Weekday = __webpack_require__(14);\n\nvar _Weekday2 = _interopRequireDefault(_Weekday);\n\nvar _Helpers = __webpack_require__(4);\n\nvar Helpers = _interopRequireWildcard(_Helpers);\n\nvar _DateUtils = __webpack_require__(1);\n\nvar DateUtils = _interopRequireWildcard(_DateUtils);\n\nvar _LocaleUtils = __webpack_require__(5);\n\nvar LocaleUtils = _interopRequireWildcard(_LocaleUtils);\n\nvar _ModifiersUtils = __webpack_require__(6);\n\nvar ModifiersUtils = _interopRequireWildcard(_ModifiersUtils);\n\nvar _classNames = __webpack_require__(3);\n\nvar _classNames2 = _interopRequireDefault(_classNames);\n\nvar _keys = __webpack_require__(2);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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 DayPicker = exports.DayPicker = function (_Component) {\n _inherits(DayPicker, _Component);\n\n function DayPicker(props) {\n _classCallCheck(this, DayPicker);\n\n var _this = _possibleConstructorReturn(this, (DayPicker.__proto__ || Object.getPrototypeOf(DayPicker)).call(this, props));\n\n _this.dayPicker = null;\n\n _this.showNextMonth = function (callback) {\n if (!_this.allowNextMonth()) {\n return;\n }\n var deltaMonths = _this.props.pagedNavigation ? _this.props.numberOfMonths : 1;\n var nextMonth = DateUtils.addMonths(_this.state.currentMonth, deltaMonths);\n _this.showMonth(nextMonth, callback);\n };\n\n _this.showPreviousMonth = function (callback) {\n if (!_this.allowPreviousMonth()) {\n return;\n }\n var deltaMonths = _this.props.pagedNavigation ? _this.props.numberOfMonths : 1;\n var previousMonth = DateUtils.addMonths(_this.state.currentMonth, -deltaMonths);\n _this.showMonth(previousMonth, callback);\n };\n\n _this.handleKeyDown = function (e) {\n e.persist();\n\n switch (e.keyCode) {\n case _keys.LEFT:\n if (_this.props.dir === 'rtl') {\n _this.showNextMonth();\n } else {\n _this.showPreviousMonth();\n }\n Helpers.cancelEvent(e);\n break;\n case _keys.RIGHT:\n if (_this.props.dir === 'rtl') {\n _this.showPreviousMonth();\n } else {\n _this.showNextMonth();\n }\n Helpers.cancelEvent(e);\n break;\n case _keys.UP:\n _this.showPreviousYear();\n Helpers.cancelEvent(e);\n break;\n case _keys.DOWN:\n _this.showNextYear();\n Helpers.cancelEvent(e);\n break;\n default:\n break;\n }\n\n if (_this.props.onKeyDown) {\n _this.props.onKeyDown(e);\n }\n };\n\n _this.handleDayKeyDown = function (day, modifiers, e) {\n e.persist();\n\n switch (e.keyCode) {\n case _keys.LEFT:\n Helpers.cancelEvent(e);\n if (_this.props.dir === 'rtl') {\n _this.focusNextDay(e.target);\n } else {\n _this.focusPreviousDay(e.target);\n }\n break;\n case _keys.RIGHT:\n Helpers.cancelEvent(e);\n if (_this.props.dir === 'rtl') {\n _this.focusPreviousDay(e.target);\n } else {\n _this.focusNextDay(e.target);\n }\n break;\n case _keys.UP:\n Helpers.cancelEvent(e);\n _this.focusPreviousWeek(e.target);\n break;\n case _keys.DOWN:\n Helpers.cancelEvent(e);\n _this.focusNextWeek(e.target);\n break;\n case _keys.ENTER:\n case _keys.SPACE:\n Helpers.cancelEvent(e);\n if (_this.props.onDayClick) {\n _this.handleDayClick(day, modifiers, e);\n }\n break;\n default:\n break;\n }\n if (_this.props.onDayKeyDown) {\n _this.props.onDayKeyDown(day, modifiers, e);\n }\n };\n\n _this.handleDayClick = function (day, modifiers, e) {\n e.persist();\n\n if (modifiers[_this.props.classNames.outside] && _this.props.enableOutsideDaysClick) {\n _this.handleOutsideDayClick(day);\n }\n if (_this.props.onDayClick) {\n _this.props.onDayClick(day, modifiers, e);\n }\n };\n\n _this.handleTodayButtonClick = function (e) {\n var today = new Date();\n var month = new Date(today.getFullYear(), today.getMonth());\n _this.showMonth(month);\n e.target.blur();\n if (_this.props.onTodayButtonClick) {\n e.persist();\n _this.props.onTodayButtonClick(new Date(today.getFullYear(), today.getMonth(), today.getDate()), ModifiersUtils.getModifiersForDay(today, _this.props.modifiers), e);\n }\n };\n\n var currentMonth = _this.getCurrentMonthFromProps(props);\n _this.state = { currentMonth: currentMonth };\n return _this;\n }\n\n _createClass(DayPicker, [{\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n // Changing the `month` props means changing the current displayed month\n if (prevProps.month !== this.props.month && !DateUtils.isSameMonth(prevProps.month, this.props.month)) {\n var currentMonth = this.getCurrentMonthFromProps(this.props);\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ currentMonth: currentMonth });\n }\n }\n }, {\n key: 'getCurrentMonthFromProps',\n\n\n /**\n * Return the month to be shown in the calendar based on the component props.\n *\n * @param {Object} props\n * @returns Date\n * @memberof DayPicker\n * @private\n */\n value: function getCurrentMonthFromProps(props) {\n var initialMonth = Helpers.startOfMonth(props.month || props.initialMonth || new Date());\n var currentMonth = initialMonth;\n\n if (props.pagedNavigation && props.numberOfMonths > 1 && props.fromMonth) {\n var fromMonth = Helpers.startOfMonth(props.fromMonth);\n var diffInMonths = Helpers.getMonthsDiff(fromMonth, currentMonth);\n currentMonth = DateUtils.addMonths(fromMonth, Math.floor(diffInMonths / props.numberOfMonths) * props.numberOfMonths);\n } else if (props.toMonth && props.numberOfMonths > 1 && Helpers.getMonthsDiff(currentMonth, props.toMonth) <= 0) {\n currentMonth = DateUtils.addMonths(Helpers.startOfMonth(props.toMonth), 1 - this.props.numberOfMonths);\n }\n return currentMonth;\n }\n }, {\n key: 'getNextNavigableMonth',\n value: function getNextNavigableMonth() {\n return DateUtils.addMonths(this.state.currentMonth, this.props.numberOfMonths);\n }\n }, {\n key: 'getPreviousNavigableMonth',\n value: function getPreviousNavigableMonth() {\n return DateUtils.addMonths(this.state.currentMonth, -1);\n }\n }, {\n key: 'allowPreviousMonth',\n value: function allowPreviousMonth() {\n var previousMonth = DateUtils.addMonths(this.state.currentMonth, -1);\n return this.allowMonth(previousMonth);\n }\n }, {\n key: 'allowNextMonth',\n value: function allowNextMonth() {\n var nextMonth = DateUtils.addMonths(this.state.currentMonth, this.props.numberOfMonths);\n return this.allowMonth(nextMonth);\n }\n }, {\n key: 'allowMonth',\n value: function allowMonth(d) {\n var _props = this.props,\n fromMonth = _props.fromMonth,\n toMonth = _props.toMonth,\n canChangeMonth = _props.canChangeMonth;\n\n if (!canChangeMonth || fromMonth && Helpers.getMonthsDiff(fromMonth, d) < 0 || toMonth && Helpers.getMonthsDiff(toMonth, d) > 0) {\n return false;\n }\n return true;\n }\n }, {\n key: 'allowYearChange',\n value: function allowYearChange() {\n return this.props.canChangeMonth;\n }\n }, {\n key: 'showMonth',\n value: function showMonth(d, callback) {\n var _this2 = this;\n\n if (!this.allowMonth(d)) {\n return;\n }\n this.setState({ currentMonth: Helpers.startOfMonth(d) }, function () {\n if (callback) {\n callback();\n }\n if (_this2.props.onMonthChange) {\n _this2.props.onMonthChange(_this2.state.currentMonth);\n }\n });\n }\n }, {\n key: 'showNextYear',\n value: function showNextYear() {\n if (!this.allowYearChange()) {\n return;\n }\n var nextMonth = DateUtils.addMonths(this.state.currentMonth, 12);\n this.showMonth(nextMonth);\n }\n }, {\n key: 'showPreviousYear',\n value: function showPreviousYear() {\n if (!this.allowYearChange()) {\n return;\n }\n var nextMonth = DateUtils.addMonths(this.state.currentMonth, -12);\n this.showMonth(nextMonth);\n }\n }, {\n key: 'focus',\n value: function focus() {\n this.wrapper.focus();\n }\n }, {\n key: 'focusFirstDayOfMonth',\n value: function focusFirstDayOfMonth() {\n Helpers.getDayNodes(this.dayPicker, this.props.classNames)[0].focus();\n }\n }, {\n key: 'focusLastDayOfMonth',\n value: function focusLastDayOfMonth() {\n var dayNodes = Helpers.getDayNodes(this.dayPicker, this.props.classNames);\n dayNodes[dayNodes.length - 1].focus();\n }\n }, {\n key: 'focusPreviousDay',\n value: function focusPreviousDay(dayNode) {\n var _this3 = this;\n\n var dayNodes = Helpers.getDayNodes(this.dayPicker, this.props.classNames);\n var dayNodeIndex = Helpers.nodeListToArray(dayNodes).indexOf(dayNode);\n if (dayNodeIndex === -1) return;\n if (dayNodeIndex === 0) {\n this.showPreviousMonth(function () {\n return _this3.focusLastDayOfMonth();\n });\n } else {\n dayNodes[dayNodeIndex - 1].focus();\n }\n }\n }, {\n key: 'focusNextDay',\n value: function focusNextDay(dayNode) {\n var _this4 = this;\n\n var dayNodes = Helpers.getDayNodes(this.dayPicker, this.props.classNames);\n var dayNodeIndex = Helpers.nodeListToArray(dayNodes).indexOf(dayNode);\n if (dayNodeIndex === -1) return;\n if (dayNodeIndex === dayNodes.length - 1) {\n this.showNextMonth(function () {\n return _this4.focusFirstDayOfMonth();\n });\n } else {\n dayNodes[dayNodeIndex + 1].focus();\n }\n }\n }, {\n key: 'focusNextWeek',\n value: function focusNextWeek(dayNode) {\n var _this5 = this;\n\n var dayNodes = Helpers.getDayNodes(this.dayPicker, this.props.classNames);\n var dayNodeIndex = Helpers.nodeListToArray(dayNodes).indexOf(dayNode);\n var isInLastWeekOfMonth = dayNodeIndex > dayNodes.length - 8;\n\n if (isInLastWeekOfMonth) {\n this.showNextMonth(function () {\n var daysAfterIndex = dayNodes.length - dayNodeIndex;\n var nextMonthDayNodeIndex = 7 - daysAfterIndex;\n Helpers.getDayNodes(_this5.dayPicker, _this5.props.classNames)[nextMonthDayNodeIndex].focus();\n });\n } else {\n dayNodes[dayNodeIndex + 7].focus();\n }\n }\n }, {\n key: 'focusPreviousWeek',\n value: function focusPreviousWeek(dayNode) {\n var _this6 = this;\n\n var dayNodes = Helpers.getDayNodes(this.dayPicker, this.props.classNames);\n var dayNodeIndex = Helpers.nodeListToArray(dayNodes).indexOf(dayNode);\n var isInFirstWeekOfMonth = dayNodeIndex <= 6;\n\n if (isInFirstWeekOfMonth) {\n this.showPreviousMonth(function () {\n var previousMonthDayNodes = Helpers.getDayNodes(_this6.dayPicker, _this6.props.classNames);\n var startOfLastWeekOfMonth = previousMonthDayNodes.length - 7;\n var previousMonthDayNodeIndex = startOfLastWeekOfMonth + dayNodeIndex;\n previousMonthDayNodes[previousMonthDayNodeIndex].focus();\n });\n } else {\n dayNodes[dayNodeIndex - 7].focus();\n }\n }\n\n // Event handlers\n\n }, {\n key: 'handleOutsideDayClick',\n value: function handleOutsideDayClick(day) {\n var currentMonth = this.state.currentMonth;\n var numberOfMonths = this.props.numberOfMonths;\n\n var diffInMonths = Helpers.getMonthsDiff(currentMonth, day);\n if (diffInMonths > 0 && diffInMonths >= numberOfMonths) {\n this.showNextMonth();\n } else if (diffInMonths < 0) {\n this.showPreviousMonth();\n }\n }\n }, {\n key: 'renderNavbar',\n value: function renderNavbar() {\n var _props2 = this.props,\n labels = _props2.labels,\n locale = _props2.locale,\n localeUtils = _props2.localeUtils,\n canChangeMonth = _props2.canChangeMonth,\n navbarElement = _props2.navbarElement,\n attributes = _objectWithoutProperties(_props2, ['labels', 'locale', 'localeUtils', 'canChangeMonth', 'navbarElement']);\n\n if (!canChangeMonth) return null;\n\n var props = {\n month: this.state.currentMonth,\n classNames: this.props.classNames,\n className: this.props.classNames.navBar,\n nextMonth: this.getNextNavigableMonth(),\n previousMonth: this.getPreviousNavigableMonth(),\n showPreviousButton: this.allowPreviousMonth(),\n showNextButton: this.allowNextMonth(),\n onNextClick: this.showNextMonth,\n onPreviousClick: this.showPreviousMonth,\n dir: attributes.dir,\n labels: labels,\n locale: locale,\n localeUtils: localeUtils\n };\n return _react2.default.isValidElement(navbarElement) ? _react2.default.cloneElement(navbarElement, props) : _react2.default.createElement(navbarElement, props);\n }\n }, {\n key: 'renderMonths',\n value: function renderMonths() {\n var months = [];\n var firstDayOfWeek = Helpers.getFirstDayOfWeekFromProps(this.props);\n for (var i = 0; i < this.props.numberOfMonths; i += 1) {\n var month = DateUtils.addMonths(this.state.currentMonth, i);\n months.push(_react2.default.createElement(_Month2.default, _extends({\n key: i\n }, this.props, {\n month: month,\n firstDayOfWeek: firstDayOfWeek,\n onDayKeyDown: this.handleDayKeyDown,\n onDayClick: this.handleDayClick\n })));\n }\n\n if (this.props.reverseMonths) {\n months.reverse();\n }\n return months;\n }\n }, {\n key: 'renderFooter',\n value: function renderFooter() {\n if (this.props.todayButton) {\n return _react2.default.createElement(\n 'div',\n { className: this.props.classNames.footer },\n this.renderTodayButton()\n );\n }\n return null;\n }\n }, {\n key: 'renderTodayButton',\n value: function renderTodayButton() {\n return _react2.default.createElement(\n 'button',\n {\n type: 'button',\n tabIndex: 0,\n className: this.props.classNames.todayButton,\n 'aria-label': this.props.todayButton,\n onClick: this.handleTodayButtonClick\n },\n this.props.todayButton\n );\n }\n }, {\n key: 'render',\n value: function render() {\n var _this7 = this;\n\n var className = this.props.classNames.container;\n\n if (!this.props.onDayClick) {\n className = className + ' ' + this.props.classNames.interactionDisabled;\n }\n if (this.props.className) {\n className = className + ' ' + this.props.className;\n }\n return _react2.default.createElement(\n 'div',\n _extends({}, this.props.containerProps, {\n className: className,\n ref: function ref(el) {\n return _this7.dayPicker = el;\n },\n lang: this.props.locale\n }),\n _react2.default.createElement(\n 'div',\n {\n className: this.props.classNames.wrapper,\n ref: function ref(el) {\n return _this7.wrapper = el;\n },\n tabIndex: this.props.canChangeMonth && typeof this.props.tabIndex !== 'undefined' ? this.props.tabIndex : -1,\n onKeyDown: this.handleKeyDown,\n onFocus: this.props.onFocus,\n onBlur: this.props.onBlur\n },\n this.renderNavbar(),\n _react2.default.createElement(\n 'div',\n { className: this.props.classNames.months },\n this.renderMonths()\n ),\n this.renderFooter()\n )\n );\n }\n }]);\n\n return DayPicker;\n}(_react.Component);\n\nDayPicker.defaultProps = {\n classNames: _classNames2.default,\n tabIndex: 0,\n numberOfMonths: 1,\n labels: {\n previousMonth: 'Previous Month',\n nextMonth: 'Next Month'\n },\n locale: 'en',\n localeUtils: LocaleUtils,\n showOutsideDays: false,\n enableOutsideDaysClick: true,\n fixedWeeks: false,\n canChangeMonth: true,\n reverseMonths: false,\n pagedNavigation: false,\n showWeekNumbers: false,\n showWeekDays: true,\n renderDay: function renderDay(day) {\n return day.getDate();\n },\n renderWeek: function renderWeek(weekNumber) {\n return weekNumber;\n },\n weekdayElement: _react2.default.createElement(_Weekday2.default, null),\n navbarElement: _react2.default.createElement(_Navbar2.default, { classNames: _classNames2.default }),\n captionElement: _react2.default.createElement(_Caption2.default, { classNames: _classNames2.default })\n};\nDayPicker.VERSION = '7.4.10';\n\n\nDayPicker.DateUtils = DateUtils;\nDayPicker.LocaleUtils = LocaleUtils;\nDayPicker.ModifiersUtils = ModifiersUtils;\n\nexports.DateUtils = DateUtils;\nexports.LocaleUtils = LocaleUtils;\nexports.ModifiersUtils = ModifiersUtils;\nexports.default = DayPicker;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n// Entry point for the umd package\nvar DayPicker = __webpack_require__(7).default;\nDayPicker.Input = __webpack_require__(15).default;\n\nexports.default = DayPicker;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _LocaleUtils = __webpack_require__(5);\n\nvar _LocaleUtils2 = _interopRequireDefault(_LocaleUtils);\n\nvar _keys = __webpack_require__(2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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 Caption = function (_Component) {\n _inherits(Caption, _Component);\n\n function Caption(props) {\n _classCallCheck(this, Caption);\n\n var _this = _possibleConstructorReturn(this, (Caption.__proto__ || Object.getPrototypeOf(Caption)).call(this, props));\n\n _this.handleKeyUp = _this.handleKeyUp.bind(_this);\n return _this;\n }\n\n _createClass(Caption, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n return nextProps.locale !== this.props.locale || nextProps.classNames !== this.props.classNames || nextProps.date.getMonth() !== this.props.date.getMonth() || nextProps.date.getFullYear() !== this.props.date.getFullYear();\n }\n }, {\n key: 'handleKeyUp',\n value: function handleKeyUp(e) {\n if (e.keyCode === _keys.ENTER) {\n this.props.onClick(e);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n classNames = _props.classNames,\n date = _props.date,\n months = _props.months,\n locale = _props.locale,\n localeUtils = _props.localeUtils,\n onClick = _props.onClick;\n\n return _react2.default.createElement(\n 'div',\n { className: classNames.caption, role: 'heading', 'aria-live': 'polite' },\n _react2.default.createElement(\n 'div',\n { onClick: onClick, onKeyUp: this.handleKeyUp },\n months ? months[date.getMonth()] + ' ' + date.getFullYear() : localeUtils.formatMonthTitle(date, locale)\n )\n );\n }\n }]);\n\n return Caption;\n}(_react.Component);\n\nCaption.defaultProps = {\n localeUtils: _LocaleUtils2.default\n};\nexports.default = Caption;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classNames = __webpack_require__(3);\n\nvar _classNames2 = _interopRequireDefault(_classNames);\n\nvar _keys = __webpack_require__(2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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 Navbar = function (_Component) {\n _inherits(Navbar, _Component);\n\n function Navbar() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Navbar);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Navbar.__proto__ || Object.getPrototypeOf(Navbar)).call.apply(_ref, [this].concat(args))), _this), _this.handleNextClick = function () {\n if (_this.props.onNextClick) {\n _this.props.onNextClick();\n }\n }, _this.handlePreviousClick = function () {\n if (_this.props.onPreviousClick) {\n _this.props.onPreviousClick();\n }\n }, _this.handleNextKeyDown = function (e) {\n if (e.keyCode !== _keys.ENTER && e.keyCode !== _keys.SPACE) {\n return;\n }\n e.preventDefault();\n _this.handleNextClick();\n }, _this.handlePreviousKeyDown = function (e) {\n if (e.keyCode !== _keys.ENTER && e.keyCode !== _keys.SPACE) {\n return;\n }\n e.preventDefault();\n _this.handlePreviousClick();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Navbar, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n return nextProps.labels !== this.props.labels || nextProps.dir !== this.props.dir || this.props.showPreviousButton !== nextProps.showPreviousButton || this.props.showNextButton !== nextProps.showNextButton;\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n classNames = _props.classNames,\n className = _props.className,\n showPreviousButton = _props.showPreviousButton,\n showNextButton = _props.showNextButton,\n labels = _props.labels,\n dir = _props.dir;\n\n\n var previousClickHandler = void 0;\n var nextClickHandler = void 0;\n var previousKeyDownHandler = void 0;\n var nextKeyDownHandler = void 0;\n var shouldShowPrevious = void 0;\n var shouldShowNext = void 0;\n\n if (dir === 'rtl') {\n previousClickHandler = this.handleNextClick;\n nextClickHandler = this.handlePreviousClick;\n previousKeyDownHandler = this.handleNextKeyDown;\n nextKeyDownHandler = this.handlePreviousKeyDown;\n shouldShowNext = showPreviousButton;\n shouldShowPrevious = showNextButton;\n } else {\n previousClickHandler = this.handlePreviousClick;\n nextClickHandler = this.handleNextClick;\n previousKeyDownHandler = this.handlePreviousKeyDown;\n nextKeyDownHandler = this.handleNextKeyDown;\n shouldShowNext = showNextButton;\n shouldShowPrevious = showPreviousButton;\n }\n\n var previousClassName = shouldShowPrevious ? classNames.navButtonPrev : classNames.navButtonPrev + ' ' + classNames.navButtonInteractionDisabled;\n\n var nextClassName = shouldShowNext ? classNames.navButtonNext : classNames.navButtonNext + ' ' + classNames.navButtonInteractionDisabled;\n\n var previousButton = _react2.default.createElement('span', {\n tabIndex: '0',\n role: 'button',\n 'aria-label': labels.previousMonth,\n key: 'previous',\n className: previousClassName,\n onKeyDown: shouldShowPrevious ? previousKeyDownHandler : undefined,\n onClick: shouldShowPrevious ? previousClickHandler : undefined\n });\n\n var nextButton = _react2.default.createElement('span', {\n tabIndex: '0',\n role: 'button',\n 'aria-label': labels.nextMonth,\n key: 'right',\n className: nextClassName,\n onKeyDown: shouldShowNext ? nextKeyDownHandler : undefined,\n onClick: shouldShowNext ? nextClickHandler : undefined\n });\n\n return _react2.default.createElement(\n 'div',\n { className: className || classNames.navBar },\n dir === 'rtl' ? [nextButton, previousButton] : [previousButton, nextButton]\n );\n }\n }]);\n\n return Navbar;\n}(_react.Component);\n\nNavbar.defaultProps = {\n classNames: _classNames2.default,\n dir: 'ltr',\n labels: {\n previousMonth: 'Previous Month',\n nextMonth: 'Next Month'\n },\n showPreviousButton: true,\n showNextButton: true\n};\nexports.default = Navbar;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _Weekdays = __webpack_require__(12);\n\nvar _Weekdays2 = _interopRequireDefault(_Weekdays);\n\nvar _Day = __webpack_require__(13);\n\nvar _Day2 = _interopRequireDefault(_Day);\n\nvar _keys = __webpack_require__(2);\n\nvar _ModifiersUtils = __webpack_require__(6);\n\nvar ModifiersUtils = _interopRequireWildcard(_ModifiersUtils);\n\nvar _Helpers = __webpack_require__(4);\n\nvar Helpers = _interopRequireWildcard(_Helpers);\n\nvar _DateUtils = __webpack_require__(1);\n\nvar DateUtils = _interopRequireWildcard(_DateUtils);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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 Month = function (_Component) {\n _inherits(Month, _Component);\n\n function Month() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Month);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Month.__proto__ || Object.getPrototypeOf(Month)).call.apply(_ref, [this].concat(args))), _this), _this.renderDay = function (day) {\n var monthNumber = _this.props.month.getMonth();\n var propModifiers = Helpers.getModifiersFromProps(_this.props);\n var dayModifiers = ModifiersUtils.getModifiersForDay(day, propModifiers);\n if (DateUtils.isSameDay(day, new Date()) && !Object.prototype.hasOwnProperty.call(propModifiers, _this.props.classNames.today)) {\n dayModifiers.push(_this.props.classNames.today);\n }\n if (day.getMonth() !== monthNumber) {\n dayModifiers.push(_this.props.classNames.outside);\n }\n\n var isOutside = day.getMonth() !== monthNumber;\n var tabIndex = -1;\n // Focus on the first day of the month\n if (_this.props.onDayClick && !isOutside && day.getDate() === 1) {\n tabIndex = _this.props.tabIndex; // eslint-disable-line prefer-destructuring\n }\n var key = '' + day.getFullYear() + day.getMonth() + day.getDate();\n var modifiers = {};\n dayModifiers.forEach(function (modifier) {\n modifiers[modifier] = true;\n });\n\n return _react2.default.createElement(\n _Day2.default,\n {\n key: '' + (isOutside ? 'outside-' : '') + key,\n classNames: _this.props.classNames,\n day: day,\n modifiers: modifiers,\n modifiersStyles: _this.props.modifiersStyles,\n empty: isOutside && !_this.props.showOutsideDays && !_this.props.fixedWeeks,\n tabIndex: tabIndex,\n ariaLabel: _this.props.localeUtils.formatDay(day, _this.props.locale),\n ariaDisabled: isOutside || dayModifiers.indexOf(_this.props.classNames.disabled) > -1,\n ariaSelected: dayModifiers.indexOf(_this.props.classNames.selected) > -1,\n onClick: _this.props.onDayClick,\n onFocus: _this.props.onDayFocus,\n onKeyDown: _this.props.onDayKeyDown,\n onMouseEnter: _this.props.onDayMouseEnter,\n onMouseLeave: _this.props.onDayMouseLeave,\n onMouseDown: _this.props.onDayMouseDown,\n onMouseUp: _this.props.onDayMouseUp,\n onTouchEnd: _this.props.onDayTouchEnd,\n onTouchStart: _this.props.onDayTouchStart\n },\n _this.props.renderDay(day, modifiers)\n );\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Month, [{\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n classNames = _props.classNames,\n month = _props.month,\n months = _props.months,\n fixedWeeks = _props.fixedWeeks,\n captionElement = _props.captionElement,\n weekdayElement = _props.weekdayElement,\n locale = _props.locale,\n localeUtils = _props.localeUtils,\n weekdaysLong = _props.weekdaysLong,\n weekdaysShort = _props.weekdaysShort,\n firstDayOfWeek = _props.firstDayOfWeek,\n onCaptionClick = _props.onCaptionClick,\n showWeekNumbers = _props.showWeekNumbers,\n showWeekDays = _props.showWeekDays,\n onWeekClick = _props.onWeekClick;\n\n\n var captionProps = {\n date: month,\n classNames: classNames,\n months: months,\n localeUtils: localeUtils,\n locale: locale,\n onClick: onCaptionClick ? function (e) {\n return onCaptionClick(month, e);\n } : undefined\n };\n var caption = _react2.default.isValidElement(captionElement) ? _react2.default.cloneElement(captionElement, captionProps) : _react2.default.createElement(captionElement, captionProps);\n\n var weeks = Helpers.getWeekArray(month, firstDayOfWeek, fixedWeeks);\n return _react2.default.createElement(\n 'div',\n { className: classNames.month, role: 'grid' },\n caption,\n showWeekDays && _react2.default.createElement(_Weekdays2.default, {\n classNames: classNames,\n weekdaysShort: weekdaysShort,\n weekdaysLong: weekdaysLong,\n firstDayOfWeek: firstDayOfWeek,\n showWeekNumbers: showWeekNumbers,\n locale: locale,\n localeUtils: localeUtils,\n weekdayElement: weekdayElement\n }),\n _react2.default.createElement(\n 'div',\n { className: classNames.body, role: 'rowgroup' },\n weeks.map(function (week) {\n var weekNumber = void 0;\n if (showWeekNumbers) {\n weekNumber = DateUtils.getWeekNumber(week[6]);\n }\n return _react2.default.createElement(\n 'div',\n {\n key: week[0].getTime(),\n className: classNames.week,\n role: 'row'\n },\n showWeekNumbers && _react2.default.createElement(\n 'div',\n {\n className: classNames.weekNumber,\n tabIndex: onWeekClick ? 0 : -1,\n role: 'gridcell',\n onClick: onWeekClick ? function (e) {\n return onWeekClick(weekNumber, week, e);\n } : undefined,\n onKeyUp: onWeekClick ? function (e) {\n return e.keyCode === _keys.ENTER && onWeekClick(weekNumber, week, e);\n } : undefined\n },\n _this2.props.renderWeek(weekNumber, week, month)\n ),\n week.map(_this2.renderDay)\n );\n })\n )\n );\n }\n }]);\n\n return Month;\n}(_react.Component);\n\nexports.default = Month;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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 Weekdays = function (_Component) {\n _inherits(Weekdays, _Component);\n\n function Weekdays() {\n _classCallCheck(this, Weekdays);\n\n return _possibleConstructorReturn(this, (Weekdays.__proto__ || Object.getPrototypeOf(Weekdays)).apply(this, arguments));\n }\n\n _createClass(Weekdays, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n return this.props !== nextProps;\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n classNames = _props.classNames,\n firstDayOfWeek = _props.firstDayOfWeek,\n showWeekNumbers = _props.showWeekNumbers,\n weekdaysLong = _props.weekdaysLong,\n weekdaysShort = _props.weekdaysShort,\n locale = _props.locale,\n localeUtils = _props.localeUtils,\n weekdayElement = _props.weekdayElement;\n\n var days = [];\n for (var i = 0; i < 7; i += 1) {\n var weekday = (i + firstDayOfWeek) % 7;\n var elementProps = {\n key: i,\n className: classNames.weekday,\n weekday: weekday,\n weekdaysLong: weekdaysLong,\n weekdaysShort: weekdaysShort,\n localeUtils: localeUtils,\n locale: locale\n };\n var element = _react2.default.isValidElement(weekdayElement) ? _react2.default.cloneElement(weekdayElement, elementProps) : _react2.default.createElement(weekdayElement, elementProps);\n days.push(element);\n }\n\n return _react2.default.createElement(\n 'div',\n { className: classNames.weekdays, role: 'rowgroup' },\n _react2.default.createElement(\n 'div',\n { className: classNames.weekdaysRow, role: 'row' },\n showWeekNumbers && _react2.default.createElement('div', { className: classNames.weekday }),\n days\n )\n );\n }\n }]);\n\n return Weekdays;\n}(_react.Component);\n\nexports.default = Weekdays;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _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; };\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _DateUtils = __webpack_require__(1);\n\nvar _Helpers = __webpack_require__(4);\n\nvar _classNames = __webpack_require__(3);\n\nvar _classNames2 = _interopRequireDefault(_classNames);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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; } /* eslint-disable jsx-a11y/no-static-element-interactions, react/forbid-prop-types */\n\nfunction handleEvent(handler, day, modifiers) {\n if (!handler) {\n return undefined;\n }\n return function (e) {\n e.persist();\n handler(day, modifiers, e);\n };\n}\n\nvar Day = function (_Component) {\n _inherits(Day, _Component);\n\n function Day() {\n _classCallCheck(this, Day);\n\n return _possibleConstructorReturn(this, (Day.__proto__ || Object.getPrototypeOf(Day)).apply(this, arguments));\n }\n\n _createClass(Day, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n var _this2 = this;\n\n var propNames = Object.keys(this.props);\n var nextPropNames = Object.keys(nextProps);\n if (propNames.length !== nextPropNames.length) {\n return true;\n }\n return propNames.some(function (name) {\n if (name === 'modifiers' || name === 'modifiersStyles' || name === 'classNames') {\n var prop = _this2.props[name];\n var nextProp = nextProps[name];\n var modifiers = Object.keys(prop);\n var nextModifiers = Object.keys(nextProp);\n if (modifiers.length !== nextModifiers.length) {\n return true;\n }\n return modifiers.some(function (mod) {\n return !(0, _Helpers.hasOwnProp)(nextProp, mod) || prop[mod] !== nextProp[mod];\n });\n }\n if (name === 'day') {\n return !(0, _DateUtils.isSameDay)(_this2.props[name], nextProps[name]);\n }\n return !(0, _Helpers.hasOwnProp)(nextProps, name) || _this2.props[name] !== nextProps[name];\n });\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n classNames = _props.classNames,\n modifiersStyles = _props.modifiersStyles,\n day = _props.day,\n tabIndex = _props.tabIndex,\n empty = _props.empty,\n modifiers = _props.modifiers,\n onMouseEnter = _props.onMouseEnter,\n onMouseLeave = _props.onMouseLeave,\n onMouseUp = _props.onMouseUp,\n onMouseDown = _props.onMouseDown,\n onClick = _props.onClick,\n onKeyDown = _props.onKeyDown,\n onTouchStart = _props.onTouchStart,\n onTouchEnd = _props.onTouchEnd,\n onFocus = _props.onFocus,\n ariaLabel = _props.ariaLabel,\n ariaDisabled = _props.ariaDisabled,\n ariaSelected = _props.ariaSelected,\n children = _props.children;\n\n\n var className = classNames.day;\n if (classNames !== _classNames2.default) {\n // When using CSS modules prefix the modifier as required by the BEM syntax\n className += ' ' + Object.keys(modifiers).join(' ');\n } else {\n className += Object.keys(modifiers).map(function (modifier) {\n return ' ' + className + '--' + modifier;\n }).join('');\n }\n\n var style = void 0;\n if (modifiersStyles) {\n Object.keys(modifiers).filter(function (modifier) {\n return !!modifiersStyles[modifier];\n }).forEach(function (modifier) {\n style = _extends({}, style, modifiersStyles[modifier]);\n });\n }\n\n if (empty) {\n return _react2.default.createElement('div', { 'aria-disabled': true, className: className, style: style });\n }\n return _react2.default.createElement(\n 'div',\n {\n className: className,\n tabIndex: tabIndex,\n style: style,\n role: 'gridcell',\n 'aria-label': ariaLabel,\n 'aria-disabled': ariaDisabled,\n 'aria-selected': ariaSelected,\n onClick: handleEvent(onClick, day, modifiers),\n onKeyDown: handleEvent(onKeyDown, day, modifiers),\n onMouseEnter: handleEvent(onMouseEnter, day, modifiers),\n onMouseLeave: handleEvent(onMouseLeave, day, modifiers),\n onMouseUp: handleEvent(onMouseUp, day, modifiers),\n onMouseDown: handleEvent(onMouseDown, day, modifiers),\n onTouchEnd: handleEvent(onTouchEnd, day, modifiers),\n onTouchStart: handleEvent(onTouchStart, day, modifiers),\n onFocus: handleEvent(onFocus, day, modifiers)\n },\n children\n );\n }\n }]);\n\n return Day;\n}(_react.Component);\n\nDay.defaultProps = {\n tabIndex: -1\n};\nDay.defaultProps = {\n modifiers: {},\n modifiersStyles: {},\n empty: false\n};\nexports.default = Day;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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 Weekday = function (_Component) {\n _inherits(Weekday, _Component);\n\n function Weekday() {\n _classCallCheck(this, Weekday);\n\n return _possibleConstructorReturn(this, (Weekday.__proto__ || Object.getPrototypeOf(Weekday)).apply(this, arguments));\n }\n\n _createClass(Weekday, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n return this.props !== nextProps;\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n weekday = _props.weekday,\n className = _props.className,\n weekdaysLong = _props.weekdaysLong,\n weekdaysShort = _props.weekdaysShort,\n localeUtils = _props.localeUtils,\n locale = _props.locale;\n\n var title = void 0;\n if (weekdaysLong) {\n title = weekdaysLong[weekday];\n } else {\n title = localeUtils.formatWeekdayLong(weekday, locale);\n }\n var content = void 0;\n if (weekdaysShort) {\n content = weekdaysShort[weekday];\n } else {\n content = localeUtils.formatWeekdayShort(weekday, locale);\n }\n\n return _react2.default.createElement(\n 'div',\n { className: className, role: 'columnheader' },\n _react2.default.createElement(\n 'abbr',\n { title: title },\n content\n )\n );\n }\n }]);\n\n return Weekday;\n}(_react.Component);\n\nexports.default = Weekday;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.HIDE_TIMEOUT = undefined;\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _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; };\n\nexports.OverlayComponent = OverlayComponent;\nexports.defaultFormat = defaultFormat;\nexports.defaultParse = defaultParse;\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _DayPicker = __webpack_require__(7);\n\nvar _DayPicker2 = _interopRequireDefault(_DayPicker);\n\nvar _DateUtils = __webpack_require__(1);\n\nvar _ModifiersUtils = __webpack_require__(6);\n\nvar _keys = __webpack_require__(2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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 _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\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\n// When clicking on a day cell, overlay will be hidden after this timeout\nvar HIDE_TIMEOUT = exports.HIDE_TIMEOUT = 100;\n\n/**\n * The default component used as Overlay.\n *\n * @param {Object} props\n */\nfunction OverlayComponent(_ref) {\n var input = _ref.input,\n selectedDay = _ref.selectedDay,\n month = _ref.month,\n children = _ref.children,\n classNames = _ref.classNames,\n props = _objectWithoutProperties(_ref, ['input', 'selectedDay', 'month', 'children', 'classNames']);\n\n return _react2.default.createElement(\n 'div',\n _extends({ className: classNames.overlayWrapper }, props),\n _react2.default.createElement(\n 'div',\n { className: classNames.overlay },\n children\n )\n );\n}\n\n/**\n * The default function used to format a Date to String, passed to the `format`\n * prop.\n * @param {Date} d\n * @return {String}\n */\nfunction defaultFormat(d) {\n if ((0, _DateUtils.isDate)(d)) {\n var year = d.getFullYear();\n var month = '' + (d.getMonth() + 1);\n var day = '' + d.getDate();\n return year + '-' + month + '-' + day;\n }\n return '';\n}\n\n/**\n * The default function used to parse a String as Date, passed to the `parse`\n * prop.\n * @param {String} str\n * @return {Date}\n */\nfunction defaultParse(str) {\n if (typeof str !== 'string') {\n return undefined;\n }\n var split = str.split('-');\n if (split.length !== 3) {\n return undefined;\n }\n var year = parseInt(split[0], 10);\n var month = parseInt(split[1], 10) - 1;\n var day = parseInt(split[2], 10);\n if (isNaN(year) || String(year).length > 4 || isNaN(month) || isNaN(day) || day <= 0 || day > 31 || month < 0 || month >= 12) {\n return undefined;\n }\n\n return new Date(year, month, day, 12, 0, 0, 0); // always set noon to avoid time zone issues\n}\n\nvar DayPickerInput = function (_React$Component) {\n _inherits(DayPickerInput, _React$Component);\n\n function DayPickerInput(props) {\n _classCallCheck(this, DayPickerInput);\n\n var _this = _possibleConstructorReturn(this, (DayPickerInput.__proto__ || Object.getPrototypeOf(DayPickerInput)).call(this, props));\n\n _this.input = null;\n _this.daypicker = null;\n _this.clickTimeout = null;\n _this.hideTimeout = null;\n _this.inputBlurTimeout = null;\n _this.inputFocusTimeout = null;\n\n\n _this.state = _this.getInitialStateFromProps(props);\n _this.state.showOverlay = props.showOverlay;\n\n _this.hideAfterDayClick = _this.hideAfterDayClick.bind(_this);\n _this.handleInputClick = _this.handleInputClick.bind(_this);\n _this.handleInputFocus = _this.handleInputFocus.bind(_this);\n _this.handleInputBlur = _this.handleInputBlur.bind(_this);\n _this.handleInputChange = _this.handleInputChange.bind(_this);\n _this.handleInputKeyDown = _this.handleInputKeyDown.bind(_this);\n _this.handleInputKeyUp = _this.handleInputKeyUp.bind(_this);\n _this.handleDayClick = _this.handleDayClick.bind(_this);\n _this.handleMonthChange = _this.handleMonthChange.bind(_this);\n _this.handleOverlayFocus = _this.handleOverlayFocus.bind(_this);\n _this.handleOverlayBlur = _this.handleOverlayBlur.bind(_this);\n return _this;\n }\n\n _createClass(DayPickerInput, [{\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n var newState = {};\n\n // Current props\n var _props = this.props,\n value = _props.value,\n formatDate = _props.formatDate,\n format = _props.format,\n dayPickerProps = _props.dayPickerProps;\n\n // Update the input value if `value`, `dayPickerProps.locale` or `format`\n // props have changed\n\n if (value !== prevProps.value || dayPickerProps.locale !== prevProps.dayPickerProps.locale || format !== prevProps.format) {\n if ((0, _DateUtils.isDate)(value)) {\n newState.value = formatDate(value, format, dayPickerProps.locale);\n } else {\n newState.value = value;\n }\n }\n\n // Update the month if the months from props changed\n var prevMonth = prevProps.dayPickerProps.month;\n if (dayPickerProps.month && dayPickerProps.month !== prevMonth && !(0, _DateUtils.isSameMonth)(dayPickerProps.month, prevMonth)) {\n newState.month = dayPickerProps.month;\n }\n\n // Updated the selected days from props if they changed\n if (prevProps.dayPickerProps.selectedDays !== dayPickerProps.selectedDays) {\n newState.selectedDays = dayPickerProps.selectedDays;\n }\n\n if (Object.keys(newState).length > 0) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState(newState);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n clearTimeout(this.clickTimeout);\n clearTimeout(this.hideTimeout);\n clearTimeout(this.inputFocusTimeout);\n clearTimeout(this.inputBlurTimeout);\n clearTimeout(this.overlayBlurTimeout);\n }\n }, {\n key: 'getInitialMonthFromProps',\n value: function getInitialMonthFromProps(props) {\n var dayPickerProps = props.dayPickerProps,\n format = props.format;\n\n var day = void 0;\n if (props.value) {\n if ((0, _DateUtils.isDate)(props.value)) {\n day = props.value;\n } else {\n day = props.parseDate(props.value, format, dayPickerProps.locale);\n }\n }\n return dayPickerProps.initialMonth || dayPickerProps.month || day || new Date();\n }\n }, {\n key: 'getInitialStateFromProps',\n value: function getInitialStateFromProps(props) {\n var dayPickerProps = props.dayPickerProps,\n formatDate = props.formatDate,\n format = props.format,\n typedValue = props.typedValue;\n var value = props.value;\n\n if (props.value && (0, _DateUtils.isDate)(props.value)) {\n value = formatDate(props.value, format, dayPickerProps.locale);\n }\n\n return {\n value: value,\n typedValue: typedValue,\n month: this.getInitialMonthFromProps(props),\n selectedDays: dayPickerProps.selectedDays\n };\n }\n }, {\n key: 'getInput',\n value: function getInput() {\n return this.input;\n }\n }, {\n key: 'getDayPicker',\n value: function getDayPicker() {\n return this.daypicker;\n }\n\n /**\n * Update the component's state and fire the `onDayChange` event passing the\n * day's modifiers to it.\n *\n * @param {Date} day - Will be used for changing the month\n * @param {String} value - Input field value\n * @private\n */\n\n }, {\n key: 'updateState',\n value: function updateState(day, value, callback) {\n var _this2 = this;\n\n var _props2 = this.props,\n dayPickerProps = _props2.dayPickerProps,\n onDayChange = _props2.onDayChange;\n\n this.setState({ month: day, value: value, typedValue: '' }, function () {\n if (callback) {\n callback();\n }\n if (!onDayChange) {\n return;\n }\n var modifiersObj = _extends({\n disabled: dayPickerProps.disabledDays,\n selected: dayPickerProps.selectedDays\n }, dayPickerProps.modifiers);\n var modifiers = (0, _ModifiersUtils.getModifiersForDay)(day, modifiersObj).reduce(function (obj, modifier) {\n return _extends({}, obj, _defineProperty({}, modifier, true));\n }, {});\n onDayChange(day, modifiers, _this2);\n });\n }\n\n /**\n * Show the Day Picker overlay.\n *\n * @memberof DayPickerInput\n */\n\n }, {\n key: 'showDayPicker',\n value: function showDayPicker() {\n var _this3 = this;\n\n var _props3 = this.props,\n parseDate = _props3.parseDate,\n format = _props3.format,\n dayPickerProps = _props3.dayPickerProps;\n var _state = this.state,\n value = _state.value,\n showOverlay = _state.showOverlay;\n\n if (showOverlay) {\n return;\n }\n // Reset the current displayed month when showing the overlay\n var month = value ? parseDate(value, format, dayPickerProps.locale) // Use the month in the input field\n : this.getInitialMonthFromProps(this.props); // Restore the month from the props\n this.setState(function (state) {\n return {\n showOverlay: true,\n month: month || state.month\n };\n }, function () {\n if (_this3.props.onDayPickerShow) _this3.props.onDayPickerShow();\n });\n }\n\n /**\n * Hide the Day Picker overlay\n *\n * @memberof DayPickerInput\n */\n\n }, {\n key: 'hideDayPicker',\n value: function hideDayPicker() {\n var _this4 = this;\n\n if (this.state.showOverlay === false) {\n return;\n }\n this.setState({ showOverlay: false }, function () {\n if (_this4.props.onDayPickerHide) _this4.props.onDayPickerHide();\n });\n }\n }, {\n key: 'hideAfterDayClick',\n value: function hideAfterDayClick() {\n var _this5 = this;\n\n if (!this.props.hideOnDayClick) {\n return;\n }\n this.hideTimeout = setTimeout(function () {\n _this5.overlayHasFocus = false;\n _this5.hideDayPicker();\n }, HIDE_TIMEOUT);\n }\n }, {\n key: 'handleInputClick',\n value: function handleInputClick(e) {\n this.showDayPicker();\n if (this.props.inputProps.onClick) {\n e.persist();\n this.props.inputProps.onClick(e);\n }\n }\n }, {\n key: 'handleInputFocus',\n value: function handleInputFocus(e) {\n var _this6 = this;\n\n this.showDayPicker();\n // Set `overlayHasFocus` after a timeout so the overlay can be hidden when\n // the input is blurred\n this.inputFocusTimeout = setTimeout(function () {\n _this6.overlayHasFocus = false;\n }, 2);\n if (this.props.inputProps.onFocus) {\n e.persist();\n this.props.inputProps.onFocus(e);\n }\n }\n\n // When the input is blurred, the overlay should disappear. However the input\n // is blurred also when the user interacts with the overlay (e.g. the overlay\n // get the focus by clicking it). In these cases, the overlay should not be\n // hidden. There are different approaches to avoid hiding the overlay when\n // this happens, but the only cross-browser hack we’ve found is to set all\n // these timeouts in code before changing `overlayHasFocus`.\n\n }, {\n key: 'handleInputBlur',\n value: function handleInputBlur(e) {\n var _this7 = this;\n\n this.inputBlurTimeout = setTimeout(function () {\n if (!_this7.overlayHasFocus) {\n _this7.hideDayPicker();\n }\n }, 1);\n if (this.props.inputProps.onBlur) {\n e.persist();\n this.props.inputProps.onBlur(e);\n }\n }\n }, {\n key: 'handleOverlayFocus',\n value: function handleOverlayFocus(e) {\n e.preventDefault();\n this.overlayHasFocus = true;\n if (!this.props.keepFocus || !this.input || typeof this.input.focus !== 'function') {\n return;\n }\n this.input.focus();\n }\n }, {\n key: 'handleOverlayBlur',\n value: function handleOverlayBlur() {\n var _this8 = this;\n\n // We need to set a timeout otherwise IE11 will hide the overlay when\n // focusing it\n this.overlayBlurTimeout = setTimeout(function () {\n _this8.overlayHasFocus = false;\n }, 3);\n }\n }, {\n key: 'handleInputChange',\n value: function handleInputChange(e) {\n var _props4 = this.props,\n dayPickerProps = _props4.dayPickerProps,\n format = _props4.format,\n inputProps = _props4.inputProps,\n onDayChange = _props4.onDayChange,\n parseDate = _props4.parseDate;\n\n if (inputProps.onChange) {\n e.persist();\n inputProps.onChange(e);\n }\n var value = e.target.value;\n\n if (value.trim() === '') {\n this.setState({ value: value, typedValue: '' });\n if (onDayChange) onDayChange(undefined, {}, this);\n return;\n }\n var day = parseDate(value, format, dayPickerProps.locale);\n if (!day) {\n // Day is invalid: we save the value in the typedValue state\n this.setState({ value: value, typedValue: value });\n if (onDayChange) onDayChange(undefined, {}, this);\n return;\n }\n this.updateState(day, value);\n }\n }, {\n key: 'handleInputKeyDown',\n value: function handleInputKeyDown(e) {\n if (e.keyCode === _keys.TAB) {\n this.hideDayPicker();\n } else {\n this.showDayPicker();\n }\n if (this.props.inputProps.onKeyDown) {\n e.persist();\n this.props.inputProps.onKeyDown(e);\n }\n }\n }, {\n key: 'handleInputKeyUp',\n value: function handleInputKeyUp(e) {\n if (e.keyCode === _keys.ESC) {\n this.hideDayPicker();\n } else {\n this.showDayPicker();\n }\n if (this.props.inputProps.onKeyUp) {\n e.persist();\n this.props.inputProps.onKeyUp(e);\n }\n }\n }, {\n key: 'handleMonthChange',\n value: function handleMonthChange(month) {\n var _this9 = this;\n\n this.setState({ month: month }, function () {\n if (_this9.props.dayPickerProps && _this9.props.dayPickerProps.onMonthChange) {\n _this9.props.dayPickerProps.onMonthChange(month);\n }\n });\n }\n }, {\n key: 'handleDayClick',\n value: function handleDayClick(day, modifiers, e) {\n var _this10 = this;\n\n var _props5 = this.props,\n clickUnselectsDay = _props5.clickUnselectsDay,\n dayPickerProps = _props5.dayPickerProps,\n onDayChange = _props5.onDayChange,\n formatDate = _props5.formatDate,\n format = _props5.format;\n\n if (dayPickerProps.onDayClick) {\n dayPickerProps.onDayClick(day, modifiers, e);\n }\n\n // Do nothing if the day is disabled\n if (modifiers.disabled || dayPickerProps && dayPickerProps.classNames && modifiers[dayPickerProps.classNames.disabled]) {\n return;\n }\n\n // If the clicked day is already selected, remove the clicked day\n // from the selected days and empty the field value\n if (modifiers.selected && clickUnselectsDay) {\n var selectedDays = this.state.selectedDays;\n\n if (Array.isArray(selectedDays)) {\n selectedDays = selectedDays.slice(0);\n var selectedDayIdx = selectedDays.indexOf(day);\n selectedDays.splice(selectedDayIdx, 1);\n } else if (selectedDays) {\n selectedDays = null;\n }\n\n this.setState({ value: '', typedValue: '', selectedDays: selectedDays }, this.hideAfterDayClick);\n\n if (onDayChange) {\n onDayChange(undefined, modifiers, this);\n }\n return;\n }\n\n var value = formatDate(day, format, dayPickerProps.locale);\n this.setState({ value: value, typedValue: '', month: day }, function () {\n if (onDayChange) {\n onDayChange(day, modifiers, _this10);\n }\n _this10.hideAfterDayClick();\n });\n }\n }, {\n key: 'renderOverlay',\n value: function renderOverlay() {\n var _this11 = this;\n\n var _props6 = this.props,\n classNames = _props6.classNames,\n dayPickerProps = _props6.dayPickerProps,\n parseDate = _props6.parseDate,\n formatDate = _props6.formatDate,\n format = _props6.format;\n var _state2 = this.state,\n selectedDays = _state2.selectedDays,\n value = _state2.value;\n\n var selectedDay = void 0;\n if (!selectedDays && value) {\n var day = parseDate(value, format, dayPickerProps.locale);\n if (day) {\n selectedDay = day;\n }\n } else if (selectedDays) {\n selectedDay = selectedDays;\n }\n var onTodayButtonClick = void 0;\n if (dayPickerProps.todayButton) {\n // Set the current day when clicking the today button\n onTodayButtonClick = function onTodayButtonClick() {\n return _this11.updateState(new Date(), formatDate(new Date(), format, dayPickerProps.locale), _this11.hideAfterDayClick);\n };\n }\n var Overlay = this.props.overlayComponent;\n return _react2.default.createElement(\n Overlay,\n {\n classNames: classNames,\n month: this.state.month,\n selectedDay: selectedDay,\n input: this.input,\n tabIndex: 0 // tabIndex is necessary to catch focus/blur events on Safari\n , onFocus: this.handleOverlayFocus,\n onBlur: this.handleOverlayBlur\n },\n _react2.default.createElement(_DayPicker2.default, _extends({\n ref: function ref(el) {\n return _this11.daypicker = el;\n },\n onTodayButtonClick: onTodayButtonClick\n }, dayPickerProps, {\n month: this.state.month,\n selectedDays: selectedDay,\n onDayClick: this.handleDayClick,\n onMonthChange: this.handleMonthChange\n }))\n );\n }\n }, {\n key: 'render',\n value: function render() {\n var _this12 = this;\n\n var Input = this.props.component;\n var inputProps = this.props.inputProps;\n\n return _react2.default.createElement(\n 'div',\n { className: this.props.classNames.container, style: this.props.style },\n _react2.default.createElement(Input, _extends({\n ref: function ref(el) {\n return _this12.input = el;\n },\n placeholder: this.props.placeholder\n }, inputProps, {\n value: this.state.value || this.state.typedValue,\n onChange: this.handleInputChange,\n onFocus: this.handleInputFocus,\n onBlur: this.handleInputBlur,\n onKeyDown: this.handleInputKeyDown,\n onKeyUp: this.handleInputKeyUp,\n onClick: !inputProps.disabled ? this.handleInputClick : undefined\n })),\n this.state.showOverlay && this.renderOverlay()\n );\n }\n }]);\n\n return DayPickerInput;\n}(_react2.default.Component);\n\nDayPickerInput.defaultProps = {\n dayPickerProps: {},\n value: '',\n typedValue: '',\n placeholder: 'YYYY-M-D',\n format: 'L',\n formatDate: defaultFormat,\n parseDate: defaultParse,\n showOverlay: false,\n hideOnDayClick: true,\n clickUnselectsDay: false,\n keepFocus: true,\n component: 'input',\n inputProps: {},\n overlayComponent: OverlayComponent,\n classNames: {\n container: 'DayPickerInput',\n overlayWrapper: 'DayPickerInput-OverlayWrapper',\n overlay: 'DayPickerInput-Overlay'\n }\n};\nexports.default = DayPickerInput;\n\n/***/ })\n/******/ ])[\"default\"];\n});\n\n\n// WEBPACK FOOTER //\n// react-day-picker.min.js","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}\n// module id = 0\n// module chunks = 0","/**\n * Clone a date object.\n *\n * @export\n * @param {Date} d The date to clone\n * @return {Date} The cloned date\n */\nexport function clone(d) {\n return new Date(d.getTime());\n}\n\n/**\n * Return `true` if the passed value is a valid JavaScript Date object.\n *\n * @export\n * @param {any} value\n * @returns {Boolean}\n */\nexport function isDate(value) {\n return value instanceof Date && !isNaN(value.valueOf());\n}\n\n/**\n * Return `d` as a new date with `n` months added.\n *\n * @export\n * @param {Date} d\n * @param {number} n\n */\nexport function addMonths(d, n) {\n const newDate = clone(d);\n newDate.setMonth(d.getMonth() + n);\n return newDate;\n}\n\n/**\n * Return `true` if two dates are the same day, ignoring the time.\n *\n * @export\n * @param {Date} d1\n * @param {Date} d2\n * @return {Boolean}\n */\nexport function isSameDay(d1, d2) {\n if (!d1 || !d2) {\n return false;\n }\n return (\n d1.getDate() === d2.getDate() &&\n d1.getMonth() === d2.getMonth() &&\n d1.getFullYear() === d2.getFullYear()\n );\n}\n\n/**\n * Return `true` if two dates fall in the same month.\n *\n * @export\n * @param {Date} d1\n * @param {Date} d2\n * @return {Boolean}\n */\nexport function isSameMonth(d1, d2) {\n if (!d1 || !d2) {\n return false;\n }\n return (\n d1.getMonth() === d2.getMonth() && d1.getFullYear() === d2.getFullYear()\n );\n}\n\n/**\n * Returns `true` if the first day is before the second day.\n *\n * @export\n * @param {Date} d1\n * @param {Date} d2\n * @returns {Boolean}\n */\nexport function isDayBefore(d1, d2) {\n const day1 = clone(d1).setHours(0, 0, 0, 0);\n const day2 = clone(d2).setHours(0, 0, 0, 0);\n return day1 < day2;\n}\n\n/**\n * Returns `true` if the first day is after the second day.\n *\n * @export\n * @param {Date} d1\n * @param {Date} d2\n * @returns {Boolean}\n */\nexport function isDayAfter(d1, d2) {\n const day1 = clone(d1).setHours(0, 0, 0, 0);\n const day2 = clone(d2).setHours(0, 0, 0, 0);\n return day1 > day2;\n}\n\n/**\n * Return `true` if a day is in the past, e.g. yesterday or any day\n * before yesterday.\n *\n * @export\n * @param {Date} d\n * @return {Boolean}\n */\nexport function isPastDay(d) {\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n return isDayBefore(d, today);\n}\n\n/**\n * Return `true` if a day is in the future, e.g. tomorrow or any day\n * after tomorrow.\n *\n * @export\n * @param {Date} d\n * @return {Boolean}\n */\nexport function isFutureDay(d) {\n const tomorrow = new Date(new Date().getTime() + 24 * 60 * 60 * 1000);\n tomorrow.setHours(0, 0, 0, 0);\n return d >= tomorrow;\n}\n\n/**\n * Return `true` if day `d` is between days `d1` and `d2`,\n * without including them.\n *\n * @export\n * @param {Date} d\n * @param {Date} d1\n * @param {Date} d2\n * @return {Boolean}\n */\nexport function isDayBetween(d, d1, d2) {\n const date = clone(d);\n date.setHours(0, 0, 0, 0);\n return (\n (isDayAfter(date, d1) && isDayBefore(date, d2)) ||\n (isDayAfter(date, d2) && isDayBefore(date, d1))\n );\n}\n\n/**\n * Add a day to a range and return a new range. A range is an object with\n * `from` and `to` days.\n *\n * @export\n * @param {Date} day\n * @param {Object} range\n * @return {Object} Returns a new range object\n */\nexport function addDayToRange(day, range = { from: null, to: null }) {\n let { from, to } = range;\n if (!from) {\n from = day;\n } else if (from && to && isSameDay(from, to) && isSameDay(day, from)) {\n from = null;\n to = null;\n } else if (to && isDayBefore(day, from)) {\n from = day;\n } else if (to && isSameDay(day, to)) {\n from = day;\n to = day;\n } else {\n to = day;\n if (isDayBefore(to, from)) {\n to = from;\n from = day;\n }\n }\n\n return { from, to };\n}\n\n/**\n * Return `true` if a day is included in a range of days.\n *\n * @export\n * @param {Date} day\n * @param {Object} range\n * @return {Boolean}\n */\nexport function isDayInRange(day, range) {\n const { from, to } = range;\n return (\n (from && isSameDay(day, from)) ||\n (to && isSameDay(day, to)) ||\n (from && to && isDayBetween(day, from, to))\n );\n}\n\n/**\n * Return the year's week number (as per ISO, i.e. with the week starting from monday)\n * for the given day.\n *\n * @export\n * @param {Date} day\n * @returns {Number}\n */\nexport function getWeekNumber(day) {\n const date = clone(day);\n date.setHours(0, 0, 0);\n date.setDate(date.getDate() + 4 - (date.getDay() || 7));\n return Math.ceil(\n ((date - new Date(date.getFullYear(), 0, 1)) / 8.64e7 + 1) / 7\n );\n}\n\nexport default {\n addDayToRange,\n addMonths,\n clone,\n getWeekNumber,\n isDate,\n isDayAfter,\n isDayBefore,\n isDayBetween,\n isDayInRange,\n isFutureDay,\n isPastDay,\n isSameDay,\n isSameMonth,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/DateUtils.js","export const LEFT = 37;\nexport const UP = 38;\nexport const RIGHT = 39;\nexport const DOWN = 40;\nexport const ENTER = 13;\nexport const SPACE = 32;\nexport const ESC = 27;\nexport const TAB = 9;\n\n\n\n// WEBPACK FOOTER //\n// ./src/keys.js","// Proxy object to map classnames when css modules are not used\n\nexport default {\n container: 'DayPicker',\n wrapper: 'DayPicker-wrapper',\n interactionDisabled: 'DayPicker--interactionDisabled',\n months: 'DayPicker-Months',\n month: 'DayPicker-Month',\n\n navBar: 'DayPicker-NavBar',\n navButtonPrev: 'DayPicker-NavButton DayPicker-NavButton--prev',\n navButtonNext: 'DayPicker-NavButton DayPicker-NavButton--next',\n navButtonInteractionDisabled: 'DayPicker-NavButton--interactionDisabled',\n\n caption: 'DayPicker-Caption',\n weekdays: 'DayPicker-Weekdays',\n weekdaysRow: 'DayPicker-WeekdaysRow',\n weekday: 'DayPicker-Weekday',\n body: 'DayPicker-Body',\n week: 'DayPicker-Week',\n weekNumber: 'DayPicker-WeekNumber',\n day: 'DayPicker-Day',\n footer: 'DayPicker-Footer',\n todayButton: 'DayPicker-TodayButton',\n\n // default modifiers\n today: 'today',\n selected: 'selected',\n disabled: 'disabled',\n outside: 'outside',\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/classNames.js","import { clone } from './DateUtils';\nimport { getFirstDayOfWeek } from './LocaleUtils';\nimport defaultClassNames from './classNames';\n\nexport function cancelEvent(e) {\n e.preventDefault();\n e.stopPropagation();\n}\n\nexport function getFirstDayOfMonth(d) {\n return new Date(d.getFullYear(), d.getMonth(), 1, 12);\n}\n\nexport function getDaysInMonth(d) {\n const resultDate = getFirstDayOfMonth(d);\n\n resultDate.setMonth(resultDate.getMonth() + 1);\n resultDate.setDate(resultDate.getDate() - 1);\n\n return resultDate.getDate();\n}\n\nexport function getModifiersFromProps(props) {\n const modifiers = { ...props.modifiers };\n if (props.selectedDays) {\n modifiers[props.classNames.selected] = props.selectedDays;\n }\n if (props.disabledDays) {\n modifiers[props.classNames.disabled] = props.disabledDays;\n }\n return modifiers;\n}\n\nexport function getFirstDayOfWeekFromProps(props) {\n const { firstDayOfWeek, locale = 'en', localeUtils = {} } = props;\n if (!isNaN(firstDayOfWeek)) {\n return firstDayOfWeek;\n }\n if (localeUtils.getFirstDayOfWeek) {\n return localeUtils.getFirstDayOfWeek(locale);\n }\n return 0;\n}\n\nexport function isRangeOfDates(value) {\n return !!(value && value.from && value.to);\n}\n\nexport function getMonthsDiff(d1, d2) {\n return (\n d2.getMonth() - d1.getMonth() + 12 * (d2.getFullYear() - d1.getFullYear())\n );\n}\n\nexport function getWeekArray(\n d,\n firstDayOfWeek = getFirstDayOfWeek(),\n fixedWeeks\n) {\n const daysInMonth = getDaysInMonth(d);\n const dayArray = [];\n\n let week = [];\n const weekArray = [];\n\n for (let i = 1; i <= daysInMonth; i += 1) {\n dayArray.push(new Date(d.getFullYear(), d.getMonth(), i, 12));\n }\n\n dayArray.forEach(day => {\n if (week.length > 0 && day.getDay() === firstDayOfWeek) {\n weekArray.push(week);\n week = [];\n }\n week.push(day);\n if (dayArray.indexOf(day) === dayArray.length - 1) {\n weekArray.push(week);\n }\n });\n\n // unshift days to start the first week\n const firstWeek = weekArray[0];\n for (let i = 7 - firstWeek.length; i > 0; i -= 1) {\n const outsideDate = clone(firstWeek[0]);\n outsideDate.setDate(firstWeek[0].getDate() - 1);\n firstWeek.unshift(outsideDate);\n }\n\n // push days until the end of the last week\n const lastWeek = weekArray[weekArray.length - 1];\n for (let i = lastWeek.length; i < 7; i += 1) {\n const outsideDate = clone(lastWeek[lastWeek.length - 1]);\n outsideDate.setDate(lastWeek[lastWeek.length - 1].getDate() + 1);\n lastWeek.push(outsideDate);\n }\n\n // add extra weeks to reach 6 weeks\n if (fixedWeeks && weekArray.length < 6) {\n let lastExtraWeek;\n\n for (let i = weekArray.length; i < 6; i += 1) {\n lastExtraWeek = weekArray[weekArray.length - 1];\n const lastDay = lastExtraWeek[lastExtraWeek.length - 1];\n const extraWeek = [];\n\n for (let j = 0; j < 7; j += 1) {\n const outsideDate = clone(lastDay);\n outsideDate.setDate(lastDay.getDate() + j + 1);\n extraWeek.push(outsideDate);\n }\n\n weekArray.push(extraWeek);\n }\n }\n\n return weekArray;\n}\n\nexport function startOfMonth(d) {\n const newDate = clone(d);\n newDate.setDate(1);\n newDate.setHours(12, 0, 0, 0); // always set noon to avoid time zone issues\n return newDate;\n}\n\nexport function getDayNodes(node, classNames) {\n let outsideClassName;\n if (classNames === defaultClassNames) {\n // When using CSS modules prefix the modifier as required by the BEM syntax\n outsideClassName = `${classNames.day}--${classNames.outside}`;\n } else {\n outsideClassName = `${classNames.outside}`;\n }\n const dayQuery = classNames.day.replace(/ /g, '.');\n const outsideDayQuery = outsideClassName.replace(/ /g, '.');\n const selector = `.${dayQuery}:not(.${outsideDayQuery})`;\n return node.querySelectorAll(selector);\n}\n\nexport function nodeListToArray(nodeList) {\n return Array.prototype.slice.call(nodeList, 0);\n}\n\nexport function hasOwnProp(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Helpers.js","const WEEKDAYS_LONG = [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n];\n\nconst WEEKDAYS_SHORT = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n];\n\nexport function formatDay(day) {\n return day.toDateString();\n}\n\nexport function formatMonthTitle(d) {\n return `${MONTHS[d.getMonth()]} ${d.getFullYear()}`;\n}\n\nexport function formatWeekdayShort(i) {\n return WEEKDAYS_SHORT[i];\n}\n\nexport function formatWeekdayLong(i) {\n return WEEKDAYS_LONG[i];\n}\n\nexport function getFirstDayOfWeek() {\n return 0;\n}\n\nexport function getMonths() {\n return MONTHS;\n}\n\nexport default {\n formatDay,\n formatMonthTitle,\n formatWeekdayShort,\n formatWeekdayLong,\n getFirstDayOfWeek,\n getMonths,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/LocaleUtils.js","import { isDayAfter, isDayBefore, isDayInRange, isSameDay } from './DateUtils';\nimport { isRangeOfDates } from './Helpers';\n\n/**\n * Return `true` if a date matches the specified modifier.\n *\n * @export\n * @param {Date} day\n * @param {Any} modifier\n * @return {Boolean}\n */\nexport function dayMatchesModifier(day, modifier) {\n if (!modifier) {\n return false;\n }\n const arr = Array.isArray(modifier) ? modifier : [modifier];\n return arr.some(mod => {\n if (!mod) {\n return false;\n }\n if (mod instanceof Date) {\n return isSameDay(day, mod);\n }\n if (isRangeOfDates(mod)) {\n return isDayInRange(day, mod);\n }\n if (mod.after && mod.before && isDayAfter(mod.before, mod.after)) {\n return isDayAfter(day, mod.after) && isDayBefore(day, mod.before);\n }\n if (\n mod.after &&\n mod.before &&\n (isDayAfter(mod.after, mod.before) || isSameDay(mod.after, mod.before))\n ) {\n return isDayAfter(day, mod.after) || isDayBefore(day, mod.before);\n }\n if (mod.after) {\n return isDayAfter(day, mod.after);\n }\n if (mod.before) {\n return isDayBefore(day, mod.before);\n }\n if (mod.daysOfWeek) {\n return mod.daysOfWeek.some(dayOfWeek => day.getDay() === dayOfWeek);\n }\n if (typeof mod === 'function') {\n return mod(day);\n }\n return false;\n });\n}\n\n/**\n * Return the modifiers matching the given day for the given\n * object of modifiers.\n *\n * @export\n * @param {Date} day\n * @param {Object} [modifiersObj={}]\n * @return {Array}\n */\nexport function getModifiersForDay(day, modifiersObj = {}) {\n return Object.keys(modifiersObj).reduce((modifiers, modifierName) => {\n const value = modifiersObj[modifierName];\n if (dayMatchesModifier(day, value)) {\n modifiers.push(modifierName);\n }\n return modifiers;\n }, []);\n}\n\nexport default { dayMatchesModifier, getModifiersForDay };\n\n\n\n// WEBPACK FOOTER //\n// ./src/ModifiersUtils.js","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Caption from './Caption';\nimport Navbar from './Navbar';\nimport Month from './Month';\nimport Weekday from './Weekday';\n\nimport * as Helpers from './Helpers';\nimport * as DateUtils from './DateUtils';\nimport * as LocaleUtils from './LocaleUtils';\nimport * as ModifiersUtils from './ModifiersUtils';\nimport classNames from './classNames';\n\nimport { ENTER, SPACE, LEFT, UP, DOWN, RIGHT } from './keys';\n\nexport class DayPicker extends Component {\n dayPicker = null;\n\n static propTypes = {\n // Rendering months\n initialMonth: PropTypes.instanceOf(Date),\n month: PropTypes.instanceOf(Date),\n numberOfMonths: PropTypes.number,\n fromMonth: PropTypes.instanceOf(Date),\n toMonth: PropTypes.instanceOf(Date),\n canChangeMonth: PropTypes.bool,\n reverseMonths: PropTypes.bool,\n pagedNavigation: PropTypes.bool,\n todayButton: PropTypes.string,\n showWeekNumbers: PropTypes.bool,\n showWeekDays: PropTypes.bool,\n\n // Modifiers\n selectedDays: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.array,\n ]),\n disabledDays: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.array,\n ]),\n\n modifiers: PropTypes.object,\n modifiersStyles: PropTypes.object,\n\n // Localization\n dir: PropTypes.string,\n firstDayOfWeek: PropTypes.oneOf([0, 1, 2, 3, 4, 5, 6]),\n labels: PropTypes.shape({\n nextMonth: PropTypes.string.isRequired,\n previousMonth: PropTypes.string.isRequired,\n }),\n locale: PropTypes.string,\n localeUtils: PropTypes.shape({\n formatMonthTitle: PropTypes.func,\n formatWeekdayShort: PropTypes.func,\n formatWeekdayLong: PropTypes.func,\n getFirstDayOfWeek: PropTypes.func,\n }),\n months: PropTypes.arrayOf(PropTypes.string),\n weekdaysLong: PropTypes.arrayOf(PropTypes.string),\n weekdaysShort: PropTypes.arrayOf(PropTypes.string),\n\n // Customization\n showOutsideDays: PropTypes.bool,\n enableOutsideDaysClick: PropTypes.bool,\n fixedWeeks: PropTypes.bool,\n\n // CSS and HTML\n classNames: PropTypes.shape({\n body: PropTypes.string,\n container: PropTypes.string,\n day: PropTypes.string.isRequired,\n disabled: PropTypes.string.isRequired,\n footer: PropTypes.string,\n interactionDisabled: PropTypes.string,\n months: PropTypes.string,\n month: PropTypes.string,\n navBar: PropTypes.string,\n outside: PropTypes.string.isRequired,\n selected: PropTypes.string.isRequired,\n today: PropTypes.string.isRequired,\n todayButton: PropTypes.string,\n week: PropTypes.string,\n wrapper: PropTypes.string,\n }),\n className: PropTypes.string,\n containerProps: PropTypes.object,\n tabIndex: PropTypes.number,\n\n // Custom elements\n renderDay: PropTypes.func,\n renderWeek: PropTypes.func,\n weekdayElement: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.instanceOf(Component),\n ]),\n navbarElement: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.instanceOf(Component),\n ]),\n captionElement: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.instanceOf(Component),\n ]),\n\n // Events\n onBlur: PropTypes.func,\n onFocus: PropTypes.func,\n onKeyDown: PropTypes.func,\n onDayClick: PropTypes.func,\n onDayKeyDown: PropTypes.func,\n onDayMouseEnter: PropTypes.func,\n onDayMouseLeave: PropTypes.func,\n onDayMouseDown: PropTypes.func,\n onDayMouseUp: PropTypes.func,\n onDayTouchStart: PropTypes.func,\n onDayTouchEnd: PropTypes.func,\n onDayFocus: PropTypes.func,\n onMonthChange: PropTypes.func,\n onCaptionClick: PropTypes.func,\n onWeekClick: PropTypes.func,\n onTodayButtonClick: PropTypes.func,\n };\n\n static defaultProps = {\n classNames,\n tabIndex: 0,\n numberOfMonths: 1,\n labels: {\n previousMonth: 'Previous Month',\n nextMonth: 'Next Month',\n },\n locale: 'en',\n localeUtils: LocaleUtils,\n showOutsideDays: false,\n enableOutsideDaysClick: true,\n fixedWeeks: false,\n canChangeMonth: true,\n reverseMonths: false,\n pagedNavigation: false,\n showWeekNumbers: false,\n showWeekDays: true,\n renderDay: day => day.getDate(),\n renderWeek: weekNumber => weekNumber,\n weekdayElement: ,\n navbarElement: ,\n captionElement: ,\n };\n\n constructor(props) {\n super(props);\n\n const currentMonth = this.getCurrentMonthFromProps(props);\n this.state = { currentMonth };\n }\n\n componentDidUpdate(prevProps) {\n // Changing the `month` props means changing the current displayed month\n if (\n prevProps.month !== this.props.month &&\n !DateUtils.isSameMonth(prevProps.month, this.props.month)\n ) {\n const currentMonth = this.getCurrentMonthFromProps(this.props);\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ currentMonth });\n }\n }\n\n static VERSION = '7.4.10';\n\n /**\n * Return the month to be shown in the calendar based on the component props.\n *\n * @param {Object} props\n * @returns Date\n * @memberof DayPicker\n * @private\n */\n getCurrentMonthFromProps(props) {\n const initialMonth = Helpers.startOfMonth(\n props.month || props.initialMonth || new Date()\n );\n let currentMonth = initialMonth;\n\n if (props.pagedNavigation && props.numberOfMonths > 1 && props.fromMonth) {\n const fromMonth = Helpers.startOfMonth(props.fromMonth);\n const diffInMonths = Helpers.getMonthsDiff(fromMonth, currentMonth);\n currentMonth = DateUtils.addMonths(\n fromMonth,\n Math.floor(diffInMonths / props.numberOfMonths) * props.numberOfMonths\n );\n } else if (\n props.toMonth &&\n props.numberOfMonths > 1 &&\n Helpers.getMonthsDiff(currentMonth, props.toMonth) <= 0\n ) {\n currentMonth = DateUtils.addMonths(\n Helpers.startOfMonth(props.toMonth),\n 1 - this.props.numberOfMonths\n );\n }\n return currentMonth;\n }\n\n getNextNavigableMonth() {\n return DateUtils.addMonths(\n this.state.currentMonth,\n this.props.numberOfMonths\n );\n }\n\n getPreviousNavigableMonth() {\n return DateUtils.addMonths(this.state.currentMonth, -1);\n }\n\n allowPreviousMonth() {\n const previousMonth = DateUtils.addMonths(this.state.currentMonth, -1);\n return this.allowMonth(previousMonth);\n }\n\n allowNextMonth() {\n const nextMonth = DateUtils.addMonths(\n this.state.currentMonth,\n this.props.numberOfMonths\n );\n return this.allowMonth(nextMonth);\n }\n\n allowMonth(d) {\n const { fromMonth, toMonth, canChangeMonth } = this.props;\n if (\n !canChangeMonth ||\n (fromMonth && Helpers.getMonthsDiff(fromMonth, d) < 0) ||\n (toMonth && Helpers.getMonthsDiff(toMonth, d) > 0)\n ) {\n return false;\n }\n return true;\n }\n\n allowYearChange() {\n return this.props.canChangeMonth;\n }\n\n showMonth(d, callback) {\n if (!this.allowMonth(d)) {\n return;\n }\n this.setState({ currentMonth: Helpers.startOfMonth(d) }, () => {\n if (callback) {\n callback();\n }\n if (this.props.onMonthChange) {\n this.props.onMonthChange(this.state.currentMonth);\n }\n });\n }\n\n showNextMonth = callback => {\n if (!this.allowNextMonth()) {\n return;\n }\n const deltaMonths = this.props.pagedNavigation\n ? this.props.numberOfMonths\n : 1;\n const nextMonth = DateUtils.addMonths(this.state.currentMonth, deltaMonths);\n this.showMonth(nextMonth, callback);\n };\n\n showPreviousMonth = callback => {\n if (!this.allowPreviousMonth()) {\n return;\n }\n const deltaMonths = this.props.pagedNavigation\n ? this.props.numberOfMonths\n : 1;\n const previousMonth = DateUtils.addMonths(\n this.state.currentMonth,\n -deltaMonths\n );\n this.showMonth(previousMonth, callback);\n };\n\n showNextYear() {\n if (!this.allowYearChange()) {\n return;\n }\n const nextMonth = DateUtils.addMonths(this.state.currentMonth, 12);\n this.showMonth(nextMonth);\n }\n\n showPreviousYear() {\n if (!this.allowYearChange()) {\n return;\n }\n const nextMonth = DateUtils.addMonths(this.state.currentMonth, -12);\n this.showMonth(nextMonth);\n }\n\n focus() {\n this.wrapper.focus();\n }\n\n focusFirstDayOfMonth() {\n Helpers.getDayNodes(this.dayPicker, this.props.classNames)[0].focus();\n }\n\n focusLastDayOfMonth() {\n const dayNodes = Helpers.getDayNodes(this.dayPicker, this.props.classNames);\n dayNodes[dayNodes.length - 1].focus();\n }\n\n focusPreviousDay(dayNode) {\n const dayNodes = Helpers.getDayNodes(this.dayPicker, this.props.classNames);\n const dayNodeIndex = Helpers.nodeListToArray(dayNodes).indexOf(dayNode);\n if (dayNodeIndex === -1) return;\n if (dayNodeIndex === 0) {\n this.showPreviousMonth(() => this.focusLastDayOfMonth());\n } else {\n dayNodes[dayNodeIndex - 1].focus();\n }\n }\n\n focusNextDay(dayNode) {\n const dayNodes = Helpers.getDayNodes(this.dayPicker, this.props.classNames);\n const dayNodeIndex = Helpers.nodeListToArray(dayNodes).indexOf(dayNode);\n if (dayNodeIndex === -1) return;\n if (dayNodeIndex === dayNodes.length - 1) {\n this.showNextMonth(() => this.focusFirstDayOfMonth());\n } else {\n dayNodes[dayNodeIndex + 1].focus();\n }\n }\n\n focusNextWeek(dayNode) {\n const dayNodes = Helpers.getDayNodes(this.dayPicker, this.props.classNames);\n const dayNodeIndex = Helpers.nodeListToArray(dayNodes).indexOf(dayNode);\n const isInLastWeekOfMonth = dayNodeIndex > dayNodes.length - 8;\n\n if (isInLastWeekOfMonth) {\n this.showNextMonth(() => {\n const daysAfterIndex = dayNodes.length - dayNodeIndex;\n const nextMonthDayNodeIndex = 7 - daysAfterIndex;\n Helpers.getDayNodes(this.dayPicker, this.props.classNames)[\n nextMonthDayNodeIndex\n ].focus();\n });\n } else {\n dayNodes[dayNodeIndex + 7].focus();\n }\n }\n\n focusPreviousWeek(dayNode) {\n const dayNodes = Helpers.getDayNodes(this.dayPicker, this.props.classNames);\n const dayNodeIndex = Helpers.nodeListToArray(dayNodes).indexOf(dayNode);\n const isInFirstWeekOfMonth = dayNodeIndex <= 6;\n\n if (isInFirstWeekOfMonth) {\n this.showPreviousMonth(() => {\n const previousMonthDayNodes = Helpers.getDayNodes(\n this.dayPicker,\n this.props.classNames\n );\n const startOfLastWeekOfMonth = previousMonthDayNodes.length - 7;\n const previousMonthDayNodeIndex = startOfLastWeekOfMonth + dayNodeIndex;\n previousMonthDayNodes[previousMonthDayNodeIndex].focus();\n });\n } else {\n dayNodes[dayNodeIndex - 7].focus();\n }\n }\n\n // Event handlers\n\n handleKeyDown = e => {\n e.persist();\n\n switch (e.keyCode) {\n case LEFT:\n if (this.props.dir === 'rtl') {\n this.showNextMonth();\n } else {\n this.showPreviousMonth();\n }\n Helpers.cancelEvent(e);\n break;\n case RIGHT:\n if (this.props.dir === 'rtl') {\n this.showPreviousMonth();\n } else {\n this.showNextMonth();\n }\n Helpers.cancelEvent(e);\n break;\n case UP:\n this.showPreviousYear();\n Helpers.cancelEvent(e);\n break;\n case DOWN:\n this.showNextYear();\n Helpers.cancelEvent(e);\n break;\n default:\n break;\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n handleDayKeyDown = (day, modifiers, e) => {\n e.persist();\n\n switch (e.keyCode) {\n case LEFT:\n Helpers.cancelEvent(e);\n if (this.props.dir === 'rtl') {\n this.focusNextDay(e.target);\n } else {\n this.focusPreviousDay(e.target);\n }\n break;\n case RIGHT:\n Helpers.cancelEvent(e);\n if (this.props.dir === 'rtl') {\n this.focusPreviousDay(e.target);\n } else {\n this.focusNextDay(e.target);\n }\n break;\n case UP:\n Helpers.cancelEvent(e);\n this.focusPreviousWeek(e.target);\n break;\n case DOWN:\n Helpers.cancelEvent(e);\n this.focusNextWeek(e.target);\n break;\n case ENTER:\n case SPACE:\n Helpers.cancelEvent(e);\n if (this.props.onDayClick) {\n this.handleDayClick(day, modifiers, e);\n }\n break;\n default:\n break;\n }\n if (this.props.onDayKeyDown) {\n this.props.onDayKeyDown(day, modifiers, e);\n }\n };\n\n handleDayClick = (day, modifiers, e) => {\n e.persist();\n\n if (\n modifiers[this.props.classNames.outside] &&\n this.props.enableOutsideDaysClick\n ) {\n this.handleOutsideDayClick(day);\n }\n if (this.props.onDayClick) {\n this.props.onDayClick(day, modifiers, e);\n }\n };\n\n handleOutsideDayClick(day) {\n const { currentMonth } = this.state;\n const { numberOfMonths } = this.props;\n const diffInMonths = Helpers.getMonthsDiff(currentMonth, day);\n if (diffInMonths > 0 && diffInMonths >= numberOfMonths) {\n this.showNextMonth();\n } else if (diffInMonths < 0) {\n this.showPreviousMonth();\n }\n }\n\n handleTodayButtonClick = e => {\n const today = new Date();\n const month = new Date(today.getFullYear(), today.getMonth());\n this.showMonth(month);\n e.target.blur();\n if (this.props.onTodayButtonClick) {\n e.persist();\n this.props.onTodayButtonClick(\n new Date(today.getFullYear(), today.getMonth(), today.getDate()),\n ModifiersUtils.getModifiersForDay(today, this.props.modifiers),\n e\n );\n }\n };\n\n renderNavbar() {\n const {\n labels,\n locale,\n localeUtils,\n canChangeMonth,\n navbarElement,\n ...attributes\n } = this.props;\n\n if (!canChangeMonth) return null;\n\n const props = {\n month: this.state.currentMonth,\n classNames: this.props.classNames,\n className: this.props.classNames.navBar,\n nextMonth: this.getNextNavigableMonth(),\n previousMonth: this.getPreviousNavigableMonth(),\n showPreviousButton: this.allowPreviousMonth(),\n showNextButton: this.allowNextMonth(),\n onNextClick: this.showNextMonth,\n onPreviousClick: this.showPreviousMonth,\n dir: attributes.dir,\n labels,\n locale,\n localeUtils,\n };\n return React.isValidElement(navbarElement)\n ? React.cloneElement(navbarElement, props)\n : React.createElement(navbarElement, props);\n }\n\n renderMonths() {\n const months = [];\n const firstDayOfWeek = Helpers.getFirstDayOfWeekFromProps(this.props);\n for (let i = 0; i < this.props.numberOfMonths; i += 1) {\n const month = DateUtils.addMonths(this.state.currentMonth, i);\n months.push(\n \n );\n }\n\n if (this.props.reverseMonths) {\n months.reverse();\n }\n return months;\n }\n\n renderFooter() {\n if (this.props.todayButton) {\n return (\n \n {this.renderTodayButton()}\n
\n );\n }\n return null;\n }\n\n renderTodayButton() {\n return (\n \n {this.props.todayButton}\n \n );\n }\n\n render() {\n let className = this.props.classNames.container;\n\n if (!this.props.onDayClick) {\n className = `${className} ${this.props.classNames.interactionDisabled}`;\n }\n if (this.props.className) {\n className = `${className} ${this.props.className}`;\n }\n return (\n (this.dayPicker = el)}\n lang={this.props.locale}\n >\n
(this.wrapper = el)}\n tabIndex={\n this.props.canChangeMonth &&\n typeof this.props.tabIndex !== 'undefined'\n ? this.props.tabIndex\n : -1\n }\n onKeyDown={this.handleKeyDown}\n onFocus={this.props.onFocus}\n onBlur={this.props.onBlur}\n >\n {this.renderNavbar()}\n
\n {this.renderMonths()}\n
\n {this.renderFooter()}\n
\n
\n );\n }\n}\n\nDayPicker.DateUtils = DateUtils;\nDayPicker.LocaleUtils = LocaleUtils;\nDayPicker.ModifiersUtils = ModifiersUtils;\n\nexport { DateUtils, LocaleUtils, ModifiersUtils };\n\nexport default DayPicker;\n\n\n\n// WEBPACK FOOTER //\n// ./src/DayPicker.js","// Entry point for the umd package\nconst DayPicker = require('./DayPicker').default;\nDayPicker.Input = require('./DayPickerInput').default;\n\nexport default DayPicker;\n\n\n\n// WEBPACK FOOTER //\n// ./src/umd.js","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport LocaleUtils from './LocaleUtils';\n\nimport { ENTER } from './keys';\n\nexport default class Caption extends Component {\n static propTypes = {\n date: PropTypes.instanceOf(Date),\n months: PropTypes.arrayOf(PropTypes.string),\n locale: PropTypes.string,\n localeUtils: PropTypes.object,\n onClick: PropTypes.func,\n classNames: PropTypes.shape({\n caption: PropTypes.string.isRequired,\n }).isRequired,\n };\n\n static defaultProps = {\n localeUtils: LocaleUtils,\n };\n\n constructor(props) {\n super(props);\n this.handleKeyUp = this.handleKeyUp.bind(this);\n }\n\n shouldComponentUpdate(nextProps) {\n return (\n nextProps.locale !== this.props.locale ||\n nextProps.classNames !== this.props.classNames ||\n nextProps.date.getMonth() !== this.props.date.getMonth() ||\n nextProps.date.getFullYear() !== this.props.date.getFullYear()\n );\n }\n\n handleKeyUp(e) {\n if (e.keyCode === ENTER) {\n this.props.onClick(e);\n }\n }\n\n render() {\n const {\n classNames,\n date,\n months,\n locale,\n localeUtils,\n onClick,\n } = this.props;\n return (\n \n
\n {months\n ? `${months[date.getMonth()]} ${date.getFullYear()}`\n : localeUtils.formatMonthTitle(date, locale)}\n
\n
\n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Caption.js","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport defaultClassNames from './classNames';\nimport { SPACE, ENTER } from './keys';\n\nexport default class Navbar extends Component {\n static propTypes = {\n classNames: PropTypes.shape({\n navBar: PropTypes.string.isRequired,\n navButtonPrev: PropTypes.string.isRequired,\n navButtonNext: PropTypes.string.isRequired,\n navButtonInteractionDisabled: PropTypes.string.isRequired,\n }),\n className: PropTypes.string,\n showPreviousButton: PropTypes.bool,\n showNextButton: PropTypes.bool,\n onPreviousClick: PropTypes.func,\n onNextClick: PropTypes.func,\n dir: PropTypes.string,\n labels: PropTypes.shape({\n previousMonth: PropTypes.string.isRequired,\n nextMonth: PropTypes.string.isRequired,\n }),\n };\n\n static defaultProps = {\n classNames: defaultClassNames,\n dir: 'ltr',\n labels: {\n previousMonth: 'Previous Month',\n nextMonth: 'Next Month',\n },\n showPreviousButton: true,\n showNextButton: true,\n };\n\n shouldComponentUpdate(nextProps) {\n return (\n nextProps.labels !== this.props.labels ||\n nextProps.dir !== this.props.dir ||\n this.props.showPreviousButton !== nextProps.showPreviousButton ||\n this.props.showNextButton !== nextProps.showNextButton\n );\n }\n\n handleNextClick = () => {\n if (this.props.onNextClick) {\n this.props.onNextClick();\n }\n };\n\n handlePreviousClick = () => {\n if (this.props.onPreviousClick) {\n this.props.onPreviousClick();\n }\n };\n\n handleNextKeyDown = e => {\n if (e.keyCode !== ENTER && e.keyCode !== SPACE) {\n return;\n }\n e.preventDefault();\n this.handleNextClick();\n };\n\n handlePreviousKeyDown = e => {\n if (e.keyCode !== ENTER && e.keyCode !== SPACE) {\n return;\n }\n e.preventDefault();\n this.handlePreviousClick();\n };\n\n render() {\n const {\n classNames,\n className,\n showPreviousButton,\n showNextButton,\n labels,\n dir,\n } = this.props;\n\n let previousClickHandler;\n let nextClickHandler;\n let previousKeyDownHandler;\n let nextKeyDownHandler;\n let shouldShowPrevious;\n let shouldShowNext;\n\n if (dir === 'rtl') {\n previousClickHandler = this.handleNextClick;\n nextClickHandler = this.handlePreviousClick;\n previousKeyDownHandler = this.handleNextKeyDown;\n nextKeyDownHandler = this.handlePreviousKeyDown;\n shouldShowNext = showPreviousButton;\n shouldShowPrevious = showNextButton;\n } else {\n previousClickHandler = this.handlePreviousClick;\n nextClickHandler = this.handleNextClick;\n previousKeyDownHandler = this.handlePreviousKeyDown;\n nextKeyDownHandler = this.handleNextKeyDown;\n shouldShowNext = showNextButton;\n shouldShowPrevious = showPreviousButton;\n }\n\n const previousClassName = shouldShowPrevious\n ? classNames.navButtonPrev\n : `${classNames.navButtonPrev} ${classNames.navButtonInteractionDisabled}`;\n\n const nextClassName = shouldShowNext\n ? classNames.navButtonNext\n : `${classNames.navButtonNext} ${classNames.navButtonInteractionDisabled}`;\n\n const previousButton = (\n \n );\n\n const nextButton = (\n \n );\n\n return (\n \n {dir === 'rtl'\n ? [nextButton, previousButton]\n : [previousButton, nextButton]}\n
\n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Navbar.js","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Weekdays from './Weekdays';\nimport Day from './Day';\nimport { ENTER } from './keys';\n\nimport * as ModifiersUtils from './ModifiersUtils';\nimport * as Helpers from './Helpers';\nimport * as DateUtils from './DateUtils';\n\nexport default class Month extends Component {\n static propTypes = {\n classNames: PropTypes.shape({\n body: PropTypes.string.isRequired,\n month: PropTypes.string.isRequired,\n outside: PropTypes.string.isRequired,\n today: PropTypes.string.isRequired,\n week: PropTypes.string.isRequired,\n weekNumber: PropTypes.string.isRequired,\n disabled: PropTypes.string.isRequired,\n selected: PropTypes.string.isRequired,\n }).isRequired,\n tabIndex: PropTypes.number,\n\n month: PropTypes.instanceOf(Date).isRequired,\n months: PropTypes.arrayOf(PropTypes.string),\n\n modifiersStyles: PropTypes.object,\n\n showWeekDays: PropTypes.bool,\n showOutsideDays: PropTypes.bool,\n\n renderDay: PropTypes.func.isRequired,\n renderWeek: PropTypes.func.isRequired,\n\n captionElement: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.instanceOf(React.Component),\n ]).isRequired,\n weekdayElement: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.instanceOf(React.Component),\n ]),\n\n fixedWeeks: PropTypes.bool,\n showWeekNumbers: PropTypes.bool,\n\n locale: PropTypes.string.isRequired,\n localeUtils: PropTypes.object.isRequired,\n weekdaysLong: PropTypes.arrayOf(PropTypes.string),\n weekdaysShort: PropTypes.arrayOf(PropTypes.string),\n firstDayOfWeek: PropTypes.number.isRequired,\n\n onCaptionClick: PropTypes.func,\n onDayClick: PropTypes.func,\n onDayFocus: PropTypes.func,\n onDayKeyDown: PropTypes.func,\n onDayMouseEnter: PropTypes.func,\n onDayMouseLeave: PropTypes.func,\n onDayMouseDown: PropTypes.func,\n onDayMouseUp: PropTypes.func,\n onDayTouchEnd: PropTypes.func,\n onDayTouchStart: PropTypes.func,\n onWeekClick: PropTypes.func,\n };\n\n renderDay = day => {\n const monthNumber = this.props.month.getMonth();\n const propModifiers = Helpers.getModifiersFromProps(this.props);\n const dayModifiers = ModifiersUtils.getModifiersForDay(day, propModifiers);\n if (\n DateUtils.isSameDay(day, new Date()) &&\n !Object.prototype.hasOwnProperty.call(\n propModifiers,\n this.props.classNames.today\n )\n ) {\n dayModifiers.push(this.props.classNames.today);\n }\n if (day.getMonth() !== monthNumber) {\n dayModifiers.push(this.props.classNames.outside);\n }\n\n const isOutside = day.getMonth() !== monthNumber;\n let tabIndex = -1;\n // Focus on the first day of the month\n if (this.props.onDayClick && !isOutside && day.getDate() === 1) {\n tabIndex = this.props.tabIndex; // eslint-disable-line prefer-destructuring\n }\n const key = `${day.getFullYear()}${day.getMonth()}${day.getDate()}`;\n const modifiers = {};\n dayModifiers.forEach(modifier => {\n modifiers[modifier] = true;\n });\n\n return (\n -1\n }\n ariaSelected={dayModifiers.indexOf(this.props.classNames.selected) > -1}\n onClick={this.props.onDayClick}\n onFocus={this.props.onDayFocus}\n onKeyDown={this.props.onDayKeyDown}\n onMouseEnter={this.props.onDayMouseEnter}\n onMouseLeave={this.props.onDayMouseLeave}\n onMouseDown={this.props.onDayMouseDown}\n onMouseUp={this.props.onDayMouseUp}\n onTouchEnd={this.props.onDayTouchEnd}\n onTouchStart={this.props.onDayTouchStart}\n >\n {this.props.renderDay(day, modifiers)}\n \n );\n };\n\n render() {\n const {\n classNames,\n\n month,\n months,\n\n fixedWeeks,\n captionElement,\n weekdayElement,\n\n locale,\n localeUtils,\n weekdaysLong,\n weekdaysShort,\n firstDayOfWeek,\n\n onCaptionClick,\n\n showWeekNumbers,\n showWeekDays,\n onWeekClick,\n } = this.props;\n\n const captionProps = {\n date: month,\n classNames,\n months,\n localeUtils,\n locale,\n onClick: onCaptionClick ? e => onCaptionClick(month, e) : undefined,\n };\n const caption = React.isValidElement(captionElement)\n ? React.cloneElement(captionElement, captionProps)\n : React.createElement(captionElement, captionProps);\n\n const weeks = Helpers.getWeekArray(month, firstDayOfWeek, fixedWeeks);\n return (\n \n {caption}\n {showWeekDays && (\n
\n )}\n
\n {weeks.map(week => {\n let weekNumber;\n if (showWeekNumbers) {\n weekNumber = DateUtils.getWeekNumber(week[6]);\n }\n return (\n
\n {showWeekNumbers && (\n
onWeekClick(weekNumber, week, e)\n : undefined\n }\n onKeyUp={\n onWeekClick\n ? e =>\n e.keyCode === ENTER &&\n onWeekClick(weekNumber, week, e)\n : undefined\n }\n >\n {this.props.renderWeek(weekNumber, week, month)}\n
\n )}\n {week.map(this.renderDay)}\n
\n );\n })}\n
\n
\n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Month.js","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Weekdays extends Component {\n static propTypes = {\n classNames: PropTypes.shape({\n weekday: PropTypes.string.isRequired,\n weekdays: PropTypes.string.isRequired,\n weekdaysRow: PropTypes.string.isRequired,\n }).isRequired,\n\n firstDayOfWeek: PropTypes.number.isRequired,\n weekdaysLong: PropTypes.arrayOf(PropTypes.string),\n weekdaysShort: PropTypes.arrayOf(PropTypes.string),\n showWeekNumbers: PropTypes.bool,\n locale: PropTypes.string.isRequired,\n localeUtils: PropTypes.object.isRequired,\n weekdayElement: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.instanceOf(React.Component),\n ]),\n };\n\n shouldComponentUpdate(nextProps) {\n return this.props !== nextProps;\n }\n\n render() {\n const {\n classNames,\n firstDayOfWeek,\n showWeekNumbers,\n weekdaysLong,\n weekdaysShort,\n locale,\n localeUtils,\n weekdayElement,\n } = this.props;\n const days = [];\n for (let i = 0; i < 7; i += 1) {\n const weekday = (i + firstDayOfWeek) % 7;\n const elementProps = {\n key: i,\n className: classNames.weekday,\n weekday,\n weekdaysLong,\n weekdaysShort,\n localeUtils,\n locale,\n };\n const element = React.isValidElement(weekdayElement)\n ? React.cloneElement(weekdayElement, elementProps)\n : React.createElement(weekdayElement, elementProps);\n days.push(element);\n }\n\n return (\n \n
\n {showWeekNumbers &&
}\n {days}\n
\n
\n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Weekdays.js","/* eslint-disable jsx-a11y/no-static-element-interactions, react/forbid-prop-types */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { isSameDay } from './DateUtils';\nimport { hasOwnProp } from './Helpers';\n\nimport defaultClassNames from './classNames';\n\nfunction handleEvent(handler, day, modifiers) {\n if (!handler) {\n return undefined;\n }\n return e => {\n e.persist();\n handler(day, modifiers, e);\n };\n}\n\nexport default class Day extends Component {\n static propTypes = {\n classNames: PropTypes.shape({\n day: PropTypes.string.isRequired,\n }).isRequired,\n\n day: PropTypes.instanceOf(Date).isRequired,\n children: PropTypes.node.isRequired,\n\n ariaDisabled: PropTypes.bool,\n ariaLabel: PropTypes.string,\n ariaSelected: PropTypes.bool,\n empty: PropTypes.bool,\n modifiers: PropTypes.object,\n modifiersStyles: PropTypes.object,\n onClick: PropTypes.func,\n onKeyDown: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseDown: PropTypes.func,\n onMouseUp: PropTypes.func,\n onTouchEnd: PropTypes.func,\n onTouchStart: PropTypes.func,\n onFocus: PropTypes.func,\n tabIndex: PropTypes.number,\n };\n\n static defaultProps = {\n tabIndex: -1,\n };\n\n static defaultProps = {\n modifiers: {},\n modifiersStyles: {},\n empty: false,\n };\n\n shouldComponentUpdate(nextProps) {\n const propNames = Object.keys(this.props);\n const nextPropNames = Object.keys(nextProps);\n if (propNames.length !== nextPropNames.length) {\n return true;\n }\n return propNames.some(name => {\n if (\n name === 'modifiers' ||\n name === 'modifiersStyles' ||\n name === 'classNames'\n ) {\n const prop = this.props[name];\n const nextProp = nextProps[name];\n const modifiers = Object.keys(prop);\n const nextModifiers = Object.keys(nextProp);\n if (modifiers.length !== nextModifiers.length) {\n return true;\n }\n return modifiers.some(\n mod => !hasOwnProp(nextProp, mod) || prop[mod] !== nextProp[mod]\n );\n }\n if (name === 'day') {\n return !isSameDay(this.props[name], nextProps[name]);\n }\n return (\n !hasOwnProp(nextProps, name) || this.props[name] !== nextProps[name]\n );\n });\n }\n\n render() {\n const {\n classNames,\n modifiersStyles,\n day,\n tabIndex,\n empty,\n modifiers,\n onMouseEnter,\n onMouseLeave,\n onMouseUp,\n onMouseDown,\n onClick,\n onKeyDown,\n onTouchStart,\n onTouchEnd,\n onFocus,\n ariaLabel,\n ariaDisabled,\n ariaSelected,\n children,\n } = this.props;\n\n let className = classNames.day;\n if (classNames !== defaultClassNames) {\n // When using CSS modules prefix the modifier as required by the BEM syntax\n className += ` ${Object.keys(modifiers).join(' ')}`;\n } else {\n className += Object.keys(modifiers)\n .map(modifier => ` ${className}--${modifier}`)\n .join('');\n }\n\n let style;\n if (modifiersStyles) {\n Object.keys(modifiers)\n .filter(modifier => !!modifiersStyles[modifier])\n .forEach(modifier => {\n style = { ...style, ...modifiersStyles[modifier] };\n });\n }\n\n if (empty) {\n return ;\n }\n return (\n \n {children}\n
\n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Day.js","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Weekday extends Component {\n static propTypes = {\n weekday: PropTypes.number,\n className: PropTypes.string,\n locale: PropTypes.string,\n localeUtils: PropTypes.object,\n\n weekdaysLong: PropTypes.arrayOf(PropTypes.string),\n weekdaysShort: PropTypes.arrayOf(PropTypes.string),\n };\n\n shouldComponentUpdate(nextProps) {\n return this.props !== nextProps;\n }\n\n render() {\n const {\n weekday,\n className,\n weekdaysLong,\n weekdaysShort,\n localeUtils,\n locale,\n } = this.props;\n let title;\n if (weekdaysLong) {\n title = weekdaysLong[weekday];\n } else {\n title = localeUtils.formatWeekdayLong(weekday, locale);\n }\n let content;\n if (weekdaysShort) {\n content = weekdaysShort[weekday];\n } else {\n content = localeUtils.formatWeekdayShort(weekday, locale);\n }\n\n return (\n \n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Weekday.js","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport DayPicker from './DayPicker';\nimport { isSameMonth, isDate } from './DateUtils';\nimport { getModifiersForDay } from './ModifiersUtils';\nimport { ESC, TAB } from './keys';\n\n// When clicking on a day cell, overlay will be hidden after this timeout\nexport const HIDE_TIMEOUT = 100;\n\n/**\n * The default component used as Overlay.\n *\n * @param {Object} props\n */\nexport function OverlayComponent({\n input,\n selectedDay,\n month,\n children,\n classNames,\n ...props\n}) {\n return (\n \n );\n}\n\nOverlayComponent.propTypes = {\n input: PropTypes.any,\n selectedDay: PropTypes.any,\n month: PropTypes.instanceOf(Date),\n children: PropTypes.node,\n classNames: PropTypes.object,\n};\n\n/**\n * The default function used to format a Date to String, passed to the `format`\n * prop.\n * @param {Date} d\n * @return {String}\n */\nexport function defaultFormat(d) {\n if (isDate(d)) {\n const year = d.getFullYear();\n const month = `${d.getMonth() + 1}`;\n const day = `${d.getDate()}`;\n return `${year}-${month}-${day}`;\n }\n return '';\n}\n\n/**\n * The default function used to parse a String as Date, passed to the `parse`\n * prop.\n * @param {String} str\n * @return {Date}\n */\nexport function defaultParse(str) {\n if (typeof str !== 'string') {\n return undefined;\n }\n const split = str.split('-');\n if (split.length !== 3) {\n return undefined;\n }\n const year = parseInt(split[0], 10);\n const month = parseInt(split[1], 10) - 1;\n const day = parseInt(split[2], 10);\n if (\n isNaN(year) ||\n String(year).length > 4 ||\n isNaN(month) ||\n isNaN(day) ||\n day <= 0 ||\n day > 31 ||\n month < 0 ||\n month >= 12\n ) {\n return undefined;\n }\n\n return new Date(year, month, day, 12, 0, 0, 0); // always set noon to avoid time zone issues\n}\n\nexport default class DayPickerInput extends React.Component {\n input = null;\n\n daypicker = null;\n\n clickTimeout = null;\n\n hideTimeout = null;\n\n inputBlurTimeout = null;\n\n inputFocusTimeout = null;\n\n static propTypes = {\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.instanceOf(Date)]),\n inputProps: PropTypes.object,\n placeholder: PropTypes.string,\n\n format: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n\n formatDate: PropTypes.func,\n parseDate: PropTypes.func,\n typedValue: PropTypes.string,\n\n showOverlay: PropTypes.bool,\n dayPickerProps: PropTypes.object,\n hideOnDayClick: PropTypes.bool,\n clickUnselectsDay: PropTypes.bool,\n keepFocus: PropTypes.bool,\n component: PropTypes.any,\n overlayComponent: PropTypes.any,\n\n style: PropTypes.object,\n classNames: PropTypes.shape({\n container: PropTypes.string,\n overlayWrapper: PropTypes.string,\n overlay: PropTypes.string.isRequired,\n }),\n\n onDayChange: PropTypes.func,\n onDayPickerHide: PropTypes.func,\n onDayPickerShow: PropTypes.func,\n onChange: PropTypes.func,\n onClick: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onKeyUp: PropTypes.func,\n };\n\n static defaultProps = {\n dayPickerProps: {},\n value: '',\n typedValue: '',\n placeholder: 'YYYY-M-D',\n format: 'L',\n formatDate: defaultFormat,\n parseDate: defaultParse,\n showOverlay: false,\n hideOnDayClick: true,\n clickUnselectsDay: false,\n keepFocus: true,\n component: 'input',\n inputProps: {},\n overlayComponent: OverlayComponent,\n classNames: {\n container: 'DayPickerInput',\n overlayWrapper: 'DayPickerInput-OverlayWrapper',\n overlay: 'DayPickerInput-Overlay',\n },\n };\n\n constructor(props) {\n super(props);\n\n this.state = this.getInitialStateFromProps(props);\n this.state.showOverlay = props.showOverlay;\n\n this.hideAfterDayClick = this.hideAfterDayClick.bind(this);\n this.handleInputClick = this.handleInputClick.bind(this);\n this.handleInputFocus = this.handleInputFocus.bind(this);\n this.handleInputBlur = this.handleInputBlur.bind(this);\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleInputKeyDown = this.handleInputKeyDown.bind(this);\n this.handleInputKeyUp = this.handleInputKeyUp.bind(this);\n this.handleDayClick = this.handleDayClick.bind(this);\n this.handleMonthChange = this.handleMonthChange.bind(this);\n this.handleOverlayFocus = this.handleOverlayFocus.bind(this);\n this.handleOverlayBlur = this.handleOverlayBlur.bind(this);\n }\n\n componentDidUpdate(prevProps) {\n const newState = {};\n\n // Current props\n const { value, formatDate, format, dayPickerProps } = this.props;\n\n // Update the input value if `value`, `dayPickerProps.locale` or `format`\n // props have changed\n if (\n value !== prevProps.value ||\n dayPickerProps.locale !== prevProps.dayPickerProps.locale ||\n format !== prevProps.format\n ) {\n if (isDate(value)) {\n newState.value = formatDate(value, format, dayPickerProps.locale);\n } else {\n newState.value = value;\n }\n }\n\n // Update the month if the months from props changed\n const prevMonth = prevProps.dayPickerProps.month;\n if (\n dayPickerProps.month &&\n dayPickerProps.month !== prevMonth &&\n !isSameMonth(dayPickerProps.month, prevMonth)\n ) {\n newState.month = dayPickerProps.month;\n }\n\n // Updated the selected days from props if they changed\n if (prevProps.dayPickerProps.selectedDays !== dayPickerProps.selectedDays) {\n newState.selectedDays = dayPickerProps.selectedDays;\n }\n\n if (Object.keys(newState).length > 0) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState(newState);\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this.clickTimeout);\n clearTimeout(this.hideTimeout);\n clearTimeout(this.inputFocusTimeout);\n clearTimeout(this.inputBlurTimeout);\n clearTimeout(this.overlayBlurTimeout);\n }\n\n getInitialMonthFromProps(props) {\n const { dayPickerProps, format } = props;\n let day;\n if (props.value) {\n if (isDate(props.value)) {\n day = props.value;\n } else {\n day = props.parseDate(props.value, format, dayPickerProps.locale);\n }\n }\n return (\n dayPickerProps.initialMonth || dayPickerProps.month || day || new Date()\n );\n }\n\n getInitialStateFromProps(props) {\n const { dayPickerProps, formatDate, format, typedValue } = props;\n let { value } = props;\n if (props.value && isDate(props.value)) {\n value = formatDate(props.value, format, dayPickerProps.locale);\n }\n\n return {\n value,\n typedValue,\n month: this.getInitialMonthFromProps(props),\n selectedDays: dayPickerProps.selectedDays,\n };\n }\n\n getInput() {\n return this.input;\n }\n\n getDayPicker() {\n return this.daypicker;\n }\n\n /**\n * Update the component's state and fire the `onDayChange` event passing the\n * day's modifiers to it.\n *\n * @param {Date} day - Will be used for changing the month\n * @param {String} value - Input field value\n * @private\n */\n updateState(day, value, callback) {\n const { dayPickerProps, onDayChange } = this.props;\n this.setState({ month: day, value, typedValue: '' }, () => {\n if (callback) {\n callback();\n }\n if (!onDayChange) {\n return;\n }\n const modifiersObj = {\n disabled: dayPickerProps.disabledDays,\n selected: dayPickerProps.selectedDays,\n ...dayPickerProps.modifiers,\n };\n const modifiers = getModifiersForDay(day, modifiersObj).reduce(\n (obj, modifier) => ({\n ...obj,\n [modifier]: true,\n }),\n {}\n );\n onDayChange(day, modifiers, this);\n });\n }\n\n /**\n * Show the Day Picker overlay.\n *\n * @memberof DayPickerInput\n */\n showDayPicker() {\n const { parseDate, format, dayPickerProps } = this.props;\n const { value, showOverlay } = this.state;\n if (showOverlay) {\n return;\n }\n // Reset the current displayed month when showing the overlay\n const month = value\n ? parseDate(value, format, dayPickerProps.locale) // Use the month in the input field\n : this.getInitialMonthFromProps(this.props); // Restore the month from the props\n this.setState(\n state => ({\n showOverlay: true,\n month: month || state.month,\n }),\n () => {\n if (this.props.onDayPickerShow) this.props.onDayPickerShow();\n }\n );\n }\n\n /**\n * Hide the Day Picker overlay\n *\n * @memberof DayPickerInput\n */\n hideDayPicker() {\n if (this.state.showOverlay === false) {\n return;\n }\n this.setState({ showOverlay: false }, () => {\n if (this.props.onDayPickerHide) this.props.onDayPickerHide();\n });\n }\n\n hideAfterDayClick() {\n if (!this.props.hideOnDayClick) {\n return;\n }\n this.hideTimeout = setTimeout(() => {\n this.overlayHasFocus = false;\n this.hideDayPicker();\n }, HIDE_TIMEOUT);\n }\n\n handleInputClick(e) {\n this.showDayPicker();\n if (this.props.inputProps.onClick) {\n e.persist();\n this.props.inputProps.onClick(e);\n }\n }\n\n handleInputFocus(e) {\n this.showDayPicker();\n // Set `overlayHasFocus` after a timeout so the overlay can be hidden when\n // the input is blurred\n this.inputFocusTimeout = setTimeout(() => {\n this.overlayHasFocus = false;\n }, 2);\n if (this.props.inputProps.onFocus) {\n e.persist();\n this.props.inputProps.onFocus(e);\n }\n }\n\n // When the input is blurred, the overlay should disappear. However the input\n // is blurred also when the user interacts with the overlay (e.g. the overlay\n // get the focus by clicking it). In these cases, the overlay should not be\n // hidden. There are different approaches to avoid hiding the overlay when\n // this happens, but the only cross-browser hack we’ve found is to set all\n // these timeouts in code before changing `overlayHasFocus`.\n handleInputBlur(e) {\n this.inputBlurTimeout = setTimeout(() => {\n if (!this.overlayHasFocus) {\n this.hideDayPicker();\n }\n }, 1);\n if (this.props.inputProps.onBlur) {\n e.persist();\n this.props.inputProps.onBlur(e);\n }\n }\n\n handleOverlayFocus(e) {\n e.preventDefault();\n this.overlayHasFocus = true;\n if (\n !this.props.keepFocus ||\n !this.input ||\n typeof this.input.focus !== 'function'\n ) {\n return;\n }\n this.input.focus();\n }\n\n handleOverlayBlur() {\n // We need to set a timeout otherwise IE11 will hide the overlay when\n // focusing it\n this.overlayBlurTimeout = setTimeout(() => {\n this.overlayHasFocus = false;\n }, 3);\n }\n\n handleInputChange(e) {\n const {\n dayPickerProps,\n format,\n inputProps,\n onDayChange,\n parseDate,\n } = this.props;\n if (inputProps.onChange) {\n e.persist();\n inputProps.onChange(e);\n }\n const { value } = e.target;\n if (value.trim() === '') {\n this.setState({ value, typedValue: '' });\n if (onDayChange) onDayChange(undefined, {}, this);\n return;\n }\n const day = parseDate(value, format, dayPickerProps.locale);\n if (!day) {\n // Day is invalid: we save the value in the typedValue state\n this.setState({ value, typedValue: value });\n if (onDayChange) onDayChange(undefined, {}, this);\n return;\n }\n this.updateState(day, value);\n }\n\n handleInputKeyDown(e) {\n if (e.keyCode === TAB) {\n this.hideDayPicker();\n } else {\n this.showDayPicker();\n }\n if (this.props.inputProps.onKeyDown) {\n e.persist();\n this.props.inputProps.onKeyDown(e);\n }\n }\n\n handleInputKeyUp(e) {\n if (e.keyCode === ESC) {\n this.hideDayPicker();\n } else {\n this.showDayPicker();\n }\n if (this.props.inputProps.onKeyUp) {\n e.persist();\n this.props.inputProps.onKeyUp(e);\n }\n }\n\n handleMonthChange(month) {\n this.setState({ month }, () => {\n if (\n this.props.dayPickerProps &&\n this.props.dayPickerProps.onMonthChange\n ) {\n this.props.dayPickerProps.onMonthChange(month);\n }\n });\n }\n\n handleDayClick(day, modifiers, e) {\n const {\n clickUnselectsDay,\n dayPickerProps,\n onDayChange,\n formatDate,\n format,\n } = this.props;\n if (dayPickerProps.onDayClick) {\n dayPickerProps.onDayClick(day, modifiers, e);\n }\n\n // Do nothing if the day is disabled\n if (\n modifiers.disabled ||\n (dayPickerProps &&\n dayPickerProps.classNames &&\n modifiers[dayPickerProps.classNames.disabled])\n ) {\n return;\n }\n\n // If the clicked day is already selected, remove the clicked day\n // from the selected days and empty the field value\n if (modifiers.selected && clickUnselectsDay) {\n let { selectedDays } = this.state;\n if (Array.isArray(selectedDays)) {\n selectedDays = selectedDays.slice(0);\n const selectedDayIdx = selectedDays.indexOf(day);\n selectedDays.splice(selectedDayIdx, 1);\n } else if (selectedDays) {\n selectedDays = null;\n }\n\n this.setState(\n { value: '', typedValue: '', selectedDays },\n this.hideAfterDayClick\n );\n\n if (onDayChange) {\n onDayChange(undefined, modifiers, this);\n }\n return;\n }\n\n const value = formatDate(day, format, dayPickerProps.locale);\n this.setState({ value, typedValue: '', month: day }, () => {\n if (onDayChange) {\n onDayChange(day, modifiers, this);\n }\n this.hideAfterDayClick();\n });\n }\n\n renderOverlay() {\n const {\n classNames,\n dayPickerProps,\n parseDate,\n formatDate,\n format,\n } = this.props;\n const { selectedDays, value } = this.state;\n let selectedDay;\n if (!selectedDays && value) {\n const day = parseDate(value, format, dayPickerProps.locale);\n if (day) {\n selectedDay = day;\n }\n } else if (selectedDays) {\n selectedDay = selectedDays;\n }\n let onTodayButtonClick;\n if (dayPickerProps.todayButton) {\n // Set the current day when clicking the today button\n onTodayButtonClick = () =>\n this.updateState(\n new Date(),\n formatDate(new Date(), format, dayPickerProps.locale),\n this.hideAfterDayClick\n );\n }\n const Overlay = this.props.overlayComponent;\n return (\n \n (this.daypicker = el)}\n onTodayButtonClick={onTodayButtonClick}\n {...dayPickerProps}\n month={this.state.month}\n selectedDays={selectedDay}\n onDayClick={this.handleDayClick}\n onMonthChange={this.handleMonthChange}\n />\n \n );\n }\n\n render() {\n const Input = this.props.component;\n const { inputProps } = this.props;\n return (\n \n (this.input = el)}\n placeholder={this.props.placeholder}\n {...inputProps}\n value={this.state.value || this.state.typedValue}\n onChange={this.handleInputChange}\n onFocus={this.handleInputFocus}\n onBlur={this.handleInputBlur}\n onKeyDown={this.handleInputKeyDown}\n onKeyUp={this.handleInputKeyUp}\n onClick={!inputProps.disabled ? this.handleInputClick : undefined}\n />\n {this.state.showOverlay && this.renderOverlay()}\n
\n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/DayPickerInput.js","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\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 _typeof(obj) { 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 _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 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; }\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 _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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 _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\nvar DEFAULT_PLACEHOLDER_STRING = 'Select...';\n\nvar Dropdown =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Dropdown, _Component);\n\n function Dropdown(props) {\n var _this;\n\n _classCallCheck(this, Dropdown);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Dropdown).call(this, props));\n _this.state = {\n selected: _this.parseValue(props.value, props.options) || {\n label: typeof props.placeholder === 'undefined' ? DEFAULT_PLACEHOLDER_STRING : props.placeholder,\n value: ''\n },\n isOpen: false\n };\n _this.dropdownRef = (0, _react.createRef)();\n _this.mounted = true;\n _this.handleDocumentClick = _this.handleDocumentClick.bind(_assertThisInitialized(_this));\n _this.fireChangeEvent = _this.fireChangeEvent.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(Dropdown, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (this.props.value !== prevProps.value) {\n if (this.props.value) {\n var selected = this.parseValue(this.props.value, this.props.options);\n\n if (selected !== this.state.selected) {\n this.setState({\n selected: selected\n });\n }\n } else {\n this.setState({\n selected: {\n label: typeof this.props.placeholder === 'undefined' ? DEFAULT_PLACEHOLDER_STRING : this.props.placeholder,\n value: ''\n }\n });\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, false);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, false);\n }\n }, {\n key: \"handleMouseDown\",\n value: function handleMouseDown(event) {\n if (this.props.onFocus && typeof this.props.onFocus === 'function') {\n this.props.onFocus(this.state.isOpen);\n }\n\n if (event.type === 'mousedown' && event.button !== 0) return;\n event.stopPropagation();\n event.preventDefault();\n\n if (!this.props.disabled) {\n this.setState({\n isOpen: !this.state.isOpen\n });\n }\n }\n }, {\n key: \"parseValue\",\n value: function parseValue(value, options) {\n var option;\n\n if (typeof value === 'string') {\n for (var i = 0, num = options.length; i < num; i++) {\n if (options[i].type === 'group') {\n var match = options[i].items.filter(function (item) {\n return item.value === value;\n });\n\n if (match.length) {\n option = match[0];\n }\n } else if (typeof options[i].value !== 'undefined' && options[i].value === value) {\n option = options[i];\n }\n }\n }\n\n return option || value;\n }\n }, {\n key: \"setValue\",\n value: function setValue(value, label) {\n var newState = {\n selected: {\n value: value,\n label: label\n },\n isOpen: false\n };\n this.fireChangeEvent(newState);\n this.setState(newState);\n }\n }, {\n key: \"fireChangeEvent\",\n value: function fireChangeEvent(newState) {\n if (newState.selected !== this.state.selected && this.props.onChange) {\n this.props.onChange(newState.selected);\n }\n }\n }, {\n key: \"renderOption\",\n value: function renderOption(option) {\n var _classes;\n\n var value = option.value;\n\n if (typeof value === 'undefined') {\n value = option.label || option;\n }\n\n var label = option.label || option.value || option;\n var isSelected = value === this.state.selected.value || value === this.state.selected;\n var classes = (_classes = {}, _defineProperty(_classes, \"\".concat(this.props.baseClassName, \"-option\"), true), _defineProperty(_classes, option.className, !!option.className), _defineProperty(_classes, 'is-selected', isSelected), _classes);\n var optionClass = (0, _classnames[\"default\"])(classes);\n var dataAttributes = Object.keys(option.data || {}).reduce(function (acc, dataKey) {\n return _objectSpread({}, acc, _defineProperty({}, \"data-\".concat(dataKey), option.data[dataKey]));\n }, {});\n return _react[\"default\"].createElement(\"div\", _extends({\n key: value,\n className: optionClass,\n onMouseDown: this.setValue.bind(this, value, label),\n onClick: this.setValue.bind(this, value, label),\n role: \"option\",\n \"aria-selected\": isSelected ? 'true' : 'false'\n }, dataAttributes), label);\n }\n }, {\n key: \"buildMenu\",\n value: function buildMenu() {\n var _this2 = this;\n\n var _this$props = this.props,\n options = _this$props.options,\n baseClassName = _this$props.baseClassName;\n var ops = options.map(function (option) {\n if (option.type === 'group') {\n var groupTitle = _react[\"default\"].createElement(\"div\", {\n className: \"\".concat(baseClassName, \"-title\")\n }, option.name);\n\n var _options = option.items.map(function (item) {\n return _this2.renderOption(item);\n });\n\n return _react[\"default\"].createElement(\"div\", {\n className: \"\".concat(baseClassName, \"-group\"),\n key: option.name,\n role: \"listbox\",\n tabIndex: \"-1\"\n }, groupTitle, _options);\n } else {\n return _this2.renderOption(option);\n }\n });\n return ops.length ? ops : _react[\"default\"].createElement(\"div\", {\n className: \"\".concat(baseClassName, \"-noresults\")\n }, \"No options found\");\n }\n }, {\n key: \"handleDocumentClick\",\n value: function handleDocumentClick(event) {\n if (this.mounted) {\n if (!this.dropdownRef.current.contains(event.target)) {\n if (this.state.isOpen) {\n this.setState({\n isOpen: false\n });\n }\n }\n }\n }\n }, {\n key: \"isValueSelected\",\n value: function isValueSelected() {\n return typeof this.state.selected === 'string' || this.state.selected.value !== '';\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames, _classNames2, _classNames3, _classNames4, _classNames5;\n\n var _this$props2 = this.props,\n baseClassName = _this$props2.baseClassName,\n controlClassName = _this$props2.controlClassName,\n placeholderClassName = _this$props2.placeholderClassName,\n menuClassName = _this$props2.menuClassName,\n arrowClassName = _this$props2.arrowClassName,\n arrowClosed = _this$props2.arrowClosed,\n arrowOpen = _this$props2.arrowOpen,\n className = _this$props2.className;\n var disabledClass = this.props.disabled ? 'Dropdown-disabled' : '';\n var placeHolderValue = typeof this.state.selected === 'string' ? this.state.selected : this.state.selected.label;\n var dropdownClass = (0, _classnames[\"default\"])((_classNames = {}, _defineProperty(_classNames, \"\".concat(baseClassName, \"-root\"), true), _defineProperty(_classNames, className, !!className), _defineProperty(_classNames, 'is-open', this.state.isOpen), _classNames));\n var controlClass = (0, _classnames[\"default\"])((_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(baseClassName, \"-control\"), true), _defineProperty(_classNames2, controlClassName, !!controlClassName), _defineProperty(_classNames2, disabledClass, !!disabledClass), _classNames2));\n var placeholderClass = (0, _classnames[\"default\"])((_classNames3 = {}, _defineProperty(_classNames3, \"\".concat(baseClassName, \"-placeholder\"), true), _defineProperty(_classNames3, placeholderClassName, !!placeholderClassName), _defineProperty(_classNames3, 'is-selected', this.isValueSelected()), _classNames3));\n var menuClass = (0, _classnames[\"default\"])((_classNames4 = {}, _defineProperty(_classNames4, \"\".concat(baseClassName, \"-menu\"), true), _defineProperty(_classNames4, menuClassName, !!menuClassName), _classNames4));\n var arrowClass = (0, _classnames[\"default\"])((_classNames5 = {}, _defineProperty(_classNames5, \"\".concat(baseClassName, \"-arrow\"), true), _defineProperty(_classNames5, arrowClassName, !!arrowClassName), _classNames5));\n\n var value = _react[\"default\"].createElement(\"div\", {\n className: placeholderClass\n }, placeHolderValue);\n\n var menu = this.state.isOpen ? _react[\"default\"].createElement(\"div\", {\n className: menuClass,\n \"aria-expanded\": \"true\"\n }, this.buildMenu()) : null;\n return _react[\"default\"].createElement(\"div\", {\n ref: this.dropdownRef,\n className: dropdownClass\n }, _react[\"default\"].createElement(\"div\", {\n className: controlClass,\n onMouseDown: this.handleMouseDown.bind(this),\n onTouchEnd: this.handleMouseDown.bind(this),\n \"aria-haspopup\": \"listbox\"\n }, value, _react[\"default\"].createElement(\"div\", {\n className: \"\".concat(baseClassName, \"-arrow-wrapper\")\n }, arrowOpen && arrowClosed ? this.state.isOpen ? arrowOpen : arrowClosed : _react[\"default\"].createElement(\"span\", {\n className: arrowClass\n }))), menu);\n }\n }]);\n\n return Dropdown;\n}(_react.Component);\n\nDropdown.defaultProps = {\n baseClassName: 'Dropdown'\n};\nvar _default = Dropdown;\nexports[\"default\"] = _default;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.Facebook = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _singlePlayer = _interopRequireDefault(require(\"../singlePlayer\"));\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 _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 _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 _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { 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 _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 _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 MATCH_URL = /^https?:\\/\\/(www\\.)?facebook\\.com.*\\/(video(s)?|watch|story)(\\.php?|\\/).+$/;\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.facebook.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: \"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.facebook.appId,\n xfbml: true,\n version: _this2.props.config.facebook.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 // Player is muted by default\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 style = {\n width: '100%',\n height: '100%'\n };\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\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 });\n }\n }]);\n\n return Facebook;\n}(_react.Component);\n\nexports.Facebook = Facebook;\n\n_defineProperty(Facebook, \"displayName\", 'Facebook');\n\n_defineProperty(Facebook, \"canPlay\", function (url) {\n return MATCH_URL.test(url);\n});\n\n_defineProperty(Facebook, \"loopOnEnded\", true);\n\nvar _default = (0, _singlePlayer[\"default\"])(Facebook);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.Streamable = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _singlePlayer = _interopRequireDefault(require(\"../singlePlayer\"));\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 _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 _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 _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { 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 _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 _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';\nvar MATCH_URL = /streamable\\.com\\/([a-z0-9]+)$/;\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: \"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(MATCH_URL)[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.Streamable = Streamable;\n\n_defineProperty(Streamable, \"displayName\", 'Streamable');\n\n_defineProperty(Streamable, \"canPlay\", function (url) {\n return MATCH_URL.test(url);\n});\n\nvar _default = (0, _singlePlayer[\"default\"])(Streamable);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.Wistia = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _singlePlayer = _interopRequireDefault(require(\"../singlePlayer\"));\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 _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 _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 _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { 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 _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 _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 MATCH_URL = /(?:wistia\\.com|wi\\.st)\\/(?:medias|embed)\\/(.*)$/;\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), \"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: \"getID\",\n value: function getID(url) {\n return url && url.match(MATCH_URL)[1];\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 () {\n window._wq = window._wq || [];\n\n window._wq.push({\n id: _this2.getID(url),\n options: _objectSpread({\n autoPlay: playing,\n silentAutoPlay: 'allow',\n muted: muted,\n controlsVisibleOnLoad: controls\n }, config.wistia.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 id = this.getID(this.props.url);\n var className = \"wistia_embed wistia_async_\".concat(id);\n var style = {\n width: '100%',\n height: '100%'\n };\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n key: id,\n className: className,\n style: style\n });\n }\n }]);\n\n return Wistia;\n}(_react.Component);\n\nexports.Wistia = Wistia;\n\n_defineProperty(Wistia, \"displayName\", 'Wistia');\n\n_defineProperty(Wistia, \"canPlay\", function (url) {\n return MATCH_URL.test(url);\n});\n\n_defineProperty(Wistia, \"loopOnEnded\", true);\n\nvar _default = (0, _singlePlayer[\"default\"])(Wistia);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.Twitch = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _singlePlayer = _interopRequireDefault(require(\"../singlePlayer\"));\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 _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 _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 _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { 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 _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 _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 MATCH_VIDEO_URL = /(?:www\\.|go\\.)?twitch\\.tv\\/videos\\/(\\d+)($|\\?)/;\nvar MATCH_CHANNEL_URL = /(?:www\\.|go\\.)?twitch\\.tv\\/([a-z0-9_]+)($|\\?)/;\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.twitch.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: \"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 var isChannel = MATCH_CHANNEL_URL.test(url);\n var id = isChannel ? url.match(MATCH_CHANNEL_URL)[1] : url.match(MATCH_VIDEO_URL)[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 }, config.twitch.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.Twitch = Twitch;\n\n_defineProperty(Twitch, \"displayName\", 'Twitch');\n\n_defineProperty(Twitch, \"canPlay\", function (url) {\n return MATCH_VIDEO_URL.test(url) || MATCH_CHANNEL_URL.test(url);\n});\n\n_defineProperty(Twitch, \"loopOnEnded\", true);\n\nvar _default = (0, _singlePlayer[\"default\"])(Twitch);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.Mixcloud = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _singlePlayer = _interopRequireDefault(require(\"../singlePlayer\"));\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 _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 _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 _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { 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 _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 _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';\nvar MATCH_URL = /mixcloud\\.com\\/([^/]+\\/[^/]+)/;\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: \"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(MATCH_URL)[1];\n var style = {\n width: '100%',\n height: '100%'\n };\n var query = (0, _utils.queryString)(_objectSpread({}, config.mixcloud.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.Mixcloud = Mixcloud;\n\n_defineProperty(Mixcloud, \"displayName\", 'Mixcloud');\n\n_defineProperty(Mixcloud, \"canPlay\", function (url) {\n return MATCH_URL.test(url);\n});\n\n_defineProperty(Mixcloud, \"loopOnEnded\", true);\n\nvar _default = (0, _singlePlayer[\"default\"])(Mixcloud);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.FilePlayer = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _singlePlayer = _interopRequireDefault(require(\"../singlePlayer\"));\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 _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 _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 _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { 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 _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 _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 _createForOfIteratorHelper(o) { if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) { 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 it, 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(n); 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 IOS = typeof navigator !== 'undefined' && /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\nvar AUDIO_EXTENSIONS = /\\.(m4a|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\\?)/i;\nvar VIDEO_EXTENSIONS = /\\.(mp4|og[gv]|webm|mov|m4v)($|\\?)/i;\nvar HLS_EXTENSIONS = /\\.(m3u8)($|\\?)/i;\nvar HLS_SDK_URL = 'https://cdn.jsdelivr.net/npm/hls.js@VERSION/dist/hls.min.js';\nvar HLS_GLOBAL = 'Hls';\nvar DASH_EXTENSIONS = /\\.(mpd)($|\\?)/i;\nvar DASH_SDK_URL = 'https://cdnjs.cloudflare.com/ajax/libs/dashjs/VERSION/dash.all.min.js';\nvar DASH_GLOBAL = 'dashjs';\nvar MATCH_DROPBOX_URL = /www\\.dropbox\\.com\\/.+/;\n\nfunction canPlay(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' && canPlay(item)) {\n return true;\n }\n\n if (canPlay(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)) {\n return true;\n }\n\n return AUDIO_EXTENSIONS.test(url) || VIDEO_EXTENSIONS.test(url) || HLS_EXTENSIONS.test(url) || DASH_EXTENSIONS.test(url);\n}\n\nfunction supportsWebKitPresentationMode(video) {\n if (!video) video = document.createElement('video'); // 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\n return video.webkitSupportsPresentationMode && typeof video.webkitSetPresentationMode === 'function' && !/iPhone|iPod/.test(navigator.userAgent);\n}\n\nfunction canEnablePIP(url) {\n return canPlay(url) && (!!document.pictureInPictureEnabled || supportsWebKitPresentationMode()) && !AUDIO_EXTENSIONS.test(url);\n}\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 && 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.addListeners(this.player);\n\n if (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);\n this.addListeners(this.player);\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 playsinline = this.props.playsinline;\n player.addEventListener('canplay', this.onReady);\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 (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) {\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 } // Proxy methods to prevent listener leaks\n\n }, {\n key: \"shouldUseAudio\",\n value: function shouldUseAudio(props) {\n if (props.config.file.forceVideo) {\n return false;\n }\n\n if (props.config.file.attributes.poster) {\n return false; // Use