All files / SplitButton SplitButton.stories.tsx

100% Statements 10/10
100% Branches 0/0
100% Functions 4/4
100% Lines 10/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 89 90 91 92 93 94 95 96                                      1x 1x   1x                                   1x 1x                                 1x 1x                         1x 1x   1x                                        
import React from 'react';
import { Meta, Story } from '@storybook/react';
 
import SplitButton, { ISplitButtonProps } from './SplitButton';
 
export default {
	title: 'Controls/SplitButton',
	component: SplitButton,
	parameters: {
		docs: {
			description: {
				component: SplitButton.peek.description,
			},
		},
	},
	args: SplitButton.defaultProps,
} as Meta;
 
/* Basic */
export const Basic: Story<ISplitButtonProps> = (args) => {
	const style = { marginRight: '20px', height: 100 };
 
	return (
		<section>
			<SplitButton {...args} style={style}>
				<SplitButton.Button>Basic</SplitButton.Button>
				<SplitButton.Button>One</SplitButton.Button>
				<SplitButton.Button>Two</SplitButton.Button>
			</SplitButton>
 
			<SplitButton {...args} kind='primary' style={style}>
				<SplitButton.Button>Primary</SplitButton.Button>
				<SplitButton.Button>One</SplitButton.Button>
				<SplitButton.Button>Two</SplitButton.Button>
			</SplitButton>
		</section>
	);
};
 
/* Disabled */
export const Disabled: Story<ISplitButtonProps> = (args) => {
	return (
		<section style={{ height: 100 }}>
			<SplitButton {...args}>
				<SplitButton.Button isDisabled>Save</SplitButton.Button>
				<SplitButton.Button isDisabled>
					This action should be disabled
				</SplitButton.Button>
				<SplitButton.Button>This one should be enabled</SplitButton.Button>
				<SplitButton.Button isDisabled>
					This should be disabled, too
				</SplitButton.Button>
			</SplitButton>
		</section>
	);
};
 
/* Up */
export const Up: Story<ISplitButtonProps> = (args) => {
	return (
		<section style={{ height: 100 }}>
			<SplitButton {...args} direction='up' kind='primary'>
				<SplitButton.Button>Save</SplitButton.Button>
				<SplitButton.Button>Action 01</SplitButton.Button>
				<SplitButton.Button>Here's Another Action</SplitButton.Button>
				<SplitButton.Button>And Another Action</SplitButton.Button>
			</SplitButton>
		</section>
	);
};
 
/* Sizes */
export const Sizes: Story<ISplitButtonProps> = (args) => {
	const style = { marginRight: '20px', height: 100 };
 
	return (
		<section>
			<SplitButton {...args} size='large' style={style}>
				<SplitButton.Button>Large</SplitButton.Button>
				<SplitButton.Button>One</SplitButton.Button>
				<SplitButton.Button>Two</SplitButton.Button>
			</SplitButton>
			<SplitButton {...args} size='small' style={style}>
				<SplitButton.Button>Small</SplitButton.Button>
				<SplitButton.Button>One</SplitButton.Button>
				<SplitButton.Button>Two</SplitButton.Button>
			</SplitButton>
			<SplitButton {...args} size='short' style={style}>
				<SplitButton.Button>Short</SplitButton.Button>
				<SplitButton.Button>One</SplitButton.Button>
				<SplitButton.Button>Two</SplitButton.Button>
			</SplitButton>
		</section>
	);
};