{"version":3,"sources":["../src/Navbar.js"],"names":["Navbar","handleNextClick","props","onNextClick","handlePreviousClick","onPreviousClick","handleNextKeyDown","e","keyCode","ENTER","SPACE","preventDefault","handlePreviousKeyDown","nextProps","labels","dir","showPreviousButton","showNextButton","classNames","className","previousClickHandler","nextClickHandler","previousKeyDownHandler","nextKeyDownHandler","shouldShowPrevious","shouldShowNext","previousClassName","navButtonPrev","navButtonInteractionDisabled","nextClassName","navButtonNext","previousButton","previousMonth","undefined","nextButton","nextMonth","navBar","Component","propTypes","PropTypes","shape","string","isRequired","bool","func","defaultProps","defaultClassNames"],"mappings":"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","file":"Navbar.js","sourcesContent":["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"]}