import React, { useRef, useState } from 'react'; import { Button } from '@lendi/ui/Button'; import { DateField } from '@lendi/ui/DateField'; import { Spacer } from '@lendi/ui/Layout'; export const Interactive = (args) => ; Interactive.args = { label: 'Label text', }; export const Variants = () => ( ); export const Controlled = (args) => { const [value, setValue] = useState(new Date('2021-07-08')); const handleChange = (e) => { console.log(e.target.value); setValue(e.target.value); }; return ; }; Controlled.args = { label: 'Label', placeholder: 'Placeholder text', helpText: 'Help text', }; export const Uncontrolled = () => { const inputRef = useRef(null); const defaultValue = new Date('2021-07'); const showVal = () => { console.log('date', inputRef.current.value); }; return ( ); }; export const Errors = () => ( ); export const Disabled = () => ; export const Labels = () => ( ); export const Widths = () => ( ); export const Validation = () => { const [validationState, setValidationState] = useState<'valid' | 'invalid'>('valid'); const [rangeMinValidationState, setRangeMinValidationState] = useState<'valid' | 'invalid'>('valid'); const [rangeMaxValidationState, setMaxRangeValidationState] = useState<'valid' | 'invalid'>('valid'); const handleChange = (e) => { if (e.target.validity.patternMismatch) { console.log(e.target.validity); setValidationState('invalid'); } else { setValidationState('valid'); } }; const handleMinChange = (e) => { if (e.target.validity.patternMismatch || e.target.validity.rangeUnderflow) { console.log(e.target.validity); setRangeMinValidationState('invalid'); } else { setRangeMinValidationState('valid'); } }; const handleMaxChange = (e) => { if (e.target.validity.patternMismatch || e.target.validity.rangeOverflow) { console.log(e.target.validity); setMaxRangeValidationState('invalid'); } else { setMaxRangeValidationState('valid'); } }; return ( ); };