@amsterdam/design-system-react 0.8.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,69 +1,207 @@
1
1
  import * as react from 'react';
2
- import { OptgroupHTMLAttributes, OptionHTMLAttributes, PropsWithChildren, SelectHTMLAttributes, InputHTMLAttributes, HTMLAttributes, ButtonHTMLAttributes, TextareaHTMLAttributes, AnchorHTMLAttributes, TableHTMLAttributes, SVGProps, ForwardRefExoticComponent, RefAttributes, ReactNode, DialogHTMLAttributes, ImgHTMLAttributes, BlockquoteHTMLAttributes, OlHTMLAttributes, LiHTMLAttributes, LabelHTMLAttributes } from 'react';
2
+ import { PropsWithChildren, HTMLAttributes, AnchorHTMLAttributes, InputHTMLAttributes, OptgroupHTMLAttributes, OptionHTMLAttributes, SelectHTMLAttributes, ReactNode, ButtonHTMLAttributes, TextareaHTMLAttributes, TableHTMLAttributes, SVGProps, ForwardRefExoticComponent, RefAttributes, DialogHTMLAttributes, ImgHTMLAttributes, BlockquoteHTMLAttributes, OlHTMLAttributes, LiHTMLAttributes, LabelHTMLAttributes } from 'react';
3
+
4
+ type HeadingLevel = 1 | 2 | 3 | 4;
5
+ type HeadingSize = 'level-1' | 'level-2' | 'level-3' | 'level-4' | 'level-5' | 'level-6';
6
+ type HeadingProps = {
7
+ /** Changes the text colour for readability on a dark background. */
8
+ inverseColor?: boolean;
9
+ /** The hierarchical level within the document. */
10
+ level?: HeadingLevel;
11
+ /** Uses larger or smaller text without changing its position in the heading hierarchy. */
12
+ size?: HeadingSize;
13
+ } & PropsWithChildren<HTMLAttributes<HTMLHeadingElement>>;
14
+ declare const Heading: react.ForwardRefExoticComponent<{
15
+ /** Changes the text colour for readability on a dark background. */
16
+ inverseColor?: boolean;
17
+ /** The hierarchical level within the document. */
18
+ level?: HeadingLevel;
19
+ /** Uses larger or smaller text without changing its position in the heading hierarchy. */
20
+ size?: HeadingSize;
21
+ } & HTMLAttributes<HTMLHeadingElement> & {
22
+ children?: react.ReactNode | undefined;
23
+ } & react.RefAttributes<HTMLHeadingElement>>;
24
+
25
+ type FormError = {
26
+ id: string;
27
+ label: string;
28
+ };
29
+ type FormErrorListProps = {
30
+ /** The list of error messages to display. */
31
+ errors: FormError[];
32
+ /** The text for the Heading. */
33
+ heading?: string;
34
+ /**
35
+ * The hierarchical level of the Heading within the document.
36
+ * Note: this intentionally does not change the font size.
37
+ */
38
+ headingLevel?: HeadingLevel;
39
+ } & HTMLAttributes<HTMLDivElement>;
40
+ declare const FormErrorList: react.ForwardRefExoticComponent<{
41
+ /** The list of error messages to display. */
42
+ errors: FormError[];
43
+ /** The text for the Heading. */
44
+ heading?: string;
45
+ /**
46
+ * The hierarchical level of the Heading within the document.
47
+ * Note: this intentionally does not change the font size.
48
+ */
49
+ headingLevel?: HeadingLevel;
50
+ } & HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
51
+
52
+ type TableOfContentsProps = {
53
+ /** The text for the Heading. */
54
+ heading?: string;
55
+ /**
56
+ * The hierarchical level of the Heading within the document.
57
+ * Note: this intentionally does not change the font size.
58
+ */
59
+ headingLevel?: HeadingLevel;
60
+ } & PropsWithChildren<HTMLAttributes<HTMLElement>>;
61
+ declare const TableOfContents: react.ForwardRefExoticComponent<{
62
+ /** The text for the Heading. */
63
+ heading?: string;
64
+ /**
65
+ * The hierarchical level of the Heading within the document.
66
+ * Note: this intentionally does not change the font size.
67
+ */
68
+ headingLevel?: HeadingLevel;
69
+ } & HTMLAttributes<HTMLElement> & {
70
+ children?: react.ReactNode | undefined;
71
+ } & react.RefAttributes<HTMLElement>> & {
72
+ Link: react.ForwardRefExoticComponent<{
73
+ label: string;
74
+ } & react.AnchorHTMLAttributes<HTMLAnchorElement> & react.RefAttributes<HTMLAnchorElement>>;
75
+ List: react.ForwardRefExoticComponent<HTMLAttributes<HTMLUListElement> & {
76
+ children?: react.ReactNode | undefined;
77
+ } & react.RefAttributes<HTMLUListElement>>;
78
+ };
79
+
80
+ type TableOfContentsLinkProps = {
81
+ /** The text for the link. */
82
+ label: string;
83
+ } & AnchorHTMLAttributes<HTMLAnchorElement>;
84
+
85
+ type TableOfContentsListProps = PropsWithChildren<HTMLAttributes<HTMLUListElement>>;
86
+
87
+ type ErrorMessageProps = {
88
+ /** An accessible phrase that screen readers announce before the error message. Should translate to something like ‘input error’. */
89
+ prefix?: string;
90
+ } & PropsWithChildren<HTMLAttributes<HTMLParagraphElement>>;
91
+ declare const ErrorMessage: react.ForwardRefExoticComponent<{
92
+ /** An accessible phrase that screen readers announce before the error message. Should translate to something like ‘input error’. */
93
+ prefix?: string;
94
+ } & HTMLAttributes<HTMLParagraphElement> & {
95
+ children?: react.ReactNode | undefined;
96
+ } & react.RefAttributes<HTMLParagraphElement>>;
97
+
98
+ type FileInputProps = InputHTMLAttributes<HTMLInputElement>;
99
+ declare const FileInput: react.ForwardRefExoticComponent<FileInputProps & react.RefAttributes<HTMLInputElement>>;
100
+
101
+ type FieldProps = {
102
+ /** Whether the field has an input with a validation error */
103
+ invalid?: boolean;
104
+ } & PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
105
+ declare const Field: react.ForwardRefExoticComponent<{
106
+ /** Whether the field has an input with a validation error */
107
+ invalid?: boolean;
108
+ } & HTMLAttributes<HTMLDivElement> & {
109
+ children?: react.ReactNode | undefined;
110
+ } & react.RefAttributes<HTMLDivElement>>;
3
111
 
4
112
  type SelectOptionGroupProps = OptgroupHTMLAttributes<HTMLOptGroupElement>;
5
113
 
6
114
  type SelectOptionProps = OptionHTMLAttributes<HTMLOptionElement>;
7
115
 
8
116
  type SelectProps = {
9
- /** There is no native invalid attribute for select, but you can use this to get the same result as other form components */
117
+ /** Whether the value fails a validation rule. */
10
118
  invalid?: boolean;
11
- } & PropsWithChildren<SelectHTMLAttributes<HTMLSelectElement>>;
119
+ } & PropsWithChildren<Omit<SelectHTMLAttributes<HTMLSelectElement>, 'aria-invalid'>>;
12
120
  declare const Select: react.ForwardRefExoticComponent<{
13
- /** There is no native invalid attribute for select, but you can use this to get the same result as other form components */
14
- invalid?: boolean | undefined;
15
- } & SelectHTMLAttributes<HTMLSelectElement> & {
16
- children?: react.ReactNode;
121
+ /** Whether the value fails a validation rule. */
122
+ invalid?: boolean;
123
+ } & Omit<SelectHTMLAttributes<HTMLSelectElement>, "aria-invalid"> & {
124
+ children?: react.ReactNode | undefined;
17
125
  } & react.RefAttributes<HTMLSelectElement>> & {
18
126
  Option: react.ForwardRefExoticComponent<SelectOptionProps & {
19
- children?: react.ReactNode;
127
+ children?: react.ReactNode | undefined;
20
128
  } & react.RefAttributes<HTMLOptionElement>>;
21
129
  Group: react.ForwardRefExoticComponent<SelectOptionGroupProps & {
22
- children?: react.ReactNode;
130
+ children?: react.ReactNode | undefined;
23
131
  } & react.RefAttributes<HTMLOptGroupElement>>;
24
132
  };
25
133
 
