@oslokommune/punkt-css 16.26.2 → 17.0.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 (75) hide show
  1. package/CHANGELOG.md +111 -0
  2. package/dist/css/components/accordion.css +27 -5
  3. package/dist/css/components/accordion.min.css +1 -1
  4. package/dist/css/components/alert.css +37 -9
  5. package/dist/css/components/alert.min.css +1 -1
  6. package/dist/css/components/calendar.css +4 -0
  7. package/dist/css/components/calendar.min.css +1 -1
  8. package/dist/css/components/combobox.css +82 -0
  9. package/dist/css/components/combobox.min.css +1 -1
  10. package/dist/css/components/datepicker.css +82 -3
  11. package/dist/css/components/datepicker.min.css +1 -1
  12. package/dist/css/components/footer.css +232 -108
  13. package/dist/css/components/footer.min.css +1 -1
  14. package/dist/css/components/header-global.css +287 -0
  15. package/dist/css/components/header-global.min.css +1 -0
  16. package/dist/css/components/header-menu.css +364 -123
  17. package/dist/css/components/header-menu.min.css +1 -1
  18. package/dist/css/components/header-service-mobile.css +71 -22
  19. package/dist/css/components/header-service-mobile.min.css +1 -1
  20. package/dist/css/components/header-service.css +68 -14
  21. package/dist/css/components/header-service.min.css +1 -1
  22. package/dist/css/components/header-shared.css +49 -0
  23. package/dist/css/components/header-shared.min.css +0 -0
  24. package/dist/css/components/inputwrapper.css +59 -5
  25. package/dist/css/components/inputwrapper.min.css +1 -1
  26. package/dist/css/components/modal.css +0 -5
  27. package/dist/css/components/modal.min.css +1 -1
  28. package/dist/css/components/searchinput.css +71 -2
  29. package/dist/css/components/searchinput.min.css +1 -1
  30. package/dist/css/components/textarea.css +41 -0
  31. package/dist/css/components/textarea.min.css +1 -0
  32. package/dist/css/components/textinput.css +126 -6
  33. package/dist/css/components/textinput.min.css +1 -1
  34. package/dist/css/components/timepicker.css +133 -38
  35. package/dist/css/components/timepicker.min.css +1 -1
  36. package/dist/css/elements/button.css +20 -4
  37. package/dist/css/elements/button.min.css +1 -1
  38. package/dist/css/elements/checkbox-radio.css +3 -3
  39. package/dist/css/elements/checkbox-radio.min.css +1 -1
  40. package/dist/css/elements/input.css +121 -6
  41. package/dist/css/elements/input.min.css +1 -1
  42. package/dist/css/elements/select.css +137 -9
  43. package/dist/css/elements/select.min.css +1 -1
  44. package/dist/css/pkt-base.css +434 -1
  45. package/dist/css/pkt-base.min.css +1 -1
  46. package/dist/css/pkt-components.css +1595 -348
  47. package/dist/css/pkt-components.min.css +1 -1
  48. package/dist/css/pkt-docs.css +2077 -364
  49. package/dist/css/pkt-docs.min.css +1 -1
  50. package/dist/css/pkt-elements.css +160 -16
  51. package/dist/css/pkt-elements.min.css +1 -1
  52. package/dist/css/pkt.css +2077 -364
  53. package/dist/css/pkt.min.css +1 -1
  54. package/dist/scss/abstracts/variables/_index.scss +1 -1
  55. package/dist/scss/abstracts/variables/_spacing.scss +1 -0
  56. package/dist/scss/components/_accordion.scss +7 -11
  57. package/dist/scss/components/_alert.scss +34 -11
  58. package/dist/scss/components/_calendar.scss +3 -0
  59. package/dist/scss/components/_combobox.scss +74 -0
  60. package/dist/scss/components/_datepicker.scss +75 -8
  61. package/dist/scss/components/_footer.scss +149 -123
  62. package/dist/scss/components/_header-global.scss +192 -0
  63. package/dist/scss/components/_header-menu.scss +30 -31
  64. package/dist/scss/components/_header-service-mobile.scss +4 -28
  65. package/dist/scss/components/_header-service.scss +4 -21
  66. package/dist/scss/components/_header-shared.scss +190 -0
  67. package/dist/scss/components/_index.scss +2 -0
  68. package/dist/scss/components/_inputwrapper.scss +66 -10
  69. package/dist/scss/components/_modal.scss +1 -5
  70. package/dist/scss/components/_searchinput.scss +58 -2
  71. package/dist/scss/components/_textarea.scss +48 -0
  72. package/dist/scss/components/_timepicker.scss +95 -34
  73. package/dist/scss/elements/_button.scss +12 -3
  74. package/dist/scss/elements/_input.scss +141 -7
  75. package/package.json +3 -3
