All files / TextFieldValidated TextFieldValidated.stories.tsx

90% Statements 9/10
50% Branches 1/2
37.5% Functions 3/8
90% Lines 9/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88                                      1x       1x 1x     1x 1x   1x                         1x 1x   1x                                                                                  
import React, { useState } from 'react';
import { Story, Meta } from '@storybook/react';
 
import TextFieldValidated, {
	ITextFieldValidatedProps,
} from './TextFieldValidated';
 
export default {
	title: 'Controls/TextFieldValidated',
	component: TextFieldValidated,
	parameters: {
		docs: {
			description: {
				component: TextFieldValidated.peek.description,
			},
		},
	},
} as Meta;
 
const style = {
	marginBottom: '10px',
};
 
export const Basic: Story<ITextFieldValidatedProps> = (args) => {
	return <TextFieldValidated {...args} />;
};
 
export const Debounced: Story<ITextFieldValidatedProps> = (args) => {
	const [value, setValue] = useState('');
 
	return (
		<div>
			<TextFieldValidated
				{...args}
				style={style}
				value={value}
				onChangeDebounced={(value) => setValue(value)}
				Error={value === 'foo' ? null : 'Please enter "foo"'}
			/>
		</div>
	);
};
 
export const ErrorTypes: Story<ITextFieldValidatedProps> = (args) => {
	const [value, setValue] = useState('');
 
	return (
		<div>
			<TextFieldValidated
				{...args}
				style={style}
				value={value}
				onChangeDebounced={() => {}}
				Error={'This is an error'}
			/>
			<TextFieldValidated
				{...args}
				style={style}
				value={value}
				onChangeDebounced={() => {}}
				Error={null}
				Info={'This is an info'}
			/>
			<TextFieldValidated
				{...args}
				style={style}
				value={value}
				onChangeDebounced={() => {}}
				Error={null}
				Success={{
					message: 'This is a Success',
				}}
			/>
			<TextFieldValidated
				{...args}
				style={style}
				value={value}
				onChangeDebounced={() => {}}
				Error={null}
				Success={{
					message: 'This is a disappearing Success',
					disappearing: true,
				}}
			/>
		</div>
	);
};