UNPKG

react-datetime-picker

Version:
45 lines (44 loc) 2.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var jsx_runtime_1 = require("react/jsx-runtime"); var date_utils_1 = require("@wojtekmaj/date-utils"); function NativeInput(_a) { var ariaLabel = _a.ariaLabel, disabled = _a.disabled, maxDate = _a.maxDate, minDate = _a.minDate, name = _a.name, onChange = _a.onChange, required = _a.required, value = _a.value, valueType = _a.valueType; var nativeValueParser = (function () { switch (valueType) { case 'hour': return function (receivedValue) { return "".concat((0, date_utils_1.getISOLocalDate)(receivedValue), "T").concat((0, date_utils_1.getHours)(receivedValue), ":00"); }; case 'minute': return function (receivedValue) { return "".concat((0, date_utils_1.getISOLocalDate)(receivedValue), "T").concat((0, date_utils_1.getHoursMinutes)(receivedValue)); }; case 'second': return date_utils_1.getISOLocalDateTime; default: throw new Error('Invalid valueType'); } })(); var step = (function () { switch (valueType) { case 'hour': return 3600; case 'minute': return 60; case 'second': return 1; default: throw new Error('Invalid valueType'); } })(); function stopPropagation(event) { event.stopPropagation(); } return ((0, jsx_runtime_1.jsx)("input", { "aria-label": ariaLabel, disabled: disabled, hidden: true, max: maxDate ? nativeValueParser(maxDate) : undefined, min: minDate ? nativeValueParser(minDate) : undefined, name: name, onChange: onChange, onFocus: stopPropagation, required: required, step: step, style: { visibility: 'hidden', position: 'absolute', zIndex: '-999', }, type: "datetime-local", value: value ? nativeValueParser(value) : '' })); } exports.default = NativeInput;