From 60ceb8dbd3c72b355a0680a78e0f85f6df27e436 Mon Sep 17 00:00:00 2001 From: Alex Grozav Date: Thu, 22 Oct 2026 15:45:51 +0300 Subject: [PATCH] feat(docs): split the Checkbox page into an overview and a page per layer The Checkbox page becomes a folder shaped like the Button's: an Overview with a card per layer, and a page each for UI, UX, DX and AX, with that layer's rules and questions. The text moves as it is. Links to the page's own sections now go to the part that holds them. Co-authored-by: multica-agent --- content/docs/3.components/checkbox.md | 2680 ----------------- .../3.components/checkbox/.navigation.yml | 2 + content/docs/3.components/checkbox/1.ui.md | 421 +++ content/docs/3.components/checkbox/2.ux.md | 869 ++++++ content/docs/3.components/checkbox/3.dx.md | 501 +++ content/docs/3.components/checkbox/4.ax.md | 255 ++ content/docs/3.components/checkbox/index.md | 683 +++++ 7 files changed, 2731 insertions(+), 2680 deletions(-) delete mode 100644 content/docs/3.components/checkbox.md create mode 100644 content/docs/3.components/checkbox/.navigation.yml create mode 100644 content/docs/3.components/checkbox/1.ui.md create mode 100644 content/docs/3.components/checkbox/2.ux.md create mode 100644 content/docs/3.components/checkbox/3.dx.md create mode 100644 content/docs/3.components/checkbox/4.ax.md create mode 100644 content/docs/3.components/checkbox/index.md diff --git a/content/docs/3.components/checkbox.md b/content/docs/3.components/checkbox.md deleted file mode 100644 index 62e991b..0000000 --- a/content/docs/3.components/checkbox.md +++ /dev/null @@ -1,2680 +0,0 @@ ---- -title: Checkbox -description: How to build a checkbox that people can check with a click on its label, that says what it means and when it's mixed, that forms send the way they expect, and that agents can check. -navigation: - icon: i-lucide-square-check ---- - -Checkboxes let people say yes or no to one thing, like agreeing to the terms, or asking for a newsletter. The browser has had one built in for as long as there have been forms, but its box is hard to style, so many teams rebuild it, and that's where it goes wrong. Think of a box so small you keep missing it, a label that does nothing when you click it, or a "Select all" that screen readers announce as unchecked when half its options are checked. - -This page walks you through building one the right way. We'll look at: -- **User Interface** (UI) - how a checkbox looks -- **User Experience** (UX) - how it behaves for every person and every input -- **Developer Experience** (DX) - how developers work with it -- **Agentic Experience** (AX) - how agents can read and verify it - -Every example on this page runs on our [reference implementation](/docs/components/checkbox#reference-implementation), which does its part of every rule in the [checklist](/docs/components/checkbox#checklist), so feel free to check and uncheck them as you read. The code under each example comes in React, Vue, Svelte, Angular, Solid, Astro and Vanilla, written for a Checkbox with the same API in each. Pick yours from the Framework select above the sidebar. Vanilla is plain HTML and JavaScript, so it writes out the markup from the [DOM contract](/docs/components/checkbox#deterministic). - -The Checkbox is one box with its label. Its hint and error message are elements of their own, which you link to it by ID, like the [Input](/docs/components/input)'s. A list of options that people check any number of is a group, with a `
` and a ``, which the [Checkbox Group](/docs/components/checkbox-group) builds out of Checkboxes. - -::checkbox-playground -:: - -## At a glance - -| Aspect | Checkbox | -| -------- | ---------------------------------------------------------------------------------------------- | -| Element | ``, inside the `