chayns-components
Version:
A set of beautiful React components for developing chayns® applications.
75 lines (74 loc) • 2.35 kB
JavaScript
/* eslint-disable jsx-a11y/click-events-have-key-events, react/no-array-index-key */
import React, { PureComponent } from 'react';
import PropTypes from 'prop-types';
import Icon from '../../../react-chayns-icon/component/Icon';
export default class Navigator extends PureComponent {
render() {
const {
text,
onClick,
hidden,
days
} = this.props;
return /*#__PURE__*/React.createElement("div", {
className: "calendar__navigator no_select"
}, /*#__PURE__*/React.createElement("div", {
className: "calendar__navigator_wrapper",
style: {
width: '35%'
}
}, /*#__PURE__*/React.createElement("div", {
className: "calendar__navigator_icon",
style: {
transform: 'rotate(180deg)'
}
}, hidden.left ? '' : /*#__PURE__*/React.createElement("span", {
onClick: onClick.left
}, /*#__PURE__*/React.createElement(Icon, {
icon: "ts-angle-right"
}))), text, /*#__PURE__*/React.createElement("div", {
className: "calendar__navigator_icon"
}, hidden.right ? '' : /*#__PURE__*/React.createElement("span", {
onClick: onClick.right
}, /*#__PURE__*/React.createElement(Icon, {
icon: "ts-angle-right"
})))), /*#__PURE__*/React.createElement("div", {
className: "calendar__navigator_days"
}, days.map((day, i) => /*#__PURE__*/React.createElement("div", {
className: "calendar__navigator_days_table",
key: i
}, day.map((value, j) => {
const selected = value.selected ? 'bold' : 'normal';
return /*#__PURE__*/React.createElement("div", {
className: "calendar__navigator_days_item ellipsis",
style: {
fontWeight: selected
},
key: j,
onClick: event => onClick.day(event, value)
}, value.name);
})))));
}
}
Navigator.propTypes = {
text: PropTypes.string,
onClick: PropTypes.shape({
left: PropTypes.func.isRequired,
right: PropTypes.func.isRequired,
day: PropTypes.func.isRequired
}),
hidden: PropTypes.shape({
left: PropTypes.bool,
right: PropTypes.bool
}),
// eslint-disable-next-line react/forbid-prop-types
days: PropTypes.array
};
Navigator.defaultProps = {
text: '',
onClick: null,
hidden: {},
days: []
};
Navigator.displayName = 'Navigator';
//# sourceMappingURL=Navigator.js.map