Skip to content

feat: eighteen components from the shadcn registry; forty in the package - #6

Merged
YaelAnaya merged 1 commit into
simplify-0.3.0from
feat/components-0.4.0
Sep 21, 2026
Merged

YaelAnaya merged 1 commit into
simplify-0.3.0from
feat/components-0.4.0

Conversation

@YaelAnaya

Copy link
Copy Markdown
Contributor

Eighteen components enter through components.json, each adapted to the rules in DESIGN.md and owned here from then on. The package goes from twenty-two to forty.

Attachment, Avatar, Breadcrumb, ButtonGroup, Command, ContextMenu, Drawer, Empty, HoverCard, Item, Kbd, Pagination, Popover, RadioGroup, ScrollArea, Spinner, Toggle, ToggleGroup.

cmdk arrives under Command and vaul under Drawer: the first two behaviour libraries in the package that are neither Radix nor Base UI.

What each one carries

Every component is exported by name from src/index.ts, has a behaviour test in tests/components/, a specimen in the catalog, and a row in docs/components/README.md.

Two rules settle while they land

One spelling for a state. A state is written in shadcn's variants (data-open:, data-active:) and never in the attribute a library happens to emit, so Dialog (Radix) and Combobox (Base UI) read alike and a component that changes libraries changes no class. A data-[…] bracket survives only where the layer declares no variant, and for attributes that are not states.

Exit animations follow the trigger. ContextMenuContent and PopoverContent join the menus in leaving on the frame they are dismissed, because their trigger can be pressed again on the next one. Dialog, Sheet, Drawer, Tooltip and HoverCard keep theirs: nobody is waiting on those frames.

Verification

pnpm verify passes: format, lint, 115 tests in 15 files, the build, the catalog, and the packed-consumer test.

Attachment, Avatar, Breadcrumb, ButtonGroup, Command, ContextMenu, Drawer,
Empty, HoverCard, Item, Kbd, Pagination, Popover, RadioGroup, ScrollArea,
Spinner, Toggle and ToggleGroup enter through `components.json`, each adapted
to the rules in DESIGN.md and owned here from then on. cmdk arrives under
Command and vaul under Drawer, the first two behaviour libraries in the
package that are neither Radix nor Base UI.

Every one is exported by name from `src/index.ts`, has a behaviour test, a
specimen in the catalog and a row in `docs/components/README.md`.

The state-attribute rule is settled while they land: a state is written in
shadcn's variants (`data-open:`, `data-active:`) and never in the attribute a
library happens to emit, so Dialog and Combobox read alike. A `data-[…]`
bracket survives only where the layer declares no variant, and for attributes
that are not states. The exit-animation rule grows with the new surfaces:
ContextMenuContent and PopoverContent join the menus in leaving on the frame
they are dismissed, because their trigger can be pressed again on the next.
@YaelAnaya
YaelAnaya force-pushed the feat/components-0.4.0 branch from f744f8c to a8ea966 Compare September 21, 2026 00:14
YaelAnaya added a commit that referenced this pull request Sep 21, 2026
El commit revertido fue un error mío: la red de seguridad del troceado se
commiteó en esta rama en lugar de en una aparte, y se empujó con ella. Su
contenido vive, ya separado por propósito, en las tres ramas que abren los
PR #6, #7 y #8. El árbol vuelve a ser exactamente el de ae7454b.
@YaelAnaya YaelAnaya closed this Sep 21, 2026
@YaelAnaya YaelAnaya reopened this Sep 21, 2026
@YaelAnaya
YaelAnaya merged commit cdd4a95 into simplify-0.3.0 Sep 21, 2026
1 check passed
@YaelAnaya
YaelAnaya deleted the feat/components-0.4.0 branch September 21, 2026 00:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant