@guardian/stand 0.0.34 → 0.0.36

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.
Files changed (64) hide show
  1. package/dist/components/grid/Grid.cjs +37 -0
  2. package/dist/components/grid/Grid.js +14 -0
  3. package/dist/components/grid/styles.cjs +106 -0
  4. package/dist/components/grid/styles.js +98 -0
  5. package/dist/components/layout/Layout.cjs +114 -0
  6. package/dist/components/layout/Layout.js +83 -0
  7. package/dist/components/layout/styles.cjs +92 -0
  8. package/dist/components/layout/styles.js +83 -0
  9. package/dist/grid.cjs +10 -0
  10. package/dist/grid.js +2 -0
  11. package/dist/index.cjs +4 -0
  12. package/dist/index.js +2 -0
  13. package/dist/layout.cjs +10 -0
  14. package/dist/layout.js +2 -0
  15. package/dist/styleD/build/css/base/typography.css +2 -2
  16. package/dist/styleD/build/css/component/TopBar.css +2 -2
  17. package/dist/styleD/build/css/component/alertBanner.css +1 -1
  18. package/dist/styleD/build/css/component/autocomplete.css +1 -1
  19. package/dist/styleD/build/css/component/avatar.css +1 -1
  20. package/dist/styleD/build/css/component/button.css +3 -3
  21. package/dist/styleD/build/css/component/checkbox.css +2 -2
  22. package/dist/styleD/build/css/component/favicon.css +1 -1
  23. package/dist/styleD/build/css/component/form.css +1 -1
  24. package/dist/styleD/build/css/component/grid.css +14 -0
  25. package/dist/styleD/build/css/component/inlineMessage.css +1 -1
  26. package/dist/styleD/build/css/component/layout.css +30 -0
  27. package/dist/styleD/build/css/component/link.css +1 -1
  28. package/dist/styleD/build/css/component/menu.css +3 -3
  29. package/dist/styleD/build/css/component/radioGroup.css +3 -3
  30. package/dist/styleD/build/css/component/select.css +2 -2
  31. package/dist/styleD/build/css/component/tagTable.css +1 -1
  32. package/dist/styleD/build/css/component/textArea.css +2 -2
  33. package/dist/styleD/build/css/component/textInput.css +2 -2
  34. package/dist/styleD/build/css/component/userMenu.css +6 -6
  35. package/dist/styleD/build/css/semantic/breakpoints.css +3 -12
  36. package/dist/styleD/build/css/semantic/typography.css +61 -61
  37. package/dist/styleD/build/typescript/component/grid.cjs +16 -0
  38. package/dist/styleD/build/typescript/component/grid.js +14 -0
  39. package/dist/styleD/build/typescript/component/layout.cjs +48 -0
  40. package/dist/styleD/build/typescript/component/layout.js +46 -0
  41. package/dist/styleD/build/typescript/component/link.cjs +1 -1
  42. package/dist/styleD/build/typescript/component/link.js +1 -1
  43. package/dist/styleD/build/typescript/semantic/breakpoints.cjs +3 -24
  44. package/dist/styleD/build/typescript/semantic/breakpoints.js +3 -24
  45. package/dist/styleD/utils/semantic/mq.cjs +4 -4
  46. package/dist/styleD/utils/semantic/mq.js +4 -4
  47. package/dist/types/components/grid/Grid.d.ts +3 -0
  48. package/dist/types/components/grid/sandbox.d.ts +5 -0
  49. package/dist/types/components/grid/styles.d.ts +11 -0
  50. package/dist/types/components/grid/styles.test.d.ts +1 -0
  51. package/dist/types/components/grid/types.d.ts +25 -0
  52. package/dist/types/components/layout/Layout.d.ts +19 -0
  53. package/dist/types/components/layout/sandbox.d.ts +5 -0
  54. package/dist/types/components/layout/styles.d.ts +16 -0
  55. package/dist/types/components/layout/types.d.ts +20 -0
  56. package/dist/types/components/topbar/styles.d.ts +2 -2
  57. package/dist/types/grid.d.ts +20 -0
  58. package/dist/types/index.d.ts +4 -0
  59. package/dist/types/layout.d.ts +20 -0
  60. package/dist/types/styleD/build/typescript/component/grid.d.ts +16 -0
  61. package/dist/types/styleD/build/typescript/component/layout.d.ts +48 -0
  62. package/dist/types/styleD/build/typescript/semantic/breakpoints.d.ts +3 -24
  63. package/dist/types/styleD/utils/semantic/mq.d.ts +5 -14
  64. package/package.json +21 -2