26
- type TimeInputProps = InputHTMLAttributes<HTMLInputElement>;
27
- declare const TimeInput: react.ForwardRefExoticComponent<TimeInputProps & react.RefAttributes<HTMLInputElement>>;
134
+ type TimeInputProps = {
135
+ /** Whether the value fails a validation rule. */
136
+ invalid?: boolean;
137
+ } & Omit<InputHTMLAttributes<HTMLInputElement>, 'aria-invalid' | 'type'>;
138
+ declare const TimeInput: react.ForwardRefExoticComponent<{
139
+ /** Whether the value fails a validation rule. */
140
+ invalid?: boolean;
141
+ } & Omit<InputHTMLAttributes<HTMLInputElement>, "aria-invalid" | "type"> & react.RefAttributes<HTMLInputElement>>;
28
142
 
29
- type DateInputProps = InputHTMLAttributes<HTMLInputElement>;
30
- declare const DateInput: react.ForwardRefExoticComponent<DateInputProps & react.RefAttributes<HTMLInputElement>>;
143
+ declare const dateInputTypes: readonly ["date", "datetime-local"];
144
+ type DateInputType = (typeof dateInputTypes)[number];
145
+ type DateInputProps = {
146
+ /** Whether the value fails a validation rule. */
147
+ invalid?: boolean;
148
+ /** The kind of data that the user should provide. */
149
+ type?: DateInputType;
150
+ } & Omit<InputHTMLAttributes<HTMLInputElement>, 'aria-invalid' | 'type'>;
151
+ declare const DateInput: react.ForwardRefExoticComponent<{
152
+ /** Whether the value fails a validation rule. */
153
+ invalid?: boolean;
154
+ /** The kind of data that the user should provide. */
155
+ type?: DateInputType;
156
+ } & Omit<InputHTMLAttributes<HTMLInputElement>, "aria-invalid" | "type"> & react.RefAttributes<HTMLInputElement>>;
31
157
 
32
- declare const avatarColors: readonly ["blue", "dark-blue", "dark-green", "green", "magenta", "orange", "purple", "red", "yellow"];
158
+ declare const avatarColors: readonly ["black", "blue", "dark-green", "green", "grey-1", "grey-2", "grey-3", "light-blue", "magenta", "orange", "purple", "red", "white", "yellow"];
33
159
  type AvatarColor = (typeof avatarColors)[number];
34
160
  type AvatarProps = {
161
+ /** The background colour. */
35
162
  color?: AvatarColor;
163
+ /** The url for the user’s image. Its center will be displayed. Should be square and scaled down. */
36
164
  imageSrc?: string;
165
+ /** The text content. Should be the user’s initials. The first two characters will be displayed. */
37
166
  label: string;
38
167
  } & HTMLAttributes<HTMLSpanElement>;
39
168
  declare const Avatar: react.ForwardRefExoticComponent<{
40
- color?: "blue" | "dark-blue" | "dark-green" | "green" | "magenta" | "orange" | "purple" | "red" | "yellow" | undefined;
41
- imageSrc?: string | undefined;
169
+ /** The background colour. */
170
+ color?: AvatarColor;
171
+ /** The url for the user’s image. Its center will be displayed. Should be square and scaled down. */
172
+ imageSrc?: string;
173
+ /** The text content. Should be the user’s initials. The first two characters will be displayed. */
42
174
  label: string;
43
175
  } & HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
44
176
 
45
177
  type FormFieldCharacterCounterProps = HTMLAttributes<HTMLDivElement> & {
178
+ /** The current length of the field’s value. */
46
179
  length: number;
180
+ /** The maximum length of the field’s value. */
47
181
  maxLength: number;
48
182
  };
49
183
  declare const FormFieldCharacterCounter: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
184
+ /** The current length of the field’s value. */
50
185
  length: number;
186
+ /** The maximum length of the field’s value. */
51
187
  maxLength: number;
52
188
  } & react.RefAttributes<HTMLDivElement>>;
53
189
 
54
190
  type DescriptionListProps = {
191
+ /** Changes the text colour for readability on a dark background. */
55
192
  inverseColor?: boolean;
56
193
  } & PropsWithChildren<HTMLAttributes<HTMLDListElement>>;
57
194
  declare const DescriptionList: react.ForwardRefExoticComponent<{
58
- inverseColor?: boolean | undefined;
195
+ /** Changes the text colour for readability on a dark background. */
196
+ inverseColor?: boolean;
59
197
  } & HTMLAttributes<HTMLDListElement> & {
60
- children?: react.ReactNode;
198
+ children?: react.ReactNode | undefined;
61
199
  } & react.RefAttributes<HTMLDListElement>> & {
62
200
  Term: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
63
- children?: react.ReactNode;
201
+ children?: react.ReactNode | undefined;
64
202
  } & react.RefAttributes<HTMLElement>>;
65
203
  Details: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
66
- children?: react.ReactNode;
204
+ children?: react.ReactNode | undefined;
67
205
  } & react.RefAttributes<HTMLElement>>;
68
206
  };
69
207
 
@@ -75,194 +213,219 @@ declare const rowGapSizes: Array<string>;
75
213
  type RowTag = 'article' | 'div' | 'section';
76
214
  type RowGap = (typeof rowGapSizes)[number];
77
215
  type RowProps = {
78
- /** The element to render the row with. */
216
+ /** The HTML element to use. */
79
217
  as?: RowTag;
80
- /** The amount of vertical space between the row’s children. */
218
+ /** The amount of vertical space between items. */
81
219
  gap?: RowGap;
82
220
  } & PropsWithChildren<HTMLAttributes<HTMLElement>>;
83
221
  declare const Row: react.ForwardRefExoticComponent<{
84
- /** The element to render the row with. */
85
- as?: RowTag | undefined;
86
- /** The amount of vertical space between the row’s children. */
87
- gap?: string | undefined;
222
+ /** The HTML element to use. */
223
+ as?: RowTag;
224
+ /** The amount of vertical space between items. */
225
+ gap?: RowGap;
88
226
  } & HTMLAttributes<HTMLElement> & {
89
- children?: react.ReactNode;
227
+ children?: react.ReactNode | undefined;
90
228
  } & react.RefAttributes<unknown>>;
91
229
 
92
230
  type RadioProps = {
231
+ /** Whether the value fails a validation rule. */
93
232
  invalid?: boolean;
94
- } & PropsWithChildren<InputHTMLAttributes<HTMLInputElement>>;
233
+ } & PropsWithChildren<Omit<InputHTMLAttributes<HTMLInputElement>, 'aria-invalid' | 'type'>>;
95
234
  declare const Radio: react.ForwardRefExoticComponent<{
96
- invalid?: boolean | undefined;
97
- } & InputHTMLAttributes<HTMLInputElement> & {
98
- children?: react.ReactNode;
235
+ /** Whether the value fails a validation rule. */
236
+ invalid?: boolean;
237
+ } & Omit<InputHTMLAttributes<HTMLInputElement>, "aria-invalid" | "type"> & {
238
+ children?: react.ReactNode | undefined;
99
239
  } & react.RefAttributes<HTMLInputElement>>;
100
240
 
101
- type TabsProps = PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
102
- declare const Tabs: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
103
- children?: react.ReactNode;
241
+ type TabsProps = {
242
+ /** The number of the active tab. Corresponds to its `tab` value. */
243
+ activeTab?: number;
244
+ } & PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
245
+ declare const Tabs: react.ForwardRefExoticComponent<{
246
+ /** The number of the active tab. Corresponds to its `tab` value. */
247
+ activeTab?: number;
248
+ } & HTMLAttributes<HTMLDivElement> & {
249
+ children?: ReactNode | undefined;
104
250
  } & react.RefAttributes<HTMLDivElement>> & {
105
251
  Button: react.ForwardRefExoticComponent<{
106
252
  tab: number;
107
253
  } & react.ButtonHTMLAttributes<HTMLButtonElement> & {
108
- children?: react.ReactNode;
254
+ children?: ReactNode | undefined;
109
255
  } & react.RefAttributes<HTMLButtonElement>>;
110
256
  List: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
111
- children?: react.ReactNode;
257
+ children?: ReactNode | undefined;
112
258
  } & react.RefAttributes<HTMLDivElement>>;
113
259
  Panel: react.ForwardRefExoticComponent<{
114
260
  tab: number;
115
261
  } & HTMLAttributes<HTMLDivElement> & {
116
- children?: react.ReactNode;
262
+ children?: ReactNode | undefined;
117
263
  } & react.RefAttributes<HTMLDivElement>>;
118
264
  };
119
265
 
120
266
  type TabsPanelProps = {
267
+ /** The identifier of the corresponding Tab. */
121
268
  tab: number;
122
269
  } & PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
123
270
 
124
271
  type TabsListProps = PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
125
272
 
126
273
  type TabsButtonProps = {
274
+ /** An identifier. */
127
275
  tab: number;
128
276
  } & PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>;
129
277
 
