You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
2.0 KiB
100 lines
2.0 KiB
2 years ago
|
import React, { useState } from 'react';
|
||
|
import type { ComponentMeta } from '@storybook/react';
|
||
|
import { CheckboxInput } from '@tih/ui';
|
||
|
|
||
|
export default {
|
||
|
argTypes: {
|
||
|
defaultValue: {
|
||
|
control: 'boolean',
|
||
|
},
|
||
|
description: {
|
||
|
control: 'text',
|
||
|
},
|
||
|
disabled: {
|
||
|
control: 'boolean',
|
||
|
},
|
||
|
label: {
|
||
|
control: 'text',
|
||
|
},
|
||
|
value: {
|
||
|
control: 'boolean',
|
||
|
},
|
||
|
},
|
||
|
component: CheckboxInput,
|
||
|
title: 'CheckboxInput',
|
||
|
} as ComponentMeta<typeof CheckboxInput>;
|
||
|
|
||
|
export function Basic({
|
||
|
defaultValue,
|
||
|
description,
|
||
|
disabled,
|
||
|
label,
|
||
|
}: Pick<
|
||
|
React.ComponentProps<typeof CheckboxInput>,
|
||
|
'defaultValue' | 'description' | 'disabled' | 'label'
|
||
|
>) {
|
||
|
return (
|
||
|
<CheckboxInput
|
||
|
defaultValue={defaultValue}
|
||
|
description={description}
|
||
|
disabled={disabled}
|
||
|
label={label}
|
||
|
/>
|
||
|
);
|
||
|
}
|
||
|
|
||
|
Basic.args = {
|
||
|
description: 'I will be responsible for any mistakes',
|
||
|
disabled: false,
|
||
|
label: 'I have read the terms and conditions',
|
||
|
};
|
||
|
|
||
|
export function Controlled() {
|
||
|
const [value, setValue] = useState(true);
|
||
|
|
||
|
return (
|
||
|
<CheckboxInput
|
||
|
label="I have read the terms and conditions"
|
||
|
value={value}
|
||
|
onChange={(newValue: boolean) => {
|
||
|
setValue(newValue);
|
||
|
}}
|
||
|
/>
|
||
|
);
|
||
|
}
|
||
|
|
||
|
export function Disabled() {
|
||
|
return (
|
||
|
<div className="space-y-4">
|
||
|
<CheckboxInput
|
||
|
defaultValue={true}
|
||
|
label="I have read the terms and conditions"
|
||
|
/>
|
||
|
<CheckboxInput
|
||
|
defaultValue={false}
|
||
|
label="I have read the terms and conditions"
|
||
|
/>
|
||
|
<CheckboxInput
|
||
|
defaultValue={true}
|
||
|
disabled={true}
|
||
|
label="I have read the terms and conditions"
|
||
|
/>
|
||
|
<CheckboxInput
|
||
|
defaultValue={false}
|
||
|
disabled={true}
|
||
|
label="I have read the terms and conditions"
|
||
|
/>
|
||
|
</div>
|
||
|
);
|
||
|
}
|
||
|
|
||
|
export function ItemDescriptions() {
|
||
|
return (
|
||
|
<CheckboxInput
|
||
|
defaultValue={false}
|
||
|
description="I will be responsible for any mistakes"
|
||
|
label="I have read the terms and conditions"
|
||
|
/>
|
||
|
);
|
||
|
}
|