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 (
);
};