130
- type TextAreaProps = TextareaHTMLAttributes<HTMLTextAreaElement> & {
278
+ type TextAreaProps = {
279
+ /** Whether the value fails a validation rule. */
280
+ invalid?: boolean;
281
+ /** Allows the user to resize the text box. The default is resizing in both directions. */
131
282
  resize?: 'none' | 'horizontal' | 'vertical';
132
- };
133
- declare const TextArea: react.ForwardRefExoticComponent<TextareaHTMLAttributes<HTMLTextAreaElement> & {
134
- resize?: "none" | "horizontal" | "vertical" | undefined;
135
- } & react.RefAttributes<HTMLTextAreaElement>>;
283
+ } & Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'aria-invalid'>;
284
+ declare const TextArea: react.ForwardRefExoticComponent<{
285
+ /** Whether the value fails a validation rule. */
286
+ invalid?: boolean;
287
+ /** Allows the user to resize the text box. The default is resizing in both directions. */
288
+ resize?: "none" | "horizontal" | "vertical";
289
+ } & Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "aria-invalid"> & react.RefAttributes<HTMLTextAreaElement>>;
136
290
 
137
291
  declare const columnGapSizes: Array<string>;
138
292
  type ColumnTag = 'article' | 'div' | 'section';
139
293
  type ColumnGap = (typeof columnGapSizes)[number];
140
294
  type ColumnProps = {
141
- /** The element to render the column with. */
295
+ /** The HTML element to use. */
142
296
  as?: ColumnTag;
143
- /** The amount of vertical space between the column’s children. */
297
+ /** The amount of vertical space between items. */
144
298
  gap?: ColumnGap;
145
299
  } & PropsWithChildren<HTMLAttributes<HTMLElement>>;
146
300
  declare const Column: react.ForwardRefExoticComponent<{
147
- /** The element to render the column with. */
148
- as?: ColumnTag | undefined;
149
- /** The amount of vertical space between the column’s children. */
150
- gap?: string | undefined;
301
+ /** The HTML element to use. */
302
+ as?: ColumnTag;
303
+ /** The amount of vertical space between items. */
304
+ gap?: ColumnGap;
151
305
  } & HTMLAttributes<HTMLElement> & {
152
- children?: react.ReactNode;
306
+ children?: react.ReactNode | undefined;
153
307
  } & react.RefAttributes<unknown>>;
154
308
 
155
- type FieldsetProps = PropsWithChildren<HTMLAttributes<HTMLFieldSetElement>> & {
309
+ type FieldSetProps = PropsWithChildren<HTMLAttributes<HTMLFieldSetElement>> & {
310
+ /** Whether the field set has an input with a validation error */
311
+ invalid?: boolean;
312
+ /** The text for the caption. */
156
313
  legend: string;
157
314
  };
158
- declare const Fieldset: react.ForwardRefExoticComponent<HTMLAttributes<HTMLFieldSetElement> & {
159
- children?: react.ReactNode;
315
+ declare const FieldSet: react.ForwardRefExoticComponent<HTMLAttributes<HTMLFieldSetElement> & {
316
+ children?: react.ReactNode | undefined;
160
317
  } & {
318
+ /** Whether the field set has an input with a validation error */
319
+ invalid?: boolean;
320
+ /** The text for the caption. */
161
321
  legend: string;
162
322
  } & react.RefAttributes<HTMLFieldSetElement>>;
163
323
 
164
324
  type LinkListProps = PropsWithChildren<HTMLAttributes<HTMLUListElement>>;
165
325
  declare const LinkList: react.ForwardRefExoticComponent<HTMLAttributes<HTMLUListElement> & {
166
- children?: react.ReactNode;
326
+ children?: react.ReactNode | undefined;
167
327
  } & react.RefAttributes<HTMLUListElement>> & {
168
328
  Link: react.ForwardRefExoticComponent<{
169
- href: string;
170
- icon?: Function | undefined;
171
- onBackground?: ("default" | "light" | "dark") | undefined;
172
- size?: "small" | "large" | undefined;
329
+ icon?: Function;
330
+ onBackground?: "default" | "light" | "dark";
331
+ size?: "small" | "large";
173
332
  } & react.AnchorHTMLAttributes<HTMLAnchorElement> & {
174
- children?: react.ReactNode;
333
+ children?: react.ReactNode | undefined;
175
334
  } & react.RefAttributes<HTMLAnchorElement>>;
176
335
  };
177
336
 
178
337
  type BackgroundName = 'default' | 'light' | 'dark';
179
338
  type LinkListLinkProps = {
180
- /** The target url for the link. */
181
- href: string;
182
- /**
183
- * An icon to display instead of the default chevron.
184
- * Don’t mix custom icons with chevrons in one list.
185
- */
339
+ /** An icon to display instead of the default chevron. Don’t mix custom icons with chevrons in one list. */
186
340
  icon?: Function;
187
- /** Whether the link sits on a dark background. */
341
+ /** Describes the underlying background colour. Allows the text to provide visual contrast. */
188
342
  onBackground?: BackgroundName;
189
- /**
190
- * The text size for the link.
191
- * Use the same size for all items in the list.
192
- */
343
+ /** The size of the text. Use the same size for all items in the list. */
193
344
  size?: 'small' | 'large';
194
345
  } & PropsWithChildren<AnchorHTMLAttributes<HTMLAnchorElement>>;
195
346
 
196
- declare const badgeColors: readonly ["blue", "dark-blue", "dark-green", "green", "magenta", "orange", "purple", "yellow"];
347
+ declare const badgeColors: readonly ["black", "blue", "dark-green", "green", "grey-1", "grey-2", "grey-3", "light-blue", "magenta", "orange", "purple", "red", "white", "yellow"];
197
348
  type BadgeColor = (typeof badgeColors)[number];
198
349
  type BadgeProps = {
350
+ /** The background colour. */
199
351
  color?: BadgeColor;
352
+ /** The text content. */
200
353
  label: string | number;
201
354
  } & HTMLAttributes<HTMLElement>;
202
355
  declare const Badge: react.ForwardRefExoticComponent<{
203
- color?: "blue" | "dark-blue" | "dark-green" | "green" | "magenta" | "orange" | "purple" | "yellow" | undefined;
356
+ /** The background colour. */
357
+ color?: BadgeColor;
358
+ /** The text content. */
204
359
  label: string | number;
205
360
  } & HTMLAttributes<HTMLElement> & react.RefAttributes<HTMLElement>>;
206
361
 
207
362
  type TableProps = PropsWithChildren<TableHTMLAttributes<HTMLTableElement>>;
208
363
  declare const Table: react.ForwardRefExoticComponent<TableHTMLAttributes<HTMLTableElement> & {
209
- children?: react.ReactNode;
364
+ children?: react.ReactNode | undefined;
210
365
  } & react.RefAttributes<HTMLTableElement>> & {
211
366
  Body: react.ForwardRefExoticComponent<react.HTMLAttributes<HTMLTableSectionElement> & {
212
- children?: react.ReactNode;
367
+ children?: react.ReactNode | undefined;
213
368
  } & react.RefAttributes<HTMLTableSectionElement>>;
214
369
  Caption: react.ForwardRefExoticComponent<react.HTMLAttributes<HTMLTableCaptionElement> & {
215
- children?: react.ReactNode;
370
+ children?: react.ReactNode | undefined;
216
371
  } & react.RefAttributes<HTMLTableCaptionElement>>;
217
372
  Cell: react.ForwardRefExoticComponent<react.TdHTMLAttributes<HTMLTableCellElement> & {
218
- children?: react.ReactNode;
373
+ children?: react.ReactNode | undefined;
219
374
  } & react.RefAttributes<HTMLTableCellElement>>;
220
375
  Footer: react.ForwardRefExoticComponent<react.HTMLAttributes<HTMLTableSectionElement> & {
221
- children?: react.ReactNode;
376
+ children?: react.ReactNode | undefined;
222
377
  } & react.RefAttributes<HTMLTableSectionElement>>;
223
378
  Header: react.ForwardRefExoticComponent<react.HTMLAttributes<HTMLTableSectionElement> & {
224
- children?: react.ReactNode;
379
+ children?: react.ReactNode | undefined;
225
380
  } & react.RefAttributes<HTMLTableSectionElement>>;
226
381
  HeaderCell: react.ForwardRefExoticComponent<react.ThHTMLAttributes<HTMLTableCellElement> & {
227
- children?: react.ReactNode;
382
+ children?: react.ReactNode | undefined;
228
383
  } & react.RefAttributes<HTMLTableCellElement>>;
229
384
  Row: react.ForwardRefExoticComponent<react.HTMLAttributes<HTMLTableRowElement> & {
230
- children?: react.ReactNode;
385
+ children?: react.ReactNode | undefined;
231
386
  } & react.RefAttributes<HTMLTableRowElement>>;
232
387
  };
233
388
 
234
389
  type MegaMenuProps = PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
235
390
  declare const MegaMenu: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
236
- children?: react.ReactNode;
391
+ children?: react.ReactNode | undefined;
237
392
  } & react.RefAttributes<HTMLDivElement>> & {
238
393
  ListCategory: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
239
- children?: react.ReactNode;
394
+ children?: react.ReactNode | undefined;
240
395
  } & react.RefAttributes<HTMLDivElement>>;
241
396
  };
