UNPKG

uniforms-unstyled

Version:

Unstyled components for uniforms.

51 lines (45 loc) 1.14 kB
import React from 'react'; import connectField from 'uniforms/connectField'; import filterDOMProps from 'uniforms/filterDOMProps'; const dateFormat = value => value && value.toISOString().slice(0, -8); const dateParse = (timestamp, onChange) => { const date = new Date(timestamp); if (date.getFullYear() < 10000) { onChange(date); } }; const Date_ = ({ disabled, id, inputRef, label, max, min, name, onChange, placeholder, value, ...props }) => <div {...filterDOMProps(props)}> {label && ( <label htmlFor={id}> {label} </label> )} <input disabled={disabled} id={id} max={dateFormat(max)} min={dateFormat(min)} name={name} onChange={event => dateParse(event.target.valueAsNumber, onChange)} placeholder={placeholder} ref={inputRef} type="datetime-local" value={dateFormat(value)} /> </div> ; Date_.displayName = 'Date'; export default connectField(Date_);