@oslokommune/punkt-css 12.37.2 → 12.38.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.
@@ -6,7 +6,7 @@
6
6
  @forward 'spacing';
7
7
 
8
8
  // Default icon path
9
- $icon-path: 'https://punkt-cdn.oslo.kommune.no/12.37/icons' !default;
9
+ $icon-path: 'https://punkt-cdn.oslo.kommune.no/12.38/icons' !default;
10
10
 
11
11
  // Borders
12
12
  $border-width: (
@@ -8,70 +8,246 @@
8
8
 
9
9
  pkt-card {
10
10
  display: block;
11
+ width: 100%;
11
12
  }
12
13
 
13
14
  .pkt-card {
14
- padding: map.get(variables.$spacing, 'size-24');
15
+ position: relative;
15
16
  display: flex;
16
- gap: 2rem;
17
+ align-items: center;
18
+ width: 100%;
19
+ min-width: 12.5rem;
20
+ padding: map.get(variables.$spacing, 'size-32');
17
21
 
18
- &__wrapper {
22
+ .pkt-card__wrapper {
19
23
  display: flex;
20
24
  flex-direction: column;
21
- gap: 1rem;
25
+ flex: 1 1 53%;
26
+ width: 100%;
27
+ overflow: hidden;
22
28
  }
23
29
 
24
- &__tags {
30
+ // PADDING AND MARGINS
31
+
32
+ &.pkt-card--padding-none {
33
+ padding: 0;
34
+ background-color: transparent;
35
+ }
36
+
37
+ // HEADINGS, TEXT, SUBTEXT
38
+
39
+ .pkt-card__heading {
40
+ h1,
41
+ h2,
42
+ h3,
43
+ h4,
44
+ h5 {
45
+ padding: 0;
46
+ margin: 0;
47
+ font-size: map.get(variables.$font-size, 'size-30');
48
+ font-weight: map.get(variables.$font-weight, 'regular');
49
+ margin-bottom: map.get(variables.$spacing, 'size-8');
50
+ hyphens: auto;
51
+ overflow-wrap: break-word;
52
+ }
53
+ }
54
+
55
+ .pkt-card__link {
56
+ text-decoration-thickness: 0.12rem;
57
+ text-underline-offset: 0.15em;
58
+ }
59
+
60
+ p.pkt-card__subheading {
61
+ padding: 0;
62
+ margin: 0;
63
+ line-height: unset;
64
+ margin-bottom: map.get(variables.$spacing, 'size-16');
65
+ font-size: map.get(variables.$font-size, 'size-20');
66
+ font-weight: map.get(variables.$font-weight, 'light');
67
+ hyphens: auto;
68
+ overflow-wrap: break-word;
69
+ }
70
+
71
+ .pkt-card__creditline {
72
+ margin-top: map.get(variables.$spacing, 'size-16');
73
+ margin-bottom: 0;
74
+ line-height: unset;
75
+ gap: map.get(variables.$spacing, 'size-8');
76
+ }
77
+
78
+ .pkt-card__creditline-author {
79
+ font-weight: map.get(variables.$font-weight, 'medium');
80
+ }
81
+
82
+ .pkt-card__tags {
25
83
  display: flex;
26
- gap: 1rem;
84
+ flex-wrap: wrap;
85
+ gap: 6px;
86
+ margin-bottom: map.get(variables.$spacing, 'size-8');
87
+ margin-top: 0;
88
+ &-bottom {
89
+ margin-top: map.get(variables.$spacing, 'size-8');
90
+ margin-bottom: 0;
91
+ }
27
92
  }
28
93
 
29
94
  // DIRECTION
30
- &--landscape {
95
+
96
+ &.pkt-card--landscape {
31
97
  flex-direction: row;
32
- max-width: 950px;
33
98
 
34
- .pkt-card__image {
35
- min-width: 320px;
36
- overflow: hidden;
37
- img {
38
- height: 100%;
39
- width: 100%;
40
- object-fit: cover;
41
- object-position: center;
42
- }
99
+ @media screen and (max-width: map.get(variables.$breakpoints, 'phablet')) {
100
+ flex-direction: column;
43
101
  }
44
102
  }
45
103
 
46
- &--portrait {
104
+ &.pkt-card--portrait {
47
105
  flex-direction: column;
48
- max-width: 500px;
106
+ min-width: 12.5rem;
107
+ }
108
+
109
+ // IMAGE
110
+
111
+ .pkt-card__image {
112
+ aspect-ratio: 1;
113
+ flex: 1 1 47%;
114
+ width: 100%;
115
+ overflow: hidden;
116
+
117
+ img {
118
+ display: block;
119
+ width: 100%;
120
+ height: 100%;
121
+ object-fit: cover;
122
+ object-position: center;
123
+ }
49
124
 
125
+ &.pkt-card__image-round {
126
+ border-radius: 50%;
127
+ align-self: unset;
128
+ max-height: 400px;
129
+ max-width: 400px;
130
+ }
131
+ }
132
+
133
+ //landscape image styles
134
+ &.pkt-card--landscape {
50
135
  .pkt-card__image {
136
+ max-width: 400px;
137
+ margin-right: 2rem;
138
+ &-square {
139
+ align-self: stretch;
140
+ }
141
+
142
+ @media screen and (max-width: map.get(variables.$breakpoints, 'phablet')) {
143
+ margin-right: 0;
144
+ margin-bottom: 2rem;
145
+ max-height: 400px;
146
+ &-square {
147
+ max-width: unset;
148
+ }
149
+ }
150
+ }
151
+ }
152
+
153
+ // portait image styles
154
+ &.pkt-card--portrait {
155
+ .pkt-card__image {
156
+ margin-bottom: 2rem;
51
157
  max-height: 400px;
52
- overflow: hidden;
53
- img {
54
- width: 100%;
55
- height: 100%;
56
- object-fit: cover;
57
- object-position: center;
158
+ }
159
+ }
160
+
161
+ // Padding none variants
162
+ &.pkt-card--padding-none {
163
+ &.pkt-card--portrait {
164
+ .pkt-card__image-square {
165
+ aspect-ratio: 19 / 10;
166
+ }
167
+ }
168
+
169
+ &.pkt-card--landscape {
170
+ .pkt-card__image-square {
171
+ @media screen and (max-width: map.get(variables.$breakpoints, 'phablet')) {
172
+ aspect-ratio: 19 / 10;
173
+ }
58
174
  }
59
175
  }
60
176
  }
61
177
 
178
+ // LINK
179
+
180
+ .pkt-card__wrapper .pkt-card__link::before {
181
+ content: '';
182
+ position: absolute;
183
+ inset: 0;
184
+ z-index: 1;
185
+ box-shadow: 0px 0px 0px 0px transparent;
186
+ outline: 2px solid var(--pkt-color-brand-warm-blue-1000);
187
+ outline-offset: -2px;
188
+ outline-color: transparent;
189
+ transition: all 0.3s ease-in-out;
190
+ }
191
+
192
+ .pkt-card__link-heading {
193
+ transition:
194
+ color 0.2s ease-in-out,
195
+ text-decoration-color 0.2s ease-in-out;
196
+ }
197
+
198
+ // HOVER STATE
199
+
200
+ &:hover,
201
+ &:focus-visible,
202
+ &:focus-within {
203
+ &.pkt-card--border-on-hover .pkt-card__link::before {
204
+ cursor: pointer;
205
+ outline-color: var(--pkt-color-brand-warm-blue-1000);
206
+ }
207
+ .pkt-card__link-heading {
208
+ color: var(--pkt-color-brand-warm-blue-1000);
209
+ text-decoration-color: var(--pkt-color-brand-warm-blue-1000);
210
+ }
211
+ }
212
+
213
+ // FOCUS STATES
214
+
215
+ .pkt-card__link:focus {
216
+ outline: none;
217
+ box-shadow: none;
218
+ }
219
+
220
+ .pkt-card__link-heading:focus-within {
221
+ color: var(--pkt-color-brand-warm-blue-1000);
222
+ text-decoration-color: var(--pkt-color-brand-warm-blue-1000);
223
+ }
224
+
225
+ .pkt-card__wrapper .pkt-card__link:focus-visible::before {
226
+ box-shadow: 0px 0px 0px 4px var(--pkt-color-brand-purple-1000);
227
+ }
228
+
62
229
  // SKINS
63
230
 
64
- &--outlined {
65
- border: 3px solid var(--pkt-color-grays-gray-100);
231
+ &--outlined,
232
+ &--outlined-beige {
66
233
  background-color: var(--pkt-color-background-default);
234
+ outline-offset: -4px;
235
+ }
236
+
237
+ &--outlined {
238
+ outline: 4px solid var(--pkt-color-grays-gray-100);
239
+ }
240
+
241
+ &--outlined-beige {
242
+ outline: 4px solid var(--pkt-color-brand-light-beige-1000);
67
243
  }
68
244
 
69
245
  &--gray {
70
- background-color: var(--pkt-color-background-subtle);
246
+ background-color: var(--pkt-color-brand-neutrals-100);
71
247
  }
72
248
 
73
249
  &--blue {
74
- background-color: var(--pkt-color-brand-blue-300);
250
+ background-color: var(--pkt-color-brand-blue-200);
75
251
  }
76
252
 
77
253
  &--green {
@@ -82,15 +258,8 @@ pkt-card {
82
258
  background-color: var(--pkt-color-brand-light-beige-1000);
83
259
  }
84
260
 
85
- // Removes auto paddings and margins that comes with these elements so that we can control
86
- // the gaps between each elements ourseles
87
- h1,
88
- h2,
89
- h3,
90
- h4,
91
- h5,
92
- p {
93
- padding: 0;
94
- margin: 0;
261
+ &--padding-none {
262
+ background-color: transparent;
263
+ outline: none;
95
264
  }
96
265
  }
@@ -357,6 +357,7 @@ $-skins: (
357
357
  column-gap: 0.5rem;
358
358
  -webkit-appearance: none;
359
359
  appearance: none;
360
+ width: fit-content;
360
361
 
361
362
  // button sizes & variants
362
363
 
@@ -419,8 +420,8 @@ $-skins: (
419
420
  div.pkt-btn:not([data-disabled]):active,
420
421
  &:enabled:active,
421
422
  &:active:not(:disabled):not([disabled]):not([data-disabled]),
422
- &.pkt-btn--active,
423
- &.pkt-btn--active:hover {
423
+ &.pkt-btn--active:not(:disabled):not([disabled]):not([data-disabled]),
424
+ &.pkt-btn--active:not(:disabled):not([disabled]):not([data-disabled]):hover {
424
425
  background-color: var(--pkt-color-button-background-active);
425
426
  border-color: var(--pkt-color-button-border-active);
426
427
  color: var(--pkt-color-button-text-active);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oslokommune/punkt-css",
3
- "version": "12.37.2",
3
+ "version": "12.38.2",
4
4
  "description": "CSS-rammeverket til Punkt, et designsystem laget av Oslo Origo",
5
5
  "homepage": "https://punkt.oslo.kommune.no",
6
6
  "author": "Team Designsystem, Oslo Origo",
@@ -57,5 +57,5 @@
57
57
  "url": "https://github.com/oslokommune/punkt/issues"
58
58
  },
59
59
  "license": "MIT",
60
- "gitHead": "d6608a66551554a1f07952e1c1f7ffe414190a54"
60
+ "gitHead": "8fbbad35ae8acad17550674f96d23f8b77044c8d"
61
61
  }