242
397
 
243
398
  type MegaMenuListCategoryProps = PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
244
399
 
245
400
  type IconButtonProps = {
401
+ /** The accessible text for the button. Will be announced by screen readers. Should describe the button’s action. */
246
402
  label: string;
403
+ /** Describes the underlying background colour. Allows the icon to provide visual contrast. */
247
404
  onBackground?: 'light' | 'dark';
405
+ /** The size of the icon. Corresponds with the text levels. */
248
406
  size?: 'level-3' | 'level-4' | 'level-5' | 'level-6';
407
+ /** The component rendering the icon’s markup. */
249
408
  svg?: Function;
250
409
  } & ButtonHTMLAttributes<HTMLButtonElement>;
251
410
  declare const IconButton: react.ForwardRefExoticComponent<{
411
+ /** The accessible text for the button. Will be announced by screen readers. Should describe the button’s action. */
252
412
  label: string;
253
- onBackground?: "light" | "dark" | undefined;
254
- size?: "level-3" | "level-4" | "level-5" | "level-6" | undefined;
255
- svg?: Function | undefined;
413
+ /** Describes the underlying background colour. Allows the icon to provide visual contrast. */
414
+ onBackground?: "light" | "dark";
415
+ /** The size of the icon. Corresponds with the text levels. */
416
+ size?: "level-3" | "level-4" | "level-5" | "level-6";
417
+ /** The component rendering the icon’s markup. */
418
+ svg?: Function;
256
419
  } & ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
257
420
 
258
421
  type SkipLinkProps = PropsWithChildren<AnchorHTMLAttributes<HTMLAnchorElement>>;
259
422
  declare const SkipLink: react.ForwardRefExoticComponent<AnchorHTMLAttributes<HTMLAnchorElement> & {
260
- children?: react.ReactNode;
423
+ children?: react.ReactNode | undefined;
261
424
  } & react.RefAttributes<HTMLAnchorElement>>;
262
425
 
263
426
  type OverlapProps = PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
264
427
  declare const Overlap: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
265
- children?: react.ReactNode;
428
+ children?: react.ReactNode | undefined;
266
429
  } & react.RefAttributes<HTMLDivElement>>;
267
430
 
268
431
  /**
@@ -272,95 +435,135 @@ declare const Overlap: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivEle
272
435
 
273
436
  type LogoBrand = 'amsterdam' | 'ggd-amsterdam' | 'museum-weesp' | 'stadsarchief' | 'stadsbank-van-lening' | 'vga-verzekeringen';
274
437
  type LogoProps = {
438
+ /** The name of the brand for which to display the logo. */
275
439
  brand?: LogoBrand;
276
440
  } & SVGProps<SVGSVGElement>;
277
441
  declare const Logo: ForwardRefExoticComponent<Omit<LogoProps, "ref"> & RefAttributes<SVGSVGElement>>;
278
442
 
279
443
  type HeaderProps = {
444
+ /** The name of the application. */
445
+ appName?: string;
446
+ /** The list of menu links. Use a Page Menu here. */
447
+ links?: ReactNode;
448
+ /** The name of the brand for which to display the logo. */
280
449
  logoBrand?: LogoBrand;
450
+ /** The url for the link on the logo. */
281
451
  logoLink?: string;
452
+ /** The accessible text for the link on the logo. */
282
453
  logoLinkTitle?: string;
283
- title?: string;
284
- links?: ReactNode;
454
+ /** A button to toggle the visibility of a Mega Menu. */
285
455
  menu?: ReactNode;
286
456
  } & HTMLAttributes<HTMLElement>;
287
457
  declare const Header: react.ForwardRefExoticComponent<{
288
- logoBrand?: LogoBrand | undefined;
289
- logoLink?: string | undefined;
290
- logoLinkTitle?: string | undefined;
291
- title?: string | undefined;
458
+ /** The name of the application. */
459
+ appName?: string;
460
+ /** The list of menu links. Use a Page Menu here. */
292
461
  links?: ReactNode;
462
+ /** The name of the brand for which to display the logo. */
463
+ logoBrand?: LogoBrand;
464
+ /** The url for the link on the logo. */
465
+ logoLink?: string;
466
+ /** The accessible text for the link on the logo. */
467
+ logoLinkTitle?: string;
468
+ /** A button to toggle the visibility of a Mega Menu. */
293
469
  menu?: ReactNode;
294
470
  } & HTMLAttributes<HTMLElement> & react.RefAttributes<HTMLElement>>;
295
471
 
296
472
  type MarkProps = PropsWithChildren<HTMLAttributes<HTMLElement>>;
297
473
  declare const Mark: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
298
- children?: react.ReactNode;
474
+ children?: react.ReactNode | undefined;
299
475
  } & react.RefAttributes<HTMLElement>>;
300
476
 
301
- type TextInputProps = InputHTMLAttributes<HTMLInputElement>;
302
- declare const TextInput: react.ForwardRefExoticComponent<TextInputProps & react.RefAttributes<HTMLInputElement>>;
477
+ declare const textInputTypes: readonly ["email", "tel", "text", "url"];
478
+ type TextInputType = (typeof textInputTypes)[number];
479
+ type TextInputProps = {
480
+ /** Whether the value fails a validation rule. */
481
+ invalid?: boolean;
482
+ /** The kind of data that the user should provide. */
483
+ type?: TextInputType;
484
+ } & Omit<InputHTMLAttributes<HTMLInputElement>, 'aria-invalid'>;
485
+ declare const TextInput: react.ForwardRefExoticComponent<{
486
+ /** Whether the value fails a validation rule. */
487
+ invalid?: boolean;
488
+ /** The kind of data that the user should provide. */
489
+ type?: TextInputType;
490
+ } & Omit<InputHTMLAttributes<HTMLInputElement>, "aria-invalid"> & react.RefAttributes<HTMLInputElement>>;
303
491
 
304
492
  type SearchFieldProps = PropsWithChildren<HTMLAttributes<HTMLFormElement>>;
305
493
  declare const SearchField: react.ForwardRefExoticComponent<HTMLAttributes<HTMLFormElement> & {
306
- children?: react.ReactNode;
494
+ children?: react.ReactNode | undefined;
307
495
  } & react.RefAttributes<HTMLFormElement>> & {
308
- Button: react.ForwardRefExoticComponent<HTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
496
+ Button: react.ForwardRefExoticComponent<{
497
+ label?: string;
498
+ } & HTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
309
499
  Input: react.ForwardRefExoticComponent<{
310
- label?: string | undefined;
500
+ invalid?: boolean;
501
+ label?: string;
311
502
  } & react.InputHTMLAttributes<HTMLInputElement> & react.RefAttributes<HTMLInputElement>>;
312
503
  };
313
504
 
314
505
  type DialogProps = {
506
+ /** The button(s) in the footer. Start with a primary button. */
315
507
  actions?: ReactNode;
508
+ /** The label for the button that dismisses the Dialog. */
509
+ closeButtonLabel?: string;
510
+ /** The text for the Heading. */
511
+ heading: string;
316
512
  } & PropsWithChildren<DialogHTMLAttributes<HTMLDialogElement>>;
317
513
  declare const Dialog: react.ForwardRefExoticComponent<{
514
+ /** The button(s) in the footer. Start with a primary button. */
318
515
  actions?: ReactNode;
516
+ /** The label for the button that dismisses the Dialog. */
517
+ closeButtonLabel?: string;
518
+ /** The text for the Heading. */
519
+ heading: string;
319
520
  } & DialogHTMLAttributes<HTMLDialogElement> & {
320
- children?: ReactNode;
521
+ children?: ReactNode | undefined;
321
522
  } & react.RefAttributes<HTMLDialogElement>>;
322
523
 
323
524
  type ImageProps = {
525
+ /** Whether to display the image exactly as large as its container. This will clip the image if necessary. */
324
526
  cover?: boolean;
325
527
  } & ImgHTMLAttributes<HTMLImageElement>;
