Skip to content

Commit ea7d6b9

Browse files
Jeffrey Lauwersclaude
andcommitted
feat(Stack): voeg 5xl en 6xl space-varianten toe
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 869e3c4 commit ea7d6b9

5 files changed

Lines changed: 35 additions & 6 deletions

File tree

packages/components-html/src/stack/stack.css

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,9 @@
4444
.dsn-stack--space-4xl {
4545
--dsn-stack-space: var(--dsn-space-row-4xl);
4646
}
47+
.dsn-stack--space-5xl {
48+
--dsn-stack-space: var(--dsn-space-row-5xl);
49+
}
50+
.dsn-stack--space-6xl {
51+
--dsn-stack-space: var(--dsn-space-row-6xl);
52+
}

packages/components-react/src/Stack/Stack.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ describe('Stack', () => {
3535
expect(container.firstChild).not.toHaveClass('dsn-stack--space-md');
3636
});
3737

38-
it.each(['sm', 'lg', 'xl', '2xl', '3xl', '4xl'] as const)(
38+
it.each(['sm', 'lg', 'xl', '2xl', '3xl', '4xl', '5xl', '6xl'] as const)(
3939
'applies space modifier class for %s',
4040
(space) => {
4141
const { container } = render(<Stack space={space} />);

packages/components-react/src/Stack/Stack.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,16 @@ import React from 'react';
22
import { classNames } from '@dsn/core';
33
import './Stack.css';
44

5-
export type StackSpace = 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
5+
export type StackSpace =
6+
| 'sm'
7+
| 'md'
8+
| 'lg'
9+
| 'xl'
10+
| '2xl'
11+
| '3xl'
12+
| '4xl'
13+
| '5xl'
14+
| '6xl';
615

716
export interface StackProps extends React.HTMLAttributes<HTMLDivElement> {
817
/**

packages/storybook/src/Stack.docs.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Layout primitief dat consistente verticale ruimte aanbrengt tussen gestapelde el
66

77
Stack past automatisch verticale ruimte toe tussen alle directe child-elementen via `display: flex; flex-direction: column; gap`. Je schrijft nooit zelf `margin` of `padding` voor tussenruimte — de Stack regelt dat.
88

9-
Zeven space-varianten — gebaseerd op de globale `--dsn-space-row-*` tokens — geven je controle over hoe ver de elementen uit elkaar staan.
9+
Negen space-varianten — gebaseerd op de globale `--dsn-space-row-*` tokens — geven je controle over hoe ver de elementen uit elkaar staan.
1010

1111
<!-- VOORBEELD -->
1212

@@ -24,7 +24,7 @@ Zeven space-varianten — gebaseerd op de globale `--dsn-space-row-*` tokens —
2424

2525
## Best practices
2626

27-
- **Kies de kleinst passende variant**: voor formuliervelden `sm``md`, voor secties op een pagina `3xl``4xl`.
27+
- **Kies de kleinst passende variant**: voor formuliervelden `sm``md`, voor secties op een pagina `3xl``4xl`, voor grote paginaovergangen `5xl``6xl`.
2828
- **Nest Stack-componenten** voor complexe layouts: een buitenste Stack met `4xl` voor paginasecties, binnenste Stacks met `md` voor formuliervelden.
2929
- **Gebruik Stack niet als vervanging voor semantische HTML**: de Stack rendert altijd als `<div>`. Geef children de juiste semantische elementen mee.
3030

@@ -44,3 +44,5 @@ Stack is een puur visueel layout-hulpmiddel. Het voegt geen ARIA-rollen, labels
4444
| `--dsn-space-row-2xl` | 20px — gebruikt door `.dsn-stack--space-2xl` |
4545
| `--dsn-space-row-3xl` | 24px — gebruikt door `.dsn-stack--space-3xl` |
4646
| `--dsn-space-row-4xl` | 32px — gebruikt door `.dsn-stack--space-4xl` |
47+
| `--dsn-space-row-5xl` | 64px — gebruikt door `.dsn-stack--space-5xl` |
48+
| `--dsn-space-row-6xl` | 160px — gebruikt door `.dsn-stack--space-6xl` |

packages/storybook/src/Stack.stories.tsx

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ const meta: Meta<typeof Stack> = {
3737
argTypes: {
3838
space: {
3939
control: 'select',
40-
options: ['sm', 'md', 'lg', 'xl', '2xl', '3xl', '4xl'],
40+
options: ['sm', 'md', 'lg', 'xl', '2xl', '3xl', '4xl', '5xl', '6xl'],
4141
},
4242
children: { control: false },
4343
},
@@ -59,7 +59,17 @@ export const Default: Story = {
5959
),
6060
};
6161

62-
const SPACE_VARIANTS = ['sm', 'md', 'lg', 'xl', '2xl', '3xl', '4xl'] as const;
62+
const SPACE_VARIANTS = [
63+
'sm',
64+
'md',
65+
'lg',
66+
'xl',
67+
'2xl',
68+
'3xl',
69+
'4xl',
70+
'5xl',
71+
'6xl',
72+
] as const;
6373

6474
const SPACE_LABELS: Record<string, string> = {
6575
sm: 'sm — 4px',
@@ -69,6 +79,8 @@ const SPACE_LABELS: Record<string, string> = {
6979
'2xl': '2xl — 20px',
7080
'3xl': '3xl — 24px',
7181
'4xl': '4xl — 32px',
82+
'5xl': '5xl — 64px',
83+
'6xl': '6xl — 160px',
7284
};
7385

7486
export const AllSpaces: Story = {

0 commit comments

Comments
 (0)