Skip to content

feat(kumo): surface LinkButton and RefreshButton in registry, CLI, docs, Figma#466

Draft
ascorbic wants to merge 1 commit intocloudflare:mainfrom
ascorbic:feat/multi-component-discovery
Draft

feat(kumo): surface LinkButton and RefreshButton in registry, CLI, docs, Figma#466
ascorbic wants to merge 1 commit intocloudflare:mainfrom
ascorbic:feat/multi-component-discovery

Conversation

@ascorbic
Copy link
Copy Markdown

@ascorbic ascorbic commented May 1, 2026

Adds a KUMO_REGISTRY_COMPONENTS marker on a component directory's index.ts to register multiple sibling components from a single source file. The registry codegen previously assumed one component per directory, which silently dropped LinkButton and RefreshButton (both co-located in button/button.tsx). They now have their own registry entries, doc pages, sidebar nav entries, and Figma generator data without sharing Button's attribution.

  • Registry: discovery emits one ComponentConfig per registered component name. Variant tables are looked up by KUMO_<NAME>_VARIANTS, with alias chains resolved so KUMO_LINK_BUTTON_VARIANTS = KUMO_BUTTON_VARIANTS works.
  • CLI: kumo doc/ls now find LinkButton and RefreshButton.
  • Docs: new pages at /components/link-button and /components/refresh-button. Sidebar nav and button.mdx narrative point at the new pages.
  • Demos: LinkButton and RefreshButton demos extracted into their own files to feed the registry generator's per-component bucketing.
  • Figma: link-button and refresh-button generators read their own registry entries instead of borrowing from Button.
  • Lint: enforce-variant-standard now permits KUMO_<NAME>_VARIANTS exports for any PascalCase component declared in the same file.

  • Reviews
    • bonk has reviewed the change
    • automated review not possible because: i don't have write access. Reviewed locally
  • Tests
    • Tests included/updated
    • Automated tests not possible - manual testing has been completed as follows:
    • Additional testing not necessary because:

…cs, Figma

Adds a KUMO_REGISTRY_COMPONENTS marker on a component directory's index.ts
to register multiple sibling components from a single source file. The
registry codegen previously assumed one component per directory, which
silently dropped LinkButton and RefreshButton (both co-located in
button/button.tsx). They now have their own registry entries, doc pages,
sidebar nav entries, and Figma generator data without sharing Button's
attribution.

- Registry: discovery emits one ComponentConfig per registered component
  name. Variant tables are looked up by KUMO_<NAME>_VARIANTS, with alias
  chains resolved so KUMO_LINK_BUTTON_VARIANTS = KUMO_BUTTON_VARIANTS works.
- CLI: kumo doc/ls now find LinkButton and RefreshButton.
- Docs: new pages at /components/link-button and /components/refresh-button.
  Sidebar nav and button.mdx narrative point at the new pages.
- Demos: LinkButton and RefreshButton demos extracted into their own files
  to feed the registry generator's per-component bucketing.
- Figma: link-button and refresh-button generators read their own registry
  entries instead of borrowing from Button.
- Lint: enforce-variant-standard now permits KUMO_<NAME>_VARIANTS exports
  for any PascalCase component declared in the same file.
@ascorbic ascorbic force-pushed the feat/multi-component-discovery branch from 3e084ae to b571705 Compare May 1, 2026 14:12
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented May 1, 2026

npm i https://pkg.pr.new/@cloudflare/kumo@466

commit: b571705

@ascorbic
Copy link
Copy Markdown
Author

ascorbic commented May 1, 2026

/review

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

Docs Preview

View docs preview

Commit: b571705

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

Visual Regression Report — 7 changed, 31 unchanged

7 screenshot(s) with visual changes:

Button / Loading State

6 px (0.01%) changed

Before After Diff
Before After Diff

Button / Link as Button

734 px (0.72%) changed

Before After Diff
Before After Diff

Dialog (Open)

0 px (0%) changed

Before After Diff
Before After Diff

Select / Select Sizes

599 px (0.32%) changed

Before After Diff
Before After Diff

Select / Select With Tooltip

294 px (0.29%) changed

Before After Diff
Before After Diff

Select / Select Loading

0 px (0%) changed

Before After Diff
Before After Diff

Select (Open)

0 px (0%) changed

Before After Diff
Before After Diff
31 screenshot(s) unchanged
  • Button / Basic
  • Button / Variant: Primary
  • Button / Variant: Secondary
  • Button / Variant: Ghost
  • Button / Variant: Destructive
  • Button / Variant: Outline
  • Button / Variant: Secondary Destructive
  • Button / Sizes
  • Button / With Icon
  • Button / Icon Only
  • Button / Disabled State
  • Button / Title
  • Dialog / Dialog With Actions
  • Dialog / Dialog Basic
  • Dialog / Dialog Alert
  • Dialog / Dialog Confirmation
  • Dialog / Dialog With Select
  • Dialog / Dialog With Combobox
  • Dialog / Dialog With Dropdown
  • Select / Select Basic
  • Select / Select Without Label
  • Select / Select With Field
  • Select / Select Placeholder
  • Select / Select Custom Rendering
  • Select / Select Multiple
  • Select / Select Complex
  • Select / Select Disabled Options
  • Select / Select Disabled Items
  • Select / Select Grouped
  • Select / Select Grouped With Disabled
  • Select / Select Long List

Generated by Kumo Visual Regression

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