@oaknational/oak-components 0.2.0 → 0.2.1
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/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/types.d.ts +2254 -0
- package/package.json +1 -1
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,2254 @@
|
|
|
1
|
+
import * as styled_components from 'styled-components';
|
|
2
|
+
import { CSSProperties as CSSProperties$1 } from 'styled-components';
|
|
3
|
+
import * as React$1 from 'react';
|
|
4
|
+
import React__default, { CSSProperties, MouseEventHandler, ElementType, ComponentPropsWithoutRef, FC, ReactNode, ComponentPropsWithRef, FocusEvent, DetailedHTMLProps, InputHTMLAttributes, ChangeEventHandler, ReactElement, ComponentProps } from 'react';
|
|
5
|
+
import * as csstype from 'csstype';
|
|
6
|
+
import * as Image from 'next/image';
|
|
7
|
+
import Image__default, { ImageProps as ImageProps$1 } from 'next/image';
|
|
8
|
+
import * as next_dist_shared_lib_get_img_props from 'next/dist/shared/lib/get-img-props';
|
|
9
|
+
import * as _cloudinary_util_url_loader_dist_schema_UX7RRFIR from '@cloudinary-util/url-loader/dist/schema-UX7RRFIR';
|
|
10
|
+
import { CldImage } from 'next-cloudinary';
|
|
11
|
+
import { DndContextProps } from '@dnd-kit/core';
|
|
12
|
+
import { UrlObject } from 'url';
|
|
13
|
+
|
|
14
|
+
declare const oakColorTokens: {
|
|
15
|
+
white: string;
|
|
16
|
+
grey10: string;
|
|
17
|
+
grey20: string;
|
|
18
|
+
grey30: string;
|
|
19
|
+
grey40: string;
|
|
20
|
+
grey50: string;
|
|
21
|
+
grey60: string;
|
|
22
|
+
grey70: string;
|
|
23
|
+
black: string;
|
|
24
|
+
oakGreen: string;
|
|
25
|
+
mint: string;
|
|
26
|
+
mint30: string;
|
|
27
|
+
mint50: string;
|
|
28
|
+
mint110: string;
|
|
29
|
+
aqua: string;
|
|
30
|
+
aqua30: string;
|
|
31
|
+
aqua50: string;
|
|
32
|
+
aqua110: string;
|
|
33
|
+
lavender: string;
|
|
34
|
+
lavender30: string;
|
|
35
|
+
lavender50: string;
|
|
36
|
+
lavender110: string;
|
|
37
|
+
pink: string;
|
|
38
|
+
pink30: string;
|
|
39
|
+
pink50: string;
|
|
40
|
+
pink110: string;
|
|
41
|
+
lemon: string;
|
|
42
|
+
lemon30: string;
|
|
43
|
+
lemon50: string;
|
|
44
|
+
lemon110: string;
|
|
45
|
+
amber: string;
|
|
46
|
+
amber30: string;
|
|
47
|
+
amber50: string;
|
|
48
|
+
red: string;
|
|
49
|
+
red30: string;
|
|
50
|
+
red50: string;
|
|
51
|
+
navy: string;
|
|
52
|
+
navy110: string;
|
|
53
|
+
navy120: string;
|
|
54
|
+
blue: string;
|
|
55
|
+
magenta: string;
|
|
56
|
+
purple: string;
|
|
57
|
+
teal: string;
|
|
58
|
+
transparent: string;
|
|
59
|
+
};
|
|
60
|
+
type OakColorToken = keyof typeof oakColorTokens;
|
|
61
|
+
/**
|
|
62
|
+
*
|
|
63
|
+
* Use this tool to convert Hex to color filter values https://codepen.io/sosuke/pen/Pjoqqp
|
|
64
|
+
*
|
|
65
|
+
*/
|
|
66
|
+
declare const oakColorFilterTokens: {
|
|
67
|
+
black: string;
|
|
68
|
+
red: string;
|
|
69
|
+
oakGreen: string;
|
|
70
|
+
white: string;
|
|
71
|
+
grey40: string;
|
|
72
|
+
grey50: string;
|
|
73
|
+
navy: string;
|
|
74
|
+
navy110: string;
|
|
75
|
+
navy120: string;
|
|
76
|
+
};
|
|
77
|
+
type OakColorFilterToken = keyof typeof oakColorFilterTokens;
|
|
78
|
+
declare const oakUiRoleTokens: readonly ["text-primary", "text-subdued", "text-error", "text-disabled", "text-link-active", "text-link-hover", "text-link-visited", "text-link-pressed", "text-inverted", "text-success", "text-warning", "bg-primary", "bg-neutral", "bg-neutral-stronger", "bg-btn-primary", "bg-btn-primary-hover", "bg-btn-primary-disabled", "bg-btn-secondary", "bg-btn-secondary-hover", "bg-btn-secondary-disabled", "bg-icon", "bg-icon-hover", "bg-decorative1-main", "bg-decorative1-subdued", "bg-decorative1-very-subdued", "bg-decorative2-main", "bg-decorative2-subdued", "bg-decorative2-very-subdued", "bg-decorative3-main", "bg-decorative3-subdued", "bg-decorative3-very-subdued", "bg-decorative4-main", "bg-decorative4-subdued", "bg-decorative4-very-subdued", "bg-decorative5-main", "bg-decorative5-subdued", "bg-decorative5-very-subdued", "bg-correct", "bg-incorrect", "icon-main", "icon-inverted", "icon-disabled", "icon-brand", "icon-success", "icon-error", "icon-warning", "border-primary", "border-inverted", "border-neutral", "border-brand", "border-success", "border-error", "border-warning", "border-decorative1", "border-decorative1-stronger", "border-decorative2", "border-decorative2-stronger", "border-decorative3", "border-decorative3-stronger", "border-decorative4", "border-decorative4-stronger", "border-decorative5", "border-decorative5-stronger", "border-decorative6", "border-decorative6-stronger", "transparent"];
|
|
79
|
+
type OakUiRoleToken = (typeof oakUiRoleTokens)[number];
|
|
80
|
+
type UiRoleMap = Record<OakUiRoleToken, OakColorToken | null | undefined>;
|
|
81
|
+
type OakCombinedColorToken = OakColorToken | OakUiRoleToken;
|
|
82
|
+
|
|
83
|
+
type OakTheme = {
|
|
84
|
+
name: string;
|
|
85
|
+
uiColors: UiRoleMap;
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
type ResponsiveValues<Value> = (Value | null) | (Value | null)[];
|
|
89
|
+
|
|
90
|
+
declare const oakAllSpacingTokens: {
|
|
91
|
+
"all-spacing-0": number;
|
|
92
|
+
"all-spacing-1": number;
|
|
93
|
+
"all-spacing-2": number;
|
|
94
|
+
"all-spacing-3": number;
|
|
95
|
+
"all-spacing-4": number;
|
|
96
|
+
"all-spacing-5": number;
|
|
97
|
+
"all-spacing-6": number;
|
|
98
|
+
"all-spacing-7": number;
|
|
99
|
+
"all-spacing-8": number;
|
|
100
|
+
"all-spacing-9": number;
|
|
101
|
+
"all-spacing-10": number;
|
|
102
|
+
"all-spacing-11": number;
|
|
103
|
+
"all-spacing-12": number;
|
|
104
|
+
"all-spacing-13": number;
|
|
105
|
+
"all-spacing-14": number;
|
|
106
|
+
"all-spacing-15": number;
|
|
107
|
+
"all-spacing-16": number;
|
|
108
|
+
"all-spacing-17": number;
|
|
109
|
+
"all-spacing-18": number;
|
|
110
|
+
"all-spacing-19": number;
|
|
111
|
+
"all-spacing-20": number;
|
|
112
|
+
"all-spacing-21": number;
|
|
113
|
+
"all-spacing-22": number;
|
|
114
|
+
"all-spacing-23": number;
|
|
115
|
+
"all-spacing-24": number;
|
|
116
|
+
};
|
|
117
|
+
type OakAllSpacingToken = keyof typeof oakAllSpacingTokens;
|
|
118
|
+
declare const oakInnerPaddingTokens: {
|
|
119
|
+
"inner-padding-none": string;
|
|
120
|
+
"inner-padding-ssx": string;
|
|
121
|
+
"inner-padding-xs": string;
|
|
122
|
+
"inner-padding-s": string;
|
|
123
|
+
"inner-padding-m": string;
|
|
124
|
+
"inner-padding-l": string;
|
|
125
|
+
"inner-padding-xl": string;
|
|
126
|
+
};
|
|
127
|
+
type OakInnerPaddingToken = keyof typeof oakInnerPaddingTokens;
|
|
128
|
+
declare const oakSpaceBetweenTokens: {
|
|
129
|
+
"space-between-none": string;
|
|
130
|
+
"space-between-sssx": string;
|
|
131
|
+
"space-between-ssx": string;
|
|
132
|
+
"space-between-xs": string;
|
|
133
|
+
"space-between-s": string;
|
|
134
|
+
"space-between-m": string;
|
|
135
|
+
"space-between-m2": string;
|
|
136
|
+
"space-between-l": string;
|
|
137
|
+
"space-between-xl": string;
|
|
138
|
+
"space-between-xxl": string;
|
|
139
|
+
"space-between-xxxl": string;
|
|
140
|
+
};
|
|
141
|
+
type OakSpaceBetweenToken = keyof typeof oakSpaceBetweenTokens;
|
|
142
|
+
type AdditionalSpacingTypes = "100%" | 0 | "100vh" | "100vw" | "auto" | "fit-content" | "max-content" | "min-content" | "inherit" | "initial" | "unset";
|
|
143
|
+
type OakCombinedSpacingToken = OakAllSpacingToken | OakInnerPaddingToken | OakSpaceBetweenToken | AdditionalSpacingTypes;
|
|
144
|
+
|
|
145
|
+
type PaddingValues = ResponsiveValues<OakInnerPaddingToken | null | undefined>;
|
|
146
|
+
type PaddingStyleProps = {
|
|
147
|
+
/**
|
|
148
|
+
* Applies `padding` to all sides of the element
|
|
149
|
+
*
|
|
150
|
+
* Accepts an inner padding token or a responsive array of inner padding tokens. Can be nulled.
|
|
151
|
+
*/
|
|
152
|
+
$pa?: PaddingValues;
|
|
153
|
+
/**
|
|
154
|
+
* Applies `padding` to the left and right of the element
|
|
155
|
+
*
|
|
156
|
+
* Accepts an inner padding token or a responsive array of inner padding tokens. Can be nulled.
|
|
157
|
+
*/
|
|
158
|
+
$ph?: PaddingValues;
|
|
159
|
+
/**
|
|
160
|
+
* Applies `padding` to the top and bottom of the element
|
|
161
|
+
*
|
|
162
|
+
* Accepts an inner padding token or a responsive array of inner padding tokens. Can be nulled.
|
|
163
|
+
*/
|
|
164
|
+
$pv?: PaddingValues;
|
|
165
|
+
/**
|
|
166
|
+
* Applies `padding` to the left of the element
|
|
167
|
+
*
|
|
168
|
+
* Accepts an inner padding token or a responsive array of inner padding tokens. Can be nulled.
|
|
169
|
+
*/
|
|
170
|
+
$pl?: PaddingValues;
|
|
171
|
+
/**
|
|
172
|
+
* Applies `padding` to the right of the element
|
|
173
|
+
*
|
|
174
|
+
* Accepts an inner padding token or a responsive array of inner padding tokens. Can be nulled.
|
|
175
|
+
*/
|
|
176
|
+
$pr?: PaddingValues;
|
|
177
|
+
/**
|
|
178
|
+
* Applies `padding` to the top of the element
|
|
179
|
+
*
|
|
180
|
+
* Accepts an inner padding token or a responsive array of inner padding tokens. Can be nulled.
|
|
181
|
+
*/
|
|
182
|
+
$pt?: PaddingValues;
|
|
183
|
+
/**
|
|
184
|
+
* Applies `padding` to the bottom of the element
|
|
185
|
+
*
|
|
186
|
+
* Accepts an inner padding token or a responsive array of inner padding tokens. Can be nulled.
|
|
187
|
+
*/
|
|
188
|
+
$pb?: PaddingValues;
|
|
189
|
+
};
|
|
190
|
+
type MarginValue = "auto" | OakSpaceBetweenToken | null | undefined;
|
|
191
|
+
type MarginValues = ResponsiveValues<MarginValue>;
|
|
192
|
+
type MarginStyleProps = {
|
|
193
|
+
/**
|
|
194
|
+
* Applies `margin` to all sides of the element
|
|
195
|
+
*
|
|
196
|
+
* Accepts a space between token or a responsive array of space between tokens. Can be nulled.
|
|
197
|
+
*/
|
|
198
|
+
$ma?: MarginValues;
|
|
199
|
+
/**
|
|
200
|
+
* Applies `margin` to the left and right of the element
|
|
201
|
+
*
|
|
202
|
+
* Accepts a space between token or a responsive array of space between tokens. Can be nulled.
|
|
203
|
+
*/
|
|
204
|
+
$mh?: MarginValues;
|
|
205
|
+
/**
|
|
206
|
+
* Applies `margin` to the top and bottom of the element
|
|
207
|
+
*
|
|
208
|
+
* Accepts a space between token or a responsive array of space between tokens. Can be nulled.
|
|
209
|
+
*/
|
|
210
|
+
$mv?: MarginValues;
|
|
211
|
+
/**
|
|
212
|
+
* Applies `margin` to the left of the element
|
|
213
|
+
*
|
|
214
|
+
* Accepts a space between token or a responsive array of space between tokens. Can be nulled.
|
|
215
|
+
*/
|
|
216
|
+
$ml?: MarginValues;
|
|
217
|
+
/**
|
|
218
|
+
* Applies `margin` to the right of the element
|
|
219
|
+
*
|
|
220
|
+
* Accepts a space between token or a responsive array of space between tokens. Can be nulled.
|
|
221
|
+
*/
|
|
222
|
+
$mr?: MarginValues;
|
|
223
|
+
/**
|
|
224
|
+
* Applies `margin` to the top of the element
|
|
225
|
+
*
|
|
226
|
+
* Accepts a space between token or a responsive array of space between tokens. Can be nulled.
|
|
227
|
+
*/
|
|
228
|
+
$mt?: MarginValues;
|
|
229
|
+
/**
|
|
230
|
+
* Applies `margin` to the bottom of the element
|
|
231
|
+
*
|
|
232
|
+
* Accepts a space between token or a responsive array of space between tokens. Can be nulled.
|
|
233
|
+
*/
|
|
234
|
+
$mb?: MarginValues;
|
|
235
|
+
};
|
|
236
|
+
type SpacingStyleProps = PaddingStyleProps & MarginStyleProps;
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* Color token!
|
|
240
|
+
*/
|
|
241
|
+
type ColorToken = ResponsiveValues<OakCombinedColorToken | null>;
|
|
242
|
+
type ColorStyleProps = {
|
|
243
|
+
/**
|
|
244
|
+
* Sets the `color` of the element.
|
|
245
|
+
*
|
|
246
|
+
* Accepts a color token or a responsive array of color tokens.
|
|
247
|
+
*/
|
|
248
|
+
$color?: ColorToken;
|
|
249
|
+
/**
|
|
250
|
+
* Sets the `background-color` of the element.
|
|
251
|
+
*
|
|
252
|
+
* Accepts a color token or a responsive array of color tokens.
|
|
253
|
+
*/
|
|
254
|
+
$background?: ColorToken;
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
type PositionSpacing = OakAllSpacingToken | OakSpaceBetweenToken | null | undefined;
|
|
258
|
+
type PositionStyleProps = {
|
|
259
|
+
/**
|
|
260
|
+
* Sets the `position` CSS property of the element.
|
|
261
|
+
*
|
|
262
|
+
* Accepts a `position` value or a responsive array of `position` values. Can be nulled.
|
|
263
|
+
*/
|
|
264
|
+
$position?: ResponsiveValues<CSSProperties["position"]>;
|
|
265
|
+
/**
|
|
266
|
+
* Sets the `top` CSS property of the element.
|
|
267
|
+
*
|
|
268
|
+
* Accepts a spacing token or a responsive array of spacing tokens. Can be nulled.
|
|
269
|
+
*/
|
|
270
|
+
$top?: ResponsiveValues<PositionSpacing>;
|
|
271
|
+
/**
|
|
272
|
+
* Sets the `right` CSS property of the element.
|
|
273
|
+
*
|
|
274
|
+
* Accepts a spacing token or a responsive array of spacing tokens. Can be nulled.
|
|
275
|
+
*/
|
|
276
|
+
$right?: ResponsiveValues<PositionSpacing>;
|
|
277
|
+
/**
|
|
278
|
+
* Sets the `bottom` CSS property of the element.
|
|
279
|
+
*
|
|
280
|
+
* Accepts a spacing token or a responsive array of spacing tokens. Can be nulled.
|
|
281
|
+
*/
|
|
282
|
+
$bottom?: ResponsiveValues<PositionSpacing>;
|
|
283
|
+
/**
|
|
284
|
+
* Sets the `left` CSS property of the element.
|
|
285
|
+
*
|
|
286
|
+
* Accepts a spacing token or a responsive array of spacing tokens. Can be nulled.
|
|
287
|
+
*/
|
|
288
|
+
$left?: ResponsiveValues<PositionSpacing>;
|
|
289
|
+
/**
|
|
290
|
+
* Sets the `inset` CSS property of the element.
|
|
291
|
+
*
|
|
292
|
+
* Accepts a spacing token or a responsive array of spacing tokens. Can be nulled.
|
|
293
|
+
*/
|
|
294
|
+
$inset?: ResponsiveValues<PositionSpacing>;
|
|
295
|
+
/**
|
|
296
|
+
* Sets the `overflow` CSS property of the element.
|
|
297
|
+
*
|
|
298
|
+
* Accepts an `overflow` value or a responsive array of `overflow` values.
|
|
299
|
+
*/
|
|
300
|
+
$overflow?: ResponsiveValues<CSSProperties["overflow"]>;
|
|
301
|
+
/**
|
|
302
|
+
* Sets the `overflow-x` CSS property of the element.
|
|
303
|
+
*
|
|
304
|
+
* Accepts an `overflow-x` value or a responsive array of `overflow-x` values.
|
|
305
|
+
*/
|
|
306
|
+
$overflowX?: ResponsiveValues<CSSProperties["overflowX"]>;
|
|
307
|
+
/**
|
|
308
|
+
* Sets the `overflow-y` CSS property of the element.
|
|
309
|
+
*
|
|
310
|
+
* Accepts an `overflow-y` value or a responsive array of `overflow-y` values.
|
|
311
|
+
*/
|
|
312
|
+
$overflowY?: ResponsiveValues<CSSProperties["overflowY"]>;
|
|
313
|
+
/**
|
|
314
|
+
* Sets the `object-fit` CSS property of the element.
|
|
315
|
+
*
|
|
316
|
+
* Accepts an `object-fit` value or a responsive array of `object-fit` values.
|
|
317
|
+
*/
|
|
318
|
+
$objectFit?: ResponsiveValues<CSSProperties["objectFit"]>;
|
|
319
|
+
/**
|
|
320
|
+
* Sets the `pointer-events` CSS property of the element.
|
|
321
|
+
*
|
|
322
|
+
* Accepts a `pointer-events` value or a responsive array of `pointer-events` values.
|
|
323
|
+
*/
|
|
324
|
+
$pointerEvents?: ResponsiveValues<CSSProperties["pointerEvents"]>;
|
|
325
|
+
/**
|
|
326
|
+
* Sets the `visibility` CSS property of the element.
|
|
327
|
+
*
|
|
328
|
+
* Accepts a `visibility` value or a responsive array of `visibility` values.
|
|
329
|
+
*/
|
|
330
|
+
$visibility?: ResponsiveValues<CSSProperties["visibility"]>;
|
|
331
|
+
};
|
|
332
|
+
|
|
333
|
+
type SizeValues = ResponsiveValues<OakCombinedSpacingToken | null | undefined>;
|
|
334
|
+
type SizeStyleProps = {
|
|
335
|
+
/**
|
|
336
|
+
* Sets the `width` CSS property of the element.
|
|
337
|
+
*
|
|
338
|
+
* Accepts a spacing token or a responsive array of spacing tokens. Can be nulled.
|
|
339
|
+
*/
|
|
340
|
+
$width?: SizeValues;
|
|
341
|
+
/**
|
|
342
|
+
* Sets the `min-width` CSS property of the element.
|
|
343
|
+
*
|
|
344
|
+
* Accepts a spacing token or a responsive array of spacing tokens. Can be nulled.
|
|
345
|
+
*/
|
|
346
|
+
$minWidth?: SizeValues;
|
|
347
|
+
/**
|
|
348
|
+
* Sets the `max-width` CSS property of the element.
|
|
349
|
+
*
|
|
350
|
+
* Accepts a spacing token or a responsive array of spacing tokens. Can be nulled.
|
|
351
|
+
*/
|
|
352
|
+
$maxWidth?: SizeValues;
|
|
353
|
+
/**
|
|
354
|
+
* Sets the `height` CSS property of the element.
|
|
355
|
+
*
|
|
356
|
+
* Accepts a spacing token or a responsive array of spacing tokens. Can be nulled.
|
|
357
|
+
*/
|
|
358
|
+
$height?: SizeValues;
|
|
359
|
+
/**
|
|
360
|
+
* Sets the `min-height` CSS property of the element.
|
|
361
|
+
*
|
|
362
|
+
* Accepts a spacing token or a responsive array of spacing tokens. Can be nulled.
|
|
363
|
+
*/
|
|
364
|
+
$minHeight?: SizeValues;
|
|
365
|
+
/**
|
|
366
|
+
* Sets the `max-height` CSS property of the element.
|
|
367
|
+
*
|
|
368
|
+
* Accepts a spacing token or a responsive array of spacing tokens. Can be nulled.
|
|
369
|
+
*/
|
|
370
|
+
$maxHeight?: SizeValues;
|
|
371
|
+
/**
|
|
372
|
+
* Sets the `aspect-ratio` CSS property of the element.
|
|
373
|
+
*
|
|
374
|
+
* Accepts an `aspect-ratio` value or a responsive array of `aspect-ratio` values.
|
|
375
|
+
*/
|
|
376
|
+
$aspectRatio?: ResponsiveValues<CSSProperties$1["aspectRatio"]>;
|
|
377
|
+
/**
|
|
378
|
+
* Sets the `box-sizing` CSS property of the element.
|
|
379
|
+
*
|
|
380
|
+
* Accepts a `box-sizing` value or a responsive array of `box-sizing` values.
|
|
381
|
+
*/
|
|
382
|
+
$boxSizing?: ResponsiveValues<CSSProperties$1["boxSizing"]>;
|
|
383
|
+
};
|
|
384
|
+
|
|
385
|
+
declare const oakBorderWidthTokens: {
|
|
386
|
+
"border-solid-none": number;
|
|
387
|
+
"border-solid-s": number;
|
|
388
|
+
"border-solid-m": number;
|
|
389
|
+
"border-solid-l": number;
|
|
390
|
+
"border-solid-xl": number;
|
|
391
|
+
};
|
|
392
|
+
declare const oakBorderRadiusTokens: {
|
|
393
|
+
"border-radius-square": number;
|
|
394
|
+
"border-radius-xs": number;
|
|
395
|
+
"border-radius-s": number;
|
|
396
|
+
"border-radius-m": number;
|
|
397
|
+
"border-radius-m2": number;
|
|
398
|
+
"border-radius-l": number;
|
|
399
|
+
"border-radius-xl": number;
|
|
400
|
+
"border-radius-circle": number;
|
|
401
|
+
};
|
|
402
|
+
type OakBorderRadiusToken = keyof typeof oakBorderRadiusTokens;
|
|
403
|
+
type OakBorderWidthToken = keyof typeof oakBorderWidthTokens;
|
|
404
|
+
|
|
405
|
+
type BorderWidth = ResponsiveValues<OakBorderWidthToken>;
|
|
406
|
+
type _BorderStyleProps = ResponsiveValues<CSSProperties$1["borderStyle"]>;
|
|
407
|
+
type BorderColorProps = ResponsiveValues<OakCombinedColorToken>;
|
|
408
|
+
type BorderRadiusProps = ResponsiveValues<OakBorderRadiusToken>;
|
|
409
|
+
type BorderStyleProps = {
|
|
410
|
+
/**
|
|
411
|
+
* Apply border on all sides
|
|
412
|
+
*
|
|
413
|
+
* Accepts a border-width token or a responsive array of border-width tokens
|
|
414
|
+
*/
|
|
415
|
+
$ba?: BorderWidth;
|
|
416
|
+
/**
|
|
417
|
+
* Apply border to the top
|
|
418
|
+
*
|
|
419
|
+
* Accepts a border-width token or a responsive array of border-width tokens
|
|
420
|
+
*/
|
|
421
|
+
$bt?: BorderWidth;
|
|
422
|
+
/**
|
|
423
|
+
* Apply border to the right
|
|
424
|
+
*
|
|
425
|
+
* Accepts a border-width token or a responsive array of border-width tokens
|
|
426
|
+
*/
|
|
427
|
+
$br?: BorderWidth;
|
|
428
|
+
/**
|
|
429
|
+
* Apply border to the bottom
|
|
430
|
+
*
|
|
431
|
+
* Accepts a border-width token or a responsive array of border-width tokens
|
|
432
|
+
*/
|
|
433
|
+
$bb?: BorderWidth;
|
|
434
|
+
/**
|
|
435
|
+
* Apply border to the left
|
|
436
|
+
*
|
|
437
|
+
* Accepts a border-width token or a responsive array of border-width tokens
|
|
438
|
+
*/
|
|
439
|
+
$bl?: BorderWidth;
|
|
440
|
+
/**
|
|
441
|
+
* Apply border to the left and right
|
|
442
|
+
*
|
|
443
|
+
* Accepts a border-width token or a responsive array of border-width tokens
|
|
444
|
+
*/
|
|
445
|
+
$bh?: BorderWidth;
|
|
446
|
+
/**
|
|
447
|
+
* Apply border to the top and bottom
|
|
448
|
+
*
|
|
449
|
+
* Accepts a border-width token or a responsive array of border-width tokens
|
|
450
|
+
*/
|
|
451
|
+
$bv?: BorderWidth;
|
|
452
|
+
/**
|
|
453
|
+
* Apply `border-style` to the element
|
|
454
|
+
*
|
|
455
|
+
* Accepts a single value or a responsive array of values.
|
|
456
|
+
*/
|
|
457
|
+
$borderStyle?: _BorderStyleProps;
|
|
458
|
+
/**
|
|
459
|
+
* Apply a border color to all sides of the element
|
|
460
|
+
*
|
|
461
|
+
* Accepts a color token or a responsive array of color tokens.
|
|
462
|
+
*/
|
|
463
|
+
$borderColor?: BorderColorProps;
|
|
464
|
+
$borderRadius?: BorderRadiusProps;
|
|
465
|
+
/**
|
|
466
|
+
* Apply border radius to the top left
|
|
467
|
+
*
|
|
468
|
+
* Accepts an `OakBorderRadiusToken` or a responsive array of `OakBorderRadiusToken`s.
|
|
469
|
+
*/
|
|
470
|
+
$btlr?: BorderRadiusProps;
|
|
471
|
+
/**
|
|
472
|
+
* Apply border radius to the top right
|
|
473
|
+
*
|
|
474
|
+
* Accepts a border-radius token or a responsive array of border-radius tokens.
|
|
475
|
+
*/
|
|
476
|
+
$btrr?: BorderRadiusProps;
|
|
477
|
+
/**
|
|
478
|
+
* Apply border radius to the bottom left
|
|
479
|
+
*
|
|
480
|
+
* Accepts a border-radius token or a responsive array of border-radius tokens.
|
|
481
|
+
*/
|
|
482
|
+
$bblr?: BorderRadiusProps;
|
|
483
|
+
/**
|
|
484
|
+
* Apply border radius to the bottom right
|
|
485
|
+
*
|
|
486
|
+
* Accepts a border-radius token or a responsive array of border-radius tokens.
|
|
487
|
+
*/
|
|
488
|
+
$bbrr?: BorderRadiusProps;
|
|
489
|
+
/**
|
|
490
|
+
* Apply border radius to the top right and top left
|
|
491
|
+
*
|
|
492
|
+
* Accepts a border-radius token or a responsive array of border-radius tokens.
|
|
493
|
+
*/
|
|
494
|
+
$btr?: BorderRadiusProps;
|
|
495
|
+
/**
|
|
496
|
+
* Apply border radius to the bottom right and bottom left
|
|
497
|
+
*
|
|
498
|
+
* Accepts a border-radius token or a responsive array of border-radius tokens
|
|
499
|
+
*/
|
|
500
|
+
$bbr?: BorderRadiusProps;
|
|
501
|
+
};
|
|
502
|
+
|
|
503
|
+
type DisplayStyleProps = {
|
|
504
|
+
/**
|
|
505
|
+
* Sets the `display` CSS property of the element.
|
|
506
|
+
*
|
|
507
|
+
* Accepts a `display` value or a responsive array of `display` values.
|
|
508
|
+
*/
|
|
509
|
+
$display?: ResponsiveValues<CSSProperties["display"]>;
|
|
510
|
+
};
|
|
511
|
+
|
|
512
|
+
declare const oakDropShadowTokens: {
|
|
513
|
+
"drop-shadow-standard": string;
|
|
514
|
+
"drop-shadow-lemon": string;
|
|
515
|
+
"drop-shadow-wide-lemon": string;
|
|
516
|
+
"drop-shadow-centered-lemon": string;
|
|
517
|
+
"drop-shadow-grey": string;
|
|
518
|
+
"drop-shadow-centered-grey": string;
|
|
519
|
+
};
|
|
520
|
+
type OakDropShadowToken = keyof typeof oakDropShadowTokens;
|
|
521
|
+
|
|
522
|
+
type DropShadowStyleProps = {
|
|
523
|
+
/**
|
|
524
|
+
* Applies a drop-shadow to the element.
|
|
525
|
+
*
|
|
526
|
+
* Accepts a drop-shadow token or a responsive array of drop-shadow tokens.
|
|
527
|
+
*/
|
|
528
|
+
$dropShadow?: ResponsiveValues<OakDropShadowToken>;
|
|
529
|
+
};
|
|
530
|
+
|
|
531
|
+
declare const oakOpacityTokens: {
|
|
532
|
+
transparent: number;
|
|
533
|
+
"semi-transparent": number;
|
|
534
|
+
"semi-opaque": number;
|
|
535
|
+
opaque: number;
|
|
536
|
+
};
|
|
537
|
+
type OakOpacityToken = keyof typeof oakOpacityTokens;
|
|
538
|
+
|
|
539
|
+
type OpacityStyleProps = {
|
|
540
|
+
/**
|
|
541
|
+
* Sets the `opacity` CSS property of the element.
|
|
542
|
+
*
|
|
543
|
+
* Accepts an opacity token or a responsive array of opacity tokens.
|
|
544
|
+
*/
|
|
545
|
+
$opacity?: ResponsiveValues<OakOpacityToken>;
|
|
546
|
+
};
|
|
547
|
+
|
|
548
|
+
type TransformStyleProps = {
|
|
549
|
+
/**
|
|
550
|
+
* Sets the `transform` CSS property of the element.
|
|
551
|
+
*
|
|
552
|
+
* Accepts a `transform` value or a responsive array of `transform` values. Can be nulled.
|
|
553
|
+
*/
|
|
554
|
+
$transform?: ResponsiveValues<CSSProperties$1["transform"] | null>;
|
|
555
|
+
/**
|
|
556
|
+
* Sets the `transform-origin` CSS property of the element.
|
|
557
|
+
*
|
|
558
|
+
* Accepts a `transform-origin` value or a responsive array of `transform-origin` values. Can be nulled.
|
|
559
|
+
*/
|
|
560
|
+
$transformOrigin?: ResponsiveValues<CSSProperties$1["transformOrigin"] | null>;
|
|
561
|
+
};
|
|
562
|
+
|
|
563
|
+
declare const oakTransitionTokens: {
|
|
564
|
+
"standard-ease": string;
|
|
565
|
+
"standard-transform": string;
|
|
566
|
+
};
|
|
567
|
+
type OakTransitionToken = keyof typeof oakTransitionTokens;
|
|
568
|
+
|
|
569
|
+
type Transition = OakTransitionToken;
|
|
570
|
+
type TransitionStyleProps = {
|
|
571
|
+
/**
|
|
572
|
+
* Sets the `transition` CSS property of the element.
|
|
573
|
+
*
|
|
574
|
+
* Accepts a transition token or a responsive array of transition tokens.
|
|
575
|
+
*/
|
|
576
|
+
$transition?: ResponsiveValues<Transition>;
|
|
577
|
+
};
|
|
578
|
+
|
|
579
|
+
declare const oakFontSizeTokens: {
|
|
580
|
+
"font-size-1": number;
|
|
581
|
+
"font-size-2": number;
|
|
582
|
+
"font-size-3": number;
|
|
583
|
+
"font-size-4": number;
|
|
584
|
+
"font-size-5": number;
|
|
585
|
+
"font-size-6": number;
|
|
586
|
+
"font-size-7": number;
|
|
587
|
+
"font-size-8": number;
|
|
588
|
+
"font-size-9": number;
|
|
589
|
+
"font-size-10": number;
|
|
590
|
+
};
|
|
591
|
+
type OakFontSizeToken = keyof typeof oakFontSizeTokens;
|
|
592
|
+
declare const oakFontTokens: {
|
|
593
|
+
"heading-1": ["font-size-10", 64, 600, "0.0115rem"];
|
|
594
|
+
"heading-2": ["font-size-9", 56, 600, "0.0115rem"];
|
|
595
|
+
"heading-3": ["font-size-8", 48, 600, "0.0115rem"];
|
|
596
|
+
"heading-4": ["font-size-7", 40, 600, "0.0115rem"];
|
|
597
|
+
"heading-5": ["font-size-6", 32, 600, "0.0115rem"];
|
|
598
|
+
"heading-6": ["font-size-5", 24, 600, "0.0115rem"];
|
|
599
|
+
"heading-7": ["font-size-3", 20, 600, "0.0115rem"];
|
|
600
|
+
"heading-light-1": ["font-size-10", 64, 400, "0.0115rem"];
|
|
601
|
+
"heading-light-2": ["font-size-9", 56, 400, "0.0115rem"];
|
|
602
|
+
"heading-light-3": ["font-size-8", 48, 400, "0.0115rem"];
|
|
603
|
+
"heading-light-4": ["font-size-7", 40, 400, "0.0115rem"];
|
|
604
|
+
"heading-light-5": ["font-size-6", 32, 400, "0.0115rem"];
|
|
605
|
+
"heading-light-6": ["font-size-5", 24, 400, "0.0115rem"];
|
|
606
|
+
"heading-light-7": ["font-size-3", 20, 400, "0.0115rem"];
|
|
607
|
+
"body-1": ["font-size-4", 28, 300, "-0.005rem"];
|
|
608
|
+
"body-2": ["font-size-3", 24, 300, "-0.005rem"];
|
|
609
|
+
"body-3": ["font-size-2", 20, 300, "-0.005rem"];
|
|
610
|
+
"body-4": ["font-size-1", 16, 300, "-0.005rem"];
|
|
611
|
+
"body-1-bold": ["font-size-4", 28, 700, "-0.005rem"];
|
|
612
|
+
"body-2-bold": ["font-size-3", 24, 700, "-0.005rem"];
|
|
613
|
+
"body-3-bold": ["font-size-2", 20, 700, "-0.005rem"];
|
|
614
|
+
"list-item-1": ["font-size-4", 32, 300, "-0.005rem"];
|
|
615
|
+
"list-item-2": ["font-size-3", 24, 300, "-0.005rem"];
|
|
616
|
+
};
|
|
617
|
+
type OakFontToken = keyof typeof oakFontTokens;
|
|
618
|
+
declare const oakTextDecorations: readonly ["underline", "overline", "line-through", "none"];
|
|
619
|
+
declare const oakWhiteSpaces: readonly ["normal", "nowrap", "pre", "pre-wrap", "pre-line", "break-spaces"];
|
|
620
|
+
declare const oakWordWraps: readonly ["normal", "break-word", "initial", "inherit"];
|
|
621
|
+
declare const oakTextOverflows: readonly ["clip", "ellipsis"];
|
|
622
|
+
type OakTextDecoration = (typeof oakTextDecorations)[number];
|
|
623
|
+
type OakWhiteSpace = (typeof oakWhiteSpaces)[number];
|
|
624
|
+
type OakWordWrap = (typeof oakWordWraps)[number];
|
|
625
|
+
type OakTextOverflow = (typeof oakTextOverflows)[number];
|
|
626
|
+
|
|
627
|
+
type TypographyStyleProps = {
|
|
628
|
+
/**
|
|
629
|
+
* Sets the `font-size`, `line-height`, `font-weight` and `letter-spacing` of the element.
|
|
630
|
+
*
|
|
631
|
+
* Accepts a font token or a responsive array of font tokens.
|
|
632
|
+
*/
|
|
633
|
+
$font?: ResponsiveValues<OakFontToken>;
|
|
634
|
+
/**
|
|
635
|
+
* Sets the `text-decoration` CSS property of the element.
|
|
636
|
+
*
|
|
637
|
+
* Accepts a text-decoration token or a responsive array of text-decoration tokens.
|
|
638
|
+
*/
|
|
639
|
+
$textDecoration?: ResponsiveValues<OakTextDecoration>;
|
|
640
|
+
/**
|
|
641
|
+
* Sets the `text-align` CSS property of the element.
|
|
642
|
+
*
|
|
643
|
+
* Accepts a `text-align` value or a responsive array of `text-align` values.
|
|
644
|
+
*/
|
|
645
|
+
$textAlign?: ResponsiveValues<CSSProperties$1["textAlign"]>;
|
|
646
|
+
/**
|
|
647
|
+
* Sets the `white-space` CSS property of the element.
|
|
648
|
+
*
|
|
649
|
+
* Accepts a white-space token or a responsive array of white-space tokens.
|
|
650
|
+
*/
|
|
651
|
+
$whiteSpace?: ResponsiveValues<OakWhiteSpace>;
|
|
652
|
+
/**
|
|
653
|
+
* Sets the `word-wrap` CSS property of the element.
|
|
654
|
+
*
|
|
655
|
+
* Accepts a word-wrap token or a responsive array of word-wrap tokens.
|
|
656
|
+
*/
|
|
657
|
+
$wordWrap?: ResponsiveValues<OakWordWrap>;
|
|
658
|
+
/**
|
|
659
|
+
* Sets the `text-overflow` CSS property of the element.
|
|
660
|
+
*
|
|
661
|
+
* Accepts a text-overflow token or a responsive array of text-overflow tokens.
|
|
662
|
+
*/
|
|
663
|
+
$textOverflow?: ResponsiveValues<OakTextOverflow>;
|
|
664
|
+
};
|
|
665
|
+
|
|
666
|
+
declare const oakZIndexTokens: {
|
|
667
|
+
readonly behind: -1;
|
|
668
|
+
readonly neutral: 0;
|
|
669
|
+
readonly "in-front": 1;
|
|
670
|
+
readonly "mobile-filters": 2;
|
|
671
|
+
readonly "fixed-header": 100;
|
|
672
|
+
readonly "modal-close-button": 150;
|
|
673
|
+
readonly "modal-dialog": 300;
|
|
674
|
+
};
|
|
675
|
+
type OakZIndexToken = keyof typeof oakZIndexTokens | null;
|
|
676
|
+
|
|
677
|
+
type ZIndexStyleProps = {
|
|
678
|
+
/**
|
|
679
|
+
* Sets the `z-index` CSS property of the element.
|
|
680
|
+
*
|
|
681
|
+
* Accepts a z-index token or a responsive array of z-index tokens.
|
|
682
|
+
*/
|
|
683
|
+
$zIndex?: ResponsiveValues<OakZIndexToken>;
|
|
684
|
+
};
|
|
685
|
+
|
|
686
|
+
type HTMLProps$1 = {
|
|
687
|
+
onClick?: MouseEventHandler;
|
|
688
|
+
};
|
|
689
|
+
type OakBoxProps = {
|
|
690
|
+
children?: React.ReactNode;
|
|
691
|
+
} & PositionStyleProps & SizeStyleProps & SpacingStyleProps & ColorStyleProps & BorderStyleProps & DisplayStyleProps & DropShadowStyleProps & OpacityStyleProps & TransformStyleProps & TransitionStyleProps & TypographyStyleProps & ZIndexStyleProps & HTMLProps$1;
|
|
692
|
+
declare const oakBoxCss: styled_components.FlattenInterpolation<styled_components.ThemedStyledProps<OakBoxProps, styled_components.DefaultTheme>>;
|
|
693
|
+
/**
|
|
694
|
+
* OakBox exposes all the styles that are available styles on a div tag. These include:
|
|
695
|
+
* - color
|
|
696
|
+
* - size
|
|
697
|
+
* - display
|
|
698
|
+
* - spacing
|
|
699
|
+
* - position
|
|
700
|
+
* - border
|
|
701
|
+
* - opacity
|
|
702
|
+
* - z-index
|
|
703
|
+
* - typography
|
|
704
|
+
* - transition
|
|
705
|
+
* - transform
|
|
706
|
+
* - drop-shadow
|
|
707
|
+
*
|
|
708
|
+
*/
|
|
709
|
+
declare const OakBox: styled_components.StyledComponent<"div", styled_components.DefaultTheme, {
|
|
710
|
+
children?: React.ReactNode;
|
|
711
|
+
} & PositionStyleProps & SizeStyleProps & PaddingStyleProps & MarginStyleProps & ColorStyleProps & BorderStyleProps & DisplayStyleProps & DropShadowStyleProps & OpacityStyleProps & TransformStyleProps & TransitionStyleProps & TypographyStyleProps & ZIndexStyleProps & HTMLProps$1, never>;
|
|
712
|
+
|
|
713
|
+
type FlexStyleProps = DisplayStyleProps & {
|
|
714
|
+
/**
|
|
715
|
+
* Sets the `flex-direction` CSS property of the element.
|
|
716
|
+
*
|
|
717
|
+
* Accepts a `flex-direction` value or a responsive array of flex-direction values.
|
|
718
|
+
*/
|
|
719
|
+
$flexDirection?: ResponsiveValues<CSSProperties["flexDirection"]>;
|
|
720
|
+
/**
|
|
721
|
+
* Sets the `flex-wrap` CSS property of the element.
|
|
722
|
+
*
|
|
723
|
+
* Accepts a `flex-wrap` value or a responsive array of flex-wrap values.
|
|
724
|
+
*/
|
|
725
|
+
$flexWrap?: ResponsiveValues<CSSProperties["flexWrap"]>;
|
|
726
|
+
/**
|
|
727
|
+
* Sets the `align-items` CSS property of the element.
|
|
728
|
+
*
|
|
729
|
+
* Accepts an `align-items` value or a responsive array of `align-items` values.
|
|
730
|
+
*/
|
|
731
|
+
$alignItems?: ResponsiveValues<CSSProperties["alignItems"]>;
|
|
732
|
+
/**
|
|
733
|
+
* Sets the `align-content` CSS property of the element.
|
|
734
|
+
*
|
|
735
|
+
* Accepts an `align-content` value or a responsive array of `align-content` values.
|
|
736
|
+
*/
|
|
737
|
+
$alignContent?: ResponsiveValues<CSSProperties["alignContent"]>;
|
|
738
|
+
/**
|
|
739
|
+
* Sets the `justify-content` CSS property of the element.
|
|
740
|
+
*
|
|
741
|
+
* Accepts a `justify-content` value or a responsive array of `justify-content` values.
|
|
742
|
+
*/
|
|
743
|
+
$justifyContent?: ResponsiveValues<CSSProperties["justifyContent"]>;
|
|
744
|
+
/**
|
|
745
|
+
* Sets the `align-self` CSS property of the element.
|
|
746
|
+
*
|
|
747
|
+
* Accepts an `align-self` value or a responsive array of `align-self` values.
|
|
748
|
+
*/
|
|
749
|
+
$alignSelf?: ResponsiveValues<CSSProperties["alignSelf"]>;
|
|
750
|
+
/**
|
|
751
|
+
* Sets the `flex-grow` CSS property of the element.
|
|
752
|
+
*
|
|
753
|
+
* Accepts a `flex-grow` value or a responsive array of `flex-grow` values.
|
|
754
|
+
*/
|
|
755
|
+
$flexGrow?: ResponsiveValues<CSSProperties["flexGrow"]>;
|
|
756
|
+
/**
|
|
757
|
+
* Sets the `flex-shrink` CSS property of the element.
|
|
758
|
+
*
|
|
759
|
+
* Accepts a `flex-shrink` value or a responsive array of `flex-shrink` values.
|
|
760
|
+
*/
|
|
761
|
+
$flexShrink?: ResponsiveValues<CSSProperties["flexShrink"]>;
|
|
762
|
+
/**
|
|
763
|
+
* Sets the `order` CSS property of the element.
|
|
764
|
+
*
|
|
765
|
+
* Accepts an `order` value or a responsive array of `order` values.
|
|
766
|
+
*/
|
|
767
|
+
$order?: ResponsiveValues<CSSProperties["order"]>;
|
|
768
|
+
/**
|
|
769
|
+
* Sets the `flex-basis` CSS property of the element.
|
|
770
|
+
*
|
|
771
|
+
* Accepts a spacing token or a responsive array of spacing tokens. Can be nulled.
|
|
772
|
+
*/
|
|
773
|
+
$flexBasis?: ResponsiveValues<OakAllSpacingToken | OakSpaceBetweenToken | null | undefined>;
|
|
774
|
+
/**
|
|
775
|
+
* Sets the `gap` CSS property of the element.
|
|
776
|
+
*
|
|
777
|
+
* Accepts a spacing token or a responsive array of spacing tokens. Can be nulled.
|
|
778
|
+
*/
|
|
779
|
+
$gap?: ResponsiveValues<OakAllSpacingToken | OakSpaceBetweenToken | null | undefined>;
|
|
780
|
+
/**
|
|
781
|
+
* Sets the `column-gap` CSS property of the element.
|
|
782
|
+
*
|
|
783
|
+
* Accepts a spacing token or a responsive array of spacing tokens. Can be nulled.
|
|
784
|
+
*/
|
|
785
|
+
$columnGap?: ResponsiveValues<OakAllSpacingToken | OakSpaceBetweenToken | null | undefined>;
|
|
786
|
+
/**
|
|
787
|
+
* Sets the `row-gap` CSS property of the element.
|
|
788
|
+
*
|
|
789
|
+
* Accepts a spacing token or a responsive array of spacing tokens. Can be nulled.
|
|
790
|
+
*/
|
|
791
|
+
$rowGap?: ResponsiveValues<OakAllSpacingToken | OakSpaceBetweenToken | null | undefined>;
|
|
792
|
+
};
|
|
793
|
+
|
|
794
|
+
type OakFlexProps = FlexStyleProps & OakBoxProps;
|
|
795
|
+
/**
|
|
796
|
+
* Flex sets `display: flex;` and exposes various flex props, along with Box
|
|
797
|
+
* props.
|
|
798
|
+
*
|
|
799
|
+
* ## Usage
|
|
800
|
+
* Before adding props to this component, think about whether it makes sense
|
|
801
|
+
* to add it to Box instead, as this component extends that.
|
|
802
|
+
*/
|
|
803
|
+
declare const OakFlex: styled_components.StyledComponent<"div", styled_components.DefaultTheme, {
|
|
804
|
+
children?: React$1.ReactNode;
|
|
805
|
+
} & PositionStyleProps & SizeStyleProps & PaddingStyleProps & MarginStyleProps & ColorStyleProps & BorderStyleProps & DisplayStyleProps & DropShadowStyleProps & OpacityStyleProps & TransformStyleProps & TransitionStyleProps & TypographyStyleProps & ZIndexStyleProps & {
|
|
806
|
+
onClick?: React$1.MouseEventHandler | undefined;
|
|
807
|
+
} & {
|
|
808
|
+
$flexDirection?: ResponsiveValues<csstype.Property.FlexDirection | undefined>;
|
|
809
|
+
$flexWrap?: ResponsiveValues<csstype.Property.FlexWrap | undefined>;
|
|
810
|
+
$alignItems?: ResponsiveValues<csstype.Property.AlignItems | undefined>;
|
|
811
|
+
$alignContent?: ResponsiveValues<csstype.Property.AlignContent | undefined>;
|
|
812
|
+
$justifyContent?: ResponsiveValues<csstype.Property.JustifyContent | undefined>;
|
|
813
|
+
$alignSelf?: ResponsiveValues<csstype.Property.AlignSelf | undefined>;
|
|
814
|
+
$flexGrow?: ResponsiveValues<csstype.Property.FlexGrow | undefined>;
|
|
815
|
+
$flexShrink?: ResponsiveValues<csstype.Property.FlexShrink | undefined>;
|
|
816
|
+
$order?: ResponsiveValues<csstype.Property.Order | undefined>;
|
|
817
|
+
$flexBasis?: ResponsiveValues<"all-spacing-0" | "all-spacing-1" | "all-spacing-2" | "all-spacing-3" | "all-spacing-4" | "all-spacing-5" | "all-spacing-6" | "all-spacing-7" | "all-spacing-9" | "all-spacing-10" | "all-spacing-12" | "all-spacing-13" | "all-spacing-8" | "all-spacing-11" | "all-spacing-14" | "all-spacing-15" | "all-spacing-16" | "all-spacing-17" | "all-spacing-18" | "all-spacing-19" | "all-spacing-20" | "all-spacing-21" | "all-spacing-22" | "all-spacing-23" | "all-spacing-24" | "space-between-none" | "space-between-sssx" | "space-between-ssx" | "space-between-xs" | "space-between-s" | "space-between-m" | "space-between-m2" | "space-between-l" | "space-between-xl" | "space-between-xxl" | "space-between-xxxl" | null | undefined>;
|
|
818
|
+
$gap?: ResponsiveValues<"all-spacing-0" | "all-spacing-1" | "all-spacing-2" | "all-spacing-3" | "all-spacing-4" | "all-spacing-5" | "all-spacing-6" | "all-spacing-7" | "all-spacing-9" | "all-spacing-10" | "all-spacing-12" | "all-spacing-13" | "all-spacing-8" | "all-spacing-11" | "all-spacing-14" | "all-spacing-15" | "all-spacing-16" | "all-spacing-17" | "all-spacing-18" | "all-spacing-19" | "all-spacing-20" | "all-spacing-21" | "all-spacing-22" | "all-spacing-23" | "all-spacing-24" | "space-between-none" | "space-between-sssx" | "space-between-ssx" | "space-between-xs" | "space-between-s" | "space-between-m" | "space-between-m2" | "space-between-l" | "space-between-xl" | "space-between-xxl" | "space-between-xxxl" | null | undefined>;
|
|
819
|
+
$columnGap?: ResponsiveValues<"all-spacing-0" | "all-spacing-1" | "all-spacing-2" | "all-spacing-3" | "all-spacing-4" | "all-spacing-5" | "all-spacing-6" | "all-spacing-7" | "all-spacing-9" | "all-spacing-10" | "all-spacing-12" | "all-spacing-13" | "all-spacing-8" | "all-spacing-11" | "all-spacing-14" | "all-spacing-15" | "all-spacing-16" | "all-spacing-17" | "all-spacing-18" | "all-spacing-19" | "all-spacing-20" | "all-spacing-21" | "all-spacing-22" | "all-spacing-23" | "all-spacing-24" | "space-between-none" | "space-between-sssx" | "space-between-ssx" | "space-between-xs" | "space-between-s" | "space-between-m" | "space-between-m2" | "space-between-l" | "space-between-xl" | "space-between-xxl" | "space-between-xxxl" | null | undefined>;
|
|
820
|
+
$rowGap?: ResponsiveValues<"all-spacing-0" | "all-spacing-1" | "all-spacing-2" | "all-spacing-3" | "all-spacing-4" | "all-spacing-5" | "all-spacing-6" | "all-spacing-7" | "all-spacing-9" | "all-spacing-10" | "all-spacing-12" | "all-spacing-13" | "all-spacing-8" | "all-spacing-11" | "all-spacing-14" | "all-spacing-15" | "all-spacing-16" | "all-spacing-17" | "all-spacing-18" | "all-spacing-19" | "all-spacing-20" | "all-spacing-21" | "all-spacing-22" | "all-spacing-23" | "all-spacing-24" | "space-between-none" | "space-between-sssx" | "space-between-ssx" | "space-between-xs" | "space-between-s" | "space-between-m" | "space-between-m2" | "space-between-l" | "space-between-xl" | "space-between-xxl" | "space-between-xxxl" | null | undefined>;
|
|
821
|
+
}, never>;
|
|
822
|
+
|
|
823
|
+
type OakSpanProps = ColorStyleProps & OpacityStyleProps & MarginStyleProps & PaddingStyleProps & BorderStyleProps & TypographyStyleProps;
|
|
824
|
+
/**
|
|
825
|
+
* Span renders a `span` (inline text) component, exposing all the typography props.
|
|
826
|
+
* ## Usage
|
|
827
|
+
* Use this component when you want to apply styles to a piece of inline text.
|
|
828
|
+
*/
|
|
829
|
+
declare const OakSpan: styled_components.StyledComponent<"span", styled_components.DefaultTheme, ColorStyleProps & OpacityStyleProps & MarginStyleProps & PaddingStyleProps & BorderStyleProps & TypographyStyleProps, never>;
|
|
830
|
+
|
|
831
|
+
/**
|
|
832
|
+
*
|
|
833
|
+
* Inherit everything from OakBox, but change the element to a form.
|
|
834
|
+
*
|
|
835
|
+
* @deprecated Use `<OakBox as="form">` instead
|
|
836
|
+
*/
|
|
837
|
+
declare const OakForm: styled_components.StyledComponent<"form", styled_components.DefaultTheme, {
|
|
838
|
+
children?: React$1.ReactNode;
|
|
839
|
+
} & PositionStyleProps & SizeStyleProps & PaddingStyleProps & MarginStyleProps & ColorStyleProps & BorderStyleProps & DisplayStyleProps & DropShadowStyleProps & OpacityStyleProps & TransformStyleProps & TransitionStyleProps & TypographyStyleProps & ZIndexStyleProps & {
|
|
840
|
+
onClick?: React$1.MouseEventHandler | undefined;
|
|
841
|
+
}, never>;
|
|
842
|
+
type OakFormProps = OakBoxProps;
|
|
843
|
+
|
|
844
|
+
type ColorFilterToken = ResponsiveValues<OakCombinedColorToken | null>;
|
|
845
|
+
type ColorFilterStyleProps = {
|
|
846
|
+
/**
|
|
847
|
+
* Applies a color-filter to the element.
|
|
848
|
+
*
|
|
849
|
+
* Accepts a color filter token or a responsive array of color tokens.
|
|
850
|
+
*/
|
|
851
|
+
$colorFilter?: ColorFilterToken;
|
|
852
|
+
};
|
|
853
|
+
|
|
854
|
+
type HTMLProps = {
|
|
855
|
+
onClick?: MouseEventHandler;
|
|
856
|
+
};
|
|
857
|
+
type OakImageProps<C extends ElementType = typeof Image__default> = Omit<ImageProps$1, "placeholder"> & OakBoxProps & ColorFilterStyleProps & HTMLProps & {
|
|
858
|
+
as?: C;
|
|
859
|
+
/**
|
|
860
|
+
* The placeholder to use while the image is loading
|
|
861
|
+
*
|
|
862
|
+
* Defaults to `oak` which is a placeholder containing the Oak logo
|
|
863
|
+
* also accepts the same options as next/image */
|
|
864
|
+
placeholder?: ImageProps$1["placeholder"] | "oak";
|
|
865
|
+
/**
|
|
866
|
+
* Additional props forwarded to the underlying `Image` component `as`
|
|
867
|
+
*/
|
|
868
|
+
imageProps?: Partial<ComponentPropsWithoutRef<C>>;
|
|
869
|
+
};
|
|
870
|
+
/**
|
|
871
|
+
* A wrapper for NextJs's Image component.
|
|
872
|
+
*
|
|
873
|
+
* Use this for all image types as well as icons.
|
|
874
|
+
* Can accept remote urls provided they are whitelisted in next.config.js and relative urls for local images provided they begin with a "/".
|
|
875
|
+
* Set the width and height of the image through the `$width` and `$height` props when the aspect ratio is not known. This will letterbox the image to avoid stretching.
|
|
876
|
+
* Alternatively pass `width` and `height` props when the aspect ratio is known and use $minWidth to set the rendered width, avoiding letter-boxing.
|
|
877
|
+
* NB. for letterboxed images, $background controls the color of the letterbox not the image.
|
|
878
|
+
* `positionStyle` and `spacingStyle` props are also exposed for container.
|
|
879
|
+
* sizes is exposed for further optimisation read Next docs for more info.
|
|
880
|
+
*
|
|
881
|
+
*/
|
|
882
|
+
declare const OakImage: <C extends React__default.ElementType = React__default.ForwardRefExoticComponent<Omit<React__default.DetailedHTMLProps<React__default.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, "ref" | "width" | "height" | "alt" | "src" | "loading" | "srcSet"> & {
|
|
883
|
+
src: string | next_dist_shared_lib_get_img_props.StaticImport;
|
|
884
|
+
alt: string;
|
|
885
|
+
width?: number | `${number}` | undefined;
|
|
886
|
+
height?: number | `${number}` | undefined;
|
|
887
|
+
fill?: boolean | undefined;
|
|
888
|
+
loader?: Image.ImageLoader | undefined;
|
|
889
|
+
quality?: number | `${number}` | undefined;
|
|
890
|
+
priority?: boolean | undefined;
|
|
891
|
+
loading?: "eager" | "lazy" | undefined;
|
|
892
|
+
placeholder?: next_dist_shared_lib_get_img_props.PlaceholderValue | undefined;
|
|
893
|
+
blurDataURL?: string | undefined;
|
|
894
|
+
unoptimized?: boolean | undefined;
|
|
895
|
+
onLoadingComplete?: next_dist_shared_lib_get_img_props.OnLoadingComplete | undefined;
|
|
896
|
+
layout?: string | undefined;
|
|
897
|
+
objectFit?: string | undefined;
|
|
898
|
+
objectPosition?: string | undefined;
|
|
899
|
+
lazyBoundary?: string | undefined;
|
|
900
|
+
lazyRoot?: string | undefined;
|
|
901
|
+
} & React__default.RefAttributes<HTMLImageElement | null>>>({ ...props }: OakImageProps<C>) => React__default.JSX.Element;
|
|
902
|
+
|
|
903
|
+
type OakTypographyProps = OakBoxProps & TypographyStyleProps;
|
|
904
|
+
/**
|
|
905
|
+
* The Typography component sets a typography style context from which children
|
|
906
|
+
* inherit style properties through the cascade.
|
|
907
|
+
* ## Usage
|
|
908
|
+
* This should be the primary component to set a typography context.
|
|
909
|
+
* Use this component whenever you want to style blocks of 'body' text.
|
|
910
|
+
*/
|
|
911
|
+
declare const OakTypography: styled_components.StyledComponent<"div", styled_components.DefaultTheme, {
|
|
912
|
+
children?: React$1.ReactNode;
|
|
913
|
+
} & PositionStyleProps & SizeStyleProps & PaddingStyleProps & MarginStyleProps & ColorStyleProps & BorderStyleProps & DisplayStyleProps & DropShadowStyleProps & OpacityStyleProps & TransformStyleProps & TransitionStyleProps & TypographyStyleProps & ZIndexStyleProps & {
|
|
914
|
+
onClick?: React$1.MouseEventHandler | undefined;
|
|
915
|
+
}, never>;
|
|
916
|
+
|
|
917
|
+
declare const oakHeadingTags: readonly ["div", "h1", "h2", "h3", "h4", "h5", "h6"];
|
|
918
|
+
type OakHeadingTag = (typeof oakHeadingTags)[number];
|
|
919
|
+
type OakHeadingTagProps = {
|
|
920
|
+
children?: React__default.ReactNode;
|
|
921
|
+
id?: string;
|
|
922
|
+
/**
|
|
923
|
+
* HTML tag to be used for the heading
|
|
924
|
+
*
|
|
925
|
+
* Accepts a heading tag token
|
|
926
|
+
*/
|
|
927
|
+
tag: OakHeadingTag;
|
|
928
|
+
ariaLabel?: string;
|
|
929
|
+
ariaHidden?: boolean;
|
|
930
|
+
};
|
|
931
|
+
declare const HeadingTagComponent: FC<OakHeadingTagProps>;
|
|
932
|
+
type OakHeadingProps = TypographyStyleProps & OakHeadingTagProps & ColorStyleProps & OpacityStyleProps & MarginStyleProps;
|
|
933
|
+
/**
|
|
934
|
+
*
|
|
935
|
+
* OakHeading can be one of the following style tags dependant on its role: "div" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6".
|
|
936
|
+
* Use the controls to view different font styles.
|
|
937
|
+
*
|
|
938
|
+
*/
|
|
939
|
+
declare const OakHeading: styled_components.StyledComponent<React__default.FC<OakHeadingTagProps>, styled_components.DefaultTheme, TypographyStyleProps & OakHeadingTagProps & ColorStyleProps & OpacityStyleProps & MarginStyleProps, never>;
|
|
940
|
+
|
|
941
|
+
type OakPProps = MarginStyleProps & TypographyStyleProps & ColorStyleProps;
|
|
942
|
+
/**
|
|
943
|
+
* Styled `p` (paragraph) component.
|
|
944
|
+
* ## Usage
|
|
945
|
+
* In general, using a `p` as a descendant of `<Body>` should suffice.
|
|
946
|
+
* However, if you want different styles for a particular paragraph,
|
|
947
|
+
* you can use this component to apply additional styles.
|
|
948
|
+
*/
|
|
949
|
+
declare const OakP: styled_components.StyledComponent<"p", styled_components.DefaultTheme, MarginStyleProps & TypographyStyleProps & ColorStyleProps, never>;
|
|
950
|
+
|
|
951
|
+
type OakULProps = OakBoxProps & {
|
|
952
|
+
$reset?: boolean;
|
|
953
|
+
};
|
|
954
|
+
/**
|
|
955
|
+
* Styled `ul` (unordered list) component.
|
|
956
|
+
*
|
|
957
|
+
* ## Usage
|
|
958
|
+
*
|
|
959
|
+
* Resets browser spacing and other styles, accepts BoxProps' style props.
|
|
960
|
+
*
|
|
961
|
+
* */
|
|
962
|
+
declare const OakUL: styled_components.StyledComponent<"ul", styled_components.DefaultTheme, {
|
|
963
|
+
children?: React$1.ReactNode;
|
|
964
|
+
} & PositionStyleProps & SizeStyleProps & PaddingStyleProps & MarginStyleProps & ColorStyleProps & BorderStyleProps & DisplayStyleProps & DropShadowStyleProps & OpacityStyleProps & TransformStyleProps & TransitionStyleProps & TypographyStyleProps & ZIndexStyleProps & {
|
|
965
|
+
onClick?: React$1.MouseEventHandler | undefined;
|
|
966
|
+
} & {
|
|
967
|
+
$reset?: boolean | undefined;
|
|
968
|
+
}, never>;
|
|
969
|
+
|
|
970
|
+
type OakOLProps = MarginStyleProps & ColorStyleProps & TypographyStyleProps;
|
|
971
|
+
/**
|
|
972
|
+
* Styled `ol` (ordered list) component.
|
|
973
|
+
*
|
|
974
|
+
* ## Usage
|
|
975
|
+
*
|
|
976
|
+
* Use where we have an ordered list to ensure numbers are styled
|
|
977
|
+
*
|
|
978
|
+
* */
|
|
979
|
+
declare const OakOL: styled_components.StyledComponent<"ol", styled_components.DefaultTheme, MarginStyleProps & ColorStyleProps & TypographyStyleProps, never>;
|
|
980
|
+
|
|
981
|
+
type ListStyleProps = {
|
|
982
|
+
/**
|
|
983
|
+
* Sets the `list-style` CSS property of the element.
|
|
984
|
+
*
|
|
985
|
+
* Accepts a `list-style` value or a responsive array of `list-style` values.
|
|
986
|
+
*/
|
|
987
|
+
$listStyle?: ResponsiveValues<CSSProperties$1["listStyle"]>;
|
|
988
|
+
};
|
|
989
|
+
|
|
990
|
+
type OakLIProps = OakFlexProps & TypographyStyleProps & ListStyleProps & DisplayStyleProps;
|
|
991
|
+
/**
|
|
992
|
+
* Styled `li` (list item) component.
|
|
993
|
+
*
|
|
994
|
+
* ## Usage
|
|
995
|
+
*
|
|
996
|
+
* Places where we directly want to style a list item
|
|
997
|
+
*
|
|
998
|
+
**/
|
|
999
|
+
declare const OakLI: styled_components.StyledComponent<"li", styled_components.DefaultTheme, DisplayStyleProps & {
|
|
1000
|
+
$flexDirection?: ResponsiveValues<csstype.Property.FlexDirection | undefined>;
|
|
1001
|
+
$flexWrap?: ResponsiveValues<csstype.Property.FlexWrap | undefined>;
|
|
1002
|
+
$alignItems?: ResponsiveValues<csstype.Property.AlignItems | undefined>;
|
|
1003
|
+
$alignContent?: ResponsiveValues<csstype.Property.AlignContent | undefined>;
|
|
1004
|
+
$justifyContent?: ResponsiveValues<csstype.Property.JustifyContent | undefined>;
|
|
1005
|
+
$alignSelf?: ResponsiveValues<csstype.Property.AlignSelf | undefined>;
|
|
1006
|
+
$flexGrow?: ResponsiveValues<csstype.Property.FlexGrow | undefined>;
|
|
1007
|
+
$flexShrink?: ResponsiveValues<csstype.Property.FlexShrink | undefined>;
|
|
1008
|
+
$order?: ResponsiveValues<csstype.Property.Order | undefined>;
|
|
1009
|
+
$flexBasis?: ResponsiveValues<"all-spacing-0" | "all-spacing-1" | "all-spacing-2" | "all-spacing-3" | "all-spacing-4" | "all-spacing-5" | "all-spacing-6" | "all-spacing-7" | "all-spacing-9" | "all-spacing-10" | "all-spacing-12" | "all-spacing-13" | "all-spacing-8" | "all-spacing-11" | "all-spacing-14" | "all-spacing-15" | "all-spacing-16" | "all-spacing-17" | "all-spacing-18" | "all-spacing-19" | "all-spacing-20" | "all-spacing-21" | "all-spacing-22" | "all-spacing-23" | "all-spacing-24" | "space-between-none" | "space-between-sssx" | "space-between-ssx" | "space-between-xs" | "space-between-s" | "space-between-m" | "space-between-m2" | "space-between-l" | "space-between-xl" | "space-between-xxl" | "space-between-xxxl" | null | undefined>;
|
|
1010
|
+
$gap?: ResponsiveValues<"all-spacing-0" | "all-spacing-1" | "all-spacing-2" | "all-spacing-3" | "all-spacing-4" | "all-spacing-5" | "all-spacing-6" | "all-spacing-7" | "all-spacing-9" | "all-spacing-10" | "all-spacing-12" | "all-spacing-13" | "all-spacing-8" | "all-spacing-11" | "all-spacing-14" | "all-spacing-15" | "all-spacing-16" | "all-spacing-17" | "all-spacing-18" | "all-spacing-19" | "all-spacing-20" | "all-spacing-21" | "all-spacing-22" | "all-spacing-23" | "all-spacing-24" | "space-between-none" | "space-between-sssx" | "space-between-ssx" | "space-between-xs" | "space-between-s" | "space-between-m" | "space-between-m2" | "space-between-l" | "space-between-xl" | "space-between-xxl" | "space-between-xxxl" | null | undefined>;
|
|
1011
|
+
$columnGap?: ResponsiveValues<"all-spacing-0" | "all-spacing-1" | "all-spacing-2" | "all-spacing-3" | "all-spacing-4" | "all-spacing-5" | "all-spacing-6" | "all-spacing-7" | "all-spacing-9" | "all-spacing-10" | "all-spacing-12" | "all-spacing-13" | "all-spacing-8" | "all-spacing-11" | "all-spacing-14" | "all-spacing-15" | "all-spacing-16" | "all-spacing-17" | "all-spacing-18" | "all-spacing-19" | "all-spacing-20" | "all-spacing-21" | "all-spacing-22" | "all-spacing-23" | "all-spacing-24" | "space-between-none" | "space-between-sssx" | "space-between-ssx" | "space-between-xs" | "space-between-s" | "space-between-m" | "space-between-m2" | "space-between-l" | "space-between-xl" | "space-between-xxl" | "space-between-xxxl" | null | undefined>;
|
|
1012
|
+
$rowGap?: ResponsiveValues<"all-spacing-0" | "all-spacing-1" | "all-spacing-2" | "all-spacing-3" | "all-spacing-4" | "all-spacing-5" | "all-spacing-6" | "all-spacing-7" | "all-spacing-9" | "all-spacing-10" | "all-spacing-12" | "all-spacing-13" | "all-spacing-8" | "all-spacing-11" | "all-spacing-14" | "all-spacing-15" | "all-spacing-16" | "all-spacing-17" | "all-spacing-18" | "all-spacing-19" | "all-spacing-20" | "all-spacing-21" | "all-spacing-22" | "all-spacing-23" | "all-spacing-24" | "space-between-none" | "space-between-sssx" | "space-between-ssx" | "space-between-xs" | "space-between-s" | "space-between-m" | "space-between-m2" | "space-between-l" | "space-between-xl" | "space-between-xxl" | "space-between-xxxl" | null | undefined>;
|
|
1013
|
+
} & {
|
|
1014
|
+
children?: React$1.ReactNode;
|
|
1015
|
+
} & PositionStyleProps & SizeStyleProps & PaddingStyleProps & MarginStyleProps & ColorStyleProps & BorderStyleProps & DropShadowStyleProps & OpacityStyleProps & TransformStyleProps & TransitionStyleProps & TypographyStyleProps & ZIndexStyleProps & {
|
|
1016
|
+
onClick?: React$1.MouseEventHandler | undefined;
|
|
1017
|
+
} & ListStyleProps, never>;
|
|
1018
|
+
|
|
1019
|
+
type OakLabelProps = TypographyStyleProps & ColorStyleProps;
|
|
1020
|
+
/**
|
|
1021
|
+
* Label renders a `label` element, exposing all the typography props.
|
|
1022
|
+
* ## Usage
|
|
1023
|
+
* Use this component when you want to apply styles to a label, likely within
|
|
1024
|
+
* a form.
|
|
1025
|
+
*/
|
|
1026
|
+
declare const OakLabel: styled_components.StyledComponent<"label", styled_components.DefaultTheme, TypographyStyleProps & ColorStyleProps, never>;
|
|
1027
|
+
|
|
1028
|
+
declare const icons: {
|
|
1029
|
+
readonly "question-mark": "v1706872277/icons/question-mark.svg";
|
|
1030
|
+
readonly home: "v1699887218/icons/gvqxjxcw07ei2kkmwnes.svg";
|
|
1031
|
+
readonly send: "v1699893673/icons/rmvytilpjgvh3pgwc8ph.svg";
|
|
1032
|
+
readonly rocket: "v1699894015/icons/u26xm5hteot875ozfnk9.svg";
|
|
1033
|
+
readonly edit: "v1699894149/icons/qxlunbg5tfrdherzsvlt.svg";
|
|
1034
|
+
readonly hamburger: "v1699895123/icons/jaqdnomtbhqvjcap962u.svg";
|
|
1035
|
+
readonly cross: "v1699895179/icons/xigimrbivcaxt4omxamp.svg";
|
|
1036
|
+
readonly bell: "v1699895207/icons/ecejtvqerx81prxyxh9b.svg";
|
|
1037
|
+
readonly twitter: "v1699895251/icons/bq6a50xtkvnzhltfggzz.svg";
|
|
1038
|
+
readonly worksheet: "v1699895300/icons/ez1s6mtpe5jkunnxzvlw.svg";
|
|
1039
|
+
readonly facebook: "v1699895330/icons/iojlvh3o5lshy2jupyph.svg";
|
|
1040
|
+
readonly share: "v1699895363/icons/agcmduftef3wcla6gzec.svg";
|
|
1041
|
+
readonly "arrow-right": "v1707149070/icons/fv0z57zerrioft52dd9n.svg";
|
|
1042
|
+
readonly "worksheet-3": "v1699895429/icons/bzhojpjxp9rukdvh7daz.svg";
|
|
1043
|
+
readonly "chevron-right": "v1707752509/icons/vk9xxxhnsltsickom6q9.svg";
|
|
1044
|
+
readonly save: "v1699895505/icons/rh1ahwwtbemvz0ihluew.svg";
|
|
1045
|
+
readonly "quiz-3": "v1699895534/icons/zoayhgtrotv32fad7d3k.svg";
|
|
1046
|
+
readonly "chevron-down": "v1699953557/icons/botfld6brychmttwtv6u.svg";
|
|
1047
|
+
readonly linkedin: "v1699953592/icons/leqneklorqqzb1zo6rf1.svg";
|
|
1048
|
+
readonly "magic-carpet": "v1699953622/icons/jifivg9xxm7sb0fjdilm.svg";
|
|
1049
|
+
readonly books: "v1699953657/icons/hz4l3iq6i68kazvkvorq.svg";
|
|
1050
|
+
readonly "supervision-level": "v1699953696/icons/cwqhknapp3maa4g0t3lj.svg";
|
|
1051
|
+
readonly "quiz-white": "v1699953730/icons/gpcehpgr9mqoumsa25xe.svg";
|
|
1052
|
+
readonly "arrow-left": "v1707149179/icons/ejrm9dpgpzb7ddbo8z2i.svg";
|
|
1053
|
+
readonly "additional-material": "v1699953798/icons/ntoq4tqvcm2uj1pajubt.svg";
|
|
1054
|
+
readonly "slide-deck-3": "v1699953830/icons/sm92moja9d5utu3cj16c.svg";
|
|
1055
|
+
readonly "sign-language": "v1699953861/icons/ns94ozvozzi22enxkx0x.svg";
|
|
1056
|
+
readonly external: "v1699953892/icons/hlxmejse3mcr4tqo6t8u.svg";
|
|
1057
|
+
readonly "equipment-required": "v1699953925/icons/pw22bdhj2vrzfv2ogi4e.svg";
|
|
1058
|
+
readonly "chevron-left": "v1707752509/icons/rbvzan0ozubmr4j0uqdn.svg";
|
|
1059
|
+
readonly download: "v1699953991/icons/dk0f6a6hdpzxftjosngn.svg";
|
|
1060
|
+
readonly search: "v1704901279/icons/canbi3fuz5fanzom2hvi.svg";
|
|
1061
|
+
readonly "chevron-up": "v1699954058/icons/pay71thmhhylj7z28sj1.svg";
|
|
1062
|
+
readonly go: "v1699954090/icons/vdzptyvmitylra8x4usy.svg";
|
|
1063
|
+
readonly copyright: "v1699954118/icons/boiod3rflocgsnfokyo8.svg";
|
|
1064
|
+
readonly "arrow-down": "v1699954152/icons/wpfmbmwpyfinipg0d61y.svg";
|
|
1065
|
+
readonly project: "v1699954186/icons/zofq5pheud6spnwjpewk.svg";
|
|
1066
|
+
readonly "slide-deck": "v1699954241/icons/sjjy5f3g4eciwcuxxr33.svg";
|
|
1067
|
+
readonly "content-guidance": "v1699954277/icons/tm3uhcqenaznq4fxys7j.svg";
|
|
1068
|
+
readonly tick: "v1699954310/icons/efd3esaor6zqk7seh6kt.svg";
|
|
1069
|
+
readonly instagram: "v1699954343/icons/ayfeljric0kkimdymvva.svg";
|
|
1070
|
+
readonly dot: "v1699954371/icons/knykdclphkm8lgff4u2g.svg";
|
|
1071
|
+
readonly "dot-png": "v1699954394/icons/qecbh291nzwmhcvqayqd.png";
|
|
1072
|
+
readonly warning: "v1704901279/icons/zzszodmk7fvxm9xzzg9s.svg";
|
|
1073
|
+
readonly "lightbulb-yellow": "v1705078631/icons/q2v4sqxouy1ngcajoavv.svg";
|
|
1074
|
+
readonly lightbulb: "v1705078631/icons/zldisxmbff36z68rwcef.svg";
|
|
1075
|
+
readonly quiz: "v1705416077/icons/kaaizjcudy0jfgfrrdel.svg";
|
|
1076
|
+
readonly video: "v1705416078/icons/wzey1zfxrvv3apeebbf5.svg";
|
|
1077
|
+
readonly intro: "v1705662092/icons/pl7bnmb13txese9yxkjv.svg";
|
|
1078
|
+
readonly "move-arrows": "v1709052869/icons/hoddjsgpzkszgvnmn91q.svg";
|
|
1079
|
+
readonly "subject-art": "subject-icons/art.svg";
|
|
1080
|
+
readonly "subject-biology": "subject-icons/biology.svg";
|
|
1081
|
+
readonly "subject-chemistry": "subject-icons/chemistry.svg";
|
|
1082
|
+
readonly "subject-citizenship": "subject-icons/citizenship.svg";
|
|
1083
|
+
readonly "subject-combined-science": "subject-icons/science.svg";
|
|
1084
|
+
readonly "subject-communication-and-language": "subject-icons/communication-and-language.svg";
|
|
1085
|
+
readonly "subject-computing": "subject-icons/computing.svg";
|
|
1086
|
+
readonly "subject-computing-non-gcse": "subject-icons/computing.svg";
|
|
1087
|
+
readonly "subject-creative-arts": "subject-icons/creative-arts.svg";
|
|
1088
|
+
readonly "subject-design-technology": "subject-icons/design-technology.svg";
|
|
1089
|
+
readonly "subject-drama": "subject-icons/drama.svg";
|
|
1090
|
+
readonly "subject-english": "subject-icons/english.svg";
|
|
1091
|
+
readonly "subject-english-grammar": "subject-icons/english-grammar.svg";
|
|
1092
|
+
readonly "subject-english-reading-for-pleasure": "subject-icons/literature.svg";
|
|
1093
|
+
readonly "subject-english-spelling": "subject-icons/english-spelling.svg";
|
|
1094
|
+
readonly "subject-french": "subject-icons/french.svg";
|
|
1095
|
+
readonly "subject-geography": "subject-icons/geography.svg";
|
|
1096
|
+
readonly "subject-german": "subject-icons/german.svg";
|
|
1097
|
+
readonly "subject-history": "subject-icons/history.svg";
|
|
1098
|
+
readonly "subject-independent-living": "subject-icons/independent-living.svg";
|
|
1099
|
+
readonly "subject-latin": "subject-icons/latin.svg";
|
|
1100
|
+
readonly "subject-maths": "subject-icons/maths.svg";
|
|
1101
|
+
readonly "subject-music": "subject-icons/music-hollow.svg";
|
|
1102
|
+
readonly "subject-numeracy": "subject-icons/numeracy.svg";
|
|
1103
|
+
readonly "occupational-therapy": "subject-icons/therapy.svg";
|
|
1104
|
+
readonly "subject-physical-development": "subject-icons/physical-development.svg";
|
|
1105
|
+
readonly "subject-physical-education": "subject-icons/physical-education.svg";
|
|
1106
|
+
readonly "subject-physical-therapy": "subject-icons/physical-therapy.svg";
|
|
1107
|
+
readonly "subject-physics": "subject-icons/physics.svg";
|
|
1108
|
+
readonly "subject-religious-education": "subject-icons/religious-education.svg";
|
|
1109
|
+
readonly "subject-rshe-pshe": "subject-icons/rshe-pshe.svg";
|
|
1110
|
+
readonly "subject-science": "subject-icons/science.svg";
|
|
1111
|
+
readonly "subject-sensory-integration": "subject-icons/sensory-integration.svg";
|
|
1112
|
+
readonly "subject-spanish": "subject-icons/spanish.svg";
|
|
1113
|
+
readonly "subject-speech-and-language-therapy": "subject-icons/speech-and-language.svg";
|
|
1114
|
+
readonly "subject-therapy": "subject-icons/therapy.svg";
|
|
1115
|
+
readonly "subject-understanding-the-world": "subject-icons/understanding-the-world.svg";
|
|
1116
|
+
};
|
|
1117
|
+
type IconName = keyof typeof icons;
|
|
1118
|
+
|
|
1119
|
+
declare const oakIconNames: ("search" | "video" | "download" | "question-mark" | "home" | "send" | "rocket" | "edit" | "hamburger" | "cross" | "bell" | "twitter" | "worksheet" | "facebook" | "share" | "arrow-right" | "worksheet-3" | "chevron-right" | "save" | "quiz-3" | "chevron-down" | "linkedin" | "magic-carpet" | "books" | "supervision-level" | "quiz-white" | "arrow-left" | "additional-material" | "slide-deck-3" | "sign-language" | "external" | "equipment-required" | "chevron-left" | "chevron-up" | "go" | "copyright" | "arrow-down" | "project" | "slide-deck" | "content-guidance" | "tick" | "instagram" | "dot" | "dot-png" | "warning" | "lightbulb-yellow" | "lightbulb" | "quiz" | "intro" | "move-arrows" | "subject-art" | "subject-biology" | "subject-chemistry" | "subject-citizenship" | "subject-combined-science" | "subject-communication-and-language" | "subject-computing" | "subject-computing-non-gcse" | "subject-creative-arts" | "subject-design-technology" | "subject-drama" | "subject-english" | "subject-english-grammar" | "subject-english-reading-for-pleasure" | "subject-english-spelling" | "subject-french" | "subject-geography" | "subject-german" | "subject-history" | "subject-independent-living" | "subject-latin" | "subject-maths" | "subject-music" | "subject-numeracy" | "occupational-therapy" | "subject-physical-development" | "subject-physical-education" | "subject-physical-therapy" | "subject-physics" | "subject-religious-education" | "subject-rshe-pshe" | "subject-science" | "subject-sensory-integration" | "subject-spanish" | "subject-speech-and-language-therapy" | "subject-therapy" | "subject-understanding-the-world")[];
|
|
1120
|
+
type OakIconName = IconName;
|
|
1121
|
+
type OakIconProps = Omit<OakImageProps, "alt" | "src"> & {
|
|
1122
|
+
/**
|
|
1123
|
+
* The name of the icon to display
|
|
1124
|
+
*
|
|
1125
|
+
* Accepts an icon name token
|
|
1126
|
+
*/
|
|
1127
|
+
iconName: OakIconName;
|
|
1128
|
+
alt?: string;
|
|
1129
|
+
};
|
|
1130
|
+
/**
|
|
1131
|
+
* returns true if the given string is a valid `OakIconName`
|
|
1132
|
+
*/
|
|
1133
|
+
declare function isValidIconName(iconName: string): iconName is OakIconName;
|
|
1134
|
+
/**
|
|
1135
|
+
* A wrapper around OakImage which uses the image-map.json file to map icon names to image paths.
|
|
1136
|
+
*/
|
|
1137
|
+
declare const OakIcon: (props: OakIconProps) => React__default.JSX.Element;
|
|
1138
|
+
|
|
1139
|
+
declare const oakDefaultTheme: OakTheme;
|
|
1140
|
+
|
|
1141
|
+
type OakGridProps = OakBoxProps & {
|
|
1142
|
+
/**
|
|
1143
|
+
* Applies `row-gap` to the grid
|
|
1144
|
+
*
|
|
1145
|
+
* Accepts a spacing token or a responsive array of spacing tokens.
|
|
1146
|
+
*/
|
|
1147
|
+
$rg?: ResponsiveValues<OakCombinedSpacingToken>;
|
|
1148
|
+
/**
|
|
1149
|
+
* Applies `column-gap` to the grid
|
|
1150
|
+
*
|
|
1151
|
+
* Accepts a spacing token or a responsive array of spacing tokens.
|
|
1152
|
+
*/
|
|
1153
|
+
$cg?: ResponsiveValues<OakCombinedSpacingToken>;
|
|
1154
|
+
/**
|
|
1155
|
+
* Applies `grid-auto-rows` to the grid
|
|
1156
|
+
*
|
|
1157
|
+
* Accepts a `grid-auto-rows` value or a responsive array of `grid-auto-rows` values.
|
|
1158
|
+
*/
|
|
1159
|
+
$gridAutoRows?: ResponsiveValues<CSSProperties$1["gridAutoRows"]>;
|
|
1160
|
+
/**
|
|
1161
|
+
* Applies `grid-template-areas` to the grid
|
|
1162
|
+
*
|
|
1163
|
+
* Accepts a `grid-template-areas` value or a responsive array of `grid-template-areas` values.
|
|
1164
|
+
*/
|
|
1165
|
+
$gridTemplateAreas?: ResponsiveValues<CSSProperties$1["gridTemplateAreas"]>;
|
|
1166
|
+
/**
|
|
1167
|
+
* Applies `grid-template-columns` to the grid
|
|
1168
|
+
*
|
|
1169
|
+
* Accepts a `grid-template-columns` value or a responsive array of `grid-template-columns` values.
|
|
1170
|
+
*/
|
|
1171
|
+
$gridTemplateColumns?: ResponsiveValues<CSSProperties$1["gridTemplateColumns"]>;
|
|
1172
|
+
/**
|
|
1173
|
+
* Applies `grid-template-rows` to the grid
|
|
1174
|
+
*
|
|
1175
|
+
* Accepts a `grid-template-rows` value or a responsive array of `grid-template-rows` values.
|
|
1176
|
+
*/
|
|
1177
|
+
$gridTemplateRows?: ResponsiveValues<CSSProperties$1["gridTemplateRows"]>;
|
|
1178
|
+
};
|
|
1179
|
+
/**
|
|
1180
|
+
* Creates a grid layout
|
|
1181
|
+
*
|
|
1182
|
+
* Defaults to a 12 column grid
|
|
1183
|
+
*/
|
|
1184
|
+
declare const OakGrid: styled_components.StyledComponent<"div", styled_components.DefaultTheme, {
|
|
1185
|
+
children?: React$1.ReactNode;
|
|
1186
|
+
} & PositionStyleProps & SizeStyleProps & PaddingStyleProps & MarginStyleProps & ColorStyleProps & BorderStyleProps & DisplayStyleProps & DropShadowStyleProps & OpacityStyleProps & TransformStyleProps & TransitionStyleProps & TypographyStyleProps & ZIndexStyleProps & {
|
|
1187
|
+
onClick?: React$1.MouseEventHandler | undefined;
|
|
1188
|
+
} & {
|
|
1189
|
+
/**
|
|
1190
|
+
* Applies `row-gap` to the grid
|
|
1191
|
+
*
|
|
1192
|
+
* Accepts a spacing token or a responsive array of spacing tokens.
|
|
1193
|
+
*/
|
|
1194
|
+
$rg?: ResponsiveValues<OakCombinedSpacingToken> | undefined;
|
|
1195
|
+
/**
|
|
1196
|
+
* Applies `column-gap` to the grid
|
|
1197
|
+
*
|
|
1198
|
+
* Accepts a spacing token or a responsive array of spacing tokens.
|
|
1199
|
+
*/
|
|
1200
|
+
$cg?: ResponsiveValues<OakCombinedSpacingToken> | undefined;
|
|
1201
|
+
/**
|
|
1202
|
+
* Applies `grid-auto-rows` to the grid
|
|
1203
|
+
*
|
|
1204
|
+
* Accepts a `grid-auto-rows` value or a responsive array of `grid-auto-rows` values.
|
|
1205
|
+
*/
|
|
1206
|
+
$gridAutoRows?: ResponsiveValues<CSSProperties$1["gridAutoRows"]>;
|
|
1207
|
+
/**
|
|
1208
|
+
* Applies `grid-template-areas` to the grid
|
|
1209
|
+
*
|
|
1210
|
+
* Accepts a `grid-template-areas` value or a responsive array of `grid-template-areas` values.
|
|
1211
|
+
*/
|
|
1212
|
+
$gridTemplateAreas?: ResponsiveValues<CSSProperties$1["gridTemplateAreas"]>;
|
|
1213
|
+
/**
|
|
1214
|
+
* Applies `grid-template-columns` to the grid
|
|
1215
|
+
*
|
|
1216
|
+
* Accepts a `grid-template-columns` value or a responsive array of `grid-template-columns` values.
|
|
1217
|
+
*/
|
|
1218
|
+
$gridTemplateColumns?: ResponsiveValues<CSSProperties$1["gridTemplateColumns"]>;
|
|
1219
|
+
/**
|
|
1220
|
+
* Applies `grid-template-rows` to the grid
|
|
1221
|
+
*
|
|
1222
|
+
* Accepts a `grid-template-rows` value or a responsive array of `grid-template-rows` values.
|
|
1223
|
+
*/
|
|
1224
|
+
$gridTemplateRows?: ResponsiveValues<CSSProperties$1["gridTemplateRows"]>;
|
|
1225
|
+
}, never>;
|
|
1226
|
+
|
|
1227
|
+
type ColRowSpan = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
|
|
1228
|
+
type OakGridAreaProps = {
|
|
1229
|
+
/**
|
|
1230
|
+
* Determines the number of columns the element should span.
|
|
1231
|
+
*
|
|
1232
|
+
* Accepts a value from 0-12 or a responsive value of 0-12.
|
|
1233
|
+
*/
|
|
1234
|
+
$colSpan: ResponsiveValues<ColRowSpan>;
|
|
1235
|
+
/**
|
|
1236
|
+
* Determines the number of rows the element should span.
|
|
1237
|
+
*
|
|
1238
|
+
* Accepts a value from 0-12 or a responsive value of 0-12.
|
|
1239
|
+
*/
|
|
1240
|
+
$rowSpan?: ResponsiveValues<ColRowSpan>;
|
|
1241
|
+
/**
|
|
1242
|
+
* Sets the order of the element.
|
|
1243
|
+
*
|
|
1244
|
+
* Accepts a number or a responsive array of numbers.
|
|
1245
|
+
*/
|
|
1246
|
+
$order?: ResponsiveValues<CSSProperties$1["order"]>;
|
|
1247
|
+
/**
|
|
1248
|
+
* The start column of the element.
|
|
1249
|
+
*
|
|
1250
|
+
* Accepts a value from 0-12 or a responsive value of 0-12.
|
|
1251
|
+
*/
|
|
1252
|
+
$colStart?: ResponsiveValues<ColRowSpan>;
|
|
1253
|
+
/**
|
|
1254
|
+
* The end column of the element.
|
|
1255
|
+
*
|
|
1256
|
+
* Accepts a value from 0-12 or a responsive value of 0-12.
|
|
1257
|
+
*/
|
|
1258
|
+
$colEnd?: ResponsiveValues<ColRowSpan>;
|
|
1259
|
+
/**
|
|
1260
|
+
* The start row of the element.
|
|
1261
|
+
*
|
|
1262
|
+
* Accepts a value from 0-12 or a responsive value of 0-12.
|
|
1263
|
+
*/
|
|
1264
|
+
$rowStart?: ResponsiveValues<ColRowSpan>;
|
|
1265
|
+
} & SpacingStyleProps;
|
|
1266
|
+
/**
|
|
1267
|
+
*
|
|
1268
|
+
* OakGridArea is a flex container that should be used inside OakGrid.
|
|
1269
|
+
*
|
|
1270
|
+
* - There is no nesting of OakGridAreas
|
|
1271
|
+
* - Column and row arrangements are achieved through $colSpan, $rowSpan, $colStart, $colEnd, $rowStart, $rowEnd
|
|
1272
|
+
*
|
|
1273
|
+
*/
|
|
1274
|
+
declare const OakGridArea: styled_components.StyledComponent<"div", styled_components.DefaultTheme, {
|
|
1275
|
+
children?: React$1.ReactNode;
|
|
1276
|
+
} & PositionStyleProps & SizeStyleProps & PaddingStyleProps & MarginStyleProps & ColorStyleProps & BorderStyleProps & DisplayStyleProps & DropShadowStyleProps & OpacityStyleProps & TransformStyleProps & TransitionStyleProps & TypographyStyleProps & ZIndexStyleProps & {
|
|
1277
|
+
onClick?: React$1.MouseEventHandler | undefined;
|
|
1278
|
+
} & {
|
|
1279
|
+
$flexDirection?: ResponsiveValues<csstype.Property.FlexDirection | undefined>;
|
|
1280
|
+
$flexWrap?: ResponsiveValues<csstype.Property.FlexWrap | undefined>;
|
|
1281
|
+
$alignItems?: ResponsiveValues<csstype.Property.AlignItems | undefined>;
|
|
1282
|
+
$alignContent?: ResponsiveValues<csstype.Property.AlignContent | undefined>;
|
|
1283
|
+
$justifyContent?: ResponsiveValues<csstype.Property.JustifyContent | undefined>;
|
|
1284
|
+
$alignSelf?: ResponsiveValues<csstype.Property.AlignSelf | undefined>;
|
|
1285
|
+
$flexGrow?: ResponsiveValues<csstype.Property.FlexGrow | undefined>;
|
|
1286
|
+
$flexShrink?: ResponsiveValues<csstype.Property.FlexShrink | undefined>;
|
|
1287
|
+
$order?: ResponsiveValues<csstype.Property.Order | undefined>;
|
|
1288
|
+
$flexBasis?: ResponsiveValues<"all-spacing-0" | "all-spacing-1" | "all-spacing-2" | "all-spacing-3" | "all-spacing-4" | "all-spacing-5" | "all-spacing-6" | "all-spacing-7" | "all-spacing-9" | "all-spacing-10" | "all-spacing-12" | "all-spacing-13" | "all-spacing-8" | "all-spacing-11" | "all-spacing-14" | "all-spacing-15" | "all-spacing-16" | "all-spacing-17" | "all-spacing-18" | "all-spacing-19" | "all-spacing-20" | "all-spacing-21" | "all-spacing-22" | "all-spacing-23" | "all-spacing-24" | "space-between-none" | "space-between-sssx" | "space-between-ssx" | "space-between-xs" | "space-between-s" | "space-between-m" | "space-between-m2" | "space-between-l" | "space-between-xl" | "space-between-xxl" | "space-between-xxxl" | null | undefined>;
|
|
1289
|
+
$gap?: ResponsiveValues<"all-spacing-0" | "all-spacing-1" | "all-spacing-2" | "all-spacing-3" | "all-spacing-4" | "all-spacing-5" | "all-spacing-6" | "all-spacing-7" | "all-spacing-9" | "all-spacing-10" | "all-spacing-12" | "all-spacing-13" | "all-spacing-8" | "all-spacing-11" | "all-spacing-14" | "all-spacing-15" | "all-spacing-16" | "all-spacing-17" | "all-spacing-18" | "all-spacing-19" | "all-spacing-20" | "all-spacing-21" | "all-spacing-22" | "all-spacing-23" | "all-spacing-24" | "space-between-none" | "space-between-sssx" | "space-between-ssx" | "space-between-xs" | "space-between-s" | "space-between-m" | "space-between-m2" | "space-between-l" | "space-between-xl" | "space-between-xxl" | "space-between-xxxl" | null | undefined>;
|
|
1290
|
+
$columnGap?: ResponsiveValues<"all-spacing-0" | "all-spacing-1" | "all-spacing-2" | "all-spacing-3" | "all-spacing-4" | "all-spacing-5" | "all-spacing-6" | "all-spacing-7" | "all-spacing-9" | "all-spacing-10" | "all-spacing-12" | "all-spacing-13" | "all-spacing-8" | "all-spacing-11" | "all-spacing-14" | "all-spacing-15" | "all-spacing-16" | "all-spacing-17" | "all-spacing-18" | "all-spacing-19" | "all-spacing-20" | "all-spacing-21" | "all-spacing-22" | "all-spacing-23" | "all-spacing-24" | "space-between-none" | "space-between-sssx" | "space-between-ssx" | "space-between-xs" | "space-between-s" | "space-between-m" | "space-between-m2" | "space-between-l" | "space-between-xl" | "space-between-xxl" | "space-between-xxxl" | null | undefined>;
|
|
1291
|
+
$rowGap?: ResponsiveValues<"all-spacing-0" | "all-spacing-1" | "all-spacing-2" | "all-spacing-3" | "all-spacing-4" | "all-spacing-5" | "all-spacing-6" | "all-spacing-7" | "all-spacing-9" | "all-spacing-10" | "all-spacing-12" | "all-spacing-13" | "all-spacing-8" | "all-spacing-11" | "all-spacing-14" | "all-spacing-15" | "all-spacing-16" | "all-spacing-17" | "all-spacing-18" | "all-spacing-19" | "all-spacing-20" | "all-spacing-21" | "all-spacing-22" | "all-spacing-23" | "all-spacing-24" | "space-between-none" | "space-between-sssx" | "space-between-ssx" | "space-between-xs" | "space-between-s" | "space-between-m" | "space-between-m2" | "space-between-l" | "space-between-xl" | "space-between-xxl" | "space-between-xxxl" | null | undefined>; /**
|
|
1292
|
+
*
|
|
1293
|
+
* OakGridArea is a flex container that should be used inside OakGrid.
|
|
1294
|
+
*
|
|
1295
|
+
* - There is no nesting of OakGridAreas
|
|
1296
|
+
* - Column and row arrangements are achieved through $colSpan, $rowSpan, $colStart, $colEnd, $rowStart, $rowEnd
|
|
1297
|
+
*
|
|
1298
|
+
*/
|
|
1299
|
+
} & {
|
|
1300
|
+
/**
|
|
1301
|
+
* Determines the number of columns the element should span.
|
|
1302
|
+
*
|
|
1303
|
+
* Accepts a value from 0-12 or a responsive value of 0-12.
|
|
1304
|
+
*/
|
|
1305
|
+
$colSpan: ResponsiveValues<ColRowSpan>;
|
|
1306
|
+
/**
|
|
1307
|
+
* Determines the number of rows the element should span.
|
|
1308
|
+
*
|
|
1309
|
+
* Accepts a value from 0-12 or a responsive value of 0-12.
|
|
1310
|
+
*/
|
|
1311
|
+
$rowSpan?: ResponsiveValues<ColRowSpan> | undefined;
|
|
1312
|
+
/**
|
|
1313
|
+
* Sets the order of the element.
|
|
1314
|
+
*
|
|
1315
|
+
* Accepts a number or a responsive array of numbers.
|
|
1316
|
+
*/
|
|
1317
|
+
$order?: ResponsiveValues<CSSProperties$1["order"]>;
|
|
1318
|
+
/**
|
|
1319
|
+
* The start column of the element.
|
|
1320
|
+
*
|
|
1321
|
+
* Accepts a value from 0-12 or a responsive value of 0-12.
|
|
1322
|
+
*/
|
|
1323
|
+
$colStart?: ResponsiveValues<ColRowSpan> | undefined;
|
|
1324
|
+
/**
|
|
1325
|
+
* The end column of the element.
|
|
1326
|
+
*
|
|
1327
|
+
* Accepts a value from 0-12 or a responsive value of 0-12.
|
|
1328
|
+
*/
|
|
1329
|
+
$colEnd?: ResponsiveValues<ColRowSpan> | undefined;
|
|
1330
|
+
/**
|
|
1331
|
+
* The start row of the element.
|
|
1332
|
+
*
|
|
1333
|
+
* Accepts a value from 0-12 or a responsive value of 0-12.
|
|
1334
|
+
*/
|
|
1335
|
+
$rowStart?: ResponsiveValues<ColRowSpan> | undefined;
|
|
1336
|
+
}, never>;
|
|
1337
|
+
|
|
1338
|
+
type OakThemeProviderProps = {
|
|
1339
|
+
theme: OakTheme;
|
|
1340
|
+
children: React__default.ReactNode;
|
|
1341
|
+
};
|
|
1342
|
+
/**
|
|
1343
|
+
*
|
|
1344
|
+
* OakThemeProvider wraps Styled Components ThemeProvider allowing the use of the custom type OakTheme.
|
|
1345
|
+
*
|
|
1346
|
+
*/
|
|
1347
|
+
declare const OakThemeProvider: ({ theme, children, }: OakThemeProviderProps) => React__default.JSX.Element;
|
|
1348
|
+
|
|
1349
|
+
/**
|
|
1350
|
+
* This component will provide a default maxWidth and ph value, it take Flex props.
|
|
1351
|
+
* ## Usage
|
|
1352
|
+
* Use this component on pages to limit the max-width to a specific container.
|
|
1353
|
+
* This will make it easier to create full browser width or custom width containers on the same page
|
|
1354
|
+
* with different background colors / image url.
|
|
1355
|
+
*/
|
|
1356
|
+
declare const OakMaxWidth: styled_components.StyledComponent<"div", styled_components.DefaultTheme, {
|
|
1357
|
+
children?: React$1.ReactNode;
|
|
1358
|
+
} & PositionStyleProps & SizeStyleProps & PaddingStyleProps & MarginStyleProps & ColorStyleProps & BorderStyleProps & DisplayStyleProps & DropShadowStyleProps & OpacityStyleProps & TransformStyleProps & TransitionStyleProps & TypographyStyleProps & ZIndexStyleProps & {
|
|
1359
|
+
onClick?: React$1.MouseEventHandler | undefined;
|
|
1360
|
+
} & {
|
|
1361
|
+
$flexDirection?: ResponsiveValues<csstype.Property.FlexDirection | undefined>;
|
|
1362
|
+
$flexWrap?: ResponsiveValues<csstype.Property.FlexWrap | undefined>;
|
|
1363
|
+
$alignItems?: ResponsiveValues<csstype.Property.AlignItems | undefined>;
|
|
1364
|
+
$alignContent?: ResponsiveValues<csstype.Property.AlignContent | undefined>;
|
|
1365
|
+
$justifyContent?: ResponsiveValues<csstype.Property.JustifyContent | undefined>;
|
|
1366
|
+
$alignSelf?: ResponsiveValues<csstype.Property.AlignSelf | undefined>;
|
|
1367
|
+
$flexGrow?: ResponsiveValues<csstype.Property.FlexGrow | undefined>;
|
|
1368
|
+
$flexShrink?: ResponsiveValues<csstype.Property.FlexShrink | undefined>;
|
|
1369
|
+
$order?: ResponsiveValues<csstype.Property.Order | undefined>;
|
|
1370
|
+
$flexBasis?: ResponsiveValues<"all-spacing-0" | "all-spacing-1" | "all-spacing-2" | "all-spacing-3" | "all-spacing-4" | "all-spacing-5" | "all-spacing-6" | "all-spacing-7" | "all-spacing-9" | "all-spacing-10" | "all-spacing-12" | "all-spacing-13" | "all-spacing-8" | "all-spacing-11" | "all-spacing-14" | "all-spacing-15" | "all-spacing-16" | "all-spacing-17" | "all-spacing-18" | "all-spacing-19" | "all-spacing-20" | "all-spacing-21" | "all-spacing-22" | "all-spacing-23" | "all-spacing-24" | "space-between-none" | "space-between-sssx" | "space-between-ssx" | "space-between-xs" | "space-between-s" | "space-between-m" | "space-between-m2" | "space-between-l" | "space-between-xl" | "space-between-xxl" | "space-between-xxxl" | null | undefined>;
|
|
1371
|
+
$gap?: ResponsiveValues<"all-spacing-0" | "all-spacing-1" | "all-spacing-2" | "all-spacing-3" | "all-spacing-4" | "all-spacing-5" | "all-spacing-6" | "all-spacing-7" | "all-spacing-9" | "all-spacing-10" | "all-spacing-12" | "all-spacing-13" | "all-spacing-8" | "all-spacing-11" | "all-spacing-14" | "all-spacing-15" | "all-spacing-16" | "all-spacing-17" | "all-spacing-18" | "all-spacing-19" | "all-spacing-20" | "all-spacing-21" | "all-spacing-22" | "all-spacing-23" | "all-spacing-24" | "space-between-none" | "space-between-sssx" | "space-between-ssx" | "space-between-xs" | "space-between-s" | "space-between-m" | "space-between-m2" | "space-between-l" | "space-between-xl" | "space-between-xxl" | "space-between-xxxl" | null | undefined>;
|
|
1372
|
+
$columnGap?: ResponsiveValues<"all-spacing-0" | "all-spacing-1" | "all-spacing-2" | "all-spacing-3" | "all-spacing-4" | "all-spacing-5" | "all-spacing-6" | "all-spacing-7" | "all-spacing-9" | "all-spacing-10" | "all-spacing-12" | "all-spacing-13" | "all-spacing-8" | "all-spacing-11" | "all-spacing-14" | "all-spacing-15" | "all-spacing-16" | "all-spacing-17" | "all-spacing-18" | "all-spacing-19" | "all-spacing-20" | "all-spacing-21" | "all-spacing-22" | "all-spacing-23" | "all-spacing-24" | "space-between-none" | "space-between-sssx" | "space-between-ssx" | "space-between-xs" | "space-between-s" | "space-between-m" | "space-between-m2" | "space-between-l" | "space-between-xl" | "space-between-xxl" | "space-between-xxxl" | null | undefined>;
|
|
1373
|
+
$rowGap?: ResponsiveValues<"all-spacing-0" | "all-spacing-1" | "all-spacing-2" | "all-spacing-3" | "all-spacing-4" | "all-spacing-5" | "all-spacing-6" | "all-spacing-7" | "all-spacing-9" | "all-spacing-10" | "all-spacing-12" | "all-spacing-13" | "all-spacing-8" | "all-spacing-11" | "all-spacing-14" | "all-spacing-15" | "all-spacing-16" | "all-spacing-17" | "all-spacing-18" | "all-spacing-19" | "all-spacing-20" | "all-spacing-21" | "all-spacing-22" | "all-spacing-23" | "all-spacing-24" | "space-between-none" | "space-between-sssx" | "space-between-ssx" | "space-between-xs" | "space-between-s" | "space-between-m" | "space-between-m2" | "space-between-l" | "space-between-xl" | "space-between-xxl" | "space-between-xxxl" | null | undefined>;
|
|
1374
|
+
}, never>;
|
|
1375
|
+
|
|
1376
|
+
type OakCloudinaryImageProps = Omit<OakImageProps<typeof CldImage>, "src" | "imageProps"> & {
|
|
1377
|
+
/**
|
|
1378
|
+
* The cloudinary image id or the full cloudinary URL
|
|
1379
|
+
*
|
|
1380
|
+
* Usually in the format `v1234567890/image.jpg`
|
|
1381
|
+
*/
|
|
1382
|
+
cloudinaryId: string;
|
|
1383
|
+
};
|
|
1384
|
+
/**
|
|
1385
|
+
* Provides a Cloudinary config to all descendent `OakCloudinaryImage` elements.
|
|
1386
|
+
*
|
|
1387
|
+
* See https://cloudinary.com/documentation/cloudinary_sdks#configuration_parameters
|
|
1388
|
+
* for documentation of the config object.
|
|
1389
|
+
*/
|
|
1390
|
+
declare const OakCloudinaryConfigProvider: React__default.Provider<_cloudinary_util_url_loader_dist_schema_UX7RRFIR.g | undefined>;
|
|
1391
|
+
/**
|
|
1392
|
+
* OakCloudinaryImage wraps OakImage providing responsive images from Cloudinary
|
|
1393
|
+
* based on the `sizes` prop.
|
|
1394
|
+
*
|
|
1395
|
+
* Cloudinary cloud name can be set globally with `NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME` or a config
|
|
1396
|
+
* can be passed with `OakCloudinaryConfigProvider`.
|
|
1397
|
+
*/
|
|
1398
|
+
declare const OakCloudinaryImage: ({ cloudinaryId, unoptimized, ...props }: OakCloudinaryImageProps) => React__default.JSX.Element;
|
|
1399
|
+
|
|
1400
|
+
type OakKbdProps = {
|
|
1401
|
+
children: ReactNode;
|
|
1402
|
+
};
|
|
1403
|
+
/**
|
|
1404
|
+
* Represents textual user input from a keyboard, voice input, or any other text entry device.
|
|
1405
|
+
* */
|
|
1406
|
+
declare const OakKbd: ({ children }: OakKbdProps) => React__default.JSX.Element;
|
|
1407
|
+
|
|
1408
|
+
type OakFieldErrorProps = {
|
|
1409
|
+
children?: React__default.ReactNode;
|
|
1410
|
+
};
|
|
1411
|
+
/**
|
|
1412
|
+
*
|
|
1413
|
+
* OakFieldError renders a error message when passed children.
|
|
1414
|
+
*
|
|
1415
|
+
*/
|
|
1416
|
+
declare const OakFieldError: (props: OakFieldErrorProps) => React__default.JSX.Element | null;
|
|
1417
|
+
|
|
1418
|
+
type OakLoadingSpinnerProps = Pick<SizeStyleProps, "$width"> & ColorStyleProps & {
|
|
1419
|
+
loaderColor?: OakCombinedColorToken;
|
|
1420
|
+
};
|
|
1421
|
+
/**
|
|
1422
|
+
*
|
|
1423
|
+
* A loading spinner of variable size.
|
|
1424
|
+
*
|
|
1425
|
+
*/
|
|
1426
|
+
declare const OakLoadingSpinner: (props: OakLoadingSpinnerProps) => React__default.JSX.Element;
|
|
1427
|
+
|
|
1428
|
+
type ElementProp<C extends ElementType> = {
|
|
1429
|
+
element?: C;
|
|
1430
|
+
};
|
|
1431
|
+
type PolymorphicRef<C extends React.ElementType> = ComponentPropsWithRef<C>["ref"];
|
|
1432
|
+
type PolymorphicPropsWithRef<C extends ElementType> = ElementProp<C> & ComponentPropsWithoutRef<C> & {
|
|
1433
|
+
ref?: PolymorphicRef<C>;
|
|
1434
|
+
};
|
|
1435
|
+
|
|
1436
|
+
type StyledButtonProps = TypographyStyleProps & SpacingStyleProps & ColorStyleProps & DisplayStyleProps & BorderStyleProps & DropShadowStyleProps & {
|
|
1437
|
+
isLoading?: boolean;
|
|
1438
|
+
};
|
|
1439
|
+
type InternalButtonProps = StyledButtonProps & {
|
|
1440
|
+
onHovered?: (event: React__default.MouseEvent<HTMLButtonElement, MouseEvent>, duration: number) => void;
|
|
1441
|
+
};
|
|
1442
|
+
|
|
1443
|
+
type InternalShadowRectButtonProps = Omit<InternalButtonProps, "$pa" | "$ph" | "$pv" | "$ba" | "$borderRadius" | "$borderColor" | "$background" | "$color"> & {
|
|
1444
|
+
iconName?: OakIconName;
|
|
1445
|
+
isTrailingIcon?: boolean;
|
|
1446
|
+
defaultTextColor: OakCombinedColorToken;
|
|
1447
|
+
defaultBackground: OakCombinedColorToken;
|
|
1448
|
+
defaultBorderColor: OakCombinedColorToken;
|
|
1449
|
+
hoverTextColor: OakCombinedColorToken;
|
|
1450
|
+
hoverBackground: OakCombinedColorToken;
|
|
1451
|
+
hoverBorderColor: OakCombinedColorToken;
|
|
1452
|
+
disabledBackground: OakCombinedColorToken;
|
|
1453
|
+
disabledBorderColor: OakCombinedColorToken;
|
|
1454
|
+
disabledTextColor: OakCombinedColorToken;
|
|
1455
|
+
width?: SizeStyleProps["$width"];
|
|
1456
|
+
maxWidth?: SizeStyleProps["$maxWidth"];
|
|
1457
|
+
hoverShadow?: OakDropShadowToken | null;
|
|
1458
|
+
} & PositionStyleProps;
|
|
1459
|
+
|
|
1460
|
+
type OakPrimaryButtonProps = Omit<InternalShadowRectButtonProps, "defaultBorderColor" | "defaultBackground" | "defaultTextColor" | "hoverBackground" | "hoverBorderColor" | "hoverTextColor" | "disabledBackground" | "disabledBorderColor" | "disabledTextColor">;
|
|
1461
|
+
/**
|
|
1462
|
+
*
|
|
1463
|
+
* A specific implementation of InternalRectButton
|
|
1464
|
+
*
|
|
1465
|
+
* The following callbacks are available for tracking focus events:
|
|
1466
|
+
*
|
|
1467
|
+
* ### onClick
|
|
1468
|
+
* `onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;`
|
|
1469
|
+
*
|
|
1470
|
+
* ### onHovered
|
|
1471
|
+
* `onHovered?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>, duration: number) => void;`<br>
|
|
1472
|
+
* called after a mouseEnter and mouseLeave event has happened
|
|
1473
|
+
*/
|
|
1474
|
+
declare const OakPrimaryButton: <C extends React__default.ElementType = "button">({ element, ...rest }: OakPrimaryButtonProps & {
|
|
1475
|
+
element?: C | undefined;
|
|
1476
|
+
} & React__default.PropsWithoutRef<React__default.ComponentProps<C>>) => React__default.JSX.Element;
|
|
1477
|
+
|
|
1478
|
+
type OakPrimaryInvertedButtonProps = Omit<InternalShadowRectButtonProps, "defaultBorderColor" | "defaultBackground" | "defaultTextColor" | "hoverBackground" | "hoverBorderColor" | "hoverTextColor" | "disabledBackground" | "disabledBorderColor" | "disabledTextColor">;
|
|
1479
|
+
/**
|
|
1480
|
+
*
|
|
1481
|
+
* A specific implementation of InternalRectButton
|
|
1482
|
+
*
|
|
1483
|
+
* The following callbacks are available for tracking focus events:
|
|
1484
|
+
*
|
|
1485
|
+
* ### onClick
|
|
1486
|
+
* `onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;`
|
|
1487
|
+
*
|
|
1488
|
+
* ### onHovered
|
|
1489
|
+
* `onHovered?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>, duration: number) => void;`<br>
|
|
1490
|
+
* called after a mouseEnter and mouseLeave event has happened
|
|
1491
|
+
*/
|
|
1492
|
+
declare const OakPrimaryInvertedButton: <C extends React__default.ElementType = "button">({ element, ...rest }: OakPrimaryInvertedButtonProps & {
|
|
1493
|
+
element?: C | undefined;
|
|
1494
|
+
} & React__default.PropsWithoutRef<React__default.ComponentProps<C>>) => React__default.JSX.Element;
|
|
1495
|
+
|
|
1496
|
+
type OakSecondaryButtonProps = Omit<InternalShadowRectButtonProps, "defaultBorderColor" | "defaultBackground" | "defaultTextColor" | "hoverBackground" | "hoverBorderColor" | "hoverTextColor" | "disabledBackground" | "disabledBorderColor" | "disabledTextColor">;
|
|
1497
|
+
/**
|
|
1498
|
+
*
|
|
1499
|
+
* A specific implementation of InternalRectButton
|
|
1500
|
+
*
|
|
1501
|
+
* The following callbacks are available for tracking focus events:
|
|
1502
|
+
*
|
|
1503
|
+
* ### onClick
|
|
1504
|
+
* `onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;`
|
|
1505
|
+
*
|
|
1506
|
+
* ### onHovered
|
|
1507
|
+
* `onHovered?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>, duration: number) => void;`<br>
|
|
1508
|
+
* called after a mouseEnter and mouseLeave event has happened
|
|
1509
|
+
*/
|
|
1510
|
+
declare const OakSecondaryButton: <C extends React__default.ElementType = "button">({ element, ...rest }: OakSecondaryButtonProps & {
|
|
1511
|
+
element?: C | undefined;
|
|
1512
|
+
} & React__default.PropsWithoutRef<React__default.ComponentProps<C>>) => React__default.JSX.Element;
|
|
1513
|
+
|
|
1514
|
+
type ImageProps = OakImageProps & {
|
|
1515
|
+
iconName?: undefined;
|
|
1516
|
+
};
|
|
1517
|
+
type IconProps = OakIconProps & {
|
|
1518
|
+
src?: undefined;
|
|
1519
|
+
};
|
|
1520
|
+
type OakRoundIconProps = IconProps | ImageProps;
|
|
1521
|
+
/**
|
|
1522
|
+
* A wrapper around `OakIcon` which applies a rounded background.
|
|
1523
|
+
* Supports either an icon name or an image src
|
|
1524
|
+
*/
|
|
1525
|
+
declare const OakRoundIcon: ({ $background, $borderRadius, $width, $height, $pa, className, ...rest }: OakRoundIconProps) => React__default.JSX.Element;
|
|
1526
|
+
|
|
1527
|
+
/**
|
|
1528
|
+
* An implementation of InternalShadowRoundButton, its a subtle button with no border and a round icon.
|
|
1529
|
+
*/
|
|
1530
|
+
declare const OakTertiaryButton: <C extends React__default.ElementType = "button">({ element, isTrailingIcon, iconName, children, ...props }: TypographyStyleProps & PaddingStyleProps & MarginStyleProps & ColorStyleProps & DisplayStyleProps & BorderStyleProps & DropShadowStyleProps & {
|
|
1531
|
+
isLoading?: boolean | undefined;
|
|
1532
|
+
} & {
|
|
1533
|
+
onHovered?: ((event: React__default.MouseEvent<HTMLButtonElement, MouseEvent>, duration: number) => void) | undefined;
|
|
1534
|
+
} & {
|
|
1535
|
+
iconBackground?: OakRoundIconProps["$background"];
|
|
1536
|
+
iconColorFilter?: OakRoundIconProps["$colorFilter"];
|
|
1537
|
+
isTrailingIcon?: boolean | undefined;
|
|
1538
|
+
iconName?: "search" | "video" | "download" | "question-mark" | "home" | "send" | "rocket" | "edit" | "hamburger" | "cross" | "bell" | "twitter" | "worksheet" | "facebook" | "share" | "arrow-right" | "worksheet-3" | "chevron-right" | "save" | "quiz-3" | "chevron-down" | "linkedin" | "magic-carpet" | "books" | "supervision-level" | "quiz-white" | "arrow-left" | "additional-material" | "slide-deck-3" | "sign-language" | "external" | "equipment-required" | "chevron-left" | "chevron-up" | "go" | "copyright" | "arrow-down" | "project" | "slide-deck" | "content-guidance" | "tick" | "instagram" | "dot" | "dot-png" | "warning" | "lightbulb-yellow" | "lightbulb" | "quiz" | "intro" | "move-arrows" | "subject-art" | "subject-biology" | "subject-chemistry" | "subject-citizenship" | "subject-combined-science" | "subject-communication-and-language" | "subject-computing" | "subject-computing-non-gcse" | "subject-creative-arts" | "subject-design-technology" | "subject-drama" | "subject-english" | "subject-english-grammar" | "subject-english-reading-for-pleasure" | "subject-english-spelling" | "subject-french" | "subject-geography" | "subject-german" | "subject-history" | "subject-independent-living" | "subject-latin" | "subject-maths" | "subject-music" | "subject-numeracy" | "occupational-therapy" | "subject-physical-development" | "subject-physical-education" | "subject-physical-therapy" | "subject-physics" | "subject-religious-education" | "subject-rshe-pshe" | "subject-science" | "subject-sensory-integration" | "subject-spanish" | "subject-speech-and-language-therapy" | "subject-therapy" | "subject-understanding-the-world" | undefined;
|
|
1539
|
+
} & {
|
|
1540
|
+
element?: C | undefined;
|
|
1541
|
+
} & React__default.PropsWithoutRef<React__default.ComponentProps<C>>) => React__default.JSX.Element;
|
|
1542
|
+
|
|
1543
|
+
type RadioButtonLabelProps = {
|
|
1544
|
+
$labelAlignItems?: FlexStyleProps["$alignItems"];
|
|
1545
|
+
$labelGap?: FlexStyleProps["$gap"];
|
|
1546
|
+
disabled?: boolean;
|
|
1547
|
+
} & OakLabelProps;
|
|
1548
|
+
type OakRadioButtonProps = {
|
|
1549
|
+
id: string;
|
|
1550
|
+
label: ReactNode;
|
|
1551
|
+
value: string;
|
|
1552
|
+
tabIndex?: number;
|
|
1553
|
+
"data-testid"?: string;
|
|
1554
|
+
disabled?: boolean;
|
|
1555
|
+
/**
|
|
1556
|
+
* Allows the focus ring to be disabled. This is useful when focus is indicated
|
|
1557
|
+
* by other means, such as a border or background color change.
|
|
1558
|
+
*/
|
|
1559
|
+
disableFocusRing?: boolean;
|
|
1560
|
+
/**
|
|
1561
|
+
* Allows the size of the radio button to be customized.
|
|
1562
|
+
*/
|
|
1563
|
+
radioOuterSize?: OakAllSpacingToken;
|
|
1564
|
+
/**
|
|
1565
|
+
* Allows the size of the inner "checked" circle of the radio button to be customized.
|
|
1566
|
+
*/
|
|
1567
|
+
radioInnerSize?: OakAllSpacingToken;
|
|
1568
|
+
/**
|
|
1569
|
+
* Allows the width of the radio button border to be customized.
|
|
1570
|
+
*/
|
|
1571
|
+
radioBorderWidth?: OakBorderWidthToken;
|
|
1572
|
+
/**
|
|
1573
|
+
* Allows the width of the radio button border to be customized when the radio button is checked.
|
|
1574
|
+
*/
|
|
1575
|
+
checkedRadioBorderWidth?: OakBorderWidthToken;
|
|
1576
|
+
} & OakBoxProps & RadioButtonLabelProps;
|
|
1577
|
+
/**
|
|
1578
|
+
* A radio button component.
|
|
1579
|
+
*
|
|
1580
|
+
* Use within `OakRadioGroup` component.
|
|
1581
|
+
*/
|
|
1582
|
+
declare const OakRadioButton: React__default.ForwardRefExoticComponent<{
|
|
1583
|
+
id: string;
|
|
1584
|
+
label: ReactNode;
|
|
1585
|
+
value: string;
|
|
1586
|
+
tabIndex?: number | undefined;
|
|
1587
|
+
"data-testid"?: string | undefined;
|
|
1588
|
+
disabled?: boolean | undefined;
|
|
1589
|
+
/**
|
|
1590
|
+
* Allows the focus ring to be disabled. This is useful when focus is indicated
|
|
1591
|
+
* by other means, such as a border or background color change.
|
|
1592
|
+
*/
|
|
1593
|
+
disableFocusRing?: boolean | undefined;
|
|
1594
|
+
/**
|
|
1595
|
+
* Allows the size of the radio button to be customized.
|
|
1596
|
+
*/
|
|
1597
|
+
radioOuterSize?: "all-spacing-0" | "all-spacing-1" | "all-spacing-2" | "all-spacing-3" | "all-spacing-4" | "all-spacing-5" | "all-spacing-6" | "all-spacing-7" | "all-spacing-9" | "all-spacing-10" | "all-spacing-12" | "all-spacing-13" | "all-spacing-8" | "all-spacing-11" | "all-spacing-14" | "all-spacing-15" | "all-spacing-16" | "all-spacing-17" | "all-spacing-18" | "all-spacing-19" | "all-spacing-20" | "all-spacing-21" | "all-spacing-22" | "all-spacing-23" | "all-spacing-24" | undefined;
|
|
1598
|
+
/**
|
|
1599
|
+
* Allows the size of the inner "checked" circle of the radio button to be customized.
|
|
1600
|
+
*/
|
|
1601
|
+
radioInnerSize?: "all-spacing-0" | "all-spacing-1" | "all-spacing-2" | "all-spacing-3" | "all-spacing-4" | "all-spacing-5" | "all-spacing-6" | "all-spacing-7" | "all-spacing-9" | "all-spacing-10" | "all-spacing-12" | "all-spacing-13" | "all-spacing-8" | "all-spacing-11" | "all-spacing-14" | "all-spacing-15" | "all-spacing-16" | "all-spacing-17" | "all-spacing-18" | "all-spacing-19" | "all-spacing-20" | "all-spacing-21" | "all-spacing-22" | "all-spacing-23" | "all-spacing-24" | undefined;
|
|
1602
|
+
/**
|
|
1603
|
+
* Allows the width of the radio button border to be customized.
|
|
1604
|
+
*/
|
|
1605
|
+
radioBorderWidth?: "border-solid-none" | "border-solid-s" | "border-solid-m" | "border-solid-l" | "border-solid-xl" | undefined;
|
|
1606
|
+
/**
|
|
1607
|
+
* Allows the width of the radio button border to be customized when the radio button is checked.
|
|
1608
|
+
*/
|
|
1609
|
+
checkedRadioBorderWidth?: "border-solid-none" | "border-solid-s" | "border-solid-m" | "border-solid-l" | "border-solid-xl" | undefined;
|
|
1610
|
+
} & {
|
|
1611
|
+
children?: React__default.ReactNode;
|
|
1612
|
+
} & PositionStyleProps & SizeStyleProps & PaddingStyleProps & MarginStyleProps & ColorStyleProps & BorderStyleProps & DisplayStyleProps & DropShadowStyleProps & OpacityStyleProps & TransformStyleProps & TransitionStyleProps & TypographyStyleProps & ZIndexStyleProps & {
|
|
1613
|
+
onClick?: React__default.MouseEventHandler | undefined;
|
|
1614
|
+
} & {
|
|
1615
|
+
$labelAlignItems?: FlexStyleProps["$alignItems"];
|
|
1616
|
+
$labelGap?: FlexStyleProps["$gap"];
|
|
1617
|
+
disabled?: boolean | undefined;
|
|
1618
|
+
} & React__default.RefAttributes<HTMLInputElement>>;
|
|
1619
|
+
|
|
1620
|
+
type OakRadioGroupProps = {
|
|
1621
|
+
label?: string;
|
|
1622
|
+
name: string;
|
|
1623
|
+
disabled?: boolean;
|
|
1624
|
+
children: React__default.ReactNode;
|
|
1625
|
+
onChange?: (event: React__default.ChangeEvent<HTMLInputElement>) => void;
|
|
1626
|
+
/**
|
|
1627
|
+
* Sets the value of the radio group
|
|
1628
|
+
* for use as a controlled component
|
|
1629
|
+
*/
|
|
1630
|
+
value?: string;
|
|
1631
|
+
/**
|
|
1632
|
+
* Sets the initial value of the radio group
|
|
1633
|
+
* for use as an uncontrolled component
|
|
1634
|
+
*/
|
|
1635
|
+
defaultValue?: string;
|
|
1636
|
+
} & Pick<TypographyStyleProps, "$font"> & ColorStyleProps & Pick<FlexStyleProps, "$flexDirection" | "$alignItems" | "$gap">;
|
|
1637
|
+
/**
|
|
1638
|
+
*
|
|
1639
|
+
* OakRadioGroup allow users to select a single item from a list of mutually exclusive options .
|
|
1640
|
+
* OakRadioGroup consists of a set of OakRadioButtons, and a label. Each radio includes a label and a visual selection indicator. A single radio button within the group can be selected at a time. Users may click or touch a radio button to select it, or use the Tab key to navigate to the group, the arrow keys to navigate within the group, and the Space key to select an option.
|
|
1641
|
+
* ## Usage
|
|
1642
|
+
*
|
|
1643
|
+
* use the callback onChange to get the value of the selected radio button.
|
|
1644
|
+
*
|
|
1645
|
+
*/
|
|
1646
|
+
declare const OakRadioGroup: (props: OakRadioGroupProps) => React__default.JSX.Element;
|
|
1647
|
+
|
|
1648
|
+
/**
|
|
1649
|
+
*
|
|
1650
|
+
* These components can be used with InternalCheckBoxWrapper which allows for customisable icons
|
|
1651
|
+
*
|
|
1652
|
+
* Several flavours of checkbox are created here:
|
|
1653
|
+
* - Default
|
|
1654
|
+
* - Hover decorations
|
|
1655
|
+
* - Focus decorations
|
|
1656
|
+
* - Hover + Focus decorations
|
|
1657
|
+
*
|
|
1658
|
+
* As they are styled components they can be further customised in implementation. Alternatively additional
|
|
1659
|
+
* components can be created here.
|
|
1660
|
+
*
|
|
1661
|
+
*/
|
|
1662
|
+
type BaseCheckBoxProps = {
|
|
1663
|
+
id: string;
|
|
1664
|
+
disabled?: boolean;
|
|
1665
|
+
value: string;
|
|
1666
|
+
defaultChecked?: boolean;
|
|
1667
|
+
onHovered?: (value: string, id: string, duration: number) => void;
|
|
1668
|
+
onChange?: (event: React__default.ChangeEvent<HTMLInputElement>) => void;
|
|
1669
|
+
onFocus?: (event: React__default.FocusEvent<HTMLInputElement>) => void;
|
|
1670
|
+
onBlur?: (event: React__default.FocusEvent<HTMLInputElement>) => void;
|
|
1671
|
+
"data-testid"?: string;
|
|
1672
|
+
};
|
|
1673
|
+
|
|
1674
|
+
type InternalCheckBoxLabelProps = {
|
|
1675
|
+
labelAlignItems?: FlexStyleProps["$alignItems"];
|
|
1676
|
+
labelGap?: FlexStyleProps["$gap"];
|
|
1677
|
+
disabled?: boolean;
|
|
1678
|
+
"data-testid"?: string;
|
|
1679
|
+
} & OakLabelProps;
|
|
1680
|
+
|
|
1681
|
+
type OakCheckBoxProps = BaseCheckBoxProps & {
|
|
1682
|
+
checkboxSize?: OakAllSpacingToken;
|
|
1683
|
+
checkboxBorder?: OakBorderWidthToken;
|
|
1684
|
+
checkboxBorderRadius?: OakBorderRadiusToken;
|
|
1685
|
+
checkedIcon?: React__default.JSX.Element;
|
|
1686
|
+
checkedBackgroundFill?: boolean;
|
|
1687
|
+
hoverBorderRadius?: OakBorderRadiusToken;
|
|
1688
|
+
iconPadding?: OakInnerPaddingToken;
|
|
1689
|
+
defaultColor?: OakCombinedColorToken;
|
|
1690
|
+
disabledColor?: OakCombinedColorToken;
|
|
1691
|
+
displayValue?: string;
|
|
1692
|
+
} & InternalCheckBoxLabelProps;
|
|
1693
|
+
/**
|
|
1694
|
+
*
|
|
1695
|
+
* Default checkbox which can be extended to create specialised checkboxes.
|
|
1696
|
+
* - if provided, displayValue is used to display a different value to the value prop.
|
|
1697
|
+
*
|
|
1698
|
+
*
|
|
1699
|
+
* ## Events
|
|
1700
|
+
* The following callbacks are available for tracking focus events:
|
|
1701
|
+
*
|
|
1702
|
+
* ### onChange
|
|
1703
|
+
* onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
1704
|
+
*
|
|
1705
|
+
* ### onFocus
|
|
1706
|
+
* onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;
|
|
1707
|
+
*
|
|
1708
|
+
* ### onBlur
|
|
1709
|
+
* onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;
|
|
1710
|
+
*
|
|
1711
|
+
* ### onHovered
|
|
1712
|
+
* `onHovered?: (id, value, duration: number) => void;`<br>
|
|
1713
|
+
* called after a mouseEnter and mouseLeave event has happened
|
|
1714
|
+
*
|
|
1715
|
+
*
|
|
1716
|
+
*/
|
|
1717
|
+
declare const OakCheckBox: (props: OakCheckBoxProps) => React__default.JSX.Element;
|
|
1718
|
+
|
|
1719
|
+
type StyledInputProps = Omit<DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & SpacingStyleProps & SizeStyleProps;
|
|
1720
|
+
type InternalTextInputProps = Omit<StyledInputProps, "placeholder"> & {
|
|
1721
|
+
/**
|
|
1722
|
+
* A textual hint or example to display before a value has been entered
|
|
1723
|
+
*/
|
|
1724
|
+
placeholder?: string;
|
|
1725
|
+
/**
|
|
1726
|
+
* Fired only when the input is focused for the first time
|
|
1727
|
+
*/
|
|
1728
|
+
onInitialFocus?: (e: FocusEvent<HTMLInputElement>) => void;
|
|
1729
|
+
};
|
|
1730
|
+
|
|
1731
|
+
type OakTextInputProps = {
|
|
1732
|
+
/**
|
|
1733
|
+
* Disables user input and updates the appearance accordingly.
|
|
1734
|
+
*/
|
|
1735
|
+
disabled?: boolean;
|
|
1736
|
+
/**
|
|
1737
|
+
* Makes the input read-only. Preventing the user from changing the value.
|
|
1738
|
+
*/
|
|
1739
|
+
readOnly?: boolean;
|
|
1740
|
+
/**
|
|
1741
|
+
* Sets the value. Use this in controlled components;
|
|
1742
|
+
*/
|
|
1743
|
+
value?: string;
|
|
1744
|
+
/**
|
|
1745
|
+
* Sets the initial value. Use this for an uncontrolled component;
|
|
1746
|
+
*/
|
|
1747
|
+
defaultValue?: string;
|
|
1748
|
+
/**
|
|
1749
|
+
* Used to target the input element in tests.
|
|
1750
|
+
*/
|
|
1751
|
+
"data-testid"?: string;
|
|
1752
|
+
onChange?: ChangeEventHandler<HTMLInputElement>;
|
|
1753
|
+
/**
|
|
1754
|
+
* Alters the appearance of the input field to indicate whether the input is valid or invalid.
|
|
1755
|
+
*/
|
|
1756
|
+
validity?: "valid" | "invalid";
|
|
1757
|
+
/**
|
|
1758
|
+
* Adds an icon to the input
|
|
1759
|
+
*
|
|
1760
|
+
* Defaults to the start of the input
|
|
1761
|
+
*/
|
|
1762
|
+
iconName?: OakIconName;
|
|
1763
|
+
/**
|
|
1764
|
+
* Position the icon at the end of the input
|
|
1765
|
+
*/
|
|
1766
|
+
isTrailingIcon?: boolean;
|
|
1767
|
+
iconColor?: OakCombinedColorToken;
|
|
1768
|
+
validBorderColor?: OakCombinedColorToken;
|
|
1769
|
+
invalidBorderColor?: OakCombinedColorToken;
|
|
1770
|
+
validIconColor?: OakCombinedColorToken;
|
|
1771
|
+
invalidIconColor?: OakCombinedColorToken;
|
|
1772
|
+
color?: OakCombinedColorToken;
|
|
1773
|
+
hoverBackground?: OakCombinedColorToken;
|
|
1774
|
+
background?: OakCombinedColorToken;
|
|
1775
|
+
borderColor?: OakCombinedColorToken;
|
|
1776
|
+
focusRingDropShadows?: OakDropShadowToken[];
|
|
1777
|
+
disabledBackgroundColor?: OakCombinedColorToken;
|
|
1778
|
+
readOnlyBorderColor?: OakCombinedColorToken;
|
|
1779
|
+
disabledColor?: OakCombinedColorToken;
|
|
1780
|
+
readOnlyColor?: OakCombinedColorToken;
|
|
1781
|
+
/**
|
|
1782
|
+
* The width of the surrounding div - the input and icon will fill this
|
|
1783
|
+
*/
|
|
1784
|
+
wrapperWidth?: SizeStyleProps["$width"];
|
|
1785
|
+
wrapperMaxWidth?: SizeStyleProps["$maxWidth"];
|
|
1786
|
+
iconAlt?: string;
|
|
1787
|
+
} & InternalTextInputProps;
|
|
1788
|
+
/**
|
|
1789
|
+
* Default input which can be extended to create specialised inputs.
|
|
1790
|
+
*/
|
|
1791
|
+
declare const OakTextInput: ({ type, borderColor, readOnlyBorderColor, focusRingDropShadows, background, hoverBackground, disabledBackgroundColor, color, disabledColor, readOnlyColor, validity, iconColor, validBorderColor, invalidBorderColor, validIconColor, invalidIconColor, iconName, iconAlt, isTrailingIcon, wrapperWidth, wrapperMaxWidth, ...props }: OakTextInputProps) => React__default.JSX.Element;
|
|
1792
|
+
|
|
1793
|
+
type InternalTooltipProps = OakFlexProps & {
|
|
1794
|
+
isOpen: boolean;
|
|
1795
|
+
tooltip: ReactNode;
|
|
1796
|
+
children?: ReactNode;
|
|
1797
|
+
};
|
|
1798
|
+
|
|
1799
|
+
/**
|
|
1800
|
+
* A tooltip with oven-ready styling
|
|
1801
|
+
*/
|
|
1802
|
+
declare const OakTooltip: ({ ...props }: Pick<InternalTooltipProps, "isOpen" | "tooltip" | "children">) => React__default.JSX.Element;
|
|
1803
|
+
|
|
1804
|
+
type OakBackLinkProps<C extends ElementType> = {
|
|
1805
|
+
as?: C;
|
|
1806
|
+
label?: string;
|
|
1807
|
+
} & ComponentPropsWithoutRef<C>;
|
|
1808
|
+
/**
|
|
1809
|
+
* Used to navigate the user back to the previous page in the app.
|
|
1810
|
+
*
|
|
1811
|
+
* Polymorphic rendering as any HTML element or component using `as` — defaults to `a`.
|
|
1812
|
+
*
|
|
1813
|
+
* E.g.
|
|
1814
|
+
*
|
|
1815
|
+
* * Default (Anchor) `<OakBackLink href="https://www.thenational.academy/" />`
|
|
1816
|
+
* * Button `<OakBackLink as="button" onClick={() => goBack(-1)} />`
|
|
1817
|
+
*/
|
|
1818
|
+
declare const OakBackLink: <C extends React__default.ElementType = "a">({ as, label, ...props }: OakBackLinkProps<C>) => React__default.JSX.Element;
|
|
1819
|
+
|
|
1820
|
+
type OakBulletListProps = {
|
|
1821
|
+
listItems: string[];
|
|
1822
|
+
} & OakSpanProps;
|
|
1823
|
+
/**
|
|
1824
|
+
* An inline bulleted list
|
|
1825
|
+
*/
|
|
1826
|
+
declare const OakBulletList: (props: OakBulletListProps) => React__default.JSX.Element;
|
|
1827
|
+
|
|
1828
|
+
type InternalCardProps = OakFlexProps;
|
|
1829
|
+
|
|
1830
|
+
type InternalCardWithBackgroundElementProps = InternalCardProps & {
|
|
1831
|
+
backgroundElement: ReactElement;
|
|
1832
|
+
};
|
|
1833
|
+
|
|
1834
|
+
type InternalStyledSvgProps = {
|
|
1835
|
+
$fill?: ResponsiveValues<OakCombinedColorToken>;
|
|
1836
|
+
$stroke?: ResponsiveValues<OakCombinedColorToken>;
|
|
1837
|
+
$strokeWidth?: ResponsiveValues<OakBorderWidthToken>;
|
|
1838
|
+
};
|
|
1839
|
+
|
|
1840
|
+
type OakHandDrawnCardProps = Omit<InternalCardWithBackgroundElementProps, "backgroundElement"> & {
|
|
1841
|
+
fill?: InternalStyledSvgProps["$fill"];
|
|
1842
|
+
stroke?: InternalStyledSvgProps["$stroke"];
|
|
1843
|
+
strokeWidth?: InternalStyledSvgProps["$strokeWidth"];
|
|
1844
|
+
};
|
|
1845
|
+
/**
|
|
1846
|
+
* A flexed card with a hand-drawn filled background
|
|
1847
|
+
*
|
|
1848
|
+
* An optional `stroke` and `strokeWidth` can be applied to give the background a border
|
|
1849
|
+
*/
|
|
1850
|
+
declare const OakHandDrawnCard: ({ $pa, fill, stroke, strokeWidth, $width, ...props }: OakHandDrawnCardProps) => React__default.JSX.Element;
|
|
1851
|
+
|
|
1852
|
+
type OakHandDrawnBoxWithIconProps = Omit<OakHandDrawnCardProps, "children"> & {
|
|
1853
|
+
iconName: OakIconProps["iconName"];
|
|
1854
|
+
alt?: OakIconProps["alt"];
|
|
1855
|
+
iconColor?: OakIconProps["$colorFilter"];
|
|
1856
|
+
iconWidth?: OakIconProps["$width"];
|
|
1857
|
+
iconHeight?: OakIconProps["$height"];
|
|
1858
|
+
};
|
|
1859
|
+
/**
|
|
1860
|
+
* A hand-drawn card with an icon in the center
|
|
1861
|
+
*/
|
|
1862
|
+
declare const OakHandDrawnCardWithIcon: ({ iconName, iconColor, iconWidth, iconHeight, alt, $width, $height, $alignItems, $justifyContent, ...props }: OakHandDrawnBoxWithIconProps) => React__default.JSX.Element;
|
|
1863
|
+
|
|
1864
|
+
/**
|
|
1865
|
+
* Renders a tag with the text "New"
|
|
1866
|
+
*/
|
|
1867
|
+
declare const OakPromoTag: () => React__default.JSX.Element;
|
|
1868
|
+
|
|
1869
|
+
type OakInfoCardProps = {
|
|
1870
|
+
children: React__default.ReactNode;
|
|
1871
|
+
};
|
|
1872
|
+
type OakCardHeaderprops = {
|
|
1873
|
+
iconName: OakIconName;
|
|
1874
|
+
tag: OakHeadingTag;
|
|
1875
|
+
children: string;
|
|
1876
|
+
};
|
|
1877
|
+
declare const OakCardHeader: (props: OakCardHeaderprops) => React__default.JSX.Element;
|
|
1878
|
+
/**
|
|
1879
|
+
*
|
|
1880
|
+
* OakLessonInfoCards are created using the custom card either oakLessoninfoCard or oakStaticMessageCard and the content is added as children. And use the oakCardHeader to create the header of the card.
|
|
1881
|
+
*
|
|
1882
|
+
*/
|
|
1883
|
+
declare const OakLessonInfoCard: (props: OakInfoCardProps) => React__default.JSX.Element;
|
|
1884
|
+
declare const OakStaticMessageCard: (props: OakInfoCardProps) => React__default.JSX.Element;
|
|
1885
|
+
|
|
1886
|
+
type OakCollapsibleContentProps = ComponentProps<typeof OakFlex> & {
|
|
1887
|
+
/**
|
|
1888
|
+
* Whether the content is displayed or not
|
|
1889
|
+
*/
|
|
1890
|
+
isOpen: boolean;
|
|
1891
|
+
};
|
|
1892
|
+
/**
|
|
1893
|
+
* A filled scrollable box that can be hidden with the `isOpen` prop.
|
|
1894
|
+
* Useful for hiding content that is not immediately relevant
|
|
1895
|
+
*/
|
|
1896
|
+
declare const OakCollapsibleContent: ({ isOpen, children, id, ...rest }: OakCollapsibleContentProps) => React__default.JSX.Element;
|
|
1897
|
+
|
|
1898
|
+
type OakLinkProps = {
|
|
1899
|
+
iconName?: OakIconProps["iconName"];
|
|
1900
|
+
isTrailingIcon?: boolean;
|
|
1901
|
+
isLoading?: boolean;
|
|
1902
|
+
};
|
|
1903
|
+
type OakLinkComponent = <C extends React__default.ElementType = "a">(props: PolymorphicPropsWithRef<C> & OakLinkProps) => React__default.ReactNode;
|
|
1904
|
+
/**
|
|
1905
|
+
* A blue link with an optional icon and loading state.
|
|
1906
|
+
*
|
|
1907
|
+
* Defaulting to a `HTMLAnchorElement` this component is polymorphic and can be rendered as a button or any other element.
|
|
1908
|
+
*/
|
|
1909
|
+
declare const OakLink: OakLinkComponent;
|
|
1910
|
+
|
|
1911
|
+
/**
|
|
1912
|
+
* Displays different instructions for drag and drop functionality
|
|
1913
|
+
* depending on the user's primary input device
|
|
1914
|
+
*/
|
|
1915
|
+
declare const OakDragAndDropInstructions: (props: ComponentPropsWithoutRef<typeof OakFlex>) => React__default.JSX.Element;
|
|
1916
|
+
|
|
1917
|
+
type OakDraggableProps = {
|
|
1918
|
+
/**
|
|
1919
|
+
* Whether the item is currently being dragged
|
|
1920
|
+
*/
|
|
1921
|
+
isDragging?: boolean;
|
|
1922
|
+
/**
|
|
1923
|
+
* Present the element in a subdued state with hover effects disabled
|
|
1924
|
+
*/
|
|
1925
|
+
isDisabled?: boolean;
|
|
1926
|
+
/**
|
|
1927
|
+
* Read only
|
|
1928
|
+
*
|
|
1929
|
+
* Disables hover effects
|
|
1930
|
+
*/
|
|
1931
|
+
isReadOnly?: boolean;
|
|
1932
|
+
/**
|
|
1933
|
+
* Icon to display
|
|
1934
|
+
*/
|
|
1935
|
+
iconName?: IconName;
|
|
1936
|
+
/**
|
|
1937
|
+
* Icon color
|
|
1938
|
+
*/
|
|
1939
|
+
iconColor?: OakColorFilterToken;
|
|
1940
|
+
};
|
|
1941
|
+
/**
|
|
1942
|
+
* The component has no intrinsic draggable functionality.
|
|
1943
|
+
* It is intended to be used with `useDraggable` from `@dnd-kit/core`
|
|
1944
|
+
*/
|
|
1945
|
+
declare const OakDraggable: FC<ComponentPropsWithRef<OakDraggableProps & typeof OakBox>>;
|
|
1946
|
+
|
|
1947
|
+
type OakDroppableProps = {
|
|
1948
|
+
/**
|
|
1949
|
+
* Indicates whether a draggable is currently being dragged over the droppable
|
|
1950
|
+
*/
|
|
1951
|
+
isOver?: boolean;
|
|
1952
|
+
children?: ReactNode;
|
|
1953
|
+
};
|
|
1954
|
+
/**
|
|
1955
|
+
* A drop zone for a draggable
|
|
1956
|
+
*
|
|
1957
|
+
* Has no intrinsic drop functionality.
|
|
1958
|
+
* It is intended to be used with `useDraggable` from `@dnd-kit/core`
|
|
1959
|
+
*/
|
|
1960
|
+
declare const OakDroppable: FC<OakDroppableProps & ComponentPropsWithRef<typeof OakBox>>;
|
|
1961
|
+
|
|
1962
|
+
type OakDraggableFeedbackProps = ComponentPropsWithoutRef<typeof OakDraggable> & {
|
|
1963
|
+
/**
|
|
1964
|
+
* Alters the appearance of the element to indicate whether or not it is in a correct state
|
|
1965
|
+
*/
|
|
1966
|
+
feedback: "correct" | "incorrect";
|
|
1967
|
+
};
|
|
1968
|
+
/**
|
|
1969
|
+
* A draggable element that visually indicates whether or not its state is correct or not
|
|
1970
|
+
*/
|
|
1971
|
+
declare const OakDraggableFeedback: ({ feedback, ...props }: OakDraggableFeedbackProps) => React__default.JSX.Element;
|
|
1972
|
+
|
|
1973
|
+
type OakQuizCheckBoxProps = Omit<BaseCheckBoxProps, "defaultChecked"> & {
|
|
1974
|
+
feedback?: "correct" | "incorrect" | null;
|
|
1975
|
+
image?: React__default.JSX.Element;
|
|
1976
|
+
innerRef?: React__default.RefObject<HTMLInputElement>;
|
|
1977
|
+
displayValue?: string;
|
|
1978
|
+
};
|
|
1979
|
+
/**
|
|
1980
|
+
* A checkbox representing the options in a multiple choice question.
|
|
1981
|
+
*/
|
|
1982
|
+
declare const OakQuizCheckBox: (props: OakQuizCheckBoxProps) => React__default.JSX.Element;
|
|
1983
|
+
|
|
1984
|
+
type OakQuizTextInputProps = Omit<OakTextInputProps, "validity" | "iconName" | "iconAlt" | "isTrailingIcon"> & {
|
|
1985
|
+
/**
|
|
1986
|
+
* Alters the appearance of the input to indicate whether or not a correct answer was given.
|
|
1987
|
+
* Also sets the input to read-only.
|
|
1988
|
+
*/
|
|
1989
|
+
feedback?: "correct" | "incorrect" | null;
|
|
1990
|
+
};
|
|
1991
|
+
/**
|
|
1992
|
+
* A text input for a free-text question in a quiz
|
|
1993
|
+
*/
|
|
1994
|
+
declare const OakQuizTextInput: ({ feedback, readOnly, ...props }: OakQuizTextInputProps) => React__default.JSX.Element;
|
|
1995
|
+
|
|
1996
|
+
type OakQuizRadioButtonProps = OakRadioButtonProps & {
|
|
1997
|
+
feedback?: "correct" | "incorrect" | null;
|
|
1998
|
+
image?: JSX.Element;
|
|
1999
|
+
};
|
|
2000
|
+
/**
|
|
2001
|
+
* A radio button representing the options in a multiple choice question.
|
|
2002
|
+
*
|
|
2003
|
+
* Use with `OakRadioGroup` to create a group of radio buttons.
|
|
2004
|
+
*/
|
|
2005
|
+
declare const OakQuizRadioButton: (props: OakQuizRadioButtonProps) => React__default.JSX.Element;
|
|
2006
|
+
|
|
2007
|
+
type OakQuizHintProps = {
|
|
2008
|
+
/**
|
|
2009
|
+
* Some content to give as a hint to answer a question
|
|
2010
|
+
*/
|
|
2011
|
+
hint: ReactNode;
|
|
2012
|
+
};
|
|
2013
|
+
/**
|
|
2014
|
+
* Presents a button which will show a hint when clicked
|
|
2015
|
+
*/
|
|
2016
|
+
declare const OakQuizHint: ({ hint }: OakQuizHintProps) => React__default.JSX.Element;
|
|
2017
|
+
|
|
2018
|
+
type OakQuizFeedbackProps = {
|
|
2019
|
+
/**
|
|
2020
|
+
* Feedback for an answer
|
|
2021
|
+
* `partially-correct` can be used to feedback on a multi-answer MCQ where some
|
|
2022
|
+
* correct options were not selected and/or some incorrect answers were selected
|
|
2023
|
+
*/
|
|
2024
|
+
feedback: "correct" | "incorrect" | "partially-correct";
|
|
2025
|
+
/**
|
|
2026
|
+
* Some additional content to present with the feedback.
|
|
2027
|
+
* This is likely the correct answer(s) to the question or some praise.
|
|
2028
|
+
*
|
|
2029
|
+
* Only displayed when `feedback` has been applied.
|
|
2030
|
+
*/
|
|
2031
|
+
answerFeedback?: ReactNode;
|
|
2032
|
+
};
|
|
2033
|
+
/**
|
|
2034
|
+
* Gives feedback after a question has been answered
|
|
2035
|
+
*/
|
|
2036
|
+
declare const OakQuizFeedback: ({ feedback, answerFeedback, }: OakQuizFeedbackProps) => React__default.JSX.Element;
|
|
2037
|
+
|
|
2038
|
+
type OakLessonBottomNavProps = {
|
|
2039
|
+
children?: ReactNode;
|
|
2040
|
+
feedback?: OakQuizFeedbackProps["feedback"] | null;
|
|
2041
|
+
answerFeedback?: OakQuizFeedbackProps["answerFeedback"];
|
|
2042
|
+
hint?: OakQuizHintProps["hint"];
|
|
2043
|
+
};
|
|
2044
|
+
/**
|
|
2045
|
+
* Renders feedback for an answer and onward navigation buttons to continue the lesson
|
|
2046
|
+
*/
|
|
2047
|
+
declare const OakLessonBottomNav: ({ hint, feedback, answerFeedback, children, }: OakLessonBottomNavProps) => React__default.JSX.Element;
|
|
2048
|
+
|
|
2049
|
+
type LessonSectionName$1 = "intro" | "starter-quiz" | "video" | "exit-quiz";
|
|
2050
|
+
type OakLessonTopNavProps = {
|
|
2051
|
+
lessonSectionName: LessonSectionName$1;
|
|
2052
|
+
/**
|
|
2053
|
+
* Slot to render `OakBackLink` or similar
|
|
2054
|
+
*/
|
|
2055
|
+
backLinkSlot: ReactNode;
|
|
2056
|
+
heading: ReactNode;
|
|
2057
|
+
/**
|
|
2058
|
+
* Displayed at the mobile breakpoint where the counter is not rendered.
|
|
2059
|
+
* Provides alternative content for the counter/progress in the lesson.
|
|
2060
|
+
*/
|
|
2061
|
+
mobileSummary: ReactNode;
|
|
2062
|
+
/**
|
|
2063
|
+
* Slot to render `OakQuizCounter` or similar
|
|
2064
|
+
*/
|
|
2065
|
+
counterSlot?: ReactNode;
|
|
2066
|
+
};
|
|
2067
|
+
/**
|
|
2068
|
+
* Controls for navigating back and displaying progress in a lesson
|
|
2069
|
+
*/
|
|
2070
|
+
declare const OakLessonTopNav: ({ lessonSectionName, backLinkSlot, counterSlot, heading, mobileSummary, }: OakLessonTopNavProps) => React__default.JSX.Element;
|
|
2071
|
+
|
|
2072
|
+
type OakQuizCounterProps = {
|
|
2073
|
+
counter: number;
|
|
2074
|
+
total: number;
|
|
2075
|
+
};
|
|
2076
|
+
/**
|
|
2077
|
+
* A counter representing progress through the questions in a quiz
|
|
2078
|
+
*/
|
|
2079
|
+
declare const OakQuizCounter: (props: OakQuizCounterProps) => React__default.JSX.Element;
|
|
2080
|
+
|
|
2081
|
+
type LessonSectionName = "overview" | "intro" | "starter-quiz" | "video" | "exit-quiz" | "review";
|
|
2082
|
+
type OakLessonLayoutProps = {
|
|
2083
|
+
lessonSectionName: LessonSectionName;
|
|
2084
|
+
topNavSlot: ReactNode;
|
|
2085
|
+
bottomNavSlot: ReactNode;
|
|
2086
|
+
children: ReactNode;
|
|
2087
|
+
};
|
|
2088
|
+
/**
|
|
2089
|
+
* Provides overall page layout and colours for the sections of a lesson.
|
|
2090
|
+
*/
|
|
2091
|
+
declare const OakLessonLayout: ({ lessonSectionName, topNavSlot, bottomNavSlot, children, }: OakLessonLayoutProps) => React__default.JSX.Element;
|
|
2092
|
+
|
|
2093
|
+
type OakHintButtonProps = {
|
|
2094
|
+
isOpen: boolean;
|
|
2095
|
+
onClick?: MouseEventHandler;
|
|
2096
|
+
isLoading?: boolean;
|
|
2097
|
+
disabled?: boolean;
|
|
2098
|
+
};
|
|
2099
|
+
/**
|
|
2100
|
+
*
|
|
2101
|
+
* A specific implementation of InternalShadowRoundButton
|
|
2102
|
+
*
|
|
2103
|
+
* The following callbacks are available for tracking focus events:
|
|
2104
|
+
*
|
|
2105
|
+
* ### onClick
|
|
2106
|
+
* `onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;`
|
|
2107
|
+
*
|
|
2108
|
+
* ### onHovered
|
|
2109
|
+
* `onHovered?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>, duration: number) => void;`<br>
|
|
2110
|
+
* called after a mouseEnter and mouseLeave event has happened
|
|
2111
|
+
*/
|
|
2112
|
+
declare const OakHintButton: (props: OakHintButtonProps) => React__default.JSX.Element;
|
|
2113
|
+
|
|
2114
|
+
type BaseOakLessonNavItemProps<C extends ElementType> = {
|
|
2115
|
+
as?: C;
|
|
2116
|
+
/**
|
|
2117
|
+
* Disable the section preventing navigation to it.
|
|
2118
|
+
*/
|
|
2119
|
+
disabled?: boolean;
|
|
2120
|
+
} & ComponentPropsWithoutRef<C>;
|
|
2121
|
+
type QuizSectionProps$1 = {
|
|
2122
|
+
lessonSectionName: "starter-quiz" | "exit-quiz";
|
|
2123
|
+
/**
|
|
2124
|
+
* The number of questions in the quiz
|
|
2125
|
+
*/
|
|
2126
|
+
numQuestions: number;
|
|
2127
|
+
/**
|
|
2128
|
+
* The number of questions answered correctly
|
|
2129
|
+
*/
|
|
2130
|
+
grade: number;
|
|
2131
|
+
};
|
|
2132
|
+
type VideoSectionProps$1 = {
|
|
2133
|
+
lessonSectionName: "video";
|
|
2134
|
+
};
|
|
2135
|
+
type IntroSectionProps$1 = {
|
|
2136
|
+
lessonSectionName: "intro";
|
|
2137
|
+
};
|
|
2138
|
+
type SectionProps = {
|
|
2139
|
+
/**
|
|
2140
|
+
* Denotes the progress in the lesson section
|
|
2141
|
+
*/
|
|
2142
|
+
progress: "not-started" | "in-progress" | "complete";
|
|
2143
|
+
} & (IntroSectionProps$1 | QuizSectionProps$1 | VideoSectionProps$1);
|
|
2144
|
+
type OakLessonNavItemProps<C extends ElementType> = BaseOakLessonNavItemProps<C> & SectionProps;
|
|
2145
|
+
/**
|
|
2146
|
+
* Enables navigation to the given section of a lesson as well as displaying current progress
|
|
2147
|
+
*/
|
|
2148
|
+
declare const OakLessonNavItem: <C extends React__default.ElementType = "a">(props: OakLessonNavItemProps<C>) => React__default.JSX.Element;
|
|
2149
|
+
|
|
2150
|
+
type BaseOakLessonReviewItemProps = {
|
|
2151
|
+
completed: boolean;
|
|
2152
|
+
};
|
|
2153
|
+
type QuizSectionProps = {
|
|
2154
|
+
lessonSectionName: "starter-quiz" | "exit-quiz";
|
|
2155
|
+
/**
|
|
2156
|
+
* The number of questions in the quiz
|
|
2157
|
+
*/
|
|
2158
|
+
numQuestions: number;
|
|
2159
|
+
/**
|
|
2160
|
+
* The number of questions answered correctly
|
|
2161
|
+
*/
|
|
2162
|
+
grade: number;
|
|
2163
|
+
};
|
|
2164
|
+
type VideoSectionProps = {
|
|
2165
|
+
lessonSectionName: "video";
|
|
2166
|
+
};
|
|
2167
|
+
type IntroSectionProps = {
|
|
2168
|
+
lessonSectionName: "intro";
|
|
2169
|
+
};
|
|
2170
|
+
type OakLessonReviewItemProps = BaseOakLessonReviewItemProps & (IntroSectionProps | QuizSectionProps | VideoSectionProps);
|
|
2171
|
+
declare const OakLessonReviewItem: (props: OakLessonReviewItemProps) => React__default.JSX.Element;
|
|
2172
|
+
|
|
2173
|
+
type OakLessonVideoTranscriptProps = {
|
|
2174
|
+
/**
|
|
2175
|
+
* The transcript content
|
|
2176
|
+
*/
|
|
2177
|
+
children: ReactNode;
|
|
2178
|
+
/**
|
|
2179
|
+
* The id of the collapsible content element. This is used to link the button to the content
|
|
2180
|
+
*/
|
|
2181
|
+
id: string;
|
|
2182
|
+
/**
|
|
2183
|
+
* A control to toggle the video to display sign language
|
|
2184
|
+
*/
|
|
2185
|
+
signLanguageControl?: ReactNode;
|
|
2186
|
+
};
|
|
2187
|
+
/**
|
|
2188
|
+
* Display a togglable video transcript with a slot to display a sign language control
|
|
2189
|
+
*/
|
|
2190
|
+
declare const OakLessonVideoTranscript: ({ children, id, signLanguageControl, }: OakLessonVideoTranscriptProps) => React__default.JSX.Element;
|
|
2191
|
+
|
|
2192
|
+
type OakQuizOrderItem = {
|
|
2193
|
+
id: string;
|
|
2194
|
+
label: string;
|
|
2195
|
+
};
|
|
2196
|
+
type OakQuizOrderProps = {
|
|
2197
|
+
/**
|
|
2198
|
+
* The initial order of items
|
|
2199
|
+
*
|
|
2200
|
+
* this cannot be updated on subsequent renders
|
|
2201
|
+
*/
|
|
2202
|
+
initialItems: OakQuizOrderItem[];
|
|
2203
|
+
/**
|
|
2204
|
+
* Notified the consumer when the order of items has changed
|
|
2205
|
+
*/
|
|
2206
|
+
onChange?: (items: OakQuizOrderItem[]) => void;
|
|
2207
|
+
};
|
|
2208
|
+
/**
|
|
2209
|
+
* Facilitates DI for the DndContext
|
|
2210
|
+
*/
|
|
2211
|
+
declare const injectDndContext: React__default.Context<React__default.FC<DndContextProps>>;
|
|
2212
|
+
/**
|
|
2213
|
+
* A sortable list of items with drag and drop functionality. Items can be dragged over named slots to re-arrange them
|
|
2214
|
+
*
|
|
2215
|
+
* Keyboard navigation is supported with the `tab`, `space` and `arrow` keys
|
|
2216
|
+
*/
|
|
2217
|
+
declare const OakQuizOrder: ({ initialItems, onChange }: OakQuizOrderProps) => React__default.JSX.Element;
|
|
2218
|
+
|
|
2219
|
+
type OakSubjectIconProps = Pick<OakHandDrawnBoxWithIconProps, "iconName" | "fill" | "iconColor" | "alt"> & {
|
|
2220
|
+
iconName: `subject-${string}`;
|
|
2221
|
+
showPromoTag?: boolean;
|
|
2222
|
+
};
|
|
2223
|
+
/**
|
|
2224
|
+
* A large illuminated hand-drawn box with a subject icon in the center
|
|
2225
|
+
*
|
|
2226
|
+
* Accepts an optional `showPromoTag` prop to display a "New" tag in the top left corner
|
|
2227
|
+
*/
|
|
2228
|
+
declare const OakSubjectIcon: ({ showPromoTag, ...rest }: OakSubjectIconProps) => React__default.JSX.Element;
|
|
2229
|
+
|
|
2230
|
+
type Url = string | UrlObject;
|
|
2231
|
+
type OakPrimaryNavItemProps = {
|
|
2232
|
+
href: Url;
|
|
2233
|
+
isCurrent?: boolean;
|
|
2234
|
+
shallow?: boolean;
|
|
2235
|
+
children: ReactNode;
|
|
2236
|
+
} & OakPrimaryButtonProps & OakPrimaryInvertedButtonProps;
|
|
2237
|
+
/**
|
|
2238
|
+
*
|
|
2239
|
+
* A specific implementation of OakPrimaryButton and OakPrimaryInvertedButton rendering
|
|
2240
|
+
* relevant view depending on isCurrent prop
|
|
2241
|
+
*
|
|
2242
|
+
*/
|
|
2243
|
+
declare const OakPrimaryNavItem: ({ href, isCurrent, shallow, children, }: OakPrimaryNavItemProps) => React__default.JSX.Element;
|
|
2244
|
+
|
|
2245
|
+
type OakPrimaryNavProps = {
|
|
2246
|
+
ariaLabel?: string;
|
|
2247
|
+
navItems: OakPrimaryNavItemProps[];
|
|
2248
|
+
};
|
|
2249
|
+
/**
|
|
2250
|
+
* A row of buttons for navigating between different sections
|
|
2251
|
+
*/
|
|
2252
|
+
declare const OakPrimaryNav: ({ ariaLabel, navItems }: OakPrimaryNavProps) => React__default.JSX.Element;
|
|
2253
|
+
|
|
2254
|
+
export { HeadingTagComponent, type OakAllSpacingToken, OakBackLink, type OakBackLinkProps, type OakBorderRadiusToken, type OakBorderWidthToken, OakBox, type OakBoxProps, OakBulletList, type OakBulletListProps, OakCardHeader, type OakCardHeaderprops, OakCheckBox, type OakCheckBoxProps, OakCloudinaryConfigProvider, OakCloudinaryImage, type OakCloudinaryImageProps, OakCollapsibleContent, type OakCollapsibleContentProps, type OakColorToken, type OakCombinedColorToken, type OakCombinedSpacingToken, OakDragAndDropInstructions, OakDraggable, OakDraggableFeedback, type OakDropShadowToken, OakDroppable, type OakDroppableProps, OakFieldError, type OakFieldErrorProps, OakFlex, type OakFlexProps, type OakFontSizeToken, type OakFontToken, OakForm, type OakFormProps, OakGrid, OakGridArea, type OakGridAreaProps, type OakGridProps, type OakHandDrawnBoxWithIconProps, OakHandDrawnCard, type OakHandDrawnCardProps, OakHandDrawnCardWithIcon, OakHeading, type OakHeadingProps, type OakHeadingTag, OakHintButton, type OakHintButtonProps, OakIcon, type OakIconName, type OakIconProps, OakImage, type OakImageProps, type OakInfoCardProps, type OakInnerPaddingToken, OakKbd, type OakKbdProps, OakLI, type OakLIProps, OakLabel, type OakLabelProps, OakLessonBottomNav, type OakLessonBottomNavProps, OakLessonInfoCard, OakLessonLayout, type OakLessonLayoutProps, OakLessonNavItem, type OakLessonNavItemProps, OakLessonReviewItem, type OakLessonReviewItemProps, OakLessonTopNav, type OakLessonTopNavProps, OakLessonVideoTranscript, OakLink, type OakLinkProps, OakLoadingSpinner, type OakLoadingSpinnerProps, OakMaxWidth, OakOL, type OakOLProps, type OakOpacityToken, OakP, type OakPProps, OakPrimaryButton, type OakPrimaryButtonProps, OakPrimaryInvertedButton, type OakPrimaryInvertedButtonProps, OakPrimaryNav, OakPrimaryNavItem, type OakPrimaryNavItemProps, type OakPrimaryNavProps, OakPromoTag, OakQuizCheckBox, type OakQuizCheckBoxProps, OakQuizCounter, type OakQuizCounterProps, OakQuizFeedback, type OakQuizFeedbackProps, OakQuizHint, type OakQuizHintProps, OakQuizOrder, type OakQuizOrderProps, OakQuizRadioButton, type OakQuizRadioButtonProps, OakQuizTextInput, OakRadioButton, OakRadioGroup, OakRoundIcon, type OakRoundIconProps, OakSecondaryButton, type OakSecondaryButtonProps, type OakSpaceBetweenToken, OakSpan, type OakSpanProps, OakStaticMessageCard, OakSubjectIcon, type OakSubjectIconProps, OakTertiaryButton, OakTextInput, type OakTextInputProps, type OakTheme, OakThemeProvider, type OakThemeProviderProps, OakTooltip, type OakTransitionToken, OakTypography, type OakTypographyProps, OakUL, type OakULProps, type OakUiRoleToken, injectDndContext, isValidIconName, oakAllSpacingTokens, oakBorderRadiusTokens, oakBorderWidthTokens, oakBoxCss, oakColorTokens, oakDefaultTheme, oakDropShadowTokens, oakFontSizeTokens, oakFontTokens, oakHeadingTags, oakIconNames, oakInnerPaddingTokens, oakOpacityTokens, oakSpaceBetweenTokens, oakTransitionTokens, oakUiRoleTokens };
|