nsw-design-system 2.14.2 → 3.0.3

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 (92) hide show
  1. package/CHANGELOG.md +586 -350
  2. package/README.md +28 -34
  3. package/dist/css/core.css +2 -0
  4. package/dist/css/main.css +1 -1
  5. package/dist/js/main.js +65 -112
  6. package/package.json +4 -2
  7. package/src/components/_all.scss +9 -14
  8. package/src/components/accordion/_accordion.scss +23 -28
  9. package/src/components/accordion/accordion.js +4 -4
  10. package/src/components/breadcrumbs/_breadcrumbs.scss +35 -40
  11. package/src/components/button/_button.scss +167 -26
  12. package/src/components/callout/_callout.scss +2 -79
  13. package/src/components/card/_card.scss +139 -168
  14. package/src/components/content-block/_content-block.scss +8 -39
  15. package/src/components/filters/_filters.scss +11 -77
  16. package/src/components/filters/filters.js +0 -5
  17. package/src/components/footer/_footer.scss +77 -132
  18. package/src/components/{forms/_forms.scss → form/_form.scss} +71 -50
  19. package/src/components/global-alert/_global-alert.scss +68 -0
  20. package/src/components/{site-wide-message/site-wide-message.js → global-alert/global-alert.js} +3 -3
  21. package/src/components/header/_header.scss +140 -253
  22. package/src/components/hero-banner/_hero-banner.scss +150 -84
  23. package/src/components/hero-search/_hero-search.scss +23 -44
  24. package/src/components/in-page-alert/_in-page-alert.scss +66 -0
  25. package/src/components/in-page-nav/_in-page-nav.scss +22 -0
  26. package/src/components/link-list/_link-list.scss +26 -41
  27. package/src/components/list-item/_list-item.scss +28 -44
  28. package/src/components/main-nav/_main-nav.scss +272 -0
  29. package/src/components/{main-navigation/main-navigation.js → main-nav/main-nav.js} +40 -39
  30. package/src/components/masthead/_masthead.scss +9 -18
  31. package/src/components/media/_media.scss +0 -1
  32. package/src/components/pagination/_pagination.scss +35 -46
  33. package/src/components/progress-indicator/_progress-indicator.scss +11 -12
  34. package/src/components/results-bar/_results-bar.scss +0 -1
  35. package/src/components/side-nav/_side-nav.scss +73 -0
  36. package/src/components/table/_table.scss +56 -0
  37. package/src/components/tables/_tables.scss +0 -86
  38. package/src/components/tabs/_tabs.scss +79 -0
  39. package/src/components/{tab-navigation/tab-navigation.js → tabs/tabs.js} +6 -8
  40. package/src/components/tag/_tag.scss +60 -0
  41. package/src/{styles → core}/_all.scss +3 -0
  42. package/src/core/grid/_grid.scss +117 -0
  43. package/src/core/iconography/_icon.scss +83 -0
  44. package/src/core/layout/_layout.scss +42 -0
  45. package/src/{styles → core}/section/_section.scss +0 -40
  46. package/src/{styles → core}/spacing/_spacing.scss +0 -8
  47. package/src/core/typography/_typography.scss +324 -0
  48. package/src/global/scss/base/_all.scss +4 -0
  49. package/src/global/scss/base/_functions.scss +44 -0
  50. package/src/global/scss/{style/_base.scss → base/_global.scss} +0 -0
  51. package/src/global/scss/base/_mixins.scss +241 -0
  52. package/src/global/scss/{tools → base}/_print.scss +1 -1
  53. package/src/global/scss/helpers/_all.scss +3 -1
  54. package/src/global/scss/helpers/_colour.scss +2 -1
  55. package/src/global/scss/helpers/_list.scss +21 -0
  56. package/src/global/scss/helpers/_text.scss +9 -0
  57. package/src/global/scss/helpers/_visibility.scss +31 -0
  58. package/src/global/scss/settings/_palette.scss +2 -1
  59. package/src/global/scss/settings/_settings.scss +9 -317
  60. package/src/global/scss/settings/_theme.scss +5 -1
  61. package/src/main.js +8 -11
  62. package/src/main.scss +13 -21
  63. package/dist/assets/svg/sprite.svg +0 -1
  64. package/src/components/banner/_banner.scss +0 -205
  65. package/src/components/direction-links/_direction-links.scss +0 -63
  66. package/src/components/feature-tile/_feature-tile.scss +0 -170
  67. package/src/components/forms/_forms-prev.scss +0 -356
  68. package/src/components/in-page-navigation/_in-page-navigation.scss +0 -27
  69. package/src/components/main-navigation/_main-navigation.scss +0 -406
  70. package/src/components/notification/_notification.scss +0 -92
  71. package/src/components/side-navigation/_side-navigation.scss +0 -86
  72. package/src/components/site-wide-message/_site-wide-message.scss +0 -163
  73. package/src/components/social-bar/_social-bar.scss +0 -28
  74. package/src/components/social-bar/social-bar.js +0 -24
  75. package/src/components/tab-navigation/_tab-navigation.scss +0 -69
  76. package/src/components/tags/_tags.scss +0 -69
  77. package/src/global/scss/helpers/_sr-only.scss +0 -7
  78. package/src/global/scss/style/_all.scss +0 -3
  79. package/src/global/scss/style/_grid.scss +0 -171
  80. package/src/global/scss/style/_icons.scss +0 -44
  81. package/src/global/scss/tools/_all.scss +0 -10
  82. package/src/global/scss/tools/_breakpoint.scss +0 -16
  83. package/src/global/scss/tools/_buttons.scss +0 -36
  84. package/src/global/scss/tools/_focus.scss +0 -25
  85. package/src/global/scss/tools/_general.scss +0 -163
  86. package/src/global/scss/tools/_grid.scss +0 -129
  87. package/src/global/scss/tools/_links.scss +0 -33
  88. package/src/global/scss/tools/_spacing.scss +0 -37
  89. package/src/global/scss/tools/_sr-only.scss +0 -21
  90. package/src/global/scss/tools/_typography.scss +0 -71
  91. package/src/styles/layout/_layout.scss +0 -0
  92. package/src/styles/typography/_typography.scss +0 -325