@@ -5,22 +5,22 @@
5
5
  :root {
6
6
  --semantic-typography-title-sm-font: normal 700 1.125rem/1.15
7
7
  'GH Guardian Headline';
8
- --semantic-typography-title-sm-letter-spacing: 0rem;
8
+ --semantic-typography-title-sm-letter-spacing: 0;
9
9
  --semantic-typography-title-sm-font-width: 100;
10
10
  --semantic-typography-title-md-font: normal 700 1.25rem/1.15
11
11
  'GH Guardian Headline';
12
- --semantic-typography-title-md-letter-spacing: 0rem;
12
+ --semantic-typography-title-md-letter-spacing: 0;
13
13
  --semantic-typography-title-md-font-width: 100;
14
14
  --semantic-typography-title-lg-font: normal 700 1.5rem/1.15
15
15
  'GH Guardian Headline';
16
- --semantic-typography-title-lg-letter-spacing: 0rem;
16
+ --semantic-typography-title-lg-letter-spacing: 0;
17
17
  --semantic-typography-title-lg-font-width: 100;
18
18
  --semantic-typography-title-xl-font: normal 700 2rem/1.15
19
19
  'GH Guardian Headline';
20
- --semantic-typography-title-xl-letter-spacing: 0rem;
20
+ --semantic-typography-title-xl-letter-spacing: 0;
21
21
  --semantic-typography-title-xl-font-width: 100;
22
22
  --semantic-typography-heading-xs-font: normal 700 0.75rem/1.15 'Open Sans';
23
- --semantic-typography-heading-xs-letter-spacing: 0rem;
23
+ --semantic-typography-heading-xs-letter-spacing: 0;
24
24
  --semantic-typography-heading-xs-font-width: 95;
25
25
  --semantic-typography-heading-sm-font: normal 700 0.875rem/1.15 'Open Sans';
26
26
  --semantic-typography-heading-sm-letter-spacing: -0.0125rem;
@@ -39,11 +39,11 @@
39
39
  --semantic-typography-heading-2xl-font-width: 95;
40
40
  --semantic-typography-heading-compact-xs-font: normal 700 0.75rem/1.15
41
41
  'Open Sans';
42
- --semantic-typography-heading-compact-xs-letter-spacing: 0rem;
42
+ --semantic-typography-heading-compact-xs-letter-spacing: 0;
43
43
  --semantic-typography-heading-compact-xs-font-width: 88;
44
44
  --semantic-typography-heading-compact-sm-font: normal 700 0.875rem/1.15
45
45
  'Open Sans';
46
- --semantic-typography-heading-compact-sm-letter-spacing: 0rem;
46
+ --semantic-typography-heading-compact-sm-letter-spacing: 0;
47
47
  --semantic-typography-heading-compact-sm-font-width: 88;
48
48
  --semantic-typography-heading-compact-md-font: normal 700 1rem/1.15
49
49
  'Open Sans';
@@ -62,171 +62,171 @@
62
62
  --semantic-typography-heading-compact-2xl-letter-spacing: -0.03125rem;
63
63
  --semantic-typography-heading-compact-2xl-font-width: 88;
64
64
  --semantic-typography-body-xs-font: normal 460 0.75rem/1.3 'Open Sans';
65
- --semantic-typography-body-xs-letter-spacing: 0rem;
65
+ --semantic-typography-body-xs-letter-spacing: 0;
66
66
  --semantic-typography-body-xs-font-width: 95;
67
67
  --semantic-typography-body-sm-font: normal 460 0.875rem/1.3 'Open Sans';
68
- --semantic-typography-body-sm-letter-spacing: 0rem;
68
+ --semantic-typography-body-sm-letter-spacing: 0;
69
69
  --semantic-typography-body-sm-font-width: 95;
70
70
  --semantic-typography-body-md-font: normal 460 1rem/1.3 'Open Sans';
71
- --semantic-typography-body-md-letter-spacing: 0rem;
71
+ --semantic-typography-body-md-letter-spacing: 0;
72
72
  --semantic-typography-body-md-font-width: 95;
73
73
  --semantic-typography-body-lg-font: normal 460 1.125rem/1.3 'Open Sans';
74
- --semantic-typography-body-lg-letter-spacing: 0rem;
74
+ --semantic-typography-body-lg-letter-spacing: 0;
75
75
  --semantic-typography-body-lg-font-width: 95;
76
76
  --semantic-typography-body-xl-font: normal 460 1.25rem/1.3 'Open Sans';
77
- --semantic-typography-body-xl-letter-spacing: 0rem;
77
+ --semantic-typography-body-xl-letter-spacing: 0;
78
78
  --semantic-typography-body-xl-font-width: 95;
79
79
  --semantic-typography-body-bold-xs-font: normal 700 0.75rem/1.3 'Open Sans';
80
- --semantic-typography-body-bold-xs-letter-spacing: 0rem;
80
+ --semantic-typography-body-bold-xs-letter-spacing: 0;
81
81
  --semantic-typography-body-bold-xs-font-width: 95;
82
82
  --semantic-typography-body-bold-sm-font: normal 700 0.875rem/1.3 'Open Sans';
83
- --semantic-typography-body-bold-sm-letter-spacing: 0rem;
83
+ --semantic-typography-body-bold-sm-letter-spacing: 0;
84
84
  --semantic-typography-body-bold-sm-font-width: 95;
85
85
  --semantic-typography-body-bold-md-font: normal 700 1rem/1.3 'Open Sans';
86
- --semantic-typography-body-bold-md-letter-spacing: 0rem;
86
+ --semantic-typography-body-bold-md-letter-spacing: 0;
87
87
  --semantic-typography-body-bold-md-font-width: 95;
88
88
  --semantic-typography-body-bold-lg-font: normal 700 1.125rem/1.3 'Open Sans';
89
- --semantic-typography-body-bold-lg-letter-spacing: 0rem;
89
+ --semantic-typography-body-bold-lg-letter-spacing: 0;
90
90
  --semantic-typography-body-bold-lg-font-width: 95;
91
91
  --semantic-typography-body-bold-xl-font: normal 700 1.25rem/1.3 'Open Sans';
92
- --semantic-typography-body-bold-xl-letter-spacing: 0rem;
92
+ --semantic-typography-body-bold-xl-letter-spacing: 0;
93
93
  --semantic-typography-body-bold-xl-font-width: 95;
94
94
  --semantic-typography-body-italic-xs-font: italic 460 0.75rem/1.3 'Open Sans';
95
- --semantic-typography-body-italic-xs-letter-spacing: 0rem;
95
+ --semantic-typography-body-italic-xs-letter-spacing: 0;
96
96
  --semantic-typography-body-italic-xs-font-width: 95;
97
97
  --semantic-typography-body-italic-sm-font: italic 460 0.875rem/1.3 'Open Sans';
98
- --semantic-typography-body-italic-sm-letter-spacing: 0rem;
98
+ --semantic-typography-body-italic-sm-letter-spacing: 0;
99
99
  --semantic-typography-body-italic-sm-font-width: 95;
100
100
  --semantic-typography-body-italic-md-font: italic 460 1rem/1.3 'Open Sans';
101
- --semantic-typography-body-italic-md-letter-spacing: 0rem;
101
+ --semantic-typography-body-italic-md-letter-spacing: 0;
102
102
  --semantic-typography-body-italic-md-font-width: 95;
103
103
  --semantic-typography-body-italic-lg-font: italic 460 1.125rem/1.3 'Open Sans';
104
- --semantic-typography-body-italic-lg-letter-spacing: 0rem;
104
+ --semantic-typography-body-italic-lg-letter-spacing: 0;
105
105
  --semantic-typography-body-italic-lg-font-width: 95;
106
106
  --semantic-typography-body-italic-xl-font: italic 460 1.25rem/1.3 'Open Sans';
107
- --semantic-typography-body-italic-xl-letter-spacing: 0rem;
107
+ --semantic-typography-body-italic-xl-letter-spacing: 0;
108
108
  --semantic-typography-body-italic-xl-font-width: 95;
109
109
  --semantic-typography-body-italic-bold-xs-font: italic 700 0.75rem/1.3
110
110
  'Open Sans';
111
- --semantic-typography-body-italic-bold-xs-letter-spacing: 0rem;
111
+ --semantic-typography-body-italic-bold-xs-letter-spacing: 0;
112
112
  --semantic-typography-body-italic-bold-xs-font-width: 95;
113
113
  --semantic-typography-body-italic-bold-sm-font: italic 700 0.875rem/1.3
114
114
  'Open Sans';
115
- --semantic-typography-body-italic-bold-sm-letter-spacing: 0rem;
115
+ --semantic-typography-body-italic-bold-sm-letter-spacing: 0;
116
116
  --semantic-typography-body-italic-bold-sm-font-width: 95;
117
117
  --semantic-typography-body-italic-bold-md-font: italic 700 1rem/1.3
118
118
  'Open Sans';
119
- --semantic-typography-body-italic-bold-md-letter-spacing: 0rem;
119
+ --semantic-typography-body-italic-bold-md-letter-spacing: 0;
120
120
  --semantic-typography-body-italic-bold-md-font-width: 95;
121
121
  --semantic-typography-body-italic-bold-lg-font: italic 700 1.125rem/1.3
122
122
  'Open Sans';
123
- --semantic-typography-body-italic-bold-lg-letter-spacing: 0rem;
123
+ --semantic-typography-body-italic-bold-lg-letter-spacing: 0;
124
124
  --semantic-typography-body-italic-bold-lg-font-width: 95;
125
125
  --semantic-typography-body-italic-bold-xl-font: italic 700 1.25rem/1.3
126
126
  'Open Sans';
127
- --semantic-typography-body-italic-bold-xl-letter-spacing: 0rem;
127
+ --semantic-typography-body-italic-bold-xl-letter-spacing: 0;
128
128
  --semantic-typography-body-italic-bold-xl-font-width: 95;
129
129
  --semantic-typography-body-compact-xs-font: normal 460 0.75rem/1.3 'Open Sans';
130
- --semantic-typography-body-compact-xs-letter-spacing: 0rem;
130
+ --semantic-typography-body-compact-xs-letter-spacing: 0;
131
131
  --semantic-typography-body-compact-xs-font-width: 88;
132
132
  --semantic-typography-body-compact-sm-font: normal 460 0.875rem/1.3
133
133
  'Open Sans';
134
- --semantic-typography-body-compact-sm-letter-spacing: 0rem;
134
+ --semantic-typography-body-compact-sm-letter-spacing: 0;
135
135
  --semantic-typography-body-compact-sm-font-width: 88;
136
136
  --semantic-typography-body-compact-md-font: normal 460 1rem/1.3 'Open Sans';
137
- --semantic-typography-body-compact-md-letter-spacing: 0rem;
137
+ --semantic-typography-body-compact-md-letter-spacing: 0;
138
138
  --semantic-typography-body-compact-md-font-width: 88;
139
139
  --semantic-typography-body-compact-lg-font: normal 460 1.125rem/1.3
140
140
  'Open Sans';
141
- --semantic-typography-body-compact-lg-letter-spacing: 0rem;
141
+ --semantic-typography-body-compact-lg-letter-spacing: 0;
142
142
  --semantic-typography-body-compact-lg-font-width: 88;
143
143
  --semantic-typography-body-compact-xl-font: normal 460 1.25rem/1.3 'Open Sans';
144
- --semantic-typography-body-compact-xl-letter-spacing: 0rem;
144
+ --semantic-typography-body-compact-xl-letter-spacing: 0;
145
145
  --semantic-typography-body-compact-xl-font-width: 88;
146
146
  --semantic-typography-body-compact-bold-xs-font: normal 700 0.75rem/1.3
147
147
  'Open Sans';
148
- --semantic-typography-body-compact-bold-xs-letter-spacing: 0rem;
148
+ --semantic-typography-body-compact-bold-xs-letter-spacing: 0;
149
149
  --semantic-typography-body-compact-bold-xs-font-width: 88;
150
150
  --semantic-typography-body-compact-bold-sm-font: normal 700 0.875rem/1.3
151
151
  'Open Sans';
152
- --semantic-typography-body-compact-bold-sm-letter-spacing: 0rem;
152
+ --semantic-typography-body-compact-bold-sm-letter-spacing: 0;
153
153
  --semantic-typography-body-compact-bold-sm-font-width: 88;
154
154
  --semantic-typography-body-compact-bold-md-font: normal 700 1rem/1.3
155
155
  'Open Sans';
156
- --semantic-typography-body-compact-bold-md-letter-spacing: 0rem;
156
+ --semantic-typography-body-compact-bold-md-letter-spacing: 0;
157
157
  --semantic-typography-body-compact-bold-md-font-width: 88;
158
158
  --semantic-typography-body-compact-bold-lg-font: normal 700 1.125rem/1.3
159
159
  'Open Sans';
160
- --semantic-typography-body-compact-bold-lg-letter-spacing: 0rem;
160
+ --semantic-typography-body-compact-bold-lg-letter-spacing: 0;
161
161
  --semantic-typography-body-compact-bold-lg-font-width: 88;
162
162
  --semantic-typography-body-compact-bold-xl-font: normal 700 1.25rem/1.3
163
163
  'Open Sans';
164
- --semantic-typography-body-compact-bold-xl-letter-spacing: 0rem;
164
+ --semantic-typography-body-compact-bold-xl-letter-spacing: 0;
165
165
  --semantic-typography-body-compact-bold-xl-font-width: 88;
166
166
  --semantic-typography-body-compact-italic-xs-font: italic 460 0.75rem/1.3
167
167
  'Open Sans';
168
- --semantic-typography-body-compact-italic-xs-letter-spacing: 0rem;
168
+ --semantic-typography-body-compact-italic-xs-letter-spacing: 0;
169
169
  --semantic-typography-body-compact-italic-xs-font-width: 88;
170
170
  --semantic-typography-body-compact-italic-sm-font: italic 460 0.875rem/1.3
171
171
  'Open Sans';
172
- --semantic-typography-body-compact-italic-sm-letter-spacing: 0rem;
172
+ --semantic-typography-body-compact-italic-sm-letter-spacing: 0;
173
173
  --semantic-typography-body-compact-italic-sm-font-width: 88;
174
174
  --semantic-typography-body-compact-italic-md-font: italic 460 1rem/1.3
175
175
  'Open Sans';
176
- --semantic-typography-body-compact-italic-md-letter-spacing: 0rem;
176
+ --semantic-typography-body-compact-italic-md-letter-spacing: 0;
177
177
  --semantic-typography-body-compact-italic-md-font-width: 88;
178
178
  --semantic-typography-body-compact-italic-lg-font: italic 460 1.125rem/1.3
179
179
  'Open Sans';
180
- --semantic-typography-body-compact-italic-lg-letter-spacing: 0rem;
180
+ --semantic-typography-body-compact-italic-lg-letter-spacing: 0;
181
181
  --semantic-typography-body-compact-italic-lg-font-width: 88;
182
182
  --semantic-typography-body-compact-italic-xl-font: italic 460 1.25rem/1.3
183
183
  'Open Sans';
184
- --semantic-typography-body-compact-italic-xl-letter-spacing: 0rem;
184
+ --semantic-typography-body-compact-italic-xl-letter-spacing: 0;
185
185
  --semantic-typography-body-compact-italic-xl-font-width: 88;
186
186
  --semantic-typography-body-compact-italic-bold-xs-font: italic 700 0.75rem/1.3
187
187
  'Open Sans';
188
- --semantic-typography-body-compact-italic-bold-xs-letter-spacing: 0rem;
188
+ --semantic-typography-body-compact-italic-bold-xs-letter-spacing: 0;
189
189
  --semantic-typography-body-compact-italic-bold-xs-font-width: 88;
190
190
  --semantic-typography-body-compact-italic-bold-sm-font: italic 700
191
191
  0.875rem/1.3 'Open Sans';
192
- --semantic-typography-body-compact-italic-bold-sm-letter-spacing: 0rem;
192
+ --semantic-typography-body-compact-italic-bold-sm-letter-spacing: 0;
193
193
  --semantic-typography-body-compact-italic-bold-sm-font-width: 88;
194
194
  --semantic-typography-body-compact-italic-bold-md-font: italic 700 1rem/1.3
195
195
  'Open Sans';
196
- --semantic-typography-body-compact-italic-bold-md-letter-spacing: 0rem;
196
+ --semantic-typography-body-compact-italic-bold-md-letter-spacing: 0;
197
197
  --semantic-typography-body-compact-italic-bold-md-font-width: 88;
198
198
  --semantic-typography-body-compact-italic-bold-lg-font: italic 700
199
199
  1.125rem/1.3 'Open Sans';
200
- --semantic-typography-body-compact-italic-bold-lg-letter-spacing: 0rem;
200
+ --semantic-typography-body-compact-italic-bold-lg-letter-spacing: 0;
201
201
  --semantic-typography-body-compact-italic-bold-lg-font-width: 88;
202
202
  --semantic-typography-body-compact-italic-bold-xl-font: italic 700 1.25rem/1.3
203
203
  'Open Sans';
204
- --semantic-typography-body-compact-italic-bold-xl-letter-spacing: 0rem;
204
+ --semantic-typography-body-compact-italic-bold-xl-letter-spacing: 0;
205
205
  --semantic-typography-body-compact-italic-bold-xl-font-width: 88;
206
206
  --semantic-typography-meta-md-font: normal 460 0.75rem/1.3 'Open Sans';
207
- --semantic-typography-meta-md-letter-spacing: 0rem;
207
+ --semantic-typography-meta-md-letter-spacing: 0;
208
208
  --semantic-typography-meta-md-font-width: 95;
209
209
  --semantic-typography-meta-compact-md-font: normal 460 0.75rem/1.3 'Open Sans';
210
- --semantic-typography-meta-compact-md-letter-spacing: 0rem;
210
+ --semantic-typography-meta-compact-md-letter-spacing: 0;
211
211
  --semantic-typography-meta-compact-md-font-width: 88;
212
212
  --semantic-typography-article-body-md-font: normal 400 1rem/1.4
213
213
  GuardianTextEgyptian;
214
- --semantic-typography-article-body-md-letter-spacing: 0rem;
214
+ --semantic-typography-article-body-md-letter-spacing: 0;
215
215
  --semantic-typography-article-body-md-font-width: 100;
216
216
  --semantic-typography-article-body-bold-md-font: normal 700 1rem/1.4
217
217
  GuardianTextEgyptian;
218
- --semantic-typography-article-body-bold-md-letter-spacing: 0rem;
218
+ --semantic-typography-article-body-bold-md-letter-spacing: 0;
219
219
  --semantic-typography-article-body-bold-md-font-width: 100;
220
220
  --semantic-typography-article-body-italic-md-font: italic 400 1rem/1.4
221
221
  GuardianTextEgyptian;
222
- --semantic-typography-article-body-italic-md-letter-spacing: 0rem;
222
+ --semantic-typography-article-body-italic-md-letter-spacing: 0;
223
223
  --semantic-typography-article-body-italic-md-font-width: 100;
224
224
  --semantic-typography-article-body-bold-italic-md-font: italic 700 1rem/1.4
225
225
  GuardianTextEgyptian;
226
- --semantic-typography-article-body-bold-italic-md-letter-spacing: 0rem;
226
+ --semantic-typography-article-body-bold-italic-md-letter-spacing: 0;
227
227
  --semantic-typography-article-body-bold-italic-md-font-width: 100;
228
228
  --semantic-typography-interactive-xs-font: normal 700 0.75rem/1 'Open Sans';
229
- --semantic-typography-interactive-xs-letter-spacing: 0rem;
229
+ --semantic-typography-interactive-xs-letter-spacing: 0;
230
230
  --semantic-typography-interactive-xs-font-width: 95;
231
231
  --semantic-typography-interactive-sm-font: normal 700 0.875rem/1 'Open Sans';
232
232
  --semantic-typography-interactive-sm-letter-spacing: -0.0125rem;
@@ -242,15 +242,15 @@
242
242
  --semantic-typography-label-form-md-font-width: 95;
243
243
  --semantic-typography-label-form-inline-sm-font: normal 460 0.875rem/1.3
244
244
  'Open Sans';
245
- --semantic-typography-label-form-inline-sm-letter-spacing: 0rem;
245
+ --semantic-typography-label-form-inline-sm-letter-spacing: 0;
246
246
  --semantic-typography-label-form-inline-sm-font-width: 95;
247
247
  --semantic-typography-label-form-inline-md-font: normal 460 1rem/1.3
248
248
  'Open Sans';
249
- --semantic-typography-label-form-inline-md-letter-spacing: 0rem;
249
+ --semantic-typography-label-form-inline-md-letter-spacing: 0;
250
250
  --semantic-typography-label-form-inline-md-font-width: 95;
251
251
  --semantic-typography-label-form-compact-sm-font: normal 700 0.875rem/1.15
252
252
  'Open Sans';
253
- --semantic-typography-label-form-compact-sm-letter-spacing: 0rem;
253
+ --semantic-typography-label-form-compact-sm-letter-spacing: 0;
254
254
  --semantic-typography-label-form-compact-sm-font-width: 88;
255
255
  --semantic-typography-label-form-compact-md-font: normal 700 1rem/1.15
256
256
  'Open Sans';
@@ -258,18 +258,18 @@
258
258
  --semantic-typography-label-form-compact-md-font-width: 88;
259
259
  --semantic-typography-label-form-inline-compact-sm-font: normal 460
260
260
  0.875rem/1.3 'Open Sans';
261
- --semantic-typography-label-form-inline-compact-sm-letter-spacing: 0rem;
261
+ --semantic-typography-label-form-inline-compact-sm-letter-spacing: 0;
262
262
  --semantic-typography-label-form-inline-compact-sm-font-width: 88;
263
263
  --semantic-typography-label-form-inline-compact-md-font: normal 460 1rem/1.3
264
264
  'Open Sans';
265
- --semantic-typography-label-form-inline-compact-md-letter-spacing: 0rem;
265
+ --semantic-typography-label-form-inline-compact-md-letter-spacing: 0;
266
266
  --semantic-typography-label-form-inline-compact-md-font-width: 88;
267
267
  --semantic-typography-help-text-form-md-font: normal 460 0.875rem/1.3
268
268
  'Open Sans';
269
- --semantic-typography-help-text-form-md-letter-spacing: 0rem;
269
+ --semantic-typography-help-text-form-md-letter-spacing: 0;
270
270
  --semantic-typography-help-text-form-md-font-width: 95;
271
271
  --semantic-typography-help-text-form-compact-md-font: normal 460 0.875rem/1.3
272
272
  'Open Sans';
273
- --semantic-typography-help-text-form-compact-md-letter-spacing: 0rem;
273
+ --semantic-typography-help-text-form-compact-md-letter-spacing: 0;
274
274
  --semantic-typography-help-text-form-compact-md-font-width: 88;
275
275
  }
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ const componentGrid = {
4
+ shared: {
5
+ display: "flex",
6
+ width: "100%",
7
+ columns: 12,
8
+ gap: "8px",
9
+ direction: "row",
10
+ wrap: "wrap",
11
+ justifyContent: "flex-start",
12
+ alignItems: "stretch"
13
+ }
14
+ };
15
+
16
+ exports.componentGrid = componentGrid;
@@ -0,0 +1,14 @@
1
+ const componentGrid = {
2
+ shared: {
3
+ display: "flex",
4
+ width: "100%",
5
+ columns: 12,
6
+ gap: "8px",
7
+ direction: "row",
8
+ wrap: "wrap",
9
+ justifyContent: "flex-start",
10
+ alignItems: "stretch"
11
+ }
12
+ };
13
+
14
+ export { componentGrid };
@@ -0,0 +1,48 @@
1
+ 'use strict';
2
+
3
+ const componentLayout = {
4
+ layout: {
5
+ shared: {
6
+ display: "grid",
7
+ minHeight: "100svh",
8
+ width: "100%",
9
+ "max-width": "1584px",
10
+ "margin-left": "auto",
11
+ "margin-right": "auto"
12
+ },
13
+ sm: {
14
+ gridTemplateAreas: "'alertbanner'\n'topbar'\n'sidebar'\n'main'",
15
+ gridTemplateColumns: "1fr",
16
+ gridTemplateRows: "min-content min-content min-content 1fr"
17
+ },
18
+ md: {
19
+ gridTemplateAreas: "'alertbanner alertbanner'\n'topbar topbar'\n'sidebar main'",
20
+ gridTemplateColumns: "min-content 1fr",
21
+ gridTemplateRows: "min-content min-content 1fr"
22
+ },
23
+ lg: {
24
+ gridTemplateAreas: "'alertbanner alertbanner'\n'topbar topbar'\n'sidebar main'",
25
+ gridTemplateColumns: "min-content 1fr",
26
+ gridTemplateRows: "min-content min-content 1fr"
27
+ }
28
+ },
29
+ sidebar: {
30
+ sm: {
31
+ hidden: {
32
+ display: "none"
33
+ },
34
+ aboveGrid: {
35
+ display: "block"
36
+ }
37
+ },
38
+ md: {
39
+ display: "block",
40
+ width: "200px"
41
+ },
42
+ lg: {
43
+ width: "320px"
44
+ }
45
+ }
46
+ };
47
+
48
+ exports.componentLayout = componentLayout;
@@ -0,0 +1,46 @@
1
+ const componentLayout = {
2
+ layout: {
3
+ shared: {
4
+ display: "grid",
5
+ minHeight: "100svh",
6
+ width: "100%",
7
+ "max-width": "1584px",
8
+ "margin-left": "auto",
9
+ "margin-right": "auto"
10
+ },
11
+ sm: {
12
+ gridTemplateAreas: "'alertbanner'\n'topbar'\n'sidebar'\n'main'",
13
+ gridTemplateColumns: "1fr",
14
+ gridTemplateRows: "min-content min-content min-content 1fr"
15
+ },
16
+ md: {
17
+ gridTemplateAreas: "'alertbanner alertbanner'\n'topbar topbar'\n'sidebar main'",
18
+ gridTemplateColumns: "min-content 1fr",
19
+ gridTemplateRows: "min-content min-content 1fr"
20
+ },
21
+ lg: {
22
+ gridTemplateAreas: "'alertbanner alertbanner'\n'topbar topbar'\n'sidebar main'",
23
+ gridTemplateColumns: "min-content 1fr",
24
+ gridTemplateRows: "min-content min-content 1fr"
25
+ }
26
+ },
27
+ sidebar: {
28
+ sm: {
29
+ hidden: {
30
+ display: "none"
31
+ },
32
+ aboveGrid: {
33
+ display: "block"
34
+ }
35
+ },
36
+ md: {
37
+ display: "block",
38
+ width: "200px"
39
+ },
40
+ lg: {
41
+ width: "320px"
42
+ }
43
+ }
44
+ };
45
+
46
+ export { componentLayout };
@@ -3,7 +3,7 @@
3
3
  const componentLink = {
4
4
  shared: {
5
5
  focus: {
6
- outline: "1px solid #0072a9"
6
+ outline: "0.0625rem solid #0072a9"
7
7
  },
8
8
  hover: {
9
9
  color: "#00344e",
@@ -1,7 +1,7 @@
1
1
  const componentLink = {
2
2
  shared: {
3
3
  focus: {
4
- outline: "1px solid #0072a9"
4
+ outline: "0.0625rem solid #0072a9"
5
5
  },
6
6
  hover: {
7
7
  color: "#00344e",
@@ -1,30 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  const semanticBreakpoints = {
4
- sm: {
5
- min: "0",
6
- max: "671px"
7
- },
8
- md: {
9
- min: "672px",
10
- max: "1055px"
11
- },
12
- lg: {
13
- min: "1056px",
14
- max: "1311px"
15
- },
16
- xl: {
17
- min: "1312px",
18
- max: "1583px"
19
- },
20
- max: {
21
- min: "1584px",
22
- max: "1783px"
23
- },
24
- maxplus: {
25
- min: "1784px",
26
- max: "initial"
27
- }
4
+ sm: "0px",
5
+ md: "830px",
6
+ lg: "1056px"
28
7
  };
29
8
 
30
9
  exports.semanticBreakpoints = semanticBreakpoints;
@@ -1,28 +1,7 @@
1
1
  const semanticBreakpoints = {
2
- sm: {
3
- min: "0",
4
- max: "671px"
5
- },
6
- md: {
7
- min: "672px",
8
- max: "1055px"
9
- },
10
- lg: {
11
- min: "1056px",
12
- max: "1311px"
13
- },
14
- xl: {
15
- min: "1312px",
16
- max: "1583px"
17
- },
18
- max: {
19
- min: "1584px",
20
- max: "1783px"
21
- },
22
- maxplus: {
23
- min: "1784px",
24
- max: "initial"
25
- }
2
+ sm: "0px",
3
+ md: "830px",
4
+ lg: "1056px"
26
5
  };
27
6
 
28
7
  export { semanticBreakpoints };
@@ -8,23 +8,23 @@ const minWidthQuery = (px) => `@media (min-width: ${px}px)`;
8
8
  const maxWidthQuery = (px) => `@media (max-width: ${px - smidgen}px)`;
9
9
  const minMaxWidthQuery = (minPx, maxPx) => `@media (min-width: ${minPx}px) and (max-width: ${maxPx - smidgen}px)`;
10
10
  const from = Object.fromEntries(
11
- Object.entries(breakpoints.semanticBreakpoints).map(([name, { min }]) => [
11
+ Object.entries(breakpoints.semanticBreakpoints).map(([name, min]) => [
12
12
  name,
13
13
  minWidthQuery(parseMinPx(min))
14
14
  ])
15
15
  );
16
16
  const until = Object.fromEntries(
17
- Object.entries(breakpoints.semanticBreakpoints).map(([name, { min }]) => [
17
+ Object.entries(breakpoints.semanticBreakpoints).map(([name, min]) => [
18
18
  name,
19
19
  maxWidthQuery(parseMinPx(min))
20
20
  ])
21
21
  );
22
22
  const between = Object.fromEntries(
23
- Object.entries(breakpoints.semanticBreakpoints).map(([fromName, { min: fromMin }]) => [
23
+ Object.entries(breakpoints.semanticBreakpoints).map(([fromName, fromMin]) => [
24
24
  fromName,
25
25
  {
26
26
  and: Object.fromEntries(
27
- Object.entries(breakpoints.semanticBreakpoints).filter(([toName]) => toName !== fromName).map(([toName, { min: toMin }]) => [
27
+ Object.entries(breakpoints.semanticBreakpoints).filter(([toName]) => toName !== fromName).map(([toName, toMin]) => [
28
28
  toName,
29
29
  minMaxWidthQuery(parseMinPx(fromMin), parseMinPx(toMin))
30
30
  ])
@@ -5,18 +5,18 @@ const parseMinPx = (value) => value === "0" ? 0 : parseFloat(value);
5
5
  const minWidthQuery = (px) => `@media (min-width: ${px}px)`;
6
6
  const maxWidthQuery = (px) => `@media (max-width: ${px - smidgen}px)`;
7
7
  const minMaxWidthQuery = (minPx, maxPx) => `@media (min-width: ${minPx}px) and (max-width: ${maxPx - smidgen}px)`;
8
- const from = Object.fromEntries(Object.entries(semanticBreakpoints).map(([name, { min }]) => [
8
+ const from = Object.fromEntries(Object.entries(semanticBreakpoints).map(([name, min]) => [
9
9
  name,
10
10
  minWidthQuery(parseMinPx(min))
11
11
  ]));
12
- const until = Object.fromEntries(Object.entries(semanticBreakpoints).map(([name, { min }]) => [
12
+ const until = Object.fromEntries(Object.entries(semanticBreakpoints).map(([name, min]) => [
13
13
  name,
14
14
  maxWidthQuery(parseMinPx(min))
15
15
  ]));
16
- const between = Object.fromEntries(Object.entries(semanticBreakpoints).map(([fromName, { min: fromMin }]) => [
16
+ const between = Object.fromEntries(Object.entries(semanticBreakpoints).map(([fromName, fromMin]) => [
17
17
  fromName,
18
18
  {
19
- and: Object.fromEntries(Object.entries(semanticBreakpoints).filter(([toName]) => toName !== fromName).map(([toName, { min: toMin }]) => [
19
+ and: Object.fromEntries(Object.entries(semanticBreakpoints).filter(([toName]) => toName !== fromName).map(([toName, toMin]) => [
20
20
  toName,
21
21
  minMaxWidthQuery(parseMinPx(fromMin), parseMinPx(toMin))
22
22
  ]))
@@ -0,0 +1,3 @@
1
+ import type { GridProps, ItemProps } from './types';
2
+ export declare function Grid({ children, theme, cssOverrides, as: Component, ...props }: GridProps): import("@emotion/react/jsx-runtime").JSX.Element;
3
+ export declare function Item({ children, theme, cssOverrides, size, offset, ...props }: ItemProps): import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export declare const componentName = "Grid";
2
+ export declare const componentTsx = "import { Grid, Item } from '@guardian/stand/grid';\n\nexport const Component = () => (\n\t<Grid>\n\t\t<Item size={{ sm: 12, md: 8, lg: 6 }}>Main content - sm:12, md:8, lg:6</Item>\n\t\t<Item size={{ sm: 12, md: 4, lg: 3 }} offset={{ md: 1, lg: 2 }}>\n\t\t\tMore content - sm:12, md:4, lg:3, offset md:1, lg:2\n\t\t</Item>\n\t\t<Item size=\"auto\">Auto width</Item>\n\t\t<Item size=\"grow\">Grows to fill</Item>\n\t</Grid>\n);\n";
3
+ export declare const componentCss = "\n/* import the grid styles */\n@import '@guardian/stand/component/grid.css';\n\n.stand-grid-container {\n\tdisplay: var(--component-grid-shared-display);\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\tjustify-content: flex-start;\n\talign-items: stretch;\n\tgap: 16px;\n}\n\n.stand-grid-item {\n\tbox-sizing: border-box;\n\tpadding: 16px;\n\tbackground: #eff3ff;\n\tborder: 1px solid #b8c9ff;\n\tborder-radius: 6px;\n\ttext-align: center;\n}\n\n.stand-grid-item--main {\n\tflex: 0 0 calc(((100% - 11 * 16px) * 6 / 12) + 5 * 16px);\n}\n\n.stand-grid-item--sidebar {\n\tflex: 0 0 calc(((100% - 11 * 16px) * 3 / 12) + 2 * 16px);\n\tmargin-left: calc(((100% - 11 * 16px) * 1 / 12) + 1 * 16px);\n}\n\n.stand-grid-item--auto {\n\tflex: 0 0 auto;\n\twidth: auto;\n\tmax-width: none;\n\twhite-space: nowrap;\n}\n\n.stand-grid-item--grow {\n\tflex-basis: 0;\n\tflex-grow: 1;\n\tmax-width: 100%;\n}\n";
4
+ export declare const componentHtml = "<div class=\"container\">\n\t<div class=\"stand-grid-container\">\n\t\t<div class=\"stand-grid-item stand-grid-item--main\">Main content</div>\n\t\t<div class=\"stand-grid-item stand-grid-item--sidebar\">Sidebar</div>\n\t\t<div class=\"stand-grid-item stand-grid-item--auto\">Auto width</div>\n\t\t<div class=\"stand-grid-item stand-grid-item--grow\">Grows to fill</div>\n\t</div>\n</div>\n";
5
+ export declare const componentJs = "\nimport { componentGrid } from \"@guardian/stand\";\n\nconst containerStyle = `\n\tdisplay: ${componentGrid.shared.display};\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\tjustify-content: flex-start;\n\talign-items: stretch;\n\tgap: 16px;\n`;\n\nconst itemStyle = `\n\tbox-sizing: border-box;\n\tpadding: 16px;\n\tbackground: #eff3ff;\n\tborder: 1px solid #b8c9ff;\n\tborder-radius: 6px;\n\ttext-align: center;\n`;\n\ndocument.getElementById(\"app\").innerHTML = `\n\t<div style=\"${containerStyle}\">\n\t\t<div style=\"${itemStyle}; flex: 0 0 calc(((100% - 11 * 16px) * 6 / 12) + 5 * 16px);\">Main content</div>\n\t\t<div style=\"${itemStyle}; flex: 0 0 calc(((100% - 11 * 16px) * 3 / 12) + 2 * 16px); margin-left: calc(((100% - 11 * 16px) * 1 / 12) + 1 * 16px);\">Sidebar</div>\n\t\t<div style=\"${itemStyle}; flex: 0 0 auto; width: auto; max-width: none; white-space: nowrap;\">Auto width</div>\n\t\t<div style=\"${itemStyle}; flex-basis: 0; flex-grow: 1; max-width: 100%;\">Grows to fill</div>\n\t</div>\n`;\n";
@@ -0,0 +1,11 @@
1
+ import type { SerializedStyles } from '@emotion/react';
2
+ import type { ComponentGrid } from '../../styleD/build/typescript/component/grid';
3
+ import type { DeepPartial, Prettify } from '../../util/types';
4
+ import type { ItemProps } from './types';
5
+ export type GridTheme = Prettify<ComponentGrid>;
6
+ export type PartialGridTheme = Prettify<DeepPartial<GridTheme>>;
7
+ export declare const defaultGridTheme: GridTheme;
8
+ type GridItemOwnerState = Pick<ItemProps, 'size' | 'offset'>;
9
+ export declare const gridStyles: (theme: GridTheme) => SerializedStyles;
10
+ export declare const itemStyles: (theme: GridTheme, { size, offset }: GridItemOwnerState) => SerializedStyles;
11
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ import type { ElementType, HTMLAttributes } from 'react';
2
+ import type { Breakpoint } from '../../styleD/utils/semantic/mq';
3
+ import type { DefaultPropsWithChildren } from '../../util/types';
4
+ import type { GridTheme } from './styles';
5
+ export type ResponsiveGridValue<T> = Partial<Record<Breakpoint, T>>;
6
+ export type GridSizeValue = number | 'auto' | 'grow';
7
+ export type GridOffsetValue = number | 'auto';
8
+ export interface GridProps extends DefaultPropsWithChildren<GridTheme>, Omit<HTMLAttributes<HTMLElement>, 'children'> {
9
+ /**
10
+ * Element used to render the Grid container.
11
+ */
12
+ as?: ElementType;
13
+ }
14
+ export interface ItemProps extends DefaultPropsWithChildren<GridTheme>, Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
15
+ /**
16
+ * Number of columns the item should span, or responsive values keyed by breakpoint.
17
+ */
18
+ size?: GridSizeValue | ResponsiveGridValue<GridSizeValue>;
19
+ /**
20
+ * Columns to offset the item from the left. Numbers push the item that many columns
21
+ * to the right. 'auto' pushes it to the far right of the row.
22
+ * Responsive values keyed by breakpoint are also accepted.
23
+ */
24
+ offset?: GridOffsetValue | ResponsiveGridValue<GridOffsetValue>;
25
+ }
@@ -0,0 +1,19 @@
1
+ import type { LayoutProps, SidebarProps } from './types';
2
+ /**
3
+ * Currently a WIP (Subject to change, but usable) sidebar that can be used in the Layout, it supports two different layout behaviors at the sm breakpoint,
4
+ * either 'above-grid' which will place the sidebar above the grid content effectively making it a horizontal bar at the top of the page,
5
+ * or 'hidden' which will hide the sidebar entirely at the sm breakpoint.
6
+ *
7
+ * The consumer can choose how to make the sidebar content accessible through other means (e.g. a collapsible menu in the TopBar) when using the 'hidden' option.
8
+ */
9
+ export declare function Sidebar({ children, layoutSmBreakpoint, theme, cssOverrides, ...props }: SidebarProps): import("@emotion/react/jsx-runtime").JSX.Element;
10
+ /**
11
+ * A layout component that defines a grid structure for the page, it has specific areas for an AlertBanner, TopBar, Sidebar and Grid content.
12
+ *
13
+ * The layout adjusts based on the defined breakpoints in the theme, allowing for responsive design.
14
+ *
15
+ * The Layout component will look through its children and place them in the correct grid area based on their type (AlertBanner, TopBar, Sidebar, Grid), it ignores any children that are not of these types.
16
+ *
17
+ * Consumers can customize the layout by providing their own themes and CSS overrides for each of the components.
18
+ */
19
+ export declare function Layout({ children, fluid, theme, cssOverrides, ...props }: LayoutProps): import("@emotion/react/jsx-runtime").JSX.Element;