326
528
  declare const Image: react.ForwardRefExoticComponent<{
327
- cover?: boolean | undefined;
529
+ /** Whether to display the image exactly as large as its container. This will clip the image if necessary. */
530
+ cover?: boolean;
328
531
  } & ImgHTMLAttributes<HTMLImageElement> & react.RefAttributes<HTMLImageElement>>;
329
532
 
330
533
  type PaginationProps = {
331
- /**
332
- * The maximum amount of pages shown. This has a lower limit of 5
333
- */
534
+ /** The maximum amount of pages shown. Minimum value: 5. */
334
535
  maxVisiblePages?: number;
335
- /**
336
- * Callback triggered when interaction changes the page number.
337
- */
536
+ /** The accessible name for the link to the next page. */
537
+ nextAriaLabel?: string;
538
+ /** The label for the link to the next page. */
539
+ nextLabel?: string;
540
+ /** A function to run when the page number changes. */
338
541
  onPageChange?: (page: number) => void;
339
- /**
340
- * The current page number.
341
- */
542
+ /** The current page number. */
342
543
  page?: number;
343
- /**
344
- * The total amount of pages.
345
- */
544
+ /** The accessible name for the link to the previous page. */
545
+ previousAriaLabel?: string;
546
+ /** The label for the link to the previous page. */
547
+ previousLabel?: string;
548
+ /** The total amount of pages. */
346
549
  totalPages: number;
347
550
  } & HTMLAttributes<HTMLElement>;
348
551
  declare const Pagination: react.ForwardRefExoticComponent<{
349
- /**
350
- * The maximum amount of pages shown. This has a lower limit of 5
351
- */
352
- maxVisiblePages?: number | undefined;
353
- /**
354
- * Callback triggered when interaction changes the page number.
355
- */
356
- onPageChange?: ((page: number) => void) | undefined;
357
- /**
358
- * The current page number.
359
- */
360
- page?: number | undefined;
361
- /**
362
- * The total amount of pages.
363
- */
552
+ /** The maximum amount of pages shown. Minimum value: 5. */
553
+ maxVisiblePages?: number;
554
+ /** The accessible name for the link to the next page. */
555
+ nextAriaLabel?: string;
556
+ /** The label for the link to the next page. */
557
+ nextLabel?: string;
558
+ /** A function to run when the page number changes. */
559
+ onPageChange?: (page: number) => void;
560
+ /** The current page number. */
561
+ page?: number;
562
+ /** The accessible name for the link to the previous page. */
563
+ previousAriaLabel?: string;
564
+ /** The label for the link to the previous page. */
565
+ previousLabel?: string;
566
+ /** The total amount of pages. */
364
567
  totalPages: number;
365
568
  } & HTMLAttributes<HTMLElement> & react.RefAttributes<HTMLElement>>;
366
569
 
@@ -373,144 +576,118 @@ type ScreenProps = {
373
576
  } & PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
374
577
  declare const Screen: react.ForwardRefExoticComponent<{
375
578
  /** Whether the screen should stretch to the full height of the viewport. */
376
- fullHeight?: boolean | undefined;
579
+ fullHeight?: boolean;
377
580
  /** The maximum width of the screen. */
378
- maxWidth?: ScreenMaxWidth | undefined;
581
+ maxWidth?: ScreenMaxWidth;
379
582
  } & HTMLAttributes<HTMLDivElement> & {
380
- children?: react.ReactNode;
583
+ children?: react.ReactNode | undefined;
381
584
  } & react.RefAttributes<HTMLDivElement>>;
382
585
 
383
586
  type SwitchProps = PropsWithChildren<InputHTMLAttributes<HTMLInputElement>>;
384
587
  declare const Switch: react.ForwardRefExoticComponent<InputHTMLAttributes<HTMLInputElement> & {
385
- children?: react.ReactNode;
588
+ children?: react.ReactNode | undefined;
386
589
  } & react.RefAttributes<HTMLInputElement>>;
387
590
 
388
591
  declare const spotlightColors: readonly ["blue", "dark-blue", "dark-green", "green", "magenta", "orange", "purple", "yellow"];
389
592
  type SpotlightColor = (typeof spotlightColors)[number];
390
593
  type SpotlightProps = {
594
+ /** The HTML element to use. */
391
595
  as?: 'article' | 'aside' | 'div' | 'footer' | 'section';
596
+ /** The background colour. */
392
597
  color?: SpotlightColor;
393
598
  } & PropsWithChildren<HTMLAttributes<HTMLElement>>;
394
599
  declare const Spotlight: react.ForwardRefExoticComponent<{
395
- as?: "article" | "aside" | "div" | "footer" | "section" | undefined;
396
- color?: "blue" | "dark-blue" | "dark-green" | "green" | "magenta" | "orange" | "purple" | "yellow" | undefined;
600
+ /** The HTML element to use. */
601
+ as?: "article" | "aside" | "div" | "footer" | "section";
602
+ /** The background colour. */
603
+ color?: SpotlightColor;
397
604
  } & HTMLAttributes<HTMLElement> & {
398
- children?: react.ReactNode;
605
+ children?: react.ReactNode | undefined;
399
606
  } & react.RefAttributes<unknown>>;
400
607
 
401
608
  type CardProps = PropsWithChildren<HTMLAttributes<HTMLElement>>;
402
609
  declare const Card: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
403
- children?: react.ReactNode;
610
+ children?: react.ReactNode | undefined;
404
611
  } & react.RefAttributes<HTMLElement>> & {
405
612
  HeadingGroup: react.ForwardRefExoticComponent<{
406
613
  tagline: string;
407
614
  } & HTMLAttributes<HTMLElement> & {
408
- children?: react.ReactNode;
615
+ children?: react.ReactNode | undefined;
409
616
  } & react.RefAttributes<HTMLElement>>;
410
617
  Link: react.ForwardRefExoticComponent<react.AnchorHTMLAttributes<HTMLAnchorElement> & {
411
- children?: react.ReactNode;
618
+ children?: react.ReactNode | undefined;
412
619
  } & react.RefAttributes<HTMLAnchorElement>>;
413
620
  };
414
621
 
415
622
  type CardHeadingGroupProps = {
623
+ /** A short phrase of text, e.g. to categorise the card. Displayed above the card heading. */
416
624
  tagline: string;
417
625
  } & PropsWithChildren<HTMLAttributes<HTMLElement>>;
418
626
 
419
627
  type CardLinkProps = PropsWithChildren<AnchorHTMLAttributes<HTMLAnchorElement>>;
420
628
 
421
- type HeadingLevel = 1 | 2 | 3 | 4;
422
- type HeadingSize = 'level-1' | 'level-2' | 'level-3' | 'level-4' | 'level-5' | 'level-6';
423
- type HeadingProps = {
424
- /**
425
- * Het hiërarchische niveau van de titel.
426
- */
427
- level?: HeadingLevel;
428
- /**
429
- * De visuele grootte van de titel.
430
- * Voeg dit toe om de titel groter of kleiner weer te geven zonder de semantische betekenis te veranderen.
431
- */
432
- size?: HeadingSize;
433
- /**
434
- * De kleur van de titel
435
- * Gebruik deze property om de titel in tegenovergestelde kleur te tonen.
436
- */
437
- inverseColor?: boolean;
438
- } & PropsWithChildren<HTMLAttributes<HTMLHeadingElement>>;
439
- declare const Heading: react.ForwardRefExoticComponent<{
440
- /**
441
- * Het hiërarchische niveau van de titel.
442
- */
443
- level?: HeadingLevel | undefined;
444
- /**
445
- * De visuele grootte van de titel.
446
- * Voeg dit toe om de titel groter of kleiner weer te geven zonder de semantische betekenis te veranderen.
447
- */
448
- size?: HeadingSize | undefined;
449
- /**
450
- * De kleur van de titel
451
- * Gebruik deze property om de titel in tegenovergestelde kleur te tonen.
452
- */
453
- inverseColor?: boolean | undefined;
454
- } & HTMLAttributes<HTMLHeadingElement> & {
455
- children?: react.ReactNode;
456
- } & react.RefAttributes<HTMLHeadingElement>>;
457
-
458
629
  type AlertProps = {
459
- /** Whether the alert can be dismissed by the user. Adds a button to the top right. */
630
+ /** Whether the user can dismiss the Alert. Adds a button to its top right. */
460
631
  closeable?: boolean;
632
+ /** The label for the button that dismisses the Alert. */
633
+ closeButtonLabel?: string;
634
+ /** The text for the Heading. */
635
+ heading?: string;
461
636
  /**
462
- * The hierarchical level of the alert title within the document.
463
- * @default 2
637
+ * The hierarchical level of the Heading within the document.
638
+ * Note: this intentionally does not change the font size.
464
639
  */
465
- headingLevel?: HeadingProps['level'];
466
- /** Allows a callback when dismissing the alert. */
640
+ headingLevel?: HeadingLevel;
641
+ /** A function to run when dismissing. */
467
642
  onClose?: () => void;
468
- /** Highlights the meaning or tone of the message. */
643
+ /** The significance of the message conveyed. */
469
644
  severity?: 'error' | 'info' | 'success' | 'warning';
470
- /** The title for the alert. */
471
- title?: string;
472
645
  } & PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
