Skip to content

Commit 1c9b99d

Browse files
Jeffrey Lauwersclaude
andcommitted
docs: Menu component en token fix documenteren (v5.19.0 + v5.19.1)
- changelog: v5.19.0 Menu component (PR #136) + v5.19.1 form-control padding-block fix (PR #143) - README: Navigation Components (3 → 4), test count 1225 → 1234 / 61 suites - 03-components.md: Menu component toegevoegd (Navigation 3 → 4 total) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent d243888 commit 1c9b99d

3 files changed

Lines changed: 114 additions & 4 deletions

File tree

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ pnpm --filter @dsn/design-tokens watch
6565
# Start Storybook in development mode
6666
pnpm dev
6767

68-
# Run tests (1225 tests across 60 test suites)
68+
# Run tests (1234 tests across 61 test suites)
6969
pnpm test
7070

7171
# Run tests in watch mode
@@ -201,11 +201,12 @@ All components are fully typed with TypeScript and include comprehensive JSDoc d
201201
| **StatusBadge** | Yes | Yes ||
202202
| **Table** | Yes | Yes ||
203203

204-
**Navigation Components (3)**
204+
**Navigation Components (4)**
205205

206206
| Component | HTML/CSS | React | Web Component |
207207
| ------------------------ | -------- | ----- | ------------- |
208208
| **BreadcrumbNavigation** | Yes | Yes ||
209+
| **Menu** | Yes | Yes ||
209210
| **MenuButton** | Yes | Yes ||
210211
| **MenuLink** | Yes | Yes ||
211212

@@ -382,7 +383,7 @@ Comprehensive documentation is available in the `/docs` folder:
382383

383384
- **Pre-commit hooks** via Husky + lint-staged (ESLint + Prettier)
384385
- **Type checking** across all packages (`pnpm type-check`)
385-
- **1225 tests** covering React components, Web Components, and utilities
386+
- **1234 tests** covering React components, Web Components, and utilities
386387
- **CI/CD** via GitHub Actions (lint, type-check, test, build)
387388

388389
## Tech Stack

docs/03-components.md

Lines changed: 75 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1586,7 +1586,81 @@ const [isOpen, setIsOpen] = React.useState(false);
15861586

15871587
## Navigation Components
15881588

1589-
**Status:** Complete (HTML/CSS, React) — 3 components total
1589+
**Status:** Complete (HTML/CSS, React) — 4 components total
1590+
1591+
### Menu
1592+
1593+
**Status:** Complete (HTML/CSS, React)
1594+
1595+
**Location:** `packages/components-{html|react}/src/Menu/`
1596+
1597+
**Tokens:** `tokens/components/menu.json`
1598+
1599+
**Props:** `orientation` (`'vertical'` | `'horizontal'`), `children`, `className` + alle native `<ul>` attributen
1600+
1601+
**Features:**
1602+
1603+
- Containercomponent voor `MenuLink`- en `MenuButton`-items — rendert een `<ul>` met `list-style: none`
1604+
- `orientation="vertical"` (standaard): `flex-direction: column`, items op volledige breedte
1605+
- `orientation="horizontal"`: `flex-direction: row`, items naast elkaar op inhoudsbreedte
1606+
- Horizontale current-staat gebruikt `border-block-end` (i.p.v. `border-inline-start`) — context-override via `.dsn-menu--horizontal` in `menu-link.css`
1607+
- De `<nav>`-wrapper is de verantwoordelijkheid van de ouder
1608+
1609+
**CSS-klassen:**
1610+
1611+
| Klasse | Element | Beschrijving |
1612+
| ---------------------- | ------- | ------------------------------------------ |
1613+
| `dsn-menu` | `<ul>` | Basiscomponent — altijd aanwezig |
1614+
| `dsn-menu--horizontal` | `<ul>` | Horizontale oriëntatie: items naast elkaar |
1615+
1616+
**Design tokens:**
1617+
1618+
| Token | Waarde | Beschrijving |
1619+
| --------------------------- | ----------------------------- | --------------------------------------------- |
1620+
| `--dsn-menu-gap-vertical` | `{dsn.space.block.xs}` (2px) | Ruimte tussen items in verticale oriëntatie |
1621+
| `--dsn-menu-gap-horizontal` | `{dsn.space.inline.sm}` (4px) | Ruimte tussen items in horizontale oriëntatie |
1622+
1623+
**Usage:**
1624+
1625+
```html
1626+
<!-- HTML/CSS — verticaal (standaard) -->
1627+
<nav aria-label="Hoofdnavigatie">
1628+
<ul class="dsn-menu">
1629+
<li class="dsn-menu-link">...</li>
1630+
<li class="dsn-menu-button">...</li>
1631+
</ul>
1632+
</nav>
1633+
1634+
<!-- HTML/CSS — horizontaal -->
1635+
<nav aria-label="Paginanavigatie">
1636+
<ul class="dsn-menu dsn-menu--horizontal">
1637+
<li class="dsn-menu-link">...</li>
1638+
<li class="dsn-menu-link">...</li>
1639+
</ul>
1640+
</nav>
1641+
```
1642+
1643+
```tsx
1644+
// React — verticaal (standaard)
1645+
<nav aria-label="Hoofdnavigatie">
1646+
<Menu>
1647+
<MenuLink href="/home">Home</MenuLink>
1648+
<MenuButton onClick={handleLogout}>Uitloggen</MenuButton>
1649+
</Menu>
1650+
</nav>
1651+
1652+
// React — horizontaal
1653+
<nav aria-label="Paginanavigatie">
1654+
<Menu orientation="horizontal">
1655+
<MenuLink href="/home" current>Home</MenuLink>
1656+
<MenuLink href="/over">Over ons</MenuLink>
1657+
</Menu>
1658+
</nav>
1659+
```
1660+
1661+
**Tests:** React (9 tests)
1662+
1663+
---
15901664

15911665
### BreadcrumbNavigation
15921666

docs/changelog.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,41 @@ All notable changes to this project are documented in this file.
66

77
---
88

9+
## Version 5.19.1 (April 6, 2026)
10+
11+
### Fix: gelijke hoogte voor input fields en buttons (issue #141, PR #143)
12+
13+
#### Fixed
14+
15+
- `dsn.form-control.padding-block-start/end` verlaagd van `{dsn.space.block.lg}` (12px) naar `{dsn.space.block.md}` (8px) — `min-block-size` (48px) bepaalt nu de hoogte van alle form controls, gelijk aan de button
16+
- Cascadeert automatisch naar **TextInput**, **TextArea**, **Select**, **SearchInput**, **DateInput** en **TimeInput**
17+
- Tijdelijke token-override in `page-header.css` (`.dsn-page-header__search-inner .dsn-text-input`) verwijderd
18+
19+
#### Changed
20+
21+
- `dsn.date-input.button-inset-inline-end` en `dsn.time-input.button-inset-inline-end`: van `{dsn.space.inline.md}` (8px) naar `{dsn.space.inline.sm}` (4px) — icoonknop staat compacter tegen de border
22+
23+
---
24+
25+
## Version 5.19.0 (April 4, 2026)
26+
27+
### Menu component (issue #129, PR #136)
28+
29+
#### Added
30+
31+
- **Menu** component — containercomponent voor `MenuLink`- en `MenuButton`-items
32+
- Rendert een `<ul>` met `list-style: none`; verantwoordelijkheid voor de `<nav>`-wrapper ligt bij de ouder
33+
- `orientation` prop: `vertical` (standaard, `flex-direction: column`) of `horizontal` (`flex-direction: row`)
34+
- Horizontale current-indicator via `border-block-end` (i.p.v. `border-inline-start` in verticale oriëntatie) — context-override in `menu-link.css`
35+
- 2 design tokens: `dsn.menu.gap.vertical` (`{dsn.space.block.xs}`, 2px) en `dsn.menu.gap.horizontal` (`{dsn.space.inline.sm}`, 4px)
36+
- 9 React tests
37+
38+
#### Changed
39+
40+
- `dsn.menu-item.min-block-size``{dsn.pointer-target.min-block-size}` (48px) — MenuLink en MenuButton voldoen nu altijd aan WCAG touch target
41+
42+
---
43+
944
## Version 5.18.0 (April 4, 2026)
1045

1146
### MenuButton component + gedeelde menu-item tokens

0 commit comments

Comments
 (0)