@@ -20,11 +20,34 @@ pkt-select {
20
20
  color: var(--pkt-color-input-text-normal);
21
21
  margin: 0;
22
22
  padding: 0.5rem 1rem;
23
+ min-height: 3rem;
23
24
 
24
25
  @include typography.get-text('pkt-txt-18-light');
25
26
 
26
- &:not(&-compact) {
27
- min-height: 3rem;
27
+ &--small:not(:is(textarea, .pkt-timepicker__input, .pkt-datepicker__input)) {
28
+ min-height: 2.625rem;
29
+ padding: map.get(variables.$spacing, 'size-6') map.get(variables.$spacing, 'size-16');
30
+ @include typography.get-text('pkt-txt-16-light');
31
+
32
+ &:not(select[multiple]) {
33
+ height: 2.625rem;
34
+ }
35
+ }
36
+
37
+ &--xsmall:not(:is(textarea, .pkt-timepicker__input, .pkt-datepicker__input)) {
38
+ min-height: 2.25rem;
39
+ padding: map.get(variables.$spacing, 'size-4') map.get(variables.$spacing, 'size-12');
40
+ @include typography.get-text('pkt-txt-14-light');
41
+
42
+ &:not(select[multiple]) {
43
+ height: 2.25rem;
44
+ }
45
+ }
46
+
47
+ // Native inputs should not use flex layout (breaks composite prefix/suffix rows)
48
+ input.pkt-input,
49
+ select.pkt-input {
50
+ display: block;
28
51
  }
29
52
 
30
53
  &-compact#{&} {
@@ -38,7 +61,11 @@ pkt-select {
38
61
  }
39
62
  }
40
63
 
41
- &:not(textarea[cols]):not(input[size]):not(&--fullwidth):not(.pkt-datepicker__input:not(.pkt-datepicker--multiple)),
64
+ // Default field width cap (31rem). Exclusions:
65
+ // - textarea: width set in _textarea.scss (needs wrapper/host, not this rule)
66
+ // - [cols]: native HTML width; browser sizes from character count — do not override
67
+ // - input[size]: same escape hatch for text inputs
68
+ &:not(:is(textarea)):not(input[size]):not(&--fullwidth):not(.pkt-datepicker__input:not(.pkt-datepicker--multiple)),
42
69
  &__container:not(:is(:has(.pkt-datepicker__input:not(.pkt-datepicker--multiple)))):not(:is(:has(textarea[cols]))):not(
43
70
  :is(:has(input[size]))
44
71
  ):not(:is(:has(&--fullwidth))):not(:is(:has(.pkt-timepicker__input))) {
@@ -60,8 +87,9 @@ pkt-select {
60
87
  width: 100%;
61
88
  }
62
89
 
63
- &:is(textarea) {
64
- min-height: map.get(variables.$spacing, 'size-128');
90
+ // Med rows-attributt styrer rows høyden alene
91
+ &:is(textarea:not([rows])) {
92
+ min-height: map.get(variables.$spacing, 'size-148');
65
93
  }
66
94
 
67
95
  &:is(select) {
@@ -78,6 +106,25 @@ pkt-select {
78
106
  background-size:
79
107
  1.5rem auto,
80
108
  100%;
109
+
110
+ // Nestet her for å vinne over @extend-utvidede baseselektorer (f.eks. .pkt-select select)
111
+ &.pkt-input--small {
112
+ background-size:
113
+ 1.25rem auto,
114
+ 100%;
115
+ background-position: right 0.5rem top 50%;
116
+ padding: map.get(variables.$spacing, 'size-6') 2.5rem map.get(variables.$spacing, 'size-6')
117
+ map.get(variables.$spacing, 'size-16');
118
+ }
119
+
120
+ &.pkt-input--xsmall {
121
+ background-size:
122
+ 1.125rem auto,
123
+ 100%;
124
+ background-position: right 0.5rem top 50%;
125
+ padding: map.get(variables.$spacing, 'size-4') 2.25rem map.get(variables.$spacing, 'size-4')
126
+ map.get(variables.$spacing, 'size-12');
127
+ }
81
128
  }
82
129
 
83
130
  option {
@@ -93,7 +140,6 @@ pkt-select {
93
140
  opacity: 1; // 1
94
141
  }
95
142
 
96
- // states
97
143
  &:hover,
98
144
  &.pkt-input--hover {
99
145
  border-color: var(--pkt-color-input-border-hover);
@@ -196,6 +242,95 @@ pkt-select {
196
242
  padding: 0.5rem 0;
197
243
  }
198
244
 
245
+ // Composite fields (prefix / suffix): size the row as one unit — do not fix height on each child
246
+ &__container--small {
247
+ align-items: stretch;
248
+
249
+ .pkt-input-prefix,
250
+ .pkt-input-suffix,
251
+ .pkt-input-icon {
252
+ height: auto;
253
+ min-height: 2.625rem;
254
+ @include typography.get-text('pkt-txt-16-light');
255
+ }
256
+
257
+ .pkt-input-prefix {
258
+ padding: map.get(variables.$spacing, 'size-6') 0 map.get(variables.$spacing, 'size-6')
259
+ map.get(variables.$spacing, 'size-16');
260
+ }
261
+
262
+ .pkt-input-suffix {
263
+ padding: map.get(variables.$spacing, 'size-6') map.get(variables.$spacing, 'size-16')
264
+ map.get(variables.$spacing, 'size-6') 0;
265
+ }
266
+
267
+ input.pkt-input,
268
+ select.pkt-input {
269
+ height: auto;
270
+ min-height: 2.625rem;
271
+ flex: 1 1 auto;
272
+ min-width: 0;
273
+ padding: map.get(variables.$spacing, 'size-6') map.get(variables.$spacing, 'size-16');
274
+ @include typography.get-text('pkt-txt-16-light');
275
+ }
276
+
277
+ .pkt-input-icon svg,
278
+ .pkt-input-suffix svg {
279
+ width: 1.25rem;
280
+ height: 1.25rem;
281
+ }
282
+
283
+ .pkt-input-suffix::before {
284
+ height: 1.25rem;
285
+ }
286
+ }
287
+
288
+ &__container--xsmall {
289
+ align-items: stretch;
290
+
291
+ .pkt-input-prefix,
292
+ .pkt-input-suffix,
293
+ .pkt-input-icon {
294
+ height: auto;
295
+ min-height: 2.25rem;
296
+ @include typography.get-text('pkt-txt-14-light');
297
+ }
298
+
299
+ .pkt-input-prefix {
300
+ padding: map.get(variables.$spacing, 'size-4') 0 map.get(variables.$spacing, 'size-4')
301
+ map.get(variables.$spacing, 'size-12');
302
+ }
303
+
304
+ .pkt-input-suffix {
305
+ padding: map.get(variables.$spacing, 'size-4') map.get(variables.$spacing, 'size-12')
306
+ map.get(variables.$spacing, 'size-4') 0;
307
+ }
308
+
309
+ input.pkt-input,
310
+ select.pkt-input {
311
+ height: auto;
312
+ min-height: 2.25rem;
313
+ flex: 1 1 auto;
314
+ min-width: 0;
315
+ padding: map.get(variables.$spacing, 'size-4') map.get(variables.$spacing, 'size-12');
316
+ @include typography.get-text('pkt-txt-14-light');
317
+ }
318
+
319
+ .pkt-input-icon {
320
+ padding: map.get(variables.$spacing, 'size-4') map.get(variables.$spacing, 'size-8');
321
+ }
322
+
323
+ .pkt-input-icon svg,
324
+ .pkt-input-suffix svg {
325
+ width: 1.125rem;
326
+ height: 1.125rem;
327
+ }
328
+
329
+ .pkt-input-suffix::before {
330
+ height: 1.125rem;
331
+ }
332
+ }
333
+
199
334
  &--counter-error,
200
335
  &--counter-error:focus {
201
336
  border-color: var(--pkt-color-input-border-error);
@@ -233,7 +368,6 @@ pkt-select {
233
368
  margin: 0;
234
369
  }
235
370
 
236
- //states
237
371
  & input:focus {
238
372
  outline: none;
239
373
  box-shadow: none;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oslokommune/punkt-css",
3
- "version": "16.26.2",
3
+ "version": "17.0.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",
@@ -25,7 +25,7 @@
25
25
  ]
26
26
  },
27
27
  "devDependencies": {
28
- "@oslokommune/punkt-assets": "^16.26.2",
28
+ "@oslokommune/punkt-assets": "^17.0.0",
29
29
  "edit-json-file": "^1.8.1",
30
30
  "fs-extra": "^11.3.5",
31
31
  "prettier": "^3.8.4",
@@ -62,5 +62,5 @@
62
62
  "dependencies": {
63
63
  "astro": "^7.0.0-beta.4"
64
64
  },
65
- "gitHead": "b667fcd160da4b1c4e556fdd0bb23d50cc433827"
65
+ "gitHead": "16ef60f40da1a44e59bb72380712e4636768e2c5"
66
66
  }