473
646
  declare const Alert: react.ForwardRefExoticComponent<{
474
- /** Whether the alert can be dismissed by the user. Adds a button to the top right. */
475
- closeable?: boolean | undefined;
647
+ /** Whether the user can dismiss the Alert. Adds a button to its top right. */
648
+ closeable?: boolean;
649
+ /** The label for the button that dismisses the Alert. */
650
+ closeButtonLabel?: string;
651
+ /** The text for the Heading. */
652
+ heading?: string;
476
653
  /**
477
- * The hierarchical level of the alert title within the document.
478
- * @default 2
654
+ * The hierarchical level of the Heading within the document.
655
+ * Note: this intentionally does not change the font size.
479
656
  */
480
- headingLevel?: HeadingProps['level'];
481
- /** Allows a callback when dismissing the alert. */
482
- onClose?: (() => void) | undefined;
483
- /** Highlights the meaning or tone of the message. */
484
- severity?: "error" | "info" | "success" | "warning" | undefined;
485
- /** The title for the alert. */
486
- title?: string | undefined;
657
+ headingLevel?: HeadingLevel;
658
+ /** A function to run when dismissing. */
659
+ onClose?: () => void;
660
+ /** The significance of the message conveyed. */
661
+ severity?: "error" | "info" | "success" | "warning";
487
662
  } & HTMLAttributes<HTMLDivElement> & {
488
- children?: react.ReactNode;
663
+ children?: react.ReactNode | undefined;
489
664
  } & react.RefAttributes<HTMLDivElement>>;
490
665
 
491
666
  type Ratio = 'x-tall' | 'tall' | 'square' | 'wide' | 'x-wide' | '2x-wide';
492
667
  type AspectRatioProps = {
668
+ /** The dimensions. */
493
669
  ratio?: Ratio;
494
670
  } & PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
495
671
  declare const AspectRatio: react.ForwardRefExoticComponent<{
496
- ratio?: Ratio | undefined;
672
+ /** The dimensions. */
673
+ ratio?: Ratio;
497
674
  } & HTMLAttributes<HTMLDivElement> & {
498
- children?: react.ReactNode;
675
+ children?: react.ReactNode | undefined;
499
676
  } & react.RefAttributes<HTMLDivElement>>;
500
677
 
501
678
  declare const VisuallyHidden: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
502
- children?: react.ReactNode;
679
+ children?: react.ReactNode | undefined;
503
680
  } & react.RefAttributes<HTMLElement>>;
504
681
 
505
682
  type FooterProps = PropsWithChildren<HTMLAttributes<HTMLElement>>;
506
683
  declare const Footer: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
507
- children?: react.ReactNode;
684
+ children?: react.ReactNode | undefined;
508
685
  } & react.RefAttributes<HTMLElement>> & {
509
686
  Bottom: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
510
- children?: react.ReactNode;
687
+ children?: react.ReactNode | undefined;
511
688
  } & react.RefAttributes<HTMLDivElement>>;
512
689
  Top: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
513
- children?: react.ReactNode;
690
+ children?: react.ReactNode | undefined;
514
691
  } & react.RefAttributes<HTMLDivElement>>;
515
692
  };
516
693
 
@@ -519,33 +696,23 @@ type FooterBottomProps = PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
519
696
  type FooterTopProps = PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
520
697
 
521
698
  type PageMenuProps = {
522
- /**
523
- * Whether the page menu’s items align to its end.
524
- * If the menu itself aligns to the end of its container, you should set this to `true`.
525
- */
699
+ /** Whether the items align to the end margin. Set to `true` if the Page Menu itself does so. */
526
700
  alignEnd?: boolean;
527
- /**
528
- * Whether menu items should wrap if they don’t fit on a single row.
529
- */
701
+ /** Whether menu items should wrap if they don’t fit on a single row. */
530
702
  wrap?: boolean;
531
703
  } & PropsWithChildren<HTMLAttributes<HTMLUListElement>>;
532
704
  declare const PageMenu: react.ForwardRefExoticComponent<{
533
- /**
534
- * Whether the page menu’s items align to its end.
535
- * If the menu itself aligns to the end of its container, you should set this to `true`.
536
- */
537
- alignEnd?: boolean | undefined;
538
- /**
539
- * Whether menu items should wrap if they don’t fit on a single row.
540
- */
541
- wrap?: boolean | undefined;
705
+ /** Whether the items align to the end margin. Set to `true` if the Page Menu itself does so. */
706
+ alignEnd?: boolean;
707
+ /** Whether menu items should wrap if they don’t fit on a single row. */
708
+ wrap?: boolean;
542
709
  } & HTMLAttributes<HTMLUListElement> & {
543
- children?: react.ReactNode;
710
+ children?: react.ReactNode | undefined;
544
711
  } & react.RefAttributes<HTMLUListElement>> & {
545
712
  Link: react.ForwardRefExoticComponent<{
546
- icon?: Function | undefined;
713
+ icon?: Function;
547
714
  } & react.AnchorHTMLAttributes<HTMLAnchorElement> & {
548
- children?: react.ReactNode;
715
+ children?: react.ReactNode | undefined;
549
716
  } & react.RefAttributes<HTMLAnchorElement>>;
550
717
  };
551
718
 
@@ -554,180 +721,196 @@ type PageMenuLinkProps = {
554
721
  } & PropsWithChildren<AnchorHTMLAttributes<HTMLAnchorElement>>;
555
722
 
556
723
  declare const TopTaskLink: react.ForwardRefExoticComponent<{
724
+ /** The title. */
557
725
  label: string;
726
+ /** The text content. */
558
727
  description: string;
559
728
  } & AnchorHTMLAttributes<HTMLAnchorElement> & react.RefAttributes<HTMLAnchorElement>>;
560
729
 
561
730
  type BlockquoteProps = {
562
- /**
563
- * De kleur van het citaat.
564
- * Gebruik deze property om het citaat in tegenovergestelde kleur te tonen.
565
- */
731
+ /** Changes the text colour for readability on a dark background. */
566
732
  inverseColor?: boolean;
567
733
  } & PropsWithChildren<BlockquoteHTMLAttributes<HTMLQuoteElement>>;
568
734
  declare const Blockquote: react.ForwardRefExoticComponent<{
569
- /**
570
- * De kleur van het citaat.
571
- * Gebruik deze property om het citaat in tegenovergestelde kleur te tonen.
572
- */
573
- inverseColor?: boolean | undefined;
735
+ /** Changes the text colour for readability on a dark background. */
736
+ inverseColor?: boolean;
574
737
  } & BlockquoteHTMLAttributes<HTMLQuoteElement> & {
575
- children?: react.ReactNode;
738
+ children?: react.ReactNode | undefined;
576
739
  } & react.RefAttributes<HTMLQuoteElement>>;
577
740
 
578
741
  type CheckboxProps = {
742
+ /** Whether the value fails a validation rule. */
579
743
  invalid?: boolean;
744
+ /** Allows being neither checked nor unchecked. */
580
745
  indeterminate?: boolean;
581
- } & PropsWithChildren<InputHTMLAttributes<HTMLInputElement>>;
746
+ } & PropsWithChildren<Omit<InputHTMLAttributes<HTMLInputElement>, 'aria-invalid' | 'type'>>;
582
747
  declare const Checkbox: react.ForwardRefExoticComponent<{
583
- invalid?: boolean | undefined;
584
- indeterminate?: boolean | undefined;
585
- } & InputHTMLAttributes<HTMLInputElement> & {
586
- children?: react.ReactNode;
748
+ /** Whether the value fails a validation rule. */
749
+ invalid?: boolean;
750
+ /** Allows being neither checked nor unchecked. */
751
+ indeterminate?: boolean;
752
+ } & Omit<InputHTMLAttributes<HTMLInputElement>, "aria-invalid" | "type"> & {
753
+ children?: react.ReactNode | undefined;
587
754
  } & react.RefAttributes<HTMLInputElement>>;
588
755
 
589
756
  type PageHeadingProps = {
590
- /**
591
- * De kleur van de titel
592
- * Gebruik deze property om de titel in tegenovergestelde kleur te tonen.
593
- */
757
+ /** Changes the text colour for readability on a dark background. */
594
758
  inverseColor?: boolean;
595
759
  } & PropsWithChildren<HTMLAttributes<HTMLHeadingElement>>;
