@oslokommune/punkt-css 18.3.2 → 18.5.0

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 (80) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/css/components/backlink.css +4 -0
  3. package/dist/css/components/backlink.min.css +1 -1
  4. package/dist/css/components/breadcrumbs.css +4 -0
  5. package/dist/css/components/breadcrumbs.min.css +1 -1
  6. package/dist/css/components/card.css +64 -11
  7. package/dist/css/components/card.min.css +1 -1
  8. package/dist/css/components/consent.css +3 -0
  9. package/dist/css/components/consent.min.css +1 -0
  10. package/dist/css/components/datepicker.css +5 -0
  11. package/dist/css/components/datepicker.min.css +1 -1
  12. package/dist/css/components/footer.css +5 -0
  13. package/dist/css/components/footer.min.css +1 -1
  14. package/dist/css/components/header-global.css +4 -0
  15. package/dist/css/components/header-global.min.css +1 -1
  16. package/dist/css/components/header-menu.css +4 -0
  17. package/dist/css/components/header-menu.min.css +1 -1
  18. package/dist/css/components/header-service.css +4 -0
  19. package/dist/css/components/header-service.min.css +1 -1
  20. package/dist/css/components/header-user-menu.css +4 -0
  21. package/dist/css/components/header-user-menu.min.css +1 -1
  22. package/dist/css/components/header.css +4 -0
  23. package/dist/css/components/header.min.css +1 -1
  24. package/dist/css/components/heading.css +3 -0
  25. package/dist/css/components/heading.min.css +1 -1
  26. package/dist/css/components/inputwrapper.css +4 -0
  27. package/dist/css/components/inputwrapper.min.css +1 -1
  28. package/dist/css/components/loader.css +7 -0
  29. package/dist/css/components/loader.min.css +1 -1
  30. package/dist/css/components/modal.css +4 -0
  31. package/dist/css/components/modal.min.css +1 -1
  32. package/dist/css/components/progressbar.css +4 -0
  33. package/dist/css/components/progressbar.min.css +1 -1
  34. package/dist/css/components/searchinput.css +4 -0
  35. package/dist/css/components/searchinput.min.css +1 -1
  36. package/dist/css/elements/button.css +7 -0
  37. package/dist/css/elements/button.min.css +1 -1
  38. package/dist/css/elements/checkbox-radio.css +8 -3
  39. package/dist/css/elements/checkbox-radio.min.css +1 -1
  40. package/dist/css/elements/input.css +1 -1
  41. package/dist/css/elements/input.min.css +1 -1
  42. package/dist/css/pkt-base.css +578 -1
  43. package/dist/css/pkt-base.min.css +1 -1
  44. package/dist/css/pkt-components.css +132 -11
  45. package/dist/css/pkt-components.min.css +1 -1
  46. package/dist/css/pkt-docs.css +726 -16
  47. package/dist/css/pkt-docs.min.css +1 -1
  48. package/dist/css/pkt-elements.css +16 -4
  49. package/dist/css/pkt-elements.min.css +1 -1
  50. package/dist/css/pkt-grid.css +87 -0
  51. package/dist/css/pkt-grid.min.css +1 -1
  52. package/dist/css/pkt.css +726 -16
  53. package/dist/css/pkt.layer.css +708 -16
  54. package/dist/css/pkt.layer.min.css +1 -1
  55. package/dist/css/pkt.min.css +1 -1
  56. package/dist/scss/abstracts/variables/_index.scss +1 -1
  57. package/dist/scss/base/_grid-responsive.scss +10 -1
  58. package/dist/scss/base/_grid.scss +19 -1
  59. package/dist/scss/base/_link.scss +4 -0
  60. package/dist/scss/components/_backlink.scss +4 -0
  61. package/dist/scss/components/_breadcrumbs.scss +4 -0
  62. package/dist/scss/components/_card.scss +96 -19
  63. package/dist/scss/components/_consent.scss +3 -0
  64. package/dist/scss/components/_datepicker.scss +5 -0
  65. package/dist/scss/components/_footer.scss +5 -0
  66. package/dist/scss/components/_header-global.scss +4 -0
  67. package/dist/scss/components/_header-menu.scss +4 -0
  68. package/dist/scss/components/_header-service.scss +4 -0
  69. package/dist/scss/components/_header-user-menu.scss +4 -0
  70. package/dist/scss/components/_header.scss +4 -0
  71. package/dist/scss/components/_heading.scss +7 -0
  72. package/dist/scss/components/_index.scss +1 -0
  73. package/dist/scss/components/_inputwrapper.scss +4 -0
  74. package/dist/scss/components/_loader.scss +8 -0
  75. package/dist/scss/components/_modal.scss +4 -0
  76. package/dist/scss/components/_progressbar.scss +4 -0
  77. package/dist/scss/components/_searchinput.scss +4 -0
  78. package/dist/scss/elements/_button.scss +8 -0
  79. package/dist/scss/elements/_checkbox-radio.scss +5 -0
  80. package/package.json +2 -2