@@ -1,20 +1,15 @@
1
1
  .nsw-header {
2
- font-family: var(--nsw-font-family);
3
2
  background-color: var(--nsw-white);
4
3
  position: relative;
5
4
  border-bottom: solid 1px var(--nsw-grey-04);
6
5
 
7
- button {
8
- font-family: var(--nsw-font-family);
9
- }
10
-
11
- @include breakpoint('lg') {
6
+ @include breakpoint($nsw-desktop-breakpoint) {
12
7
  border-bottom: 0;
13
8
  }
14
9
 
15
10
  &--simple {
16
- @include breakpoint('lg') {
17
- border-bottom: solid 1px var(--nsw-grey-03);
11
+ @include breakpoint($nsw-desktop-breakpoint) {
12
+ border-bottom: solid 1px var(--nsw-grey-04);
18
13
  }
19
14
  }
20
15
 
@@ -26,15 +21,55 @@
26
21
  &__inner {
27
22
  position: relative;
28
23
 
29
- @include breakpoint('lg') {
24
+ @include breakpoint($nsw-desktop-breakpoint) {
30
25
  display: flex;
31
26
  }
32
27
  }
33
28
 
29
+ &__menu,
30
+ &__search {
31
+ button {
32
+ @include font-size('xxs');
33
+ font-weight: var(--nsw-font-bold);
34
+ border-radius: var(--nsw-border-radius);
35
+ color: var(--nsw-brand-dark);
36
+ width: rem(48px);
37
+ height: rem(48px);
38
+ background: none;
39
+ border: 0;
40
+ padding: 0;
41
+ text-align: center;
42
+ position: relative;
43
+ display: flex;
44
+ flex-direction: column;
45
+ align-items: center;
46
+ justify-content: center;
47
+
48
+ &:hover {
49
+ @include nsw-hover;
50
+ }
51
+
52
+ &:focus {
53
+ @include nsw-focus;
54
+ }
55
+
56
+ .nsw-material-icons {
57
+ font-size: rem(map-get($nsw-icon-sizes, 24));
58
+ }
59
+ }
60
+
61
+ }
62
+
34
63
  &__menu {
35
64
  position: absolute;
36
65
  top: rem(12px);
37
66
  left: rem(-6px);
67
+
68
+ button {
69
+ @include breakpoint($nsw-desktop-breakpoint) {
70
+ display: none;
71
+ }
72
+ }
38
73
  }
39
74
 
40
75
  &__search {
@@ -42,15 +77,27 @@
42
77
  top: rem(12px);
43
78
  right: rem(-4px);
44
79
 
45
- @include breakpoint('lg') {
80
+ @include breakpoint($nsw-desktop-breakpoint) {
46
81
  right: 0;
47
82
  top: 50%;
48
83
  margin-top: rem(-24px);
49
84
  }
85
+
86
+ button {
87
+ @include breakpoint($nsw-desktop-breakpoint) {
88
+ > span:last-child {
89
+ @include sr-only;
90
+ }
91
+
92
+ .nsw-material-icons {
93
+ font-size: rem(map-get($nsw-icon-sizes, 36));
94
+ }
95
+ }
96
+ }
50
97
  }
51
98
 
52
99
  &__main {
53
- @include breakpoint('lg') {
100
+ @include breakpoint($nsw-desktop-breakpoint) {
54
101
  position: relative;
55
102
  display: flex;
56
103
  justify-content: flex-start;
@@ -68,7 +115,7 @@
68
115
  display: flex;
69
116
  justify-content: center;
70
117
 
71
- @include breakpoint('lg') {
118
+ @include breakpoint($nsw-desktop-breakpoint) {
72
119
  padding: 0;
73
120
  }
74
121
 
@@ -76,33 +123,41 @@
76
123
  height: rem(48px);
77
124
  display: block;
78
125
 
79
- @include breakpoint('lg') {
126
+ @include breakpoint($nsw-desktop-breakpoint) {
80
127
  height: rem(76px);
81
128
  }
82
129
  }
83
- }
84
-
85
- &__waratah-link {
86
- display: flex;
87
130
 
88
- &:focus {
89
- @include nsw-focus;
131
+ a {
132
+ display: flex;
133
+ color: var(--nsw-brand-dark);
134
+ text-decoration: none;
135
+ align-items: center;
90
136
 
91
- @include breakpoint('lg') {
92
- outline: none;
137
+ &:hover {
138
+ background: transparent;
139
+ outline-width: 0;
93
140
  }
94
- }
95
141
 
96
- @include breakpoint('lg') {
97
- @include pseudo-clickable-block;
98
- }
142
+ &:focus {
143
+ outline-width: 3px;
99
144
 
100
- svg:not(:first-child) {
101
- margin-left: rem(24px);
145
+ @include breakpoint($nsw-desktop-breakpoint) {
146
+ outline: none;
147
+ }
148
+ }
102
149
 
103
- @include breakpoint('lg') {
104
- margin-left: rem(48px);
150
+ @include breakpoint($nsw-desktop-breakpoint) {
151
+ @include pseudo-clickable-block;
105
152
  }
153
+
154
+ svg:not(:first-child) {
155
+ margin-left: rem(24px);
156
+
157
+ @include breakpoint($nsw-desktop-breakpoint) {
158
+ margin-left: rem(48px);
159
+ }
160
+ }
106
161
  }
107
162
  }
108
163
 
@@ -110,7 +165,7 @@
110
165
  padding: rem(12px) 0;
111
166
  color: var(--nsw-brand-dark);
112
167
 
113
- @include breakpoint('lg') {
168
+ @include breakpoint($nsw-desktop-breakpoint) {
114
169
  padding: 0;
115
170
  margin-left: rem(32px);
116
171
  }
@@ -120,6 +175,12 @@
120
175
  @include font-size('lg');
121
176
  font-weight: var(--nsw-font-bold);
122
177
  color: var(--nsw-brand-dark);
178
+ display: flex;
179
+ align-items: center;
180
+
181
+ .nsw-tag {
182
+ margin-left: rem(24px);
183
+ }
123
184
  }
124
185
 
125
186
  &__description {
@@ -131,7 +192,7 @@
131
192
  display: flex;
132
193
  justify-content: center;
133
194
 
134
- @include breakpoint('lg') {
195
+ @include breakpoint($nsw-desktop-breakpoint) {
135
196
  padding-left: rem(16px);
136
197
  justify-content: flex-start;
137
198
  }
@@ -140,250 +201,76 @@
140
201
  height: rem(48px);
141
202
  display: block;
142
203
 
143
- @include breakpoint('lg') {
204
+ @include breakpoint($nsw-desktop-breakpoint) {
144
205
  height: rem(76px);
145
206
  }
146
207
  }
147
208
  }
148
-
149
- /* Legacy code start */
150
-
151
- &__wrapper {
152
- @include nsw-spacing(padding, sm none);
153
- display: flex;
154
- flex-direction: row;
155
- justify-content: space-between;
156
- align-content: center;
157
- align-items: center;
158
- height: rem(72px);
159
-
160
- @include breakpoint('lg') {
161
- justify-content: unset;
162
- height: rem(94px);
163
- }
164
- }
165
-
166
- &__center {
167
- order: 2;
168
-
169
- @include breakpoint('lg') {
170
- order: 0;
171
- }
172
- }
173
-
174
- &__left {
175
- order: 1;
176
- margin-left: rem(-6px);
177
- }
178
-
179
- &__right {
180
- order: 3;
181
- margin-right: rem(-4px);
182
-
183
- @include breakpoint('lg') {
184
- margin-left: auto;
185
- margin-right: 0;
186
- }
187
- }
188
-
189
- &__main-link {
190
- display: block;
191
-
192
- &:focus {
193
- @include nsw-focus;
194
- }
195
-
196
- .nsw-header__main {
197
- width: rem(141px);
198
- height: rem(46px);
199
-
200
- @include breakpoint('lg') {
201
- width: rem(168px);
202
- height: rem(55px);
203
- }
204
- }
205
- }
206
-
207
- &__main-image {
208
- display: flex;
209
-
210
- svg {
211
- display: block;
212
- }
213
- }
214
-
215
- /* Legacy code end */
216
- }
217
-
218
- .nsw-header-btn {
219
- border-radius: var(--nsw-border-radius);
220
- color: var(--nsw-brand-dark);
221
- width: rem(48px);
222
- height: rem(48px);
223
- background: none;
224
- border: 0;
225
- padding: 0;
226
- text-align: center;
227
- position: relative;
228
- display: flex;
229
- flex-direction: column;
230
- align-items: center;
231
- justify-content: center;
232
-
233
- &:hover {
234
- @include nsw-hover;
235
- }
236
-
237
- &:focus {
238
- @include nsw-focus;
239
- }
240
-
241
- &__icon {
242
- position: relative;
243
- font-size: rem(22px);
244
- line-height: rem(18px);
245
- top: -1px;
246
-
247
- &.nsw-icon {
248
- height: rem(16px);
249
- width: rem(16px);
250
- margin: 1px 0;
251
- }
252
- }
253
-
254
- &__sub {
255
- @include font-size('xxs');
256
- font-weight: var(--nsw-font-bold);
257
- }
258
- }
259
-
260
- .nsw-header-btn--menu {
261
- @include breakpoint('lg') {
262
- display: none;
263
- }
264
- }
265
-
266
- .nsw-header-btn--search {
267
- @include breakpoint('lg') {
268
- .nsw-header-btn__sub {
269
- @include sr-only;
270
- }
271
-
272
- .nsw-header-btn__icon {
273
- font-size: rem(34px);
274
-
275
- &.nsw-icon {
276
- width: rem(24px);
277
- height: rem(24px);
278
- margin-bottom: 0;
279
- }
280
- }
281
- }
282
- }
283
-
284
- .nsw-search {
285
- &__area {
286
- @include break-out(absolute);
287
- background: var(--nsw-off-white);
209
+
210
+ &__search-area {
211
+ position: absolute;
288
212
  top: 0;
213
+ left: 0;
214
+ right: 0;
289
215
 
290
- @include breakpoint('lg') {
291
- @include break-out-reset;
292
- position: absolute;
216
+ @include breakpoint($nsw-desktop-breakpoint) {
293
217
  width: rem(394px);
218
+ left: auto;
294
219
  right: rem(16px);
295
220
  top: 50%;
296
221
  transform: translateY(-50%);
297
222
  }
298
- }
299
-
300
- &__input {
301
- @include font-size('md');
302
- font-family: var(--nsw-font-family);
303
- background: none;
304
- padding: rem(8px) rem(72px) rem(8px) rem(16px);
305
- color: var(--nsw-text-dark);
306
- width: 100%;
307
- appearance: none;
308
- border: 0;
309
- height: rem(72px);
310
-
311
- &:focus {
312
- @include nsw-focus($offset: false);
313
- }
314
223
 
315
- @include breakpoint('lg') {
316
- @include nsw-spacing(padding, none md);
317
- border-radius: var(--nsw-border-radius);
318
- height: rem(50px);
319
- padding: 0 rem(16px);
224
+ button {
225
+ position: absolute;
226
+ right: 0;
227
+ top: 0;
228
+ bottom: 0;
320
229
  }
321
- }
322
-
323
- &__submit {
324
- position: absolute;
325
- top: 0;
326
- right: 0;
327
- height: rem(50px);
328
- width: rem(50px);
329
- border: 0;
330
- appearance: none;
331
- background: none;
332
- cursor: pointer;
333
- }
334
230
 
335
- &__search-icon {
336
- position: absolute;
337
- top: 50%;
338
- transform: translateY(-50%);
339
- font-size: rem(34px);
340
- right: rem(7px);
341
- margin-top: -1px;
342
- display: none;
343
-
344
- @include breakpoint('lg') {
345
- display: inline-block;
346
- }
231
+ > button {
232
+ border-radius: 0;
347
233
 
348
- &.nsw-icon {
349
- width: rem(24px);
350
- height: rem(24px);
351
- right: rem(12px);
352
- margin-top: 0;
234
+ @include breakpoint($nsw-desktop-breakpoint) {
235
+ display: none;
236
+ }
353
237
  }
354
- }
355
-
356
- &__close-btn {
357
- width: rem(48px);
358
- height: rem(48px);
359
- background: none;
360
- border: 0;
361
- padding: 0;
362
- text-align: center;
363
- position: absolute;
364
- top: 50%;
365
- transform: translateY(-50%);
366
- right: rem(16px);
367
238
 
368
- &:hover {
369
- @include nsw-hover;
370
- }
239
+ form {
240
+ button {
241
+ display: none;
242
+ padding: 0;
243
+ width: rem(48px);
371
244
 
372
- &:focus {
373
- @include nsw-focus;
374
- }
245
+ @include breakpoint($nsw-desktop-breakpoint) {
246
+ display: flex;
247
+ }
248
+ }
375
249
 
376
- @include breakpoint('lg') {
377
- display: none;
250
+ .nsw-material-icons {
251
+ font-size: rem(map-get($nsw-icon-sizes, 36));
252
+ }
378
253
  }
379
- }
380
254
 
381
- &__close-icon {
382
- font-size: rem(40px);
255
+ input {
256
+ @include font-size('md');
257
+ background: var(--nsw-off-white);
258
+ padding: rem(8px) rem(72px) rem(8px) rem(16px);
259
+ color: var(--nsw-text-dark);
260
+ width: 100%;
261
+ appearance: none;
262
+ border: 0;
263
+ height: rem(72px);
264
+
265
+ &:focus {
266
+ @include nsw-focus($offset: false);
267
+ }
383
268
 
384
- &.nsw-icon {
385
- width: rem(24px);
386
- height: rem(24px);
269
+ @include breakpoint($nsw-desktop-breakpoint) {
270
+ border-radius: var(--nsw-border-radius);
271
+ height: rem(48px);
272
+ padding: 0 rem(16px);
273
+ }
387
274
  }
388
275
  }
389
276
  }