aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/atoms/links/sharing-link/sharing-link.stories.tsx
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2023-10-03 18:52:57 +0200
committerArmand Philippot <git@armandphilippot.com>2023-11-11 18:14:41 +0100
commita3fb0aa94717aafae897ac293488c43a099c0b2b (patch)
treebb5c9fcb093779061cd11e08d94f30bbb3a9b854 /src/components/atoms/links/sharing-link/sharing-link.stories.tsx
parentf914ff8376dd91c4f6f8ca149e1cb6becb622d88 (diff)
refactor(components): rewrite SharingLink component
* replace default label with label prop * simplify CSS rules
Diffstat (limited to 'src/components/atoms/links/sharing-link/sharing-link.stories.tsx')
-rw-r--r--src/components/atoms/links/sharing-link/sharing-link.stories.tsx114
1 files changed, 114 insertions, 0 deletions
diff --git a/src/components/atoms/links/sharing-link/sharing-link.stories.tsx b/src/components/atoms/links/sharing-link/sharing-link.stories.tsx
new file mode 100644
index 0000000..932d468
--- /dev/null
+++ b/src/components/atoms/links/sharing-link/sharing-link.stories.tsx
@@ -0,0 +1,114 @@
+import type { ComponentMeta, ComponentStory } from '@storybook/react';
+import { SharingLink } from './sharing-link';
+
+/**
+ * SharingLink - Storybook Meta
+ */
+export default {
+ title: 'Atoms/Links/Sharing',
+ component: SharingLink,
+ argTypes: {
+ medium: {
+ control: {
+ type: 'select',
+ },
+ description: 'The sharing medium.',
+ options: [
+ 'diaspora',
+ 'email',
+ 'facebook',
+ 'journal-du-hacker',
+ 'linkedin',
+ 'twitter',
+ ],
+ type: {
+ name: 'string',
+ required: true,
+ },
+ },
+ label: {
+ control: {
+ type: 'text',
+ },
+ description: 'An accessible label that describe the link..',
+ type: {
+ name: 'string',
+ required: true,
+ },
+ },
+ url: {
+ control: {
+ type: 'text',
+ },
+ description: 'The sharing url.',
+ type: {
+ name: 'string',
+ required: true,
+ },
+ },
+ },
+} as ComponentMeta<typeof SharingLink>;
+
+const Template: ComponentStory<typeof SharingLink> = (args) => (
+ <SharingLink {...args} />
+);
+
+/**
+ * Sharing Link Stories - Diaspora
+ */
+export const Diaspora = Template.bind({});
+Diaspora.args = {
+ label: 'Share on Diaspora',
+ medium: 'diaspora',
+ url: '#',
+};
+
+/**
+ * Sharing Link Stories - Email
+ */
+export const Email = Template.bind({});
+Email.args = {
+ label: 'Share by Email',
+ medium: 'email',
+ url: '#',
+};
+
+/**
+ * Sharing Link Stories - Facebook
+ */
+export const Facebook = Template.bind({});
+Facebook.args = {
+ label: 'Share on Facebook',
+ medium: 'facebook',
+ url: '#',
+};
+
+/**
+ * Sharing Link Stories - Journal du Hacker
+ */
+export const JournalDuHacker = Template.bind({});
+JournalDuHacker.args = {
+ label: 'Share on Journal du Hacker',
+ medium: 'journal-du-hacker',
+ url: '#',
+};
+
+/**
+ * Sharing Link Stories - LinkedIn
+ */
+export const LinkedIn = Template.bind({});
+LinkedIn.args = {
+ label: 'Share on LinkedIn',
+ medium: 'linkedin',
+ url: '#',
+};
+
+/**
+ * Sharing Link Stories - Twitter
+ */
+export const Twitter = Template.bind({});
+Twitter.args = {
+ label: 'Share on Twitter',
+ medium: 'twitter',
+ url: '#',
+};