596
760
  declare const PageHeading: react.ForwardRefExoticComponent<{
597
- /**
598
- * De kleur van de titel
599
- * Gebruik deze property om de titel in tegenovergestelde kleur te tonen.
600
- */
601
- inverseColor?: boolean | undefined;
761
+ /** Changes the text colour for readability on a dark background. */
762
+ inverseColor?: boolean;
602
763
  } & HTMLAttributes<HTMLHeadingElement> & {
603
- children?: react.ReactNode;
764
+ children?: react.ReactNode | undefined;
604
765
  } & react.RefAttributes<HTMLHeadingElement>>;
605
766
 
606
767
  type OrderedListProps = {
607
- markers?: boolean;
768
+ /** Changes the text colour for readability on a dark background. */
608
769
  inverseColor?: boolean;
770
+ /** Whether the list items show a marker. */
771
+ markers?: boolean;
772
+ /** The size of the text. */
773
+ size?: 'small';
609
774
  } & PropsWithChildren<OlHTMLAttributes<HTMLOListElement>>;
610
775
  declare const OrderedList: react.ForwardRefExoticComponent<{
611
- markers?: boolean | undefined;
612
- inverseColor?: boolean | undefined;
776
+ /** Changes the text colour for readability on a dark background. */
777
+ inverseColor?: boolean;
778
+ /** Whether the list items show a marker. */
779
+ markers?: boolean;
780
+ /** The size of the text. */
781
+ size?: "small";
613
782
  } & OlHTMLAttributes<HTMLOListElement> & {
614
- children?: react.ReactNode;
783
+ children?: react.ReactNode | undefined;
615
784
  } & react.RefAttributes<HTMLOListElement>> & {
616
785
  Item: react.ForwardRefExoticComponent<react.LiHTMLAttributes<HTMLLIElement> & {
617
- children?: react.ReactNode;
786
+ children?: react.ReactNode | undefined;
618
787
  } & react.RefAttributes<HTMLLIElement>>;
619
788
  };
620
789
 
621
790
  type OrderedListItemProps = PropsWithChildren<LiHTMLAttributes<HTMLLIElement>>;
622
791
 
792
+ type BreadcrumbLinkProps = AnchorHTMLAttributes<HTMLAnchorElement>;
793
+
623
794
  type BreadcrumbProps = PropsWithChildren<HTMLAttributes<HTMLElement>>;
624
795
  declare const Breadcrumb: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
625
- children?: react.ReactNode;
796
+ children?: react.ReactNode | undefined;
626
797
  } & react.RefAttributes<HTMLElement>> & {
627
- Item: react.ForwardRefExoticComponent<{
628
- href: string;
629
- } & HTMLAttributes<HTMLLIElement> & {
630
- children?: react.ReactNode;
631
- } & react.RefAttributes<HTMLLIElement>>;
798
+ Link: react.ForwardRefExoticComponent<BreadcrumbLinkProps & react.RefAttributes<HTMLAnchorElement>>;
632
799
  };
633
800
 
634
- type BreadcrumbItemProps = {
635
- href: string;
636
- } & PropsWithChildren<HTMLAttributes<HTMLLIElement>>;
637
-
638
801
  type LinkOnBackground = 'default' | 'light' | 'dark';
639
802
  type LinkVariant = 'standalone' | 'inline';
640
803
  type LinkProps = {
641
- variant?: LinkVariant;
804
+ /** Describes the underlying background colour. Allows the text to provide visual contrast. */
642
805
  onBackground?: LinkOnBackground;
806
+ /** Whether the link is inline or stands alone. */
807
+ variant?: LinkVariant;
643
808
  } & Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'placeholder'>;
644
809
  declare const Link: react.ForwardRefExoticComponent<{
645
- variant?: LinkVariant | undefined;
646
- onBackground?: LinkOnBackground | undefined;
810
+ /** Describes the underlying background colour. Allows the text to provide visual contrast. */
811
+ onBackground?: LinkOnBackground;
812
+ /** Whether the link is inline or stands alone. */
813
+ variant?: LinkVariant;
647
814
  } & Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "placeholder"> & react.RefAttributes<HTMLAnchorElement>>;
648
815
 
649
816
  type ButtonProps = {
817
+ /** The level of prominence. Use a primary button only once per page or section. */
650
818
  variant?: 'primary' | 'secondary' | 'tertiary';
651
819
  } & PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>;
652
820
  declare const Button: react.ForwardRefExoticComponent<{
653
- variant?: "primary" | "secondary" | "tertiary" | undefined;
821
+ /** The level of prominence. Use a primary button only once per page or section. */
822
+ variant?: "primary" | "secondary" | "tertiary";
654
823
  } & ButtonHTMLAttributes<HTMLButtonElement> & {
655
- children?: react.ReactNode;
824
+ children?: react.ReactNode | undefined;
656
825
  } & react.RefAttributes<HTMLButtonElement>>;
657
826
 
658
827
  type ParagraphProps = {
659
- size?: 'small' | 'large';
660
- /**
661
- * De kleur van de paragraaf
662
- * Gebruik deze property om de paragraaf in tegenovergestelde kleur te tonen.
663
- */
828
+ /** Changes the text colour for readability on a dark background. */
664
829
  inverseColor?: boolean;
830
+ /** The size of the text. */
831
+ size?: 'small' | 'large';
665
832
  } & PropsWithChildren<HTMLAttributes<HTMLParagraphElement>>;
666
833
  declare const Paragraph: react.ForwardRefExoticComponent<{
667
- size?: "small" | "large" | undefined;
668
- /**
669
- * De kleur van de paragraaf
670
- * Gebruik deze property om de paragraaf in tegenovergestelde kleur te tonen.
671
- */
672
- inverseColor?: boolean | undefined;
834
+ /** Changes the text colour for readability on a dark background. */
835
+ inverseColor?: boolean;
836
+ /** The size of the text. */
837
+ size?: "small" | "large";
673
838
  } & HTMLAttributes<HTMLParagraphElement> & {
674
- children?: react.ReactNode;
839
+ children?: react.ReactNode | undefined;
675
840
  } & react.RefAttributes<HTMLParagraphElement>>;
676
841
 
677
842
  declare const Label: react.ForwardRefExoticComponent<LabelHTMLAttributes<HTMLLabelElement> & {
678
- children?: react.ReactNode;
843
+ children?: react.ReactNode | undefined;
679
844
  } & react.RefAttributes<HTMLLabelElement>>;
680
845
 
681
846
  type UnorderedListProps = {
847
+ /** Changes the text colour for readability on a dark background. */
682
848
  inverseColor?: boolean;
849
+ /** Whether the list items show a marker. */
683
850
  markers?: boolean;
851
+ /** The size of the text. */
852
+ size?: 'small';
684
853
  } & PropsWithChildren<HTMLAttributes<HTMLUListElement>>;
685
854
  declare const UnorderedList: react.ForwardRefExoticComponent<{
686
- inverseColor?: boolean | undefined;
687
- markers?: boolean | undefined;
855
+ /** Changes the text colour for readability on a dark background. */
856
+ inverseColor?: boolean;
857
+ /** Whether the list items show a marker. */
858
+ markers?: boolean;
859
+ /** The size of the text. */
860
+ size?: "small";
688
861
  } & HTMLAttributes<HTMLUListElement> & {
689
- children?: react.ReactNode;
862
+ children?: react.ReactNode | undefined;
690
863
  } & react.RefAttributes<HTMLUListElement>> & {
691
864
  Item: react.ForwardRefExoticComponent<react.LiHTMLAttributes<HTMLLIElement> & {
692
- children?: react.ReactNode;
865
+ children?: react.ReactNode | undefined;
693
866
  } & react.RefAttributes<HTMLLIElement>>;
694
867
  };
695
868
 
696
869
  type UnorderedListItemProps = PropsWithChildren<LiHTMLAttributes<HTMLLIElement>>;
697
870
 
698
871
  type IconProps = {
872
+ /** The size of the icon. Corresponds with the text levels. */
699
873
  size?: 'level-3' | 'level-4' | 'level-5' | 'level-6';
874
+ /** Whether the icon container should be made square. */
700
875
  square?: boolean;
876
+ /** The component rendering the icon’s markup. */
701
877
  svg: Function;
702
878
  } & HTMLAttributes<HTMLSpanElement>;