@@ -6,7 +6,7 @@
6
6
  @forward 'spacing';
7
7
 
8
8
  // Default icon path
9
- $icon-path: 'https://punkt-cdn.oslo.kommune.no/18.3/icons' !default;
9
+ $icon-path: 'https://punkt-cdn.oslo.kommune.no/18.5/icons' !default;
10
10
 
11
11
  // Borders
12
12
  $border-width: (
@@ -26,11 +26,20 @@
26
26
  & > * > .pkt-cell {
27
27
  @each $bp-name, $bp-value in variables.$breakpoints {
28
28
  @include bp-up($bp-value) {
29
- @for $i from 2 through 12 {
29
+ @for $i from 1 through 12 {
30
30
  &.pkt-cell--span#{$i}-#{$bp-name}-up {
31
31
  grid-column-end: span $i;
32
32
  }
33
33
  }
34
+
35
+ @for $i from 1 through 13 {
36
+ &.pkt-cell--start#{$i}-#{$bp-name}-up {
37
+ grid-column-start: $i;
38
+ }
39
+ &.pkt-cell--end#{$i}-#{$bp-name}-up {
40
+ grid-column-end: $i;
41
+ }
42
+ }
34
43
  }
35
44
  }
36
45
  }
@@ -27,6 +27,14 @@ $gapsMedium: map.get(variables.$spacing, 'size-32');
27
27
  }
28
28
  }
29
29
 
30
+ &--inline {
31
+ display: inline-grid;
32
+ }
33
+
34
+ &--dense {
35
+ grid-auto-flow: dense;
36
+ }
37
+
30
38
  // Widths
31
39
  &--full {
32
40
  max-width: 100%;
@@ -108,10 +116,20 @@ $gapsMedium: map.get(variables.$spacing, 'size-32');
108
116
  align-self: self-end;
109
117
  }
110
118
 
111
- @for $i from 2 through 12 {
119
+ @for $i from 1 through 12 {
112
120
  &.pkt-cell--span#{$i} {
113
121
  grid-column-end: span $i;
114
122
  }
115
123
  }
124
+
125
+ // Eksplisitt plassering. 13 er linja etter siste kolonne.
126
+ @for $i from 1 through 13 {
127
+ &.pkt-cell--start#{$i} {
128
+ grid-column-start: $i;
129
+ }
130
+ &.pkt-cell--end#{$i} {
131
+ grid-column-end: $i;
132
+ }
133
+ }
116
134
  }
117
135
  }
@@ -4,6 +4,10 @@
4
4
 
5
5
  @use '../abstracts/variables';
6
6
 
7
+ pkt-link {
8
+ display: inline;
9
+ }
10
+
7
11
  a,
