Skip to content
This repository has been archived by the owner on Jun 17, 2021. It is now read-only.
This repository has been archived by the owner on Jun 17, 2021. It is now read-only.

Baseline Storybook stories #131

Open
@joshwcomeau

Description

NOTE: We might switch to Docz. Please hold off on creating new stories for now

As discussed in #130, we want to use React Storybook to host a catalog of reusable components. The infrastructure work is complete, and now we need to write stories for existing components.

This issue tracks the progress we've made against our existing components.

Note that not every component will need a story; we should only create stories for components we anticipate being reused.

The goal for creating stories should be to show off how the component can be used; it's a tool for discoverability. This means that each component should have at least 1 story that mimics its in-app usage. We also want to create a variety of stories for each component to show off how its props can be used.

This is clearly too much work for a single person to take on, but I figure we can tick items in as they come in; just add a comment linking to a PR, and mention the component(s) it covers, and I'll add info to the list and tick the box.

Some components will have special requirements. I've given them different annotations. See the details below the list.

Components:

  • BigClickableButton
  • Button
  • ButtonWithIcon
  • Card
  • CircularOutline
  • ExternalLink¹
  • FadeIn
  • FadeOnChange²
  • FormField
  • FullWidth
  • Heading
  • HelpButton
  • HoverableOutlineButton
  • Icon (We use react-icons-kit, but we should still create a story to show how we use it!)
  • Label
  • LargeLED
  • Logo
  • Middot
  • Modal²
  • ModalHeader
  • Module
  • OnlyOn³
  • OutlineButton
  • Paragraph
  • PixelShifter
  • ProgressBar²
  • ScrollDisabler²
  • SelectableImage
  • SelectableItem
  • SmallLED
  • Spacer (creativity needed to show what this one does, haha)
  • Spinner
  • Swimming
  • TerminalOutput
  • TextButton
  • TextInput
  • Titlebar
  • Toggle
  • TwoPaneModal²

¹ This component uses Electron methods, so it may be more trouble than it's worth to get it working in the browser.

² This component needs to have some state managed for it for the story to be useful. We'll need to build a little state-manager component for it, within the story. TODO: Add a link to an example.

³ This component is a screen-size helper. The story should make clear that the user has to resize their window to see its effect.

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions