nsw-design-system 2.13.0 → 3.0.2

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 (95) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/README.md +50 -20
  3. package/dist/css/core.css +2 -0
  4. package/dist/css/main.css +1 -1
  5. package/dist/js/main.js +208 -124
  6. package/package.json +4 -2
  7. package/src/components/_all.scss +27 -0
  8. package/src/components/accordion/_accordion.scss +68 -30
  9. package/src/components/accordion/accordion.js +61 -14
  10. package/src/components/breadcrumbs/_breadcrumbs.scss +34 -43
  11. package/src/components/button/_button.scss +171 -27
  12. package/src/components/callout/_callout.scss +13 -57
  13. package/src/components/card/_card.scss +222 -71
  14. package/src/components/content-block/_content-block.scss +16 -45
  15. package/src/components/filters/_filters.scss +25 -85
  16. package/src/components/filters/filters.js +0 -5
  17. package/src/components/footer/_footer.scss +80 -132
  18. package/src/components/{forms/_forms.scss → form/_form.scss} +122 -75
  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 +196 -227
  22. package/src/components/hero-banner/_hero-banner.scss +152 -86
  23. package/src/components/hero-search/_hero-search.scss +26 -38
  24. package/src/components/in-page-alert/_in-page-alert.scss +54 -0
  25. package/src/components/in-page-nav/_in-page-nav.scss +22 -0
  26. package/src/components/link-list/_link-list.scss +28 -47
  27. package/src/components/list-item/_list-item.scss +31 -43
  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 +61 -0
  31. package/src/components/media/_media.scss +14 -2
  32. package/src/components/pagination/_pagination.scss +37 -41
  33. package/src/components/progress-indicator/_progress-indicator.scss +11 -11
  34. package/src/components/side-nav/_side-nav.scss +73 -0
  35. package/src/components/table/_table.scss +56 -0
  36. package/src/components/tables/_tables.scss +0 -71
  37. package/src/components/tabs/_tabs.scss +79 -0
  38. package/src/components/{tab-navigation/tab-navigation.js → tabs/tabs.js} +9 -9
  39. package/src/components/tag/_tag.scss +60 -0
  40. package/src/core/_all.scss +6 -0
  41. package/src/core/grid/_grid.scss +117 -0
  42. package/src/core/iconography/_icon.scss +83 -0
  43. package/src/core/layout/_layout.scss +42 -0
  44. package/src/core/section/_section.scss +95 -0
  45. package/src/{global/scss/helpers → core/spacing}/_spacing.scss +27 -4
  46. package/src/core/typography/_typography.scss +266 -0
  47. package/src/global/scss/base/_all.scss +4 -0
  48. package/src/global/scss/base/_functions.scss +44 -0
  49. package/src/global/scss/{style/_base.scss → base/_global.scss} +1 -2
  50. package/src/global/scss/base/_mixins.scss +241 -0
  51. package/src/global/scss/{tools → base}/_print.scss +3 -3
  52. package/src/global/scss/helpers/_all.scss +4 -3
  53. package/src/global/scss/helpers/_colour.scss +86 -0
  54. package/src/global/scss/helpers/_list.scss +21 -0
  55. package/src/global/scss/helpers/_text.scss +9 -0
  56. package/src/global/scss/helpers/_visibility.scss +31 -0
  57. package/src/global/scss/settings/_palette.scss +69 -0
  58. package/src/global/scss/settings/_settings.scss +12 -296
  59. package/src/global/scss/settings/_theme.scss +82 -0
  60. package/src/main.js +8 -11
  61. package/src/main.scss +17 -21
  62. package/dist/assets/svg/sprite.svg +0 -1
  63. package/src/components/banner/_banner.scss +0 -170
  64. package/src/components/direction-links/_direction-links.scss +0 -62
  65. package/src/components/feature-tile/_feature-tile.scss +0 -175
  66. package/src/components/forms/_forms-prev.scss +0 -357
  67. package/src/components/in-page-navigation/_in-page-navigation.scss +0 -26
  68. package/src/components/main-navigation/_main-navigation.scss +0 -405
  69. package/src/components/notification/_notification.scss +0 -69
  70. package/src/components/side-navigation/_side-navigation.scss +0 -85
  71. package/src/components/site-wide-message/_site-wide-message.scss +0 -148
  72. package/src/components/social-bar/_social-bar.scss +0 -27
  73. package/src/components/social-bar/social-bar.js +0 -24
  74. package/src/components/tab-navigation/_tab-navigation.scss +0 -69
  75. package/src/components/tags/_tags.scss +0 -65
  76. package/src/global/scss/helpers/_section.scss +0 -50
  77. package/src/global/scss/helpers/_sr-only.scss +0 -8
  78. package/src/global/scss/style/_all.scss +0 -4
  79. package/src/global/scss/style/_docs.scss +0 -538
  80. package/src/global/scss/style/_grid.scss +0 -171
  81. package/src/global/scss/style/_icons.scss +0 -68
  82. package/src/global/scss/tools/_all.scss +0 -10
  83. package/src/global/scss/tools/_breakpoint.scss +0 -16
  84. package/src/global/scss/tools/_buttons.scss +0 -15
  85. package/src/global/scss/tools/_focus.scss +0 -26
  86. package/src/global/scss/tools/_general.scss +0 -189
  87. package/src/global/scss/tools/_grid.scss +0 -129
  88. package/src/global/scss/tools/_links.scss +0 -18
  89. package/src/global/scss/tools/_spacing.scss +0 -37
  90. package/src/global/scss/tools/_sr-only.scss +0 -21
  91. package/src/global/scss/tools/_typography.scss +0 -90
  92. package/src/styles/grid/_grid.scss +0 -0
  93. package/src/styles/iconography/_iconography.scss +0 -0
  94. package/src/styles/layout/_layout.scss +0 -0
  95. package/src/styles/typography/_typography.scss +0 -219
