{"version":3,"sources":["../src/Day.js"],"names":["handleEvent","handler","day","modifiers","undefined","e","persist","Day","nextProps","propNames","Object","keys","props","nextPropNames","length","some","name","prop","nextProp","nextModifiers","mod","classNames","modifiersStyles","tabIndex","empty","onMouseEnter","onMouseLeave","onMouseUp","onMouseDown","onClick","onKeyDown","onTouchStart","onTouchEnd","onFocus","ariaLabel","ariaDisabled","ariaSelected","children","className","defaultClassNames","join","map","modifier","style","filter","forEach","Component","propTypes","PropTypes","shape","string","isRequired","instanceOf","Date","node","bool","object","func","number","defaultProps"],"mappings":"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","file":"Day.js","sourcesContent":["/* 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"]}