8
12
  .pkt-link-button {
9
13
  // Order of pseudoclasses is important for specificity:
@@ -7,6 +7,10 @@
7
7
  @use '../abstracts/mixins/breakpoints' as *;
8
8
  @use '../abstracts/mixins/typography';
9
9
 
10
+ pkt-backlink {
11
+ display: block;
12
+ }
13
+
10
14
  .pkt-back-link {
11
15
  .pkt-link {
12
16
  display: inline-flex;
@@ -7,6 +7,10 @@
7
7
  @use '../abstracts/mixins/breakpoints' as *;
8
8
  @use '../abstracts/mixins/typography';
9
9
 
10
+ pkt-breadcrumbs {
11
+ display: block;
12
+ }
13
+
10
14
  .pkt-breadcrumbs {
11
15
  position: relative;
12
16
  @include typography.get-text('pkt-txt-14-light');
@@ -34,21 +34,14 @@ pkt-card {
34
34
  }
35
35
 
36
36
  // HEADINGS, TEXT, SUBTEXT
37
-
38
- .pkt-card__heading {
39
- h1,
40
- h2,
41
- h3,
42
- h4,
43
- h5 {
44
- padding: 0;
45
- margin: 0;
46
- font-size: map.get(variables.$font-size, 'size-30');
47
- font-weight: map.get(variables.$font-weight, 'regular');
48
- margin-block-end: map.get(variables.$spacing, 'size-8');
49
- hyphens: auto;
50
- overflow-wrap: break-word;
51
- }
37
+ // Typografien kommer fra pkt-heading. Doblet klasse for å slå
38
+ // pkt-heading sin egen marg-nullstilling, som også er (0,2,0).
39
+ &.pkt-card .pkt-card__heading {
40
+ padding: 0;
41
+ margin: 0;
42
+ margin-block-end: map.get(variables.$spacing, 'size-8');
43
+ hyphens: auto;
44
+ overflow-wrap: break-word;
52
45
  }
53
46
 
54
47
  .pkt-card__link {
@@ -57,20 +50,20 @@ pkt-card {
57
50
  }
58
51
 
59
52
  p.pkt-card__subheading {
53
+ @include get-text('pkt-txt-20-light');
54
+
60
55
  padding: 0;
61
56
  margin: 0;
62
- line-height: unset;
63
57
  margin-block-end: map.get(variables.$spacing, 'size-16');
64
- font-size: map.get(variables.$font-size, 'size-20');
65
- font-weight: map.get(variables.$font-weight, 'light');
66
58
  hyphens: auto;
67
59
  overflow-wrap: break-word;
68
60
  }
69
61
 
70
62
  .pkt-card__metadata {
63
+ @include get-text('pkt-txt-16-light');
64
+
71
65
  margin-block-start: map.get(variables.$spacing, 'size-16');
72
66
  margin-block-end: 0;
73
- line-height: unset;
74
67
  gap: map.get(variables.$spacing, 'size-8');
75
68
  }
76
69
 
@@ -130,6 +123,31 @@ pkt-card {
130
123
  }
131
124
  }
132
125
 
126
+ // ZOOM
127
+
128
+ &.pkt-card--zoom {
129
+ .pkt-card__image img {
130
+ transform: scale(1);
131
+ transition: transform 0.5s ease-in-out;
132
+ }
133
+
134
+ &:hover .pkt-card__image img,
135
+ &:focus-within .pkt-card__image img {
136
+ transform: scale(1.1);
137
+ }
138
+
139
+ @media (prefers-reduced-motion: reduce) {
140
+ .pkt-card__image img {
141
+ transition: none;
142
+ }
143
+
144
+ &:hover .pkt-card__image img,
145
+ &:focus-within .pkt-card__image img {
146
+ transform: none;
147
+ }
148
+ }
149
+ }
150
+
133
151
  //horizontal image styles
134
152
  &.pkt-card--horizontal {
135
153
  .pkt-card__image {
@@ -175,6 +193,65 @@ pkt-card {
175
193
  }
176
194
  }
177
195
 
196
+ // IMAGE ASPECT RATIO
197
+ // Overstyrer standardforholdet. Uten disse klassene er bildet 1:1, eller
198
+ // 19:10 med padding-none + vertical. Doblet .pkt-card gir samme spesifisitet
199
+ // som padding-none-reglene over, og vinner fordi den kommer sist.
200
+ &.pkt-card .pkt-card__image.pkt-card__image-aspect-auto {
201
+ aspect-ratio: auto;
202
+
203
+ img {
204
+ height: auto;
205
+ }
206
+ }
207
+
208
+ &.pkt-card .pkt-card__image.pkt-card__image-aspect-1-1 {
209
+ aspect-ratio: 1;
210
+ }
211
+
212
+ &.pkt-card .pkt-card__image.pkt-card__image-aspect-4-3 {
213
+ aspect-ratio: 4 / 3;
214
+ }
215
+
216
+ &.pkt-card .pkt-card__image.pkt-card__image-aspect-3-2 {
217
+ aspect-ratio: 3 / 2;
218
+ }
219
+
220
+ &.pkt-card .pkt-card__image.pkt-card__image-aspect-16-9 {
221
+ aspect-ratio: 16 / 9;
222
+ }
223
+
224
+ &.pkt-card .pkt-card__image.pkt-card__image-aspect-19-10 {
225
+ aspect-ratio: 19 / 10;
226
+ }
227
+
228
+ // IMAGE HEIGHT
229
+ // Låser bildehøyden i stedet for sideforholdet, og trappes opp med
230
+ // skjermbredden. Bildet beskjæres sentrert, så kortet får forutsigbar høyde
231
+ // uansett kildebilde.
232
+ &.pkt-card .pkt-card__image.pkt-card__image-restricted {
233
+ aspect-ratio: auto;
234
+
235
+ img {
236
+ width: 100%;
237
+ height: 12.5rem;
238
+ object-fit: cover;
239
+ object-position: center;
240
+ }
241
+
242
+ @include bp('tablet-up') {
243
+ img {
244
+ height: 14.375rem;
245
+ }
246
+ }
247
+
248
+ @include bp('tablet-big-up') {
249
+ img {
250
+ height: 18.125rem;
251
+ }
252
+ }
253
+ }
254
+
178
255
  // LINK
179
256
 
180
257
  .pkt-card__wrapper .pkt-card__link::before {
@@ -0,0 +1,3 @@
1
+ pkt-consent {
2
+ display: inline;
3
+ }
@@ -1,5 +1,10 @@
1
1
  @use '../abstracts/mixins/typography';
2
2
 
3
+ pkt-date-tags,
4
+ pkt-datepicker-popup {
5
+ display: block;
6
+ }
7
+
3
8
  .pkt-datepicker,
4
9
  pkt-datepicker {
5
10
  display: block;
@@ -12,6 +12,11 @@
12
12
  @use '../abstracts/mixins/container-queries' as *;
13
13
  @use '../abstracts/mixins/typography';
14
14
 
15
+ pkt-footer,
16
+ pkt-footer-simple {
17
+ display: block;
18
+ }
19
+
15
20
  $-footer-content-max-width: 75rem;
16
21
 
17
22
  .pkt-footer,
@@ -8,6 +8,10 @@
8
8
  @use '../abstracts/mixins/' as *;
9
9
  @use 'header-shared' as shared;
10
10
 
11
+ pkt-header-global {
12
+ display: block;
13
+ }
14
+
11
15
  .pkt-header-global-spacer {
12
16
  height: map.get(variables.$spacing, 'size-104');
13
17
 
@@ -7,6 +7,10 @@
7
7
  @use '../abstracts/mixins/container-queries' as *;
8
8
  @use '../abstracts/mixins/typography';
9
9
 
10
+ pkt-header-menu {
11
+ display: block;
12
+ }
13
+
10
14
  $pkt-header-menu-breakpoint: 48rem;
11
15
 
12
16
  @mixin pkt-header-menu-region-inner {
@@ -25,6 +25,10 @@
25
25
  @use '../abstracts/mixins/' as *;
26
26
  @use 'header-shared' as shared;
27
27
 
28
+ pkt-header-service {
29
+ display: block;
30
+ }
31
+
28
32
  .pkt-header-service-spacer {
29
33
  height: map.get(variables.$spacing, 'size-104');
30
34
 
@@ -6,6 +6,10 @@
6
6
  @use '../abstracts/variables';
7
7
  @use '../abstracts/mixins/' as *;
8
8
 
9
+ pkt-header-user-menu {
10
+ display: block;
11
+ }
12
+
9
13
  // User Menu specific styles
10
14
  .pkt-header-service__user-menu {
11
15
  &::after {
@@ -6,6 +6,10 @@
6
6
  @use '../abstracts/variables';
7
7
  @use '../abstracts/mixins/' as *;
8
8
 
9
+ pkt-header {
10
+ display: block;
11
+ }
12
+
9
13
  .pkt-header {
10
14
  background-color: var(--pkt-color-background-default);
11
15
  border-bottom: 1px solid var(--pkt-color-border-subtle);
@@ -12,6 +12,13 @@ pkt-heading {
12
12
  font-weight: 600;
13
13
  line-height: 1.2;
14
14
 
15
+ // Doblet klasse gir spesifisitet (0,2,0), som slår vertsdokumentets
16
+ // `.noe h1`–`h6` (0,1,1). Uten dette arver overskriften marger per
17
+ // nivå fra siden den står på, selv når den visuelle størrelsen er lik.
18
+ &.pkt-heading {
19
+ margin-block: 0;
20
+ }
21
+
15
22
  &--xlarge {
16
23
  @include typography.get-text('pkt-txt-40');
17
24
 
@@ -6,6 +6,7 @@
6
6
  @forward 'calendar';
7
7
  @forward 'card';
8
8
  @forward 'combobox';
9
+ @forward 'consent';
9
10
  @forward 'datepicker';
10
11
  @forward 'fileupload';
11
12
  @forward 'footer';
@@ -4,6 +4,10 @@
4
4
  @use '../abstracts/functions';
5
5
  @use '../abstracts/mixins/typography';
6
6
 
7
+ pkt-helptext {
8
+ display: block;
9
+ }
10
+
7
11
  pkt-input-wrapper {
8
12
  display: block;
9
13
 
@@ -8,6 +8,14 @@
8
8
  @use '../abstracts/' as *;
9
9
  @use '../abstracts/mixins/typography';
10
10
 
11
+ pkt-loader {
12
+ display: block;
13
+
14
+ &[inline] {
15
+ display: inline-block;
16
+ }
17
+ }
18
+
11
19
  .pkt-loader {
12
20
  color: currentColor;
13
21
  width: fit-content;
@@ -7,6 +7,10 @@
7
7
  @use '../abstracts/mixins/breakpoints' as *;
8
8
  @use '../abstracts/' as *;
9
9
 
10
+ pkt-modal {
11
+ display: contents;
12
+ }
13
+
10
14
  $pkt-modal-gap: map.get(variables.$spacing, 'size-32');
11
15
  $pkt-modal-padding-sides: map.get(variables.$spacing, 'size-40');
12
16
 
@@ -1,3 +1,7 @@
1
+ pkt-progressbar {
2
+ display: block;
3
+ }
4
+
1
5
  .pkt-progressbar {
2
6
  --pkt-progress-width: 0%;
3
7
  --pkt-progress-label-width: 5rem;
@@ -3,6 +3,10 @@
3
3
  @use '../abstracts/functions';
4
4
  @use '../abstracts/mixins/typography';
5
5
 
6
+ pkt-searchinput {
7
+ display: block;
8
+ }
9
+
6
10
  .pkt-searchinput {
7
11
  position: relative;
8
12
 
@@ -13,6 +13,14 @@
13
13
  @use '../abstracts/placeholders';
14
14
  @use '../abstracts/mixins/typography';
15
15
 
16
+ pkt-button {
17
+ display: inline-block;
18
+
19
+ &[full-width] {
20
+ display: block;
21
+ }
22
+ }
23
+
16
24
  $-module-name: 'pkt-btn';
17
25
  $-sizes: (
18
26
  'medium': (
@@ -9,6 +9,11 @@
9
9
  @use '../abstracts/functions';
10
10
  @use '../abstracts/mixins/typography';
11
11
 
12
+ pkt-checkbox,
13
+ pkt-radiobutton {
14
+ display: block;
15
+ }
16
+
12
17
  $-module-name: 'pkt-input-check';
13
18
 
14
19
  .#{$-module-name} {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oslokommune/punkt-css",
3
- "version": "18.3.2",
3
+ "version": "18.5.0",
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",
@@ -62,5 +62,5 @@
62
62
  "dependencies": {
63
63
  "astro": "^7.2.0"
64
64
  },
65
- "gitHead": "8ad9db4f1ecb76423707a9441055ddb36ca914a8"
65
+ "gitHead": "dd8d7102f860aab26f29b63534788f27a8d52cf6"
66
66
  }