@preamp/datepicker
Version:
VideoAmp's Component library
54 lines • 4.67 kB
JavaScript
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
import * as React from 'react';
import { convertToTimeZone } from 'date-fns-timezone';
import DayPicker from 'react-day-picker';
import { VADatePickerClassNamesMap } from '../../../constants';
import { CustomDayElement, CustomNavBar } from '../../../custom';
/**
* A basic date picker.
*/
export class DatePicker extends React.Component {
componentDidMount() {
if (document.querySelector('.va-datepicker-month')) {
const { dataUI } = this.props;
document
.querySelector('.va-datepicker-month')
.setAttribute('data-ui', `${dataUI}_month`);
}
}
render() {
const _a = this.props, { className, dataUI, id, isOptional, label, selectedDay, style, timezone } = _a, rest = __rest(_a, ["className", "dataUI", "id", "isOptional", "label", "selectedDay", "style", "timezone"]);
const returnCustomDay = CustomDayElement(dataUI);
const returnCustomNavBar = CustomNavBar(dataUI);
const selectedDays = timezone
? convertToTimeZone(selectedDay, { timeZone: timezone })
: selectedDay;
const containerProps = {
'data-ui': dataUI,
id,
style
};
return (React.createElement("div", { className: "va-datepicker-container" },
(label || isOptional) && (React.createElement("label", { className: "va-form-label", htmlFor: id },
label,
isOptional && (React.createElement("span", { className: "u-label--optional" }, "Optional")))),
React.createElement(DayPicker, Object.assign({ className: className, containerProps: containerProps, navbarElement: returnCustomNavBar, renderDay: returnCustomDay, selectedDays: selectedDays }, rest))));
}
}
DatePicker.defaultProps = {
classNames: VADatePickerClassNamesMap,
dataUI: 'date-picker',
showOutsideDays: true,
weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZVBpY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbXBvbmVudHMvZGF0ZXBpY2tlcnMvRGF0ZVBpY2tlci9EYXRlUGlja2VyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRS9CLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sU0FBUyxNQUFNLGtCQUFrQixDQUFDO0FBR3pDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9ELE9BQU8sRUFDSCxnQkFBZ0IsRUFFaEIsWUFBWSxFQUVmLE1BQU0saUJBQWlCLENBQUM7QUEyQnpCOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFVBQVcsU0FBUSxLQUFLLENBQUMsU0FBMEI7SUFRNUQsaUJBQWlCO1FBQ2IsSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLEVBQUU7WUFDaEQsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFFOUIsUUFBUTtpQkFDSCxhQUFhLENBQUMsc0JBQXNCLENBQUM7aUJBQ3JDLFlBQVksQ0FBQyxTQUFTLEVBQUUsR0FBRyxNQUFNLFFBQVEsQ0FBQyxDQUFDO1NBQ25EO0lBQ0wsQ0FBQztJQUVELE1BQU07UUFDRixNQUFNLGVBVVEsRUFWUixFQUNGLFNBQVMsRUFDVCxNQUFNLEVBQ04sRUFBRSxFQUNGLFVBQVUsRUFDVixLQUFLLEVBQ0wsV0FBVyxFQUNYLEtBQUssRUFDTCxRQUFRLE9BRUUsRUFEViwyR0FDVSxDQUFDO1FBQ2YsTUFBTSxlQUFlLEdBQThCLGdCQUFnQixDQUMvRCxNQUFNLENBQ1QsQ0FBQztRQUNGLE1BQU0sa0JBQWtCLEdBQTBCLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2RSxNQUFNLFlBQVksR0FBUyxRQUFRO1lBQy9CLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDeEQsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUVsQixNQUFNLGNBQWMsR0FBUTtZQUN4QixTQUFTLEVBQUUsTUFBTTtZQUNqQixFQUFFO1lBQ0YsS0FBSztTQUNSLENBQUM7UUFFRixPQUFPLENBQ0gsNkJBQUssU0FBUyxFQUFDLHlCQUF5QjtZQUNuQyxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsSUFBSSxDQUN0QiwrQkFBTyxTQUFTLEVBQUMsZUFBZSxFQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUN2QyxLQUFLO2dCQUNMLFVBQVUsSUFBSSxDQUNYLDhCQUFNLFNBQVMsRUFBQyxtQkFBbUIsZUFBZ0IsQ0FDdEQsQ0FDRyxDQUNYO1lBQ0Qsb0JBQUMsU0FBUyxrQkFDTixTQUFTLEVBQUUsU0FBUyxFQUNwQixjQUFjLEVBQUUsY0FBYyxFQUM5QixhQUFhLEVBQUUsa0JBQWtCLEVBQ2pDLFNBQVMsRUFBRSxlQUFlLEVBQzFCLFlBQVksRUFBRSxZQUFZLElBQ3RCLElBQUksRUFDVixDQUNBLENBQ1QsQ0FBQztJQUNOLENBQUM7O0FBaEVNLHVCQUFZLEdBQW9CO0lBQ25DLFVBQVUsRUFBRSx5QkFBeUI7SUFDckMsTUFBTSxFQUFFLGFBQWE7SUFDckIsZUFBZSxFQUFFLElBQUk7SUFDckIsYUFBYSxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO0NBQ25FLENBQUMifQ==