2022-11-03 18:09:09 +01:00
|
|
|
import React from 'react';
|
2023-07-21 19:11:35 +02:00
|
|
|
import { StoryFn, Meta } from '@storybook/react';
|
2022-11-03 18:09:09 +01:00
|
|
|
import {
|
2023-07-21 19:11:35 +02:00
|
|
|
Display,
|
|
|
|
FlexDirection,
|
2023-02-16 21:42:15 +01:00
|
|
|
IconColor,
|
2023-02-02 21:15:26 +01:00
|
|
|
TextColor,
|
2022-11-03 18:09:09 +01:00
|
|
|
} from '../../../helpers/constants/design-system';
|
|
|
|
|
2023-07-21 19:11:35 +02:00
|
|
|
import { Box, Icon, IconName, IconSize } from '..';
|
2022-11-03 18:09:09 +01:00
|
|
|
|
|
|
|
import { HelpText } from './help-text';
|
2023-07-21 19:11:35 +02:00
|
|
|
import { HelpTextSeverity } from './help-text.types';
|
2022-11-03 18:09:09 +01:00
|
|
|
|
|
|
|
import README from './README.mdx';
|
|
|
|
|
|
|
|
export default {
|
|
|
|
title: 'Components/ComponentLibrary/HelpText',
|
|
|
|
component: HelpText,
|
|
|
|
parameters: {
|
|
|
|
docs: {
|
|
|
|
page: README,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
argTypes: {
|
|
|
|
children: {
|
|
|
|
control: 'text',
|
|
|
|
},
|
|
|
|
className: {
|
|
|
|
control: 'text',
|
|
|
|
},
|
2023-02-16 21:42:15 +01:00
|
|
|
severity: {
|
|
|
|
control: 'select',
|
2023-07-21 19:11:35 +02:00
|
|
|
options: Object.values(HelpTextSeverity),
|
2022-11-03 18:09:09 +01:00
|
|
|
},
|
|
|
|
color: {
|
|
|
|
control: 'select',
|
2023-02-02 21:15:26 +01:00
|
|
|
options: Object.values(TextColor),
|
2022-11-03 18:09:09 +01:00
|
|
|
},
|
|
|
|
},
|
|
|
|
args: {
|
|
|
|
children: 'Help text',
|
|
|
|
},
|
2023-07-21 19:11:35 +02:00
|
|
|
} as Meta<typeof HelpText>;
|
2022-11-03 18:09:09 +01:00
|
|
|
|
2023-07-21 19:11:35 +02:00
|
|
|
const Template: StoryFn<typeof HelpText> = (args) => <HelpText {...args} />;
|
2022-11-03 18:09:09 +01:00
|
|
|
|
|
|
|
export const DefaultStory = Template.bind({});
|
|
|
|
DefaultStory.storyName = 'Default';
|
|
|
|
|
2023-07-21 19:11:35 +02:00
|
|
|
export const Children: StoryFn<typeof HelpText> = (args) => (
|
|
|
|
<Box display={Display.Flex} flexDirection={FlexDirection.Column} gap={2}>
|
2022-11-03 18:09:09 +01:00
|
|
|
<HelpText {...args}>Plain text</HelpText>
|
2023-02-16 21:42:15 +01:00
|
|
|
<HelpText>
|
|
|
|
<span>Text and icon</span>
|
2022-11-03 18:09:09 +01:00
|
|
|
<Icon
|
|
|
|
marginLeft={1}
|
2023-02-16 21:42:15 +01:00
|
|
|
color={IconColor.iconAlternative}
|
2023-04-05 18:11:10 +02:00
|
|
|
name={IconName.Warning}
|
|
|
|
size={IconSize.Inherit}
|
2023-02-16 21:42:15 +01:00
|
|
|
as="span"
|
2022-11-03 18:09:09 +01:00
|
|
|
/>
|
|
|
|
</HelpText>
|
|
|
|
</Box>
|
|
|
|
);
|
|
|
|
|
2023-07-21 19:11:35 +02:00
|
|
|
export const SeverityStory: StoryFn<typeof HelpText> = (args) => (
|
2023-02-16 21:42:15 +01:00
|
|
|
<>
|
|
|
|
<HelpText {...args}>HelpText without severity prop</HelpText>
|
2023-07-21 19:11:35 +02:00
|
|
|
<HelpText {...args} severity={HelpTextSeverity.Danger}>
|
|
|
|
HelpText with severity: HelpTextSeverity.Danger
|
2023-02-16 21:42:15 +01:00
|
|
|
</HelpText>
|
2023-07-21 19:11:35 +02:00
|
|
|
<HelpText {...args} severity={HelpTextSeverity.Success}>
|
|
|
|
HelpText with severity: HelpTextSeverity.Success
|
2023-02-16 21:42:15 +01:00
|
|
|
</HelpText>
|
2023-07-21 19:11:35 +02:00
|
|
|
<HelpText {...args} severity={HelpTextSeverity.Warning}>
|
|
|
|
HelpText with severity: HelpTextSeverity.Warning
|
2023-02-16 21:42:15 +01:00
|
|
|
</HelpText>
|
2023-07-21 19:11:35 +02:00
|
|
|
<HelpText {...args} severity={HelpTextSeverity.Info}>
|
|
|
|
HelpText with severity: HelpTextSeverity.Info
|
2023-02-16 21:42:15 +01:00
|
|
|
</HelpText>
|
|
|
|
</>
|
2022-11-03 18:09:09 +01:00
|
|
|
);
|
2023-02-16 21:42:15 +01:00
|
|
|
|
|
|
|
SeverityStory.storyName = 'Severity';
|
2022-11-03 18:09:09 +01:00
|
|
|
|
2023-07-21 19:11:35 +02:00
|
|
|
export const ColorStory: StoryFn<typeof HelpText> = (args) => (
|
|
|
|
<Box display={Display.Flex} flexDirection={FlexDirection.Column} gap={2}>
|
2023-02-16 21:42:15 +01:00
|
|
|
<HelpText color={TextColor.textDefault} {...args}>
|
|
|
|
This HelpText default color is TextColor.textDefault
|
2022-11-03 18:09:09 +01:00
|
|
|
</HelpText>
|
2023-02-16 21:42:15 +01:00
|
|
|
<HelpText color={TextColor.textAlternative} {...args}>
|
|
|
|
This HelpText color is TextColor.textAlternative
|
2022-11-03 18:09:09 +01:00
|
|
|
</HelpText>
|
2023-02-16 21:42:15 +01:00
|
|
|
<HelpText color={TextColor.textMuted} {...args}>
|
|
|
|
This HelpText color is TextColor.textMuted
|
2022-11-03 18:09:09 +01:00
|
|
|
</HelpText>
|
|
|
|
</Box>
|
|
|
|
);
|
2023-02-02 21:15:26 +01:00
|
|
|
ColorStory.storyName = 'Color';
|