Eddie follows strict naming conventions for component APIs. These conventions are defined in the Code Guidelines and enforced across all components.
| Convention | Usage | Example |
|---|---|---|
variant |
Primary stylistic variations | "primary", "danger" |
size |
T-shirt sizes | "xs", "sm", "md", "lg", "xl" |
text |
General string content | text="Button label" |
title |
Heading text | title="Card Title" |
label |
Form field labels | label="Email" |
iconName / iconPosition |
Icon integration | iconName="arrow-right" |
imgSrc / imgAlt |
Image source and alt | imgSrc="hero.jpg" |
tagName |
Rendered HTML element | tagName="h2" |
behavior |
Functional variations | behavior="toggle" |
is[Behavior] |
Boolean behavioral toggles | isActive |
inverted |
Dark-background inversions | inverted |
href |
Navigation URL | href="/page" |
These are conventions, not an exhaustive API reference. Each component's actual properties, accepted values, and defaults are documented in its Storybook Autodocs — generated directly from the source TypeScript.
Components use named slots for content projection:
Slot names are documented per-component in Storybook.
All multi-word property names use camelCase:
Some components split into parent + children. Child components have no .scss or .stories.ts of their own — styles and stories live with the parent.
For the complete, authoritative API of each component — including all properties, slots, events, and accepted values — see the Storybook Autodocs: