1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-19 13:29:41 +02:00
portainer/app/react/components/buttons/ButtonGroup.stories.tsx
Ali d38085a560
Some checks are pending
ci / build_images (map[arch:amd64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
ci / build_images (map[arch:arm platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:arm64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:ppc64le platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:s390x platform:linux version:]) (push) Waiting to run
ci / build_manifests (push) Blocked by required conditions
/ triage (push) Waiting to run
Lint / Run linters (push) Waiting to run
Test / test-client (push) Waiting to run
Test / test-server (map[arch:amd64 platform:linux]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
Test / test-server (map[arch:arm64 platform:linux]) (push) Waiting to run
chore(data-cy): require data-cy attributes [EE-6880] (#11453)
2024-04-11 12:11:38 +12:00

123 lines
2.9 KiB
TypeScript

import { Meta, Story } from '@storybook/react';
import { PropsWithChildren } from 'react';
import { Play, RefreshCw, Square, Trash2 } from 'lucide-react';
import { Button } from './Button';
import { ButtonGroup, Props } from './ButtonGroup';
export default {
component: ButtonGroup,
title: 'Components/Buttons/ButtonGroup',
} as Meta;
function Template({
size,
}: JSX.IntrinsicAttributes & PropsWithChildren<Props>) {
return (
<ButtonGroup size={size}>
<Button icon={Play} color="primary" onClick={() => {}} data-cy="button">
Start
</Button>
<Button icon={Square} color="danger" onClick={() => {}} data-cy="button">
Stop
</Button>
<Button
icon={RefreshCw}
color="primary"
onClick={() => {}}
data-cy="button"
>
Restart
</Button>
<Button
icon={Play}
color="primary"
disabled
onClick={() => {}}
data-cy="button"
>
Resume
</Button>
<Button icon={Trash2} color="danger" onClick={() => {}} data-cy="button">
Remove
</Button>
</ButtonGroup>
);
}
export const Primary: Story<PropsWithChildren<Props>> = Template.bind({});
Primary.args = {
size: 'small',
};
export function Xsmall() {
return (
<ButtonGroup size="xsmall">
<Button icon={Play} color="primary" onClick={() => {}} data-cy="button">
Start
</Button>
<Button icon={Square} color="danger" onClick={() => {}} data-cy="button">
Stop
</Button>
<Button icon={Play} color="primary" onClick={() => {}} data-cy="button">
Start
</Button>
<Button
icon={RefreshCw}
color="primary"
onClick={() => {}}
data-cy="button"
>
Restart
</Button>
</ButtonGroup>
);
}
export function Small() {
return (
<ButtonGroup size="small">
<Button icon={Play} color="primary" onClick={() => {}} data-cy="button">
Start
</Button>
<Button icon={Square} color="danger" onClick={() => {}} data-cy="button">
Stop
</Button>
<Button icon={Play} color="primary" onClick={() => {}} data-cy="button">
Start
</Button>
<Button
icon={RefreshCw}
color="primary"
onClick={() => {}}
data-cy="button"
>
Restart
</Button>
</ButtonGroup>
);
}
export function Large() {
return (
<ButtonGroup size="large">
<Button icon={Play} color="primary" onClick={() => {}} data-cy="button">
Start
</Button>
<Button icon={Square} color="danger" onClick={() => {}} data-cy="button">
Stop
</Button>
<Button icon={Play} color="light" onClick={() => {}} data-cy="button">
Start
</Button>
<Button
icon={RefreshCw}
color="primary"
onClick={() => {}}
data-cy="button"
>
Restart
</Button>
</ButtonGroup>
);
}