import { action } from 'storybook/actions';
import React from 'react';
import { Icon } from '../src/lib';
import { Dropdown } from '../src/lib/components/dropdown/Dropdown.component';
import { Wrapper } from './common';
import {
iconArgType,
sizesOptions as sizes,
variantsOptions as variants,
} from './controls';
const items = [
{
label: 'About',
onClick: action('About clicked'),
'data-cy': 'About',
},
{
label: 'Documentation',
onClick: action('Documentation clicked'),
'data-cy': 'Documentation',
},
{
label: 'Onboarding',
onClick: action('Onboarding clicked'),
'data-cy': 'Onboarding',
},
];
export default {
title: 'Components/Navigation/Dropdown',
component: Dropdown,
decorators: [
(story) => (
{story()}
),
],
args: {
items,
},
argTypes: {
icon: iconArgType,
size: {
options: sizes,
control: {
type: 'radio',
},
},
variant: {
options: variants,
control: {
type: 'radio',
},
},
},
render: ({ icon, items, ...args }) => (
}
{...args}
/>
),
};
export const Playground = {
args: {
text: 'Playground',
},
};
export const DropdownWithText = {
args: {
text: 'Help',
},
};
export const DropdownWithIcon = {
args: {
icon: 'Folder',
caret: false,
},
};
export const DropdownWithTextAndIcon = {
args: {
text: 'Help',
icon: 'Info-circle',
},
};
export const DropdownVariant = {
render: ({ icon, ...args }) => {
return (
<>
{variants.map((variant, i) => {
return (
}
text="Help"
variant={variant}
{...args}
/>
);
})}
>
);
},
};
export const DifferentSizes = {
render: ({ icon, ...args }) => {
return (
<>
{sizes.map((size, i) => {
return (
}
text="Help"
size={size}
{...args}
/>
);
})}
>
);
},
args: {
text: 'Help',
icon: 'Info-circle',
},
};