CLAUDE.md@bulma-ui/src/elements · git:20261012.582aff0 · 2026-10-12 · sha256 5ec2aefd65f8bbc9
CLAUDE.md@bulma-ui/src/elements git:20261012.582aff0A
Immutable. This exact content never changes and is served at /api/v1/blob/5ec2aefd65f8bbc9.
# elements/ — simple building blocks Bulma's _elements_: single-purpose components that render (mostly) one HTML element with Bulma classes — Button, Box, Icon, Tag, Title, and friends (the generated `skills/bestax-custom-component/references/component-catalog.md` is the authoritative list). **Belongs here?** One element, one Bulma concept, no subcomponents. An element may keep a little state of its own, the kind a native control keeps (a toggle's pressed flag that a caller can take over), but nothing that coordinates several parts. Interactive multi-part widgets (dropdowns, modals, …) go in `../components/`; page structure in `../layout/`; anything with a `Field`/`Control` role in `../form/`. Layout is flat: `Foo.tsx` + `Foo.stories.tsx`, with tests in `__tests__/Foo.test.tsx`. Follow the anatomy rule in `bulma-ui/CLAUDE.md` (test + story + docs page + export + catalog). Notes: - Also home to plain semantic-HTML wrappers (Paragraph, Span, Strong, the Table family) that exist so helper props work on ordinary markup. - Everything here is styled by stock Bulma — no SCSS, except extras like `LinkButton` (partial in `../scss/elements/`). - `Icon` supports multiple icon libraries via the `library` prop (default `fa`); prefix handling has known sharp edges (#189) — don't change `name`/`icon` semantics casually.