Baseline Storybook stories #131
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.