aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/PostHeader
Commit message (Expand)AuthorAgeFilesLines
* refactor: split posts meta into smaller componentsArmand Philippot2022-03-011-14/+2
* chore: add reading time in posts metaArmand Philippot2022-01-251-1/+3
* chore: display total found posts in page metaArmand Philippot2022-01-251-0/+1
* chore: allow ReactElement as intro in PostHeaderArmand Philippot2022-01-191-7/+22
* refactor(styles): rename shadow and border variablesArmand Philippot2022-01-161-5/+5
* chore: update sidebar and widgets stylesArmand Philippot2022-01-151-1/+4
* refactor(styles): use css grid to stylize post headerArmand Philippot2022-01-101-12/+35
* refactor(styles): use compose to declare grid layouts onceArmand Philippot2022-01-101-5/+1
* chore: add article header stylesArmand Philippot2022-01-071-4/+58
* fix: check for undefined meta in post headerArmand Philippot2022-01-071-1/+11
* refactor: reuse PostHeader for all pages except homepageArmand Philippot2022-01-061-5/+7
* refactor: reuse PostMeta components on single articles/pagesArmand Philippot2022-01-061-58/+24
* refactor: rewrite types and servicesArmand Philippot2021-12-201-5/+6
* chore: add meta to single postsArmand Philippot2021-12-172-0/+79
61 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210
import type { ComponentMeta, ComponentStory } from '@storybook/react';
import { Icon, type IconProps, type IconShape } from './icon';

/**
 * Home icon - Storybook Meta
 */
export default {
  title: 'Atoms/Images/Icons',
  component: Icon,
  argTypes: {
    shape: {
      control: {
        type: 'select',
      },
      options: [
        'arrow',
        'career',
        'cc-by-sa',
        'cog',
        'computer',
        'cross',
        'envelop',
        'feed',
        'hamburger',
        'help',
        'home',
        'magnifying-glass',
        'minus',
        'moon',
        'posts-stack',
        'plus',
        'sun',
      ],
      description: 'Define the icon shape.',
      type: {
        name: 'string',
        required: false,
      },
    },
  },
} as ComponentMeta<typeof Icon>;

const Template: ComponentStory<typeof Icon> = ({
  shape,
  ...args
}: IconProps<IconShape>) => <Icon {...args} shape={shape} />;

/**
 * Icon Stories - ArrowRight
 */
export const ArrowRight = Template.bind({});
ArrowRight.args = {
  orientation: 'right',
  shape: 'arrow',
};

/**
 * Icon Stories - ArrowLeft
 */
export const ArrowLeft = Template.bind({});
ArrowLeft.args = {
  orientation: 'left',
  shape: 'arrow',
};

/**
 * Icon Stories - ArrowBottom
 */
export const ArrowBottom = Template.bind({});
ArrowBottom.args = {
  orientation: 'bottom',
  shape: 'arrow',
};

/**
 * Icon Stories - ArrowTop
 */
export const ArrowTop = Template.bind({});
ArrowTop.args = {
  orientation: 'top',
  shape: 'arrow',
};

/**
 * Icon Stories - Career
 */
export const Career = Template.bind({});
Career.args = {
  shape: 'career',
};

/**
 * Icon Stories - CCBySA
 */
export const CCBySA = Template.bind({});
CCBySA.args = {
  shape: 'cc-by-sa',
};

/**
 * Icon Stories - Cog
 */
export const Cog = Template.bind({});
Cog.args = {
  shape: 'cog',
};

/**
 * Icon Stories - Computer
 */
export const Computer = Template.bind({});
Computer.args = {
  shape: 'computer',
};

/**
 * Icon Stories - Cross
 */
export const Cross = Template.bind({});
Cross.args = {
  shape: 'cross',
};

/**
 * Icon Stories - Envelop
 */
export const Envelop = Template.bind({});
Envelop.args = {
  shape: 'envelop',
};

/**
 * Icon Stories - Feed
 */
export const Feed = Template.bind({});
Feed.args = {
  shape: 'feed',
};

/**
 * Icon Stories - Hamburger
 */
export const Hamburger = Template.bind({});
Hamburger.args = {
  shape: 'hamburger',
};

/**
 * Icon Stories - Help
 */
export const Help = Template.bind({});
Help.args = {
  shape: 'help',
};

/**
 * Icon Stories - Home
 */
export const Home = Template.bind({});
Home.args = {
  shape: 'home',
};

/**
 * Icon Stories - MagnifyingGlass
 */
export const MagnifyingGlass = Template.bind({});
MagnifyingGlass.args = {
  shape: 'magnifying-glass',
};

/**
 * Icon Stories - Minus
 */
export const Minus = Template.bind({});
Minus.args = {
  shape: 'minus',
};

/**
 * Icon Stories - Moon
 */
export const Moon = Template.bind({});
Moon.args = {
  shape: 'moon',
};

/**
 * Icon Stories - Plus
 */
export const Plus = Template.bind({});
Plus.args = {
  shape: 'plus',
};

/**
 * Icon Stories - PostsStack
 */
export const PostsStack = Template.bind({});
PostsStack.args = {
  shape: 'posts-stack',
};

/**
 * Icon Stories - Sun
 */
export const Sun = Template.bind({});
Sun.args = {
  shape: 'sun',
};