fix(admin): replace raw checkboxes with Kumo Switch and Checkbox#952
Conversation
Migrates 20 raw <input type="checkbox"> elements to Kumo: Switches (single-boolean toggles with description): - ContentTypeEditor: SEO, Enable comments, Auto-approve authenticated users - RepeaterField: boolean sub-field - PortableTextEditor: plugin 'toggle' field type renderer - FieldEditor: Required / Unique / Searchable + sub-field Required - WordPressImport: Import navigation menus, Categories (locked-on), Tags (locked-on), Site title and tagline, Logo and favicon, SEO settings, per-post-type toggles Checkboxes (multi-select / list items): - ContentTypeEditor: supports[] options - PluginManager: 'Also delete plugin storage data' uninstall option - TaxonomyManager: collection multi-select - TaxonomySidebar: term tree nodes Drops manual <label> wrappers and h-4 w-4 styling that Kumo provides built-in. Visual testing confirms all toggles render correctly with proper state binding and label/description rendering.
🦋 Changeset detectedLatest commit: 7929f14 The changes in this PR will be included in the next version bump. This PR includes changesets to release 13 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
emdash-perf-coordinator | 7929f14 | May 08 2026, 03:14 PM |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
emdash-i18n | 7929f14 | May 08 2026, 03:15 PM |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
docs | 7929f14 | May 08 2026, 03:15 PM |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
emdash-demo-cache | 7929f14 | May 08 2026, 03:16 PM |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
emdash-playground | 7929f14 | May 08 2026, 03:16 PM |
@emdash-cms/admin
@emdash-cms/auth
@emdash-cms/blocks
@emdash-cms/cloudflare
emdash
create-emdash
@emdash-cms/gutenberg-to-portable-text
@emdash-cms/x402
@emdash-cms/plugin-ai-moderation
@emdash-cms/plugin-atproto
@emdash-cms/plugin-audit-log
@emdash-cms/plugin-color
@emdash-cms/plugin-embeds
@emdash-cms/plugin-forms
@emdash-cms/plugin-webhook-notifier
commit: |
There was a problem hiding this comment.
Pull request overview
Migrates remaining raw checkbox inputs in the admin UI to Kumo primitives, standardizing behavior/styling by using Switch for boolean toggles and Checkbox for multi-select/list contexts.
Changes:
- Replaced multiple
<input type="checkbox">usages with KumoSwitch/Checkboxacross key admin components. - Updated event handling from
onChange(e.target.checked)toonCheckedChange(checked)to match Kumo APIs. - Added a changeset documenting the admin patch release for these UI substitutions.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| packages/admin/src/components/WordPressImport.tsx | Converts import-step toggles to Switch components. |
| packages/admin/src/components/TaxonomySidebar.tsx | Replaces term-tree checkbox inputs with Kumo Checkbox. |
| packages/admin/src/components/TaxonomyManager.tsx | Replaces collection multi-select checkbox inputs with Kumo Checkbox. |
| packages/admin/src/components/RepeaterField.tsx | Converts boolean sub-field input to a Kumo Switch. |
| packages/admin/src/components/PortableTextEditor.tsx | Converts BlockKit toggle field renderer to a Kumo Switch. |
| packages/admin/src/components/PluginManager.tsx | Converts uninstall “delete data” option to a Kumo Checkbox. |
| packages/admin/src/components/FieldEditor.tsx | Converts field property toggles (Required/Unique/Searchable) to Switch. |
| packages/admin/src/components/ContentTypeEditor.tsx | Converts supports multi-select to Checkbox and settings toggles to Switch. |
| .changeset/better-cameras-smoke.md | Adds a patch changeset describing the admin UI checkbox migration. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
The previous raw <input type="checkbox"> had aria-label={t`Import ${name}`}
which was lost when converting to <Switch>. Restore it -- the visible label
text lives in a sibling <button> for the expand/collapse interaction, so the
Switch needs its own accessible name.
Spotted in PR review by Copilot.
What does this PR do?
Migrates the remaining 20 raw `<input type="checkbox">` elements across the admin UI to Kumo's `Switch` and `Checkbox` components. Single-boolean toggles become `Switch`; multi-select / list-context checkboxes become `Checkbox`. Drops manual `` wrappers and `h-4 w-4` styling that the Kumo components provide built-in.
Switches (single-boolean toggles)
Checkboxes (multi-select / list items)
Approach
Visual verification
Captured screenshots of:
What's not in this PR
Out-of-scope follow-ups noted during testing:
Closes #
Type of change
Checklist
AI-generated code disclosure
Stack: `main` → #934 (merged) → #937 (merged) → #940 (merged) → #949 (merged) → #950 (merged) → this PR → (next: aria-labels) → (next: RTL safety) → (next: semantic tokens) → (last: ESLint enforcement)