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,133 +1,199 @@
1
1
  .nsw-hero-banner {
2
- $parent: &;
2
+ background-color: var(--nsw-white);
3
+ position: relative;
3
4
  position: relative;
4
- font-family: var(--nsw-font-family);
5
5
 
6
- @include breakpoint('md') {
7
- height: rem(380px);
8
- 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);
9
14
  }
10
15
 
11
- &__image-area {
16
+ &__container {
17
+ @include container;
18
+ }
12
19
 
13
- @include breakpoint('md') {
14
- position: absolute;
15
- top: 0;
16
- left: 0;
17
- bottom: 0;
18
- right: 0;
19
- }
20
+ &__wrapper {
21
+ @include grid();
20
22
  }
21
23
 
22
- &__image {
23
- @include break-out;
24
- height: auto;
25
- display: block;
24
+ &__content {
25
+ @include column-default();
26
+ @include column(7, md);
27
+ @include column(6, xl);
26
28
 
27
- @include breakpoint('md') {
28
- position: absolute;
29
- top: 50%;
30
- transform: translateY(-50%);
31
- border-bottom: 0;
29
+ @include breakpoint('xs') {
30
+ padding-top: rem(32px);
31
+ padding-bottom: rem(32px);
32
32
  }
33
- }
34
33
 
35
- &__content-area {
36
- @include break-out;
34
+ @include breakpoint('md') {
35
+ min-height: rem(260px);
36
+ display: flex;
37
+ flex-direction: column;
38
+ justify-content: center;
39
+ }
37
40
 
38
- @include breakpoint('md') {
39
- @include break-out-reset;
40
- height: rem(380px);
41
- width: 100%;
41
+ @include breakpoint('lg') {
42
+ padding-top: rem(88px);
43
+ padding-bottom: rem(88px);
42
44
  }
43
- }
44
45
 
45
- &__content {
46
- @include font-size('md');
47
- @include nsw-spacing(padding, md);
48
- background-color: var(--nsw-white-10);
49
- border-top: solid 6px var(--nsw-brand-accent);
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);
51
+ .nsw-hero-banner--featured & {
52
+ @include breakpoint('md') {
53
+ min-height: 0;
54
+ display: block;
55
+ }
56
+ }
57
+
58
+ .nsw-button {
59
+ margin: rem(24px) 0 0 0;
60
60
  }
61
61
 
62
- p {
63
- margin: 0;
62
+ .nsw-intro {
63
+ margin: rem(8px) 0 0 0;
64
+
65
+ @include breakpoint('md') {
66
+ margin-top: rem(16px);
67
+ }
64
68
  }
69
+ }
70
+
71
+ &__links {
72
+ @include column-default();
73
+ @include column(4, md);
74
+ @include column(4, xl, 1);
65
75
 
66
- * + p {
67
- @include nsw-spacing(margin-top, md);
76
+ @include breakpoint('xs') {
77
+ margin-top: rem(-8px);
78
+ padding-top: 0;
79
+ padding-bottom: rem(32px);
68
80
  }
69
81
 
70
- &:focus-within {
71
- @include nsw-focus;
82
+ @include breakpoint('md') {
83
+ margin-top: 0;
84
+ padding-top: rem(32px);
85
+ }
72
86
 
73
- .nsw-hero-banner__link {
74
- text-decoration: none;
75
- }
87
+ @include breakpoint('lg') {
88
+ padding-top: rem(88px);
89
+ padding-bottom: rem(88px);
76
90
  }
91
+ }
92
+
93
+ &__list {
94
+ @include z-index;
95
+ border-left: solid 2px var(--nsw-brand-accent);
96
+ padding-left: rem(16px);
97
+ position: relative;
77
98
 
78
- .nsw-icon {
79
- width: rem(32);
80
- height: rem(32);
99
+ ul {
100
+ margin: 0;
101
+ padding: 0;
102
+ list-style: none;
81
103
  }
82
104
 
83
- .nsw-material-icons {
84
- font-size: 40px;
85
- line-height: 38px;
105
+ li {
106
+ display: block;
107
+ margin-top: rem(16px);
108
+
109
+ &:first-child {
110
+ margin-top: 0;
111
+ }
86
112
  }
87
113
  }
88
114
 
89
- &__title {
90
- @include font-size('xl');
91
- @include nsw-spacing(margin, none);
115
+ &__sub-title {
116
+ @include font-size(md);
117
+ margin: 0 0 rem(16px) 0;
92
118
  font-weight: var(--nsw-font-bold);
93
119
  }
94
120
 
95
- &__icon {
96
- @include nsw-spacing(margin, md none none none);
97
- }
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;
98
130
 
99
- &__link {
100
- @include pseudo-clickable-block;
101
- text-decoration: none;
102
- color: var(--nsw-text-dark);
131
+ @include breakpoint('md') {
132
+ display: flex;
133
+ }
103
134
 
104
- &:hover {
105
- text-decoration: underline;
135
+ @include breakpoint('xl') {
136
+ width: 50%;
137
+ padding-left: calc(var(--nsw-container-width)/12+#{rem($grid-gutters)}*2);
106
138
  }
139
+ }
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;
107
154
 
108
- &:focus {
109
- outline: none;
110
- text-decoration: underline;
155
+ &--transparent {
156
+ opacity: 0.2;
111
157
  }
112
158
  }
113
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: var(--nsw-text-light);
117
- background-color: var(--nsw-text-dark);
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 {
185
+ .nsw-hero-banner__links {
125
186
  color: var(--nsw-text-light);
187
+
188
+ a {
189
+ @include link-light;
190
+ }
126
191
  }
127
192
 
128
- #{$parent}__icon {
129
- fill: var(--nsw-text-light);
130
- color: var(--nsw-text-light);
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,72 +1,51 @@
1
1
  .hero-search {
2
- font-family: var(--nsw-font-family);
3
-
4
2
  @include breakpoint('md') {
5
- @include nsw-spacing(padding, xl none);
6
- }
7
-
8
- &__title {
9
- @include font-size('xxl');
10
- @include nsw-spacing(margin, none);
11
- font-weight: var(--nsw-font-bold);
3
+ padding: rem(32px) rem(16px);
12
4
  }
13
5
 
14
6
  &__form {
15
- @include nsw-spacing(margin, lg none);
7
+ padding: rem(24px) 0;
16
8
 
17
- .nsw-material-icons {
18
- font-size: rem(36px);
19
-
20
- &:first-child,
21
- &:last-child {
22
- margin: 0 rem(-4px);
9
+ .nsw-material-icons {
10
+ &:first-child {
11
+ margin: 0;
23
12
  }
24
13
  }
25
14
  }
26
15
 
27
- &__content {
28
- @include break-out;
29
- @include nsw-spacing(padding, xl md);
30
- border-radius: var(--nsw-border-radius);
31
- border-bottom-left-radius: 0;
32
- border-bottom-right-radius: 0;
16
+ &__wrapper {
17
+ padding: rem(32px) rem(16px);
33
18
  background-color: var(--nsw-off-white);
34
- border-bottom: solid 6px var(--nsw-brand-accent);
35
- text-align: center;
19
+ border-bottom: solid 4px var(--nsw-brand-accent);
36
20
 
37
21
  @include breakpoint('md') {
38
- @include nsw-spacing(padding, xl xxxxl);
39
- @include break-out-reset;
40
- }
41
-
42
- > * {
43
- max-width: rem(700);
44
- margin-left: auto;
45
- 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);
46
25
  }
26
+ }
47
27
 
48
- p:not([class]) {
49
- @include font-size('md');
50
- margin-left: auto;
51
- margin-right: auto;
52
- }
28
+ &__content {
29
+ max-width: rem(700px);
30
+ margin: 0 auto;
31
+ text-align: center;
53
32
  }
54
33
 
55
34
  &__suggested {
56
- ul:not([class]) {
57
- @include nsw-spacing(padding-left, none);
35
+ ul {
58
36
  list-style: none;
59
37
  text-align: center;
60
- margin-top: rem(-8);
38
+ margin-top: rem(-8px);
39
+ padding: 0;
61
40
  }
62
41
 
63
42
  li {
64
- @include nsw-spacing(margin, none md);
43
+ margin: rem(8px) rem(16px) 0 rem(16px);
65
44
  display: inline-block;
66
45
  }
46
+ }
67
47
 
68
- a {
69
- @include link;
70
- }
48
+ .nsw-container {
49
+ padding: 0;
71
50
  }
72
51
  }
@@ -0,0 +1,66 @@
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 4px 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, 30));
41
+ margin-right: rem(16px);
42
+ margin-top: rem(-2px);
43
+ }
44
+
45
+ @each $color, $variant in $nsw-in-page-alerts {
46
+ &--#{"" + $color} {
47
+ background-color: map-get($variant, background);
48
+ border-color: map-get($variant, border);
49
+
50
+ .nsw-in-page-alert__icon {
51
+ color: map-get($variant, fill);
52
+ }
53
+ }
54
+ }
55
+
56
+ &--compact {
57
+ padding: rem(8px);
58
+ border: 0;
59
+
60
+ .nsw-in-page-alert__icon {
61
+ font-size: rem(map-get($nsw-icon-sizes, 20));
62
+ margin-right: rem(8px);
63
+ margin-top: 0;
64
+ }
65
+ }
66
+ }
@@ -0,0 +1,22 @@
1
+ .nsw-in-page-nav {
2
+ @include component-spacing();
3
+ padding: rem(16px);
4
+ border-left: solid 2px 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,74 +1,59 @@
1
1
  .nsw-link-list {
2
2
  @include component-spacing();
3
- font-family: var(--nsw-font-family);
4
- font-weight: var(--nsw-font-bold);
5
3
 
6
4
  &__title {
7
5
  @include font-size('lg');
8
- @include nsw-spacing(padding-bottom, md);
6
+ font-weight: var(--nsw-font-bold);
7
+ padding-bottom: rem(16px);
9
8
 
10
9
  @include breakpoint('md') {
11
- @include nsw-spacing(padding-bottom, lg);
10
+ padding-bottom: rem(24px);
12
11
  }
13
12
  }
14
13
 
15
- &__list {
14
+ ul {
16
15
  margin: 0;
17
16
  padding: 0;
18
17
  list-style-type: none;
19
18
  }
20
19
 
21
- &__item {
20
+ li {
21
+ margin: 0;
22
22
  border-top: 1px solid var(--nsw-grey-04);
23
23
 
24
24
  &:last-child {
25
25
  border-bottom: 1px solid var(--nsw-grey-04);
26
26
  }
27
+ }
27
28
 
28
- a {
29
- @include nsw-spacing(padding, md);
30
- color: var(--nsw-brand-dark);
31
- display: flex;
32
- justify-content: space-between;
33
- align-items: center;
34
-
35
- &:hover {
36
- @include nsw-hover;
37
- }
38
29
 
39
- &:focus {
40
- @include nsw-focus;
41
- }
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;
42
37
 
43
- span {
44
- text-decoration: underline;
45
- }
38
+ &:hover {
39
+ outline-width: 0;
46
40
  }
47
41
 
48
- a:not([class]) {
49
- text-decoration: none;
50
-
51
- &:visited {
52
- color: var(--nsw-brand-dark);
53
- }
42
+ &:focus {
43
+ outline-width: 3px;
54
44
  }
55
45
 
56
- .nsw-link-list__link {
46
+ span {
57
47
  text-decoration: underline;
58
48
  }
59
- }
60
-
61
- &__icon {
62
- @include nsw-spacing(margin-left, md);
63
- flex: none;
64
- font-size: rem(20px);
65
- position: relative;
66
- right: -2px;
67
49
 
68
- &.nsw-icon {
69
- width: rem(16px);
70
- height: rem(16px);
71
- position: static;
50
+ .nsw-material-icons {
51
+ text-decoration: none;
72
52
  }
73
53
  }
54
+
55
+ .nsw-material-icons {
56
+ font-size: rem(map-get($nsw-icon-sizes, 20));
57
+ margin-left: rem(16px);
58
+ }
74
59
  }
@@ -1,6 +1,4 @@
1
1
  .nsw-list-item {
2
- font-family: var(--nsw-font-family);
3
- background-color: var(--nsw-white);
4
2
  position: relative;
5
3
  display: flex;
6
4
  flex-direction: row;
@@ -12,31 +10,12 @@
12
10
  border-top: 1px solid var(--nsw-grey-04);
13
11
  }
14
12
 
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
- }
27
- }
28
-
29
- a:not([class]) {
30
- @include link;
31
- }
32
-
33
13
  &__title {
34
14
  @include font-size('md');
35
15
  font-weight: var(--nsw-font-bold);
36
16
  }
37
17
 
38
18
  &__content {
39
- @include font-size('sm');
40
19
  width: 100%;
41
20
  }
42
21
 
@@ -45,7 +24,7 @@
45
24
  &__title,
46
25
  &__copy,
47
26
  &__tags {
48
- margin: rem(8px) 0 0;
27
+ margin-top: rem(8px);
49
28
 
50
29
  &:first-child {
51
30
  margin: 0;
@@ -58,25 +37,10 @@
58
37
  }
59
38
 
60
39
  &__label {
61
- font-weight: bolder;
62
- }
63
-
64
- &__link {
65
- @include pseudo-clickable-block;
66
- text-decoration: underline;
67
- color: var(--nsw-brand-dark);
68
-
69
- &:hover {
70
- text-decoration: none;
71
- }
72
-
73
- &:focus {
74
- outline: none;
75
- text-decoration: underline;
76
- }
40
+ font-weight: var(--nsw-font-bold);
77
41
  }
78
42
 
79
- &__image-area {
43
+ &__image {
80
44
  min-width: rem(250px);
81
45
  width: rem(250px);
82
46
  margin: 0 0 0 rem(24px);
@@ -85,18 +49,38 @@
85
49
  @include breakpoint('lg') {
86
50
  display: block;
87
51
  }
52
+
53
+ img {
54
+ width: 100%;
55
+ height: 100%;
56
+ object-fit: cover;
57
+ }
88
58
  }
89
59
 
90
- &__image {
91
- width: 100%;
92
- height: 100%;
93
- 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
+ }
94
78
  }
95
79
 
96
80
  &--reversed {
97
81
  flex-direction: row-reverse;
98
82
 
99
- .nsw-list-item__image-area {
83
+ .nsw-list-item__image {
100
84
  margin: 0 rem(24px) 0 0;
101
85
  }
102
86
  }