@@ -1,133 +1,199 @@
1
1
  .nsw-hero-banner {
2
- $parent: &;
2
+ background-color: var(--nsw-white);
3
+ position: relative;
3
4
  position: relative;
4
5
 
5
- @include breakpoint('md') {
6
- height: rem(380px);
7
- overflow: hidden;
6
+ &::after {
7
+ content: '';
8
+ position: absolute;
9
+ bottom: 0;
10
+ left: 0;
11
+ right: 0;
12
+ height: 1px;
13
+ background-color: rgba(var(--nsw-black-rgb), 0.1);
8
14
  }
9
15
 
10
- &__image-area {
16
+ &__container {
17
+ @include container;
18
+ }
11
19
 
12
- @include breakpoint('md') {
13
- position: absolute;
14
- top: 0;
15
- left: 0;
16
- bottom: 0;
17
- right: 0;
18
- }
20
+ &__wrapper {
21
+ @include grid();
19
22
  }
20
23
 
21
- &__image {
22
- @include break-out;
23
- height: auto;
24
- display: block;
24
+ &__content {
25
+ @include column-default();
26
+ @include column(7, md);
27
+ @include column(6, xl);
25
28
 
26
- @include breakpoint('md') {
27
- position: absolute;
28
- top: 50%;
29
- transform: translateY(-50%);
30
- border-bottom: 0;
29
+ @include breakpoint('xs') {
30
+ padding-top: rem(32px);
31
+ padding-bottom: rem(32px);
31
32
  }
32
- }
33
33
 
34
- &__content-area {
35
- @include break-out;
34
+ @include breakpoint('md') {
35
+ min-height: rem(260px);
36
+ display: flex;
37
+ flex-direction: column;
38
+ justify-content: center;
39
+ }
36
40
 
37
- @include breakpoint('md') {
38
- @include break-out-reset;
39
- height: rem(380px);
40
- width: 100%;
41
+ @include breakpoint('lg') {
42
+ padding-top: rem(88px);
43
+ padding-bottom: rem(88px);
41
44
  }
42
- }
43
45
 
44
- &__content {
45
- @include font-stack;
46
- @include font-size('md');
47
- @include nsw-spacing(padding, md);
48
- background-color: $light20;
49
- border-top: solid 6px $nsw-primary-highlight;
50
- display: flex;
51
- flex-direction: column;
46
+ .nsw-hero-banner--wide & {
47
+ @include column(8, md);
48
+ @include column(7, xl);
49
+ }
52
50
 
53
- @include breakpoint('md') {
54
- @include nsw-spacing(padding, md lg);
55
- position: relative;
56
- top: 50%;
57
- background-color: map-get($overlays, light);
58
- transform: translateY(-50%);
59
- max-width: rem(600px);
60
- }
51
+ .nsw-hero-banner--featured & {
52
+ @include breakpoint('md') {
53
+ min-height: 0;
54
+ display: block;
55
+ }
56
+ }
61
57
 
62
- p {
63
- margin: 0;
58
+ .nsw-button {
59
+ margin: rem(24px) 0 0 0;
64
60
  }
65
61
 
66
- * + p {
67
- @include nsw-spacing(margin-top, md);
62
+ .nsw-intro {
63
+ margin: rem(8px) 0 0 0;
64
+
65
+ @include breakpoint('md') {
66
+ margin-top: rem(16px);
67
+ }
68
68
  }
69
+ }
69
70
 
70
- &:focus-within {
71
- @include nsw-focus;
71
+ &__links {
72
+ @include column-default();
73
+ @include column(4, md);
74
+ @include column(4, xl, 1);
72
75
 
73
- .nsw-hero-banner__link {
74
- text-decoration: none;
75
- }
76
+ @include breakpoint('xs') {
77
+ margin-top: rem(-8px);
78
+ padding-top: 0;
79
+ padding-bottom: rem(32px);
76
80
  }
77
81
 
78
- .nsw-icon {
79
- width: rem(32);
80
- height: rem(32);
82
+ @include breakpoint('md') {
83
+ margin-top: 0;
84
+ padding-top: rem(32px);
81
85
  }
82
86
 
83
- .nsw-material-icons {
84
- font-size: 40px;
85
- line-height: 38px;
87
+ @include breakpoint('lg') {
88
+ padding-top: rem(88px);
89
+ padding-bottom: rem(88px);
86
90
  }
87
91
  }
88
92
 
89
- &__title {
90
- @include font-stack('heading');
91
- @include font-size('xxl');
92
- @include nsw-spacing(margin, none);
93
+ &__list {
94
+ @include z-index;
95
+ border-left: solid 4px var(--nsw-brand-accent);
96
+ padding-left: rem(16px);
97
+ position: relative;
98
+
99
+ ul {
100
+ margin: 0;
101
+ padding: 0;
102
+ list-style: none;
103
+ }
104
+
105
+ li {
106
+ display: block;
107
+ margin-top: rem(16px);
108
+
109
+ &:first-child {
110
+ margin-top: 0;
111
+ }
112
+ }
93
113
  }
94
114
 
95
- &__icon {
96
- @include nsw-spacing(margin, md none none none);
115
+ &__sub-title {
116
+ @include font-size(md);
117
+ margin: 0 0 rem(16px) 0;
118
+ font-weight: var(--nsw-font-bold);
97
119
  }
98
120
 
99
- &__link {
100
- @include pseudo-clickable-block;
101
- text-decoration: none;
102
- color: $dark80;
121
+ &__box {
122
+ display: none;
123
+ position: absolute;
124
+ right: 0;
125
+ top: 0;
126
+ bottom: 0;
127
+ width: 41.66667%;
128
+ padding-left: rem($grid-gutters*2);
129
+ overflow: hidden;
103
130
 
104
- &:hover {
105
- text-decoration: underline;
131
+ @include breakpoint('md') {
132
+ display: flex;
106
133
  }
107
134
 
108
- &:focus {
109
- outline: none;
110
- text-decoration: underline;
135
+ @include breakpoint('xl') {
136
+ width: 50%;
137
+ padding-left: calc(var(--nsw-container-width)/12+#{rem($grid-gutters)}*2);
111
138
  }
112
139
  }
113
140
 
141
+ &__image {
142
+ width: 100%;
143
+ height: 100%;
144
+ object-fit: cover;
145
+ object-position: center;
146
+ }
147
+
148
+ &__graphic {
149
+ width: 100%;
150
+ height: 100%;
151
+ display: flex;
152
+ justify-content: flex-end;
153
+ align-items: flex-end;
154
+
155
+ &--transparent {
156
+ opacity: 0.2;
157
+ }
158
+ }
159
+
160
+ &__bg {
161
+ width: 100%;
162
+ height: 100%;
163
+ overflow: hidden;
164
+ color: var(--nsw-brand-dark);
165
+ opacity: 0.2;
166
+ /*
167
+ background-image: url("data:image/svg+xml,%3Csvg width='206' height='220' viewBox='0 0 206 220' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M206 220V36.232L32.136 220H206zm-189.5 0H0L206 2.143v17.46L16.5 220z'/%3E%3C/svg%3E");
168
+ background-size: rem(206px);
169
+ background-position: right bottom;
170
+ background-repeat: no-repeat;
171
+ */
172
+ }
173
+
174
+ &--light {
175
+ background-color: var(--nsw-brand-light);
176
+ }
177
+
114
178
  &--dark {
115
- #{$parent}__content {
116
- color: $white;
117
- background-color: $dark80;
179
+ background-color: var(--nsw-brand-dark);
118
180
 
119
- @include breakpoint('md') {
120
- background-color: map-get($overlays, dark);;
121
- }
181
+ .nsw-hero-banner__content {
182
+ color: var(--nsw-text-light);
122
183
  }
123
184
 
124
- #{$parent}__link {
125
- color: $white;
185
+ .nsw-hero-banner__links {
186
+ color: var(--nsw-text-light);
187
+
188
+ a {
189
+ @include link-light;
190
+ }
126
191
  }
127
192
 
128
- #{$parent}__icon {
129
- fill: $white;
130
- color: $white;
193
+ /*
194
+ .nsw-hero-banner__bg {
195
+ background-image: url("data:image/svg+xml,%3Csvg width='206' height='220' viewBox='0 0 206 220' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M206 220V36.232L32.136 220H206zm-189.5 0H0L206 2.143v17.46L16.5 220z'/%3E%3C/svg%3E");
131
196
  }
197
+ */
132
198
  }
133
199
  }
@@ -1,63 +1,51 @@
1
1
  .hero-search {
2
-
3
2
  @include breakpoint('md') {
4
- @include nsw-spacing(padding, xl none);
5
- }
6
-
7
- &__title {
8
- @include font-stack('heading');
9
- @include font-size('xxxl');
10
- @include nsw-spacing(margin, none);
3
+ padding: rem(32px) rem(16px);
11
4
  }
12
5
 
13
6
  &__form {
14
- @include nsw-spacing(margin, lg none);
7
+ padding: rem(24px) 0;
15
8
 
16
- .nsw-material-icons {
17
- font-size: rem(36px);
18
- margin: 0 rem(-4px);
9
+ .nsw-material-icons {
10
+ &:first-child {
11
+ margin: 0;
12
+ }
19
13
  }
20
14
  }
21
15
 
22
- &__content {
23
- @include break-out;
24
- @include nsw-spacing(padding, xl md);
25
- @include border-radius;
26
- border-bottom-left-radius: 0;
27
- border-bottom-right-radius: 0;
28
- background-color: $light10;
29
- border-bottom: solid 6px $nsw-primary-highlight;
30
- text-align: center;
16
+ &__wrapper {
17
+ padding: rem(32px) rem(16px);
18
+ background-color: var(--nsw-off-white);
19
+ border-bottom: solid 6px var(--nsw-brand-accent);
31
20
 
32
21
  @include breakpoint('md') {
33
- @include nsw-spacing(padding, xl xxxxl);
34
- @include break-out-reset;
35
- }
36
-
37
- > * {
38
- max-width: rem(700);
39
- margin-left: auto;
40
- margin-right: auto;
22
+ border-top-left-radius: var(--nsw-border-radius);
23
+ border-top-right-radius: var(--nsw-border-radius);
24
+ padding: rem(32px) rem(80px);
41
25
  }
26
+ }
42
27
 
43
- p:not([class]) {
44
- @include font-size('md');
45
- margin-left: auto;
46
- margin-right: auto;
47
- }
28
+ &__content {
29
+ max-width: rem(700px);
30
+ margin: 0 auto;
31
+ text-align: center;
48
32
  }
49
33
 
50
34
  &__suggested {
51
- ul:not([class]) {
52
- @include nsw-spacing(padding-left, none);
35
+ ul {
53
36
  list-style: none;
54
37
  text-align: center;
55
- margin-top: rem(-8);
38
+ margin-top: rem(-8px);
39
+ padding: 0;
56
40
  }
57
41
 
58
42
  li {
59
- @include nsw-spacing(margin, none md);
43
+ margin: rem(8px) rem(16px) 0 rem(16px);
60
44
  display: inline-block;
61
45
  }
62
46
  }
47
+
48
+ .nsw-container {
49
+ padding: 0;
50
+ }
63
51
  }
@@ -0,0 +1,54 @@
1
+ //Variations
2
+ $nsw-in-page-alerts: (
3
+ info: (
4
+ border: var(--nsw-status-info),
5
+ background: var(--nsw-status-info-bg),
6
+ fill: var(--nsw-status-info),
7
+ ),
8
+ success: (
9
+ border: var(--nsw-status-success),
10
+ background: var(--nsw-status-success-bg),
11
+ fill: var(--nsw-status-success),
12
+ ),
13
+ warning: (
14
+ border: var(--nsw-status-warning),
15
+ background: var(--nsw-status-warning-bg),
16
+ fill: var(--nsw-status-warning),
17
+ ),
18
+ error: (
19
+ border: var(--nsw-status-error),
20
+ background: var(--nsw-status-error-bg),
21
+ fill: var(--nsw-status-error),
22
+ ),
23
+ );
24
+
25
+ .nsw-in-page-alert {
26
+ @include component-spacing();
27
+ padding: rem(16px);
28
+ position: relative;
29
+ border-left: solid 6px var(--nsw-brand-accent);
30
+ background-color: var(--nsw-grey-04);
31
+ display: flex;
32
+ flex-direction: row;
33
+ flex-wrap: nowrap;
34
+
35
+ @include breakpoint('md') {
36
+ padding: rem(24px) rem(24px) rem(24px) rem(16px);
37
+ }
38
+
39
+ &__icon {
40
+ font-size: rem(map-get($nsw-icon-sizes, 36));
41
+ margin-right: rem(16px);
42
+ }
43
+
44
+ @each $color, $variant in $nsw-in-page-alerts {
45
+ &--#{"" + $color} {
46
+ background-color: map-get($variant, background);
47
+ border-color: map-get($variant, border);
48
+
49
+ .nsw-in-page-alert__icon {
50
+ color: map-get($variant, fill);
51
+ }
52
+ }
53
+ }
54
+ }
@@ -0,0 +1,22 @@
1
+ .nsw-in-page-nav {
2
+ @include component-spacing();
3
+ padding: rem(16px);
4
+ border-left: solid 4px var(--nsw-brand-accent);
5
+
6
+ &__title {
7
+ @include font-size(md);
8
+ font-weight: var(--nsw-font-bold);
9
+ margin: 0;
10
+ }
11
+
12
+ ul {
13
+ padding: 0;
14
+ margin: 0;
15
+ list-style: none;
16
+ }
17
+
18
+ li {
19
+ display: block;
20
+ margin-top: rem(16px);
21
+ }
22
+ }
@@ -1,78 +1,59 @@
1
1
  .nsw-link-list {
2
- @include font-stack('heading');
3
2
  @include component-spacing();
4
3
 
5
4
  &__title {
6
5
  @include font-size('lg');
7
- @include nsw-spacing(padding-bottom, md);
6
+ font-weight: var(--nsw-font-bold);
7
+ padding-bottom: rem(16px);
8
8
 
9
9
  @include breakpoint('md') {
10
- @include nsw-spacing(padding-bottom, lg);
10
+ padding-bottom: rem(24px);
11
11
  }
12
12
  }
13
13
 
14
- &__list {
14
+ ul {
15
15
  margin: 0;
16
16
  padding: 0;
17
17
  list-style-type: none;
18
18
  }
19
19
 
20
- &__item {
21
- border-top: 1px solid $light20;
20
+ li {
21
+ margin: 0;
22
+ border-top: 1px solid var(--nsw-grey-04);
22
23
 
23
24
  &:last-child {
24
- border-bottom: 1px solid $light20;
25
+ border-bottom: 1px solid var(--nsw-grey-04);
25
26
  }
27
+ }
26
28
 
27
- a {
28
- @include nsw-spacing(padding, md);
29
- color: $nsw-primary-blue;
30
- display: flex;
31
- justify-content: space-between;
32
- align-items: center;
33
-
34
- &:hover {
35
- @include nsw-hover;
36
- }
37
29
 
38
- &:focus {
39
- @include nsw-focus;
40
- }
30
+ a {
31
+ padding: rem(16px);
32
+ color: var(--nsw-brand-dark);
33
+ display: flex;
34
+ justify-content: space-between;
35
+ align-items: center;
36
+ text-decoration: none;
41
37
 
42
- span {
43
- text-decoration: underline;
44
- }
38
+ &:hover {
39
+ outline-width: 0;
45
40
  }
46
41
 
47
- a:not([class]) {
48
- text-decoration: none;
49
-
50
- &:visited {
51
- color: $nsw-primary-blue;
52
- }
53
-
54
- &:active {
55
- background-color: $hover-colour;
56
- color: $nsw-primary-blue;
57
- }
42
+ &:focus {
43
+ outline-width: 3px;
58
44
  }
59
45
 
60
- .nsw-link-list__link {
46
+ span {
61
47
  text-decoration: underline;
62
48
  }
63
- }
64
-
65
- &__icon {
66
- @include nsw-spacing(margin-left, md);
67
- flex: none;
68
- font-size: rem(20px);
69
- position: relative;
70
- right: -2px;
71
49
 
72
- &.nsw-icon {
73
- width: rem(16px);
74
- height: rem(16px);
75
- position: static;
50
+ .nsw-material-icons {
51
+ text-decoration: none;
76
52
  }
77
53
  }
54
+
55
+ .nsw-material-icons {
56
+ font-size: rem(map-get($nsw-icon-sizes, 20));
57
+ margin-left: rem(16px);
58
+ }
78
59
  }
@@ -1,38 +1,21 @@
1
1
  .nsw-list-item {
2
- @include font-stack;
3
- background-color: $white;
4
2
  position: relative;
5
3
  display: flex;
6
4
  flex-direction: row;
7
5
  flex-wrap: nowrap;
8
6
  padding: rem(24px) 0;
9
- border-bottom: 1px solid $light20;
7
+ border-bottom: 1px solid var(--nsw-grey-04);
10
8
 
11
9
  &:first-child {
12
- border-top: 1px solid $light20;
13
- }
14
-
15
- &:hover {
16
- .nsw-list-item__link {
17
- text-decoration: none;
18
- }
19
- }
20
-
21
- &:focus-within {
22
- @include nsw-focus;
23
-
24
- .nsw-card__link {
25
- text-decoration: none;
26
- }
10
+ border-top: 1px solid var(--nsw-grey-04);
27
11
  }
28
12
 
29
13
  &__title {
30
- @include font-stack('heading');
31
14
  @include font-size('md');
15
+ font-weight: var(--nsw-font-bold);
32
16
  }
33
17
 
34
18
  &__content {
35
- @include font-size('sm');
36
19
  width: 100%;
37
20
  }
38
21
 
@@ -41,7 +24,7 @@
41
24
  &__title,
42
25
  &__copy,
43
26
  &__tags {
44
- margin: rem(8px) 0 0;
27
+ margin-top: rem(8px);
45
28
 
46
29
  &:first-child {
47
30
  margin: 0;
@@ -54,25 +37,10 @@
54
37
  }
55
38
 
56
39
  &__label {
57
- font-weight: bolder;
58
- }
59
-
60
- &__link {
61
- @include pseudo-clickable-block;
62
- text-decoration: underline;
63
- color: $nsw-primary-blue;
64
-
65
- &:hover {
66
- text-decoration: none;
67
- }
68
-
69
- &:focus {
70
- outline: none;
71
- text-decoration: underline;
72
- }
40
+ font-weight: var(--nsw-font-bold);
73
41
  }
74
42
 
75
- &__image-area {
43
+ &__image {
76
44
  min-width: rem(250px);
77
45
  width: rem(250px);
78
46
  margin: 0 0 0 rem(24px);
@@ -81,18 +49,38 @@
81
49
  @include breakpoint('lg') {
82
50
  display: block;
83
51
  }
52
+
53
+ img {
54
+ width: 100%;
55
+ height: 100%;
56
+ object-fit: cover;
57
+ }
84
58
  }
85
59
 
86
- &__image {
87
- width: 100%;
88
- height: 100%;
89
- object-fit: cover;
60
+ &--block {
61
+ &:focus-within {
62
+ @include nsw-focus($offset: false);
63
+ }
64
+
65
+ &:hover {
66
+ .nsw-list-item__title a {
67
+ @include nsw-hover;
68
+ }
69
+ }
70
+
71
+ .nsw-list-item__title a {
72
+ @include pseudo-clickable-block;
73
+
74
+ &:focus {
75
+ outline: none;
76
+ }
77
+ }
90
78
  }
91
79
 
92
80
  &--reversed {
93
81
  flex-direction: row-reverse;
94
82
 
95
- .nsw-list-item__image-area {
83
+ .nsw-list-item__image {
96
84
  margin: 0 rem(24px) 0 0;
97
85
  }
98
86
  }