703
879
  declare const Icon: react.ForwardRefExoticComponent<{
704
- size?: "level-3" | "level-4" | "level-5" | "level-6" | undefined;
705
- square?: boolean | undefined;
880
+ /** The size of the icon. Corresponds with the text levels. */
881
+ size?: "level-3" | "level-4" | "level-5" | "level-6";
882
+ /** Whether the icon container should be made square. */
883
+ square?: boolean;
884
+ /** The component rendering the icon’s markup. */
706
885
  svg: Function;
707
886
  } & HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLElement>>;
708
887
 
709
888
  type AccordionProps = {
710
- /** The hierarchical level of the accordion title within the document. */
889
+ /** The hierarchical level of the Accordion Section heading(s) within the document. */
711
890
  headingLevel: HeadingLevel;
712
- section?: boolean;
891
+ /** The HTML element to use for each Accordion Section. */
892
+ sectionAs?: 'div' | 'section';
713
893
  } & PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
714
894
  declare const Accordion: react.ForwardRefExoticComponent<{
715
- /** The hierarchical level of the accordion title within the document. */
895
+ /** The hierarchical level of the Accordion Section heading(s) within the document. */
716
896
  headingLevel: HeadingLevel;
717
- section?: boolean | undefined;
897
+ /** The HTML element to use for each Accordion Section. */
898
+ sectionAs?: "div" | "section";
718
899
  } & HTMLAttributes<HTMLDivElement> & {
719
- children?: react.ReactNode;
900
+ children?: react.ReactNode | undefined;
720
901
  } & react.RefAttributes<HTMLDivElement>> & {
721
902
  Section: react.ForwardRefExoticComponent<{
722
903
  label: string;
723
- expanded?: boolean | undefined;
904
+ expanded?: boolean;
724
905
  } & HTMLAttributes<HTMLElement> & {
725
- children?: react.ReactNode;
906
+ children?: react.ReactNode | undefined;
726
907
  } & react.RefAttributes<HTMLDivElement>>;
727
908
  };
728
909
 
729
910
  type AccordionSectionProps = {
911
+ /** The heading text. */
730
912
  label: string;
913
+ /** Whether the content is displayed initially. */
731
914
  expanded?: boolean;
732
915
  } & PropsWithChildren<HTMLAttributes<HTMLElement>>;
733
916
 
@@ -743,6 +926,7 @@ type GridCellSpanAndStartProps = {
743
926
  start?: GridColumnNumber | GridColumnNumbers;
744
927
  };
745
928
  type GridCellProps = {
929
+ /** The HTML element to use. */
746
930
  as?: 'article' | 'div' | 'section';
747
931
  } & (GridCellSpanAllProp | GridCellSpanAndStartProps) & PropsWithChildren<HTMLAttributes<HTMLElement>>;
748
932
 
@@ -756,22 +940,22 @@ type GridPaddingSize = 'small' | 'medium' | 'large';
756
940
  type GridPaddingVerticalProp = {
757
941
  paddingBottom?: never;
758
942
  paddingTop?: never;
759
- /** The amount of vertical white space above and below the grid. */
943
+ /** The amount of space above and below. */
760
944
  paddingVertical?: GridPaddingSize;
761
945
  };
762
946
  type GridPaddingTopAndBottomProps = {
763
- /** The amount of vertical white space below the grid. */
947
+ /** The amount of space below. */
764
948
  paddingBottom?: GridPaddingSize;
765
- /** The amount of vertical white space above the grid. */
949
+ /** The amount of space above. */
766
950
  paddingTop?: GridPaddingSize;
767
951
  paddingVertical?: never;
768
952
  };
769
953
  type GridProps = {
770
- /** The amount of vertical white space between rows of the grid. */
954
+ /** The amount of space between rows. */
771
955
  gapVertical?: 'none' | 'small' | 'large';
772
956
  } & (GridPaddingVerticalProp | GridPaddingTopAndBottomProps) & PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
773
957
  declare const Grid: react.ForwardRefExoticComponent<GridProps & react.RefAttributes<HTMLDivElement>> & {
774
958
  Cell: react.ForwardRefExoticComponent<GridCellProps & react.RefAttributes<unknown>>;
775
959
  };
776
960
 
777
- export { Accordion, type AccordionProps, type AccordionSectionProps, Alert, type AlertProps, AspectRatio, type AspectRatioProps, Avatar, type AvatarProps, Badge, type BadgeProps, Blockquote, type BlockquoteProps, Breadcrumb, type BreadcrumbItemProps, type BreadcrumbProps, Button, type ButtonProps, Card, type CardHeadingGroupProps, type CardLinkProps, type CardProps, Checkbox, type CheckboxProps, Column, type ColumnProps, DateInput, type DateInputProps, DescriptionList, type DescriptionListDetailsProps, type DescriptionListProps, type DescriptionListTermProps, Dialog, type DialogProps, Fieldset, type FieldsetProps, Footer, type FooterBottomProps, type FooterProps, type FooterTopProps, FormFieldCharacterCounter, type FormFieldCharacterCounterProps, Grid, type GridCellProps, type GridColumnNumber, type GridColumnNumbers, type GridProps, Header, type HeaderProps, Heading, type HeadingProps, Icon, IconButton, type IconButtonProps, type IconProps, Image, type ImageProps, Label, Link, LinkList, type LinkListLinkProps, type LinkListProps, type LinkProps, Logo, type LogoBrand, type LogoProps, Mark, type MarkProps, MegaMenu, type MegaMenuListCategoryProps, type MegaMenuProps, OrderedList, type OrderedListItemProps, type OrderedListProps, Overlap, type OverlapProps, PageHeading, type PageHeadingProps, PageMenu, type PageMenuLinkProps, type PageMenuProps, Pagination, type PaginationProps, Paragraph, type ParagraphProps, Radio, type RadioProps, type Ratio, Row, type RowProps, Screen, type ScreenProps, SearchField, type SearchFieldProps, Select, type SelectOptionProps, type SelectProps, SkipLink, type SkipLinkProps, Spotlight, type SpotlightProps, Switch, type SwitchProps, Table, type TableProps, Tabs, type TabsButtonProps, type TabsListProps, type TabsPanelProps, type TabsProps, TextArea, type TextAreaProps, TextInput, type TextInputProps, TimeInput, type TimeInputProps, TopTaskLink, UnorderedList, type UnorderedListItemProps, type UnorderedListProps, VisuallyHidden };
961
+ export { Accordion, type AccordionProps, type AccordionSectionProps, Alert, type AlertProps, AspectRatio, type AspectRatioProps, Avatar, type AvatarProps, Badge, type BadgeProps, Blockquote, type BlockquoteProps, Breadcrumb, type BreadcrumbLinkProps, type BreadcrumbProps, Button, type ButtonProps, Card, type CardHeadingGroupProps, type CardLinkProps, type CardProps, Checkbox, type CheckboxProps, Column, type ColumnProps, DateInput, type DateInputProps, DescriptionList, type DescriptionListDetailsProps, type DescriptionListProps, type DescriptionListTermProps, Dialog, type DialogProps, ErrorMessage, type ErrorMessageProps, Field, type FieldProps, FieldSet, type FieldSetProps, FileInput, type FileInputProps, Footer, type FooterBottomProps, type FooterProps, type FooterTopProps, type FormError, FormErrorList, type FormErrorListProps, FormFieldCharacterCounter, type FormFieldCharacterCounterProps, Grid, type GridCellProps, type GridColumnNumber, type GridColumnNumbers, type GridProps, Header, type HeaderProps, Heading, type HeadingLevel, type HeadingProps, Icon, IconButton, type IconButtonProps, type IconProps, Image, type ImageProps, Label, Link, LinkList, type LinkListLinkProps, type LinkListProps, type LinkProps, Logo, type LogoBrand, type LogoProps, Mark, type MarkProps, MegaMenu, type MegaMenuListCategoryProps, type MegaMenuProps, OrderedList, type OrderedListItemProps, type OrderedListProps, Overlap, type OverlapProps, PageHeading, type PageHeadingProps, PageMenu, type PageMenuLinkProps, type PageMenuProps, Pagination, type PaginationProps, Paragraph, type ParagraphProps, Radio, type RadioProps, type Ratio, Row, type RowProps, Screen, type ScreenProps, SearchField, type SearchFieldProps, Select, type SelectOptionProps, type SelectProps, SkipLink, type SkipLinkProps, Spotlight, type SpotlightProps, Switch, type SwitchProps, Table, TableOfContents, type TableOfContentsLinkProps, type TableOfContentsListProps, type TableOfContentsProps, type TableProps, Tabs, type TabsButtonProps, type TabsListProps, type TabsPanelProps, type TabsProps, TextArea, type TextAreaProps, TextInput, type TextInputProps, TimeInput, type TimeInputProps, TopTaskLink, UnorderedList, type UnorderedListItemProps, type UnorderedListProps, VisuallyHidden };