@fremtind/jokul 5.0.5 → 5.1.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 (121) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/combobox/Combobox.cjs +1 -1
  3. package/build/cjs/components/combobox/Combobox.cjs.map +1 -1
  4. package/build/cjs/components/expander/types.d.cts +1 -1
  5. package/build/cjs/components/help/Help.cjs +1 -1
  6. package/build/cjs/components/help/Help.cjs.map +1 -1
  7. package/build/cjs/components/icon/icons/ErrorIcon.cjs +1 -1
  8. package/build/cjs/components/icon/icons/ErrorIcon.cjs.map +1 -1
  9. package/build/cjs/components/radio-button/RadioButton.cjs.map +1 -1
  10. package/build/cjs/components/system-message/SystemMessage.cjs +1 -1
  11. package/build/cjs/components/system-message/SystemMessage.cjs.map +1 -1
  12. package/build/cjs/components/typography/Text.cjs +1 -1
  13. package/build/cjs/components/typography/Text.cjs.map +1 -1
  14. package/build/cjs/components/typography/Title.cjs +1 -1
  15. package/build/cjs/components/typography/Title.cjs.map +1 -1
  16. package/build/cjs/components/typography/types.d.cts +17 -0
  17. package/build/cjs/tokens.cjs +1 -1
  18. package/build/cjs/tokens.cjs.map +1 -1
  19. package/build/cjs/tokens.d.cts +1 -0
  20. package/build/es/components/combobox/Combobox.js +1 -1
  21. package/build/es/components/combobox/Combobox.js.map +1 -1
  22. package/build/es/components/expander/types.d.ts +1 -1
  23. package/build/es/components/help/Help.js +1 -1
  24. package/build/es/components/help/Help.js.map +1 -1
  25. package/build/es/components/icon/icons/ErrorIcon.js +1 -1
  26. package/build/es/components/icon/icons/ErrorIcon.js.map +1 -1
  27. package/build/es/components/radio-button/RadioButton.js.map +1 -1
  28. package/build/es/components/system-message/SystemMessage.js +1 -1
  29. package/build/es/components/system-message/SystemMessage.js.map +1 -1
  30. package/build/es/components/typography/Text.js +1 -1
  31. package/build/es/components/typography/Text.js.map +1 -1
  32. package/build/es/components/typography/Title.js +1 -1
  33. package/build/es/components/typography/Title.js.map +1 -1
  34. package/build/es/components/typography/types.d.ts +17 -0
  35. package/build/es/tokens.d.ts +1 -0
  36. package/build/es/tokens.js +1 -1
  37. package/build/es/tokens.js.map +1 -1
  38. package/package.json +2 -2
  39. package/styles/base.css +2 -8
  40. package/styles/base.min.css +1 -1
  41. package/styles/components/beta/nav-link/navlink.css +2 -1
  42. package/styles/components/beta/nav-link/navlink.min.css +1 -1
  43. package/styles/components/checkbox/checkbox.css +9 -5
  44. package/styles/components/checkbox/checkbox.min.css +1 -1
  45. package/styles/components/checkbox/checkbox.scss +7 -4
  46. package/styles/components/checkbox-panel/checkbox-panel.css +27 -5
  47. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  48. package/styles/components/combobox/combobox.css +4 -7
  49. package/styles/components/combobox/combobox.min.css +1 -1
  50. package/styles/components/combobox/combobox.scss +11 -10
  51. package/styles/components/countdown/countdown.css +2 -2
  52. package/styles/components/countdown/countdown.min.css +1 -1
  53. package/styles/components/feedback/feedback.css +2 -2
  54. package/styles/components/feedback/feedback.min.css +1 -1
  55. package/styles/components/file-input/file-input.css +13 -13
  56. package/styles/components/file-input/file-input.min.css +1 -1
  57. package/styles/components/help/help.css +0 -1
  58. package/styles/components/help/help.min.css +1 -1
  59. package/styles/components/help/help.scss +0 -1
  60. package/styles/components/icon/_base-styles.scss +2 -2
  61. package/styles/components/icon/icon.css +2 -1
  62. package/styles/components/icon/icon.min.css +1 -1
  63. package/styles/components/input-group/_labels.scss +22 -4
  64. package/styles/components/input-group/input-group.css +15 -3
  65. package/styles/components/input-group/input-group.min.css +1 -1
  66. package/styles/components/input-panel/input-panel.css +18 -0
  67. package/styles/components/input-panel/input-panel.min.css +1 -1
  68. package/styles/components/input-panel/input-panel.scss +24 -1
  69. package/styles/components/link/link.css +4 -4
  70. package/styles/components/link/link.min.css +1 -1
  71. package/styles/components/link/link.scss +2 -3
  72. package/styles/components/link-list/link-list.css +2 -1
  73. package/styles/components/link-list/link-list.min.css +1 -1
  74. package/styles/components/list/list.css +2 -1
  75. package/styles/components/list/list.min.css +1 -1
  76. package/styles/components/loader/loader.css +6 -6
  77. package/styles/components/loader/loader.min.css +1 -1
  78. package/styles/components/loader/skeleton-loader.css +3 -3
  79. package/styles/components/loader/skeleton-loader.min.css +1 -1
  80. package/styles/components/message/message.css +2 -2
  81. package/styles/components/message/message.min.css +1 -1
  82. package/styles/components/number-input/number-input.css +2 -2
  83. package/styles/components/number-input/number-input.min.css +1 -1
  84. package/styles/components/progress-bar/progress-bar.css +1 -1
  85. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  86. package/styles/components/radio-button/radio-button.css +8 -3
  87. package/styles/components/radio-button/radio-button.min.css +1 -1
  88. package/styles/components/radio-button/radio-button.scss +7 -3
  89. package/styles/components/radio-panel/radio-panel.css +18 -0
  90. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  91. package/styles/components/search/search.css +3 -2
  92. package/styles/components/search/search.min.css +1 -1
  93. package/styles/components/segmented-control/segmented-control.css +25 -7
  94. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  95. package/styles/components/select/select.css +4 -3
  96. package/styles/components/select/select.min.css +1 -1
  97. package/styles/components/select/select.scss +19 -10
  98. package/styles/components/system-message/system-message.css +2 -2
  99. package/styles/components/system-message/system-message.min.css +1 -1
  100. package/styles/components/text-area/text-area.css +2 -2
  101. package/styles/components/text-area/text-area.min.css +1 -1
  102. package/styles/components/text-input/text-input.css +2 -2
  103. package/styles/components/text-input/text-input.min.css +1 -1
  104. package/styles/components/toast/toast.css +4 -4
  105. package/styles/components/toast/toast.min.css +1 -1
  106. package/styles/components/toggle-switch/toggle-switch.css +3 -0
  107. package/styles/components/toggle-switch/toggle-switch.min.css +1 -1
  108. package/styles/components/toggle-switch/toggle-switch.scss +3 -0
  109. package/styles/components/typography/text.css +6 -0
  110. package/styles/components/typography/text.min.css +1 -1
  111. package/styles/components/typography/text.scss +9 -1
  112. package/styles/components/typography/title.css +3 -0
  113. package/styles/components/typography/title.min.css +1 -1
  114. package/styles/components/typography/title.scss +5 -1
  115. package/styles/components.css +113 -60
  116. package/styles/components.min.css +1 -1
  117. package/styles/jkl/_tokens.scss +3 -1
  118. package/styles/jkl/_typography.scss +1 -3
  119. package/styles/shared/input/shared-input-styles.scss +5 -3
  120. package/styles/theme/_fonts.scss +1 -9
  121. package/styles/theme/_tokens.scss +2 -1
@@ -69,7 +69,8 @@
69
69
  }
70
70
  @layer jokul.components {
71
71
  .jkl-text-input-wrapper {
72
- --jkl-text-input-padding: var(--jkl-text-input-vertical-padding) var(--jkl-text-input-horizontal-padding);
72
+ --jkl-text-input-padding: var(--jkl-text-input-vertical-padding)
73
+ var(--jkl-text-input-horizontal-padding);
73
74
  --jkl-text-input-vertical-padding: var(--jkl-unit-15);
74
75
  --jkl-text-input-horizontal-padding: var(--jkl-unit-15);
75
76
  --jkl-text-input-action-button-size: var(--jkl-unit-60);
@@ -98,7 +99,6 @@
98
99
  --background-color: var(--jkl-color-background-container);
99
100
  }
100
101
  .jkl-text-input-wrapper[data-invalid=true]:not(:focus-within):not(:has([data-focused=true])) {
101
- --background-color: var(--jkl-color-error-background-container);
102
102
  --text-color: var(--jkl-color-error-text-default);
103
103
  --border-color: var(--jkl-color-error-border-default);
104
104
  --placeholder-color: var(--jkl-color-error-text-subdued);
@@ -225,7 +225,7 @@
225
225
  @layer jokul.components {
226
226
  .jkl-icon {
227
227
  --jkl-icon-fill: 0;
228
- font-family: "Jokul Icons", "Jokul Icons Fallback", sans-serif;
228
+ font-family: var(--jkl-font-family-icons);
229
229
  font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
230
230
  font-feature-settings: "liga";
231
231
  -webkit-font-feature-settings: "liga";
@@ -233,6 +233,7 @@
233
233
  font-weight: 400;
234
234
  line-height: 1;
235
235
  display: inline-block;
236
+ flex-shrink: 0;
236
237
  -webkit-font-smoothing: antialiased;
237
238
  transition-timing-function: var(--jkl-motion-easing-standard);
238
239
  transition-duration: var(--jkl-motion-timing-energetic);
@@ -403,7 +404,8 @@
403
404
  .jkl-form-support-label {
404
405
  --jkl-form-support-label-margin: var(--jkl-unit-10) 0 0;
405
406
  --jkl-form-support-label-icon-size: 1.25rem;
406
- --jkl-form-support-label-icon-margin: 0 -1.25rem -0.375rem 0;
407
+ --jkl-form-support-label-icon-margin: 0 -1.25rem -0.375rem
408
+ 0;
407
409
  --color: var(--jkl-color-text-subdued);
408
410
  font: var(--jkl-text-style-text-small);
409
411
  transition-timing-function: var(--jkl-motion-easing-standard);
@@ -429,11 +431,22 @@
429
431
  fill: Canvas;
430
432
  }
431
433
  }
434
+ .jkl-form-support-label--error {
435
+ background-color: var(--jkl-color-error-background-container);
436
+ padding-block: var(--jkl-unit-05);
437
+ padding-inline: var(--jkl-unit-05) var(--jkl-unit-10);
438
+ border-radius: var(--jkl-border-radius-xs);
439
+ color: var(--jkl-color-error-text-default);
440
+ }
441
+ .jkl-form-support-label--error .jkl-form-support-label__icon {
442
+ color: var(--jkl-color-error-background-contrast);
443
+ }
432
444
  .jkl-form-support-label--error, .jkl-form-support-label--warning, .jkl-form-support-label--success {
433
445
  --color: var(--jkl-color-text-default);
446
+ display: inline-flex;
434
447
  }
435
448
  .jkl-form-support-label--error .jkl-form-support-label__icon, .jkl-form-support-label--warning .jkl-form-support-label__icon, .jkl-form-support-label--success .jkl-form-support-label__icon {
436
- animation: var(--jkl-motion-timing-lazy) cubic-bezier(0, 0, 0.3, 1) var(--jkl-motion-timing-expressive) jkl-support-icon-entrance-uumgn13 forwards;
449
+ animation: var(--jkl-motion-timing-lazy) cubic-bezier(0, 0, 0.3, 1) var(--jkl-motion-timing-expressive) jkl-support-icon-entrance-uq1yop7 forwards;
437
450
  }
438
451
  .jkl-form-support-label--sr-only {
439
452
  border: 0 !important;
@@ -487,7 +500,7 @@
487
500
  .jkl-label:has(+ .jkl-input-group-description) {
488
501
  margin-block-end: var(--jkl-spacing-4);
489
502
  }
490
- @keyframes jkl-support-icon-entrance-uumgn13 {
503
+ @keyframes jkl-support-icon-entrance-uq1yop7 {
491
504
  0% {
492
505
  margin-right: 0;
493
506
  opacity: 0;
@@ -635,8 +648,8 @@
635
648
  }
636
649
  @layer jokul.components {
637
650
  .jkl-link {
638
- --link-color: var(--jkl-color-text-default);
639
- color: inherit;
651
+ --link-color: var(--jkl-color-text-accent);
652
+ color: var(--link-color);
640
653
  outline: none;
641
654
  text-decoration: none;
642
655
  transition-timing-function: var(--jkl-motion-easing-standard);
@@ -655,7 +668,7 @@
655
668
  margin-block-start: -0.1em;
656
669
  padding-inline-start: 0.2em;
657
670
  vertical-align: middle;
658
- font-family: "Jokul Icons", "Jokul Icons Fallback", sans-serif;
671
+ font-family: var(--jkl-font-family-icons);
659
672
  font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
660
673
  font-feature-settings: "liga";
661
674
  -webkit-font-feature-settings: "liga";
@@ -663,6 +676,7 @@
663
676
  font-weight: 400;
664
677
  line-height: 1;
665
678
  display: inline-block;
679
+ flex-shrink: 0;
666
680
  -webkit-font-smoothing: antialiased;
667
681
  transition-timing-function: var(--jkl-motion-easing-standard);
668
682
  transition-duration: var(--jkl-motion-timing-energetic);
@@ -693,7 +707,6 @@
693
707
  padding: 0;
694
708
  margin: 0;
695
709
  background: none;
696
- line-height: inherit;
697
710
  font: inherit;
698
711
  text-align: inherit;
699
712
  }
@@ -847,22 +860,22 @@
847
860
  animation: 2500ms linear infinite;
848
861
  }
849
862
  .jkl-loader__dot--left {
850
- animation-name: jkl-loader-left-spin-uumgn1i;
863
+ animation-name: jkl-loader-left-spin-uq1yoq6;
851
864
  margin-right: calc(var(--jkl-loader-spacing) * 0.9);
852
865
  }
853
866
  .jkl-loader__dot--middle {
854
- animation-name: jkl-loader-middle-spin-uumgn1z;
867
+ animation-name: jkl-loader-middle-spin-uq1yoqp;
855
868
  margin-right: var(--jkl-loader-spacing);
856
869
  }
857
870
  .jkl-loader__dot--right {
858
- animation-name: jkl-loader-right-spin-uumgn2n;
871
+ animation-name: jkl-loader-right-spin-uq1yori;
859
872
  }
860
873
  @media screen and (forced-colors: active) {
861
874
  .jkl-loader__dot {
862
875
  background-color: CanvasText;
863
876
  }
864
877
  }
865
- @keyframes jkl-loader-left-spin-uumgn1i {
878
+ @keyframes jkl-loader-left-spin-uq1yoq6 {
866
879
  0% {
867
880
  transform: rotate(0) scale(0);
868
881
  }
@@ -876,7 +889,7 @@
876
889
  transform: rotate(180deg) scale(0);
877
890
  }
878
891
  }
879
- @keyframes jkl-loader-middle-spin-uumgn1z {
892
+ @keyframes jkl-loader-middle-spin-uq1yoqp {
880
893
  0% {
881
894
  transform: rotate(20deg) scale(0);
882
895
  }
@@ -893,7 +906,7 @@
893
906
  transform: rotate(200deg) scale(0);
894
907
  }
895
908
  }
896
- @keyframes jkl-loader-right-spin-uumgn2n {
909
+ @keyframes jkl-loader-right-spin-uq1yori {
897
910
  0% {
898
911
  transform: rotate(40deg) scale(0);
899
912
  }
@@ -933,7 +946,7 @@
933
946
  @media screen and (forced-colors: active) {
934
947
  .jkl-skeleton-element {
935
948
  border: 1px solid CanvasText;
936
- animation: 2s ease infinite jkl-blink-uumgn2s;
949
+ animation: 2s ease infinite jkl-blink-uq1yorn;
937
950
  }
938
951
  }
939
952
  .jkl-skeleton-input {
@@ -981,10 +994,10 @@
981
994
  }
982
995
  @media screen and (forced-colors: active) {
983
996
  .jkl-skeleton-table {
984
- animation: 2s ease-in-out infinite jkl-blink-uumgn2s;
997
+ animation: 2s ease-in-out infinite jkl-blink-uq1yorn;
985
998
  }
986
999
  }
987
- @keyframes jkl-blink-uumgn2s {
1000
+ @keyframes jkl-blink-uq1yorn {
988
1001
  0% {
989
1002
  opacity: 1;
990
1003
  }
@@ -1175,7 +1188,8 @@
1175
1188
 
1176
1189
  @layer jokul.components {
1177
1190
  .jkl-checkbox {
1178
- --text-color: var(--jkl-color-background-contrast);
1191
+ --text-color: var(--jkl-color-text-default);
1192
+ --icon-color: var(--jkl-color-background-contrast);
1179
1193
  --background-color: transparent;
1180
1194
  font: var(--jkl-text-style-text-medium);
1181
1195
  display: flex;
@@ -1218,6 +1232,7 @@
1218
1232
  }
1219
1233
  }
1220
1234
  .jkl-checkbox__label {
1235
+ color: var(--text-color);
1221
1236
  cursor: pointer;
1222
1237
  display: flex;
1223
1238
  transition-timing-function: var(--jkl-motion-easing-standard);
@@ -1225,9 +1240,10 @@
1225
1240
  transition-property: color;
1226
1241
  }
1227
1242
  .jkl-checkbox__label::before {
1228
- content: "check_box_outline_blank";
1243
+ color: var(--icon-color);
1244
+ content: "check_box_outline_blank"/"";
1229
1245
  margin-inline-end: 0.25em;
1230
- font-family: "Jokul Icons", "Jokul Icons Fallback", sans-serif;
1246
+ font-family: var(--jkl-font-family-icons);
1231
1247
  font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
1232
1248
  font-feature-settings: "liga";
1233
1249
  -webkit-font-feature-settings: "liga";
@@ -1235,6 +1251,7 @@
1235
1251
  font-weight: 400;
1236
1252
  line-height: 1;
1237
1253
  display: inline-block;
1254
+ flex-shrink: 0;
1238
1255
  -webkit-font-smoothing: antialiased;
1239
1256
  transition-timing-function: var(--jkl-motion-easing-standard);
1240
1257
  transition-duration: var(--jkl-motion-timing-energetic);
@@ -1248,11 +1265,11 @@
1248
1265
  --jkl-icon-weight: var(--jkl-font-weight-bold);
1249
1266
  }
1250
1267
  .jkl-checkbox__input:checked + .jkl-checkbox__label::before {
1251
- content: "check_box";
1268
+ content: "check_box"/"";
1252
1269
  --jkl-icon-fill: 1;
1253
1270
  }
1254
1271
  .jkl-checkbox__input:indeterminate:not(:checked) + .jkl-checkbox__label::before {
1255
- content: "indeterminate_check_box";
1272
+ content: "indeterminate_check_box"/"";
1256
1273
  --jkl-icon-fill: 1;
1257
1274
  }
1258
1275
  .jkl-checkbox__input[aria-invalid=true] + .jkl-checkbox__label::before {
@@ -1301,6 +1318,21 @@
1301
1318
  .jkl-input-panel__header label {
1302
1319
  inline-size: 100%;
1303
1320
  }
1321
+ .jkl-input-panel__header label::after {
1322
+ content: "";
1323
+ position: absolute;
1324
+ inset: 0;
1325
+ }
1326
+ .jkl-input-panel__header label,
1327
+ .jkl-input-panel__header .jkl-radio-button,
1328
+ .jkl-input-panel__header .jkl-checkbox {
1329
+ position: unset;
1330
+ }
1331
+ .jkl-input-panel__header input[type=checkbox],
1332
+ .jkl-input-panel__header input[type=radio] {
1333
+ inset-block-start: var(--jkl-unit-20);
1334
+ inset-inline-start: var(--padding-inline);
1335
+ }
1304
1336
  .jkl-input-panel__header__amount {
1305
1337
  display: flex;
1306
1338
  height: 100%;
@@ -1336,6 +1368,9 @@
1336
1368
  height: auto;
1337
1369
  padding-block-end: var(--jkl-unit-20);
1338
1370
  }
1371
+ .jkl-input-panel:has(input[aria-invalid=true]) {
1372
+ --outer-border-color: var(--jkl-color-error-border-default);
1373
+ }
1339
1374
  .jkl-input-panel:has(input:hover) {
1340
1375
  --outer-border-color: var(--jkl-color-border-strong);
1341
1376
  --outer-border-thickness: 0.125rem;
@@ -1418,7 +1453,8 @@
1418
1453
  @layer jokul.components {
1419
1454
  .jkl-combobox {
1420
1455
  --jkl-combobox-button-padding: var(--jkl-unit-10);
1421
- --jkl-combobox-button-active-value-padding: var(--jkl-unit-10) var(--jkl-unit-05) var(--jkl-unit-5) var(--jkl-unit-10);
1456
+ --jkl-combobox-button-active-value-padding: var(--jkl-unit-10)
1457
+ var(--jkl-unit-05) var(--jkl-unit-5) var(--jkl-unit-10);
1422
1458
  --jkl-combobox-input-height: 3rem;
1423
1459
  --jkl-combobox-actions-right: var(--jkl-unit-10);
1424
1460
  --jkl-combobox-actions-top: var(--jkl-unit-05);
@@ -1466,7 +1502,8 @@
1466
1502
  display: flex;
1467
1503
  gap: 1ch;
1468
1504
  cursor: pointer;
1469
- --jkl-text-input-padding: var(--jkl-text-input-vertical-padding) var(--jkl-text-input-horizontal-padding);
1505
+ --jkl-text-input-padding: var(--jkl-text-input-vertical-padding)
1506
+ var(--jkl-text-input-horizontal-padding);
1470
1507
  --jkl-text-input-vertical-padding: var(--jkl-unit-15);
1471
1508
  --jkl-text-input-horizontal-padding: var(--jkl-unit-15);
1472
1509
  --jkl-text-input-action-button-size: var(--jkl-unit-60);
@@ -1495,7 +1532,6 @@
1495
1532
  --background-color: var(--jkl-color-background-container);
1496
1533
  }
1497
1534
  .jkl-combobox__wrapper[data-invalid=true]:not(:focus-within):not(:has([data-focused=true])) {
1498
- --background-color: var(--jkl-color-error-background-container);
1499
1535
  --text-color: var(--jkl-color-error-text-default);
1500
1536
  --border-color: var(--jkl-color-error-border-default);
1501
1537
  --placeholder-color: var(--jkl-color-error-text-subdued);
@@ -1699,10 +1735,6 @@
1699
1735
  font-weight: 700;
1700
1736
  }
1701
1737
  .jkl-combobox--invalid .jkl-combobox__search-input,
1702
- .jkl-combobox--invalid .jkl-combobox__wrapper {
1703
- background-color: var(--jkl-color-error-background-container);
1704
- }
1705
- .jkl-combobox--invalid .jkl-combobox__search-input,
1706
1738
  .jkl-combobox--invalid .jkl-combobox__button,
1707
1739
  .jkl-combobox--invalid .jkl-combobox__wrapper {
1708
1740
  color: var(--jkl-color-error-text-default);
@@ -1783,7 +1815,7 @@
1783
1815
  padding-left: 0;
1784
1816
  }
1785
1817
  .jkl-list__item--iconed::before {
1786
- font-family: "Jokul Icons", "Jokul Icons Fallback", sans-serif;
1818
+ font-family: var(--jkl-font-family-icons);
1787
1819
  font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
1788
1820
  font-feature-settings: "liga";
1789
1821
  -webkit-font-feature-settings: "liga";
@@ -1791,6 +1823,7 @@
1791
1823
  font-weight: 400;
1792
1824
  line-height: 1;
1793
1825
  display: inline-block;
1826
+ flex-shrink: 0;
1794
1827
  -webkit-font-smoothing: antialiased;
1795
1828
  transition-timing-function: var(--jkl-motion-easing-standard);
1796
1829
  transition-duration: var(--jkl-motion-timing-energetic);
@@ -2122,10 +2155,10 @@
2122
2155
  }
2123
2156
  }
2124
2157
  .jkl-countdown__tracker {
2125
- animation: jkl-downcount-uumgn3u var(--duration) linear forwards;
2158
+ animation: jkl-downcount-uq1yot2 var(--duration) linear forwards;
2126
2159
  animation-play-state: var(--play-state, running);
2127
2160
  }
2128
- @keyframes jkl-downcount-uumgn3u {
2161
+ @keyframes jkl-downcount-uq1yot2 {
2129
2162
  from {
2130
2163
  width: 100%;
2131
2164
  }
@@ -2626,12 +2659,12 @@
2626
2659
  font: var(--jkl-text-style-paragraph-small);
2627
2660
  }
2628
2661
  .jkl-feedback__fade-in {
2629
- animation: jkl-show-uumgn4b 0.25s ease-out;
2662
+ animation: jkl-show-uq1yotg 0.25s ease-out;
2630
2663
  }
2631
2664
  .jkl-feedback__buttons {
2632
2665
  display: flex;
2633
2666
  }
2634
- @keyframes jkl-show-uumgn4b {
2667
+ @keyframes jkl-show-uq1yotg {
2635
2668
  from {
2636
2669
  transform: translate3d(0, 0.5rem, 0);
2637
2670
  opacity: 0;
@@ -2843,7 +2876,7 @@
2843
2876
  --icon-color: var(--jkl-color-success-background-contrast);
2844
2877
  }
2845
2878
  .jkl-message--dismissed {
2846
- animation: jkl-dismiss-uumgn4l var(--jkl-motion-timing-lazy) ease-in-out forwards;
2879
+ animation: jkl-dismiss-uq1you8 var(--jkl-motion-timing-lazy) ease-in-out forwards;
2847
2880
  transition: visibility 0ms var(--jkl-motion-timing-lazy);
2848
2881
  visibility: hidden;
2849
2882
  }
@@ -2865,7 +2898,7 @@
2865
2898
  .jkl-form-error-message {
2866
2899
  padding-bottom: var(--jkl-unit-50);
2867
2900
  }
2868
- @keyframes jkl-dismiss-uumgn4l {
2901
+ @keyframes jkl-dismiss-uq1you8 {
2869
2902
  from {
2870
2903
  opacity: 1;
2871
2904
  transform: translate3d(0, 0, 0);
@@ -2880,6 +2913,8 @@
2880
2913
  .jkl-radio-button {
2881
2914
  display: flex;
2882
2915
  position: relative;
2916
+ --text-color: var(--jkl-color-text-default);
2917
+ --icon-color: var(--jkl-color-background-contrast);
2883
2918
  font: var(--jkl-text-style-text-medium);
2884
2919
  }
2885
2920
  .jkl-radio-button {
@@ -2939,14 +2974,16 @@
2939
2974
  .jkl-radio-button__label {
2940
2975
  cursor: pointer;
2941
2976
  display: flex;
2977
+ color: var(--text-color);
2942
2978
  transition-timing-function: var(--jkl-motion-easing-standard);
2943
2979
  transition-duration: var(--jkl-motion-timing-productive);
2944
2980
  transition-property: color;
2945
2981
  }
2946
2982
  .jkl-radio-button__label::before {
2947
- content: "radio_button_unchecked";
2983
+ color: var(--icon-color);
2984
+ content: "radio_button_unchecked"/"";
2948
2985
  margin-inline-end: 0.25em;
2949
- font-family: "Jokul Icons", "Jokul Icons Fallback", sans-serif;
2986
+ font-family: var(--jkl-font-family-icons);
2950
2987
  font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
2951
2988
  font-feature-settings: "liga";
2952
2989
  -webkit-font-feature-settings: "liga";
@@ -2954,6 +2991,7 @@
2954
2991
  font-weight: 400;
2955
2992
  line-height: 1;
2956
2993
  display: inline-block;
2994
+ flex-shrink: 0;
2957
2995
  -webkit-font-smoothing: antialiased;
2958
2996
  transition-timing-function: var(--jkl-motion-easing-standard);
2959
2997
  transition-duration: var(--jkl-motion-timing-energetic);
@@ -2968,7 +3006,7 @@
2968
3006
  --jkl-icon-weight: var(--jkl-font-weight-bold);
2969
3007
  }
2970
3008
  .jkl-radio-button__input:checked + .jkl-radio-button__label::before {
2971
- content: "radio_button_checked";
3009
+ content: "radio_button_checked"/"";
2972
3010
  }
2973
3011
  .jkl-radio-button__input[aria-invalid=true] + .jkl-radio-button__label::before {
2974
3012
  color: var(--jkl-color-error-background-contrast);
@@ -2992,7 +3030,8 @@
2992
3030
  @layer jokul.components {
2993
3031
  .jkl-text-area-wrapper {
2994
3032
  overflow: hidden;
2995
- --jkl-text-input-padding: var(--jkl-text-input-vertical-padding) var(--jkl-text-input-horizontal-padding);
3033
+ --jkl-text-input-padding: var(--jkl-text-input-vertical-padding)
3034
+ var(--jkl-text-input-horizontal-padding);
2996
3035
  --jkl-text-input-vertical-padding: var(--jkl-unit-15);
2997
3036
  --jkl-text-input-horizontal-padding: var(--jkl-unit-15);
2998
3037
  --jkl-text-input-action-button-size: var(--jkl-unit-60);
@@ -3021,7 +3060,6 @@
3021
3060
  --background-color: var(--jkl-color-background-container);
3022
3061
  }
3023
3062
  .jkl-text-area-wrapper[data-invalid=true]:not(:focus-within):not(:has([data-focused=true])) {
3024
- --background-color: var(--jkl-color-error-background-container);
3025
3063
  --text-color: var(--jkl-color-error-text-default);
3026
3064
  --border-color: var(--jkl-color-error-border-default);
3027
3065
  --placeholder-color: var(--jkl-color-error-text-subdued);
@@ -3524,7 +3562,7 @@
3524
3562
  }
3525
3563
  .jkl-link-list ul .jkl-link-list-link::after {
3526
3564
  content: "arrow_forward"/"";
3527
- font-family: "Jokul Icons", "Jokul Icons Fallback", sans-serif;
3565
+ font-family: var(--jkl-font-family-icons);
3528
3566
  font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
3529
3567
  font-feature-settings: "liga";
3530
3568
  -webkit-font-feature-settings: "liga";
@@ -3532,6 +3570,7 @@
3532
3570
  font-weight: 400;
3533
3571
  line-height: 1;
3534
3572
  display: inline-block;
3573
+ flex-shrink: 0;
3535
3574
  -webkit-font-smoothing: antialiased;
3536
3575
  transition-timing-function: var(--jkl-motion-easing-standard);
3537
3576
  transition-duration: var(--jkl-motion-timing-energetic);
@@ -3809,7 +3848,8 @@
3809
3848
  align-items: flex-start;
3810
3849
  }
3811
3850
  .jkl-number-input__wrapper {
3812
- --jkl-text-input-padding: var(--jkl-text-input-vertical-padding) var(--jkl-text-input-horizontal-padding);
3851
+ --jkl-text-input-padding: var(--jkl-text-input-vertical-padding)
3852
+ var(--jkl-text-input-horizontal-padding);
3813
3853
  --jkl-text-input-vertical-padding: var(--jkl-unit-15);
3814
3854
  --jkl-text-input-horizontal-padding: var(--jkl-unit-15);
3815
3855
  --jkl-text-input-action-button-size: var(--jkl-unit-60);
@@ -3838,7 +3878,6 @@
3838
3878
  --background-color: var(--jkl-color-background-container);
3839
3879
  }
3840
3880
  .jkl-number-input__wrapper[data-invalid=true]:not(:focus-within):not(:has([data-focused=true])) {
3841
- --background-color: var(--jkl-color-error-background-container);
3842
3881
  --text-color: var(--jkl-color-error-text-default);
3843
3882
  --border-color: var(--jkl-color-error-border-default);
3844
3883
  --placeholder-color: var(--jkl-color-error-text-subdued);
@@ -4042,7 +4081,7 @@
4042
4081
  grid-column: 2;
4043
4082
  grid-row: 1/span 999;
4044
4083
  translate: 0;
4045
- font-family: "Jokul Icons", "Jokul Icons Fallback", sans-serif;
4084
+ font-family: var(--jkl-font-family-icons);
4046
4085
  font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
4047
4086
  font-feature-settings: "liga";
4048
4087
  -webkit-font-feature-settings: "liga";
@@ -4050,6 +4089,7 @@
4050
4089
  font-weight: 400;
4051
4090
  line-height: 1;
4052
4091
  display: inline-block;
4092
+ flex-shrink: 0;
4053
4093
  -webkit-font-smoothing: antialiased;
4054
4094
  transition-timing-function: var(--jkl-motion-easing-standard);
4055
4095
  transition-duration: var(--jkl-motion-timing-energetic);
@@ -4129,7 +4169,8 @@
4129
4169
  --border-radius: var(--jkl-border-radius-s);
4130
4170
  --min-option-height: min(var(--jkl-unit-60), 3rem);
4131
4171
  /* Vi må trekke fra bredden til rammen for å få riktig høyde */
4132
- --button-padding: calc(var(--jkl-unit-15) - var(--border-width)) calc(0.75em - var(--border-width));
4172
+ --button-padding: calc(var(--jkl-unit-15) - var(--border-width))
4173
+ calc(0.75em - var(--border-width));
4133
4174
  --option-padding: var(--jkl-unit-10);
4134
4175
  display: block;
4135
4176
  position: relative;
@@ -4336,8 +4377,8 @@
4336
4377
  }
4337
4378
  .jkl-select--invalid .jkl-select__search-input,
4338
4379
  .jkl-select--invalid .jkl-select__button {
4339
- background-color: var(--jkl-color-error-background-container);
4340
- color: var(--jkl-color-error-text-subdued);
4380
+ color: var(--jkl-color-error-text-default);
4381
+ border-color: var(--jkl-color-error-border-default);
4341
4382
  }
4342
4383
  .jkl-select--invalid .jkl-select__search-input--active-value,
4343
4384
  .jkl-select--invalid .jkl-select__button--active-value {
@@ -4459,7 +4500,7 @@
4459
4500
  transition-timing-function: var(--jkl-motion-easing-standard);
4460
4501
  transition-duration: var(--jkl-motion-timing-productive);
4461
4502
  }
4462
- @keyframes jkl-downcount-uumgn5e {
4503
+ @keyframes jkl-downcount-uq1youi {
4463
4504
  from {
4464
4505
  width: 100%;
4465
4506
  }
@@ -4635,7 +4676,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4635
4676
  justify-content: center;
4636
4677
  height: 100%;
4637
4678
  grid-column: 1;
4638
- font-family: "Jokul Icons", "Jokul Icons Fallback", monospace;
4679
+ font-family: var(--jkl-font-family-icons);
4639
4680
  }
4640
4681
  .jkl-search .input-wrapper:has(.clear-button) {
4641
4682
  grid-template-columns: 1.3em 1fr 1.3em;
@@ -4664,7 +4705,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4664
4705
  grid-row: 1;
4665
4706
  grid-column: 1;
4666
4707
  z-index: 1;
4667
- font-family: "Jokul Icons", "Jokul Icons Fallback", sans-serif;
4708
+ font-family: var(--jkl-font-family-icons);
4668
4709
  font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
4669
4710
  font-feature-settings: "liga";
4670
4711
  -webkit-font-feature-settings: "liga";
@@ -4672,6 +4713,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4672
4713
  font-weight: 400;
4673
4714
  line-height: 1;
4674
4715
  display: inline-block;
4716
+ flex-shrink: 0;
4675
4717
  -webkit-font-smoothing: antialiased;
4676
4718
  transition-timing-function: var(--jkl-motion-easing-standard);
4677
4719
  transition-duration: var(--jkl-motion-timing-energetic);
@@ -4953,7 +4995,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4953
4995
  margin-bottom: 0;
4954
4996
  }
4955
4997
  .jkl-system-message--dismissed {
4956
- animation: jkl-dismiss-uumgn6x var(--jkl-motion-timing-lazy) forwards;
4998
+ animation: jkl-dismiss-uq1yovm var(--jkl-motion-timing-lazy) forwards;
4957
4999
  transition: block var(--jkl-motion-timing-lazy) var(--jkl-motion-timing-lazy);
4958
5000
  }
4959
5001
  .jkl-system-message--info {
@@ -4991,7 +5033,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4991
5033
  border-width: 4px;
4992
5034
  }
4993
5035
  }
4994
- @keyframes jkl-dismiss-uumgn6x {
5036
+ @keyframes jkl-dismiss-uq1yovm {
4995
5037
  from {
4996
5038
  opacity: 1;
4997
5039
  transform: translateY(0);
@@ -5819,12 +5861,12 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5819
5861
  }
5820
5862
  .jkl-toast[data-animation=entering],
5821
5863
  .jkl-toast[data-animation=queued] {
5822
- animation: jkl-entering-uumgn7v var(--jkl-motion-timing-polite) var(--jkl-motion-easing-entrance) forwards;
5864
+ animation: jkl-entering-uq1yow1 var(--jkl-motion-timing-polite) var(--jkl-motion-easing-entrance) forwards;
5823
5865
  }
5824
5866
  .jkl-toast[data-animation=exiting] {
5825
- animation: jkl-exiting-uumgn84 var(--jkl-motion-timing-productive) var(--jkl-motion-easing-exit) forwards;
5867
+ animation: jkl-exiting-uq1yow6 var(--jkl-motion-timing-productive) var(--jkl-motion-easing-exit) forwards;
5826
5868
  }
5827
- @keyframes jkl-entering-uumgn7v {
5869
+ @keyframes jkl-entering-uq1yow1 {
5828
5870
  from {
5829
5871
  opacity: 0;
5830
5872
  transform: translate3d(0, 50%, 0);
@@ -5834,7 +5876,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5834
5876
  transform: translate3d(0, 0, 0);
5835
5877
  }
5836
5878
  }
5837
- @keyframes jkl-exiting-uumgn84 {
5879
+ @keyframes jkl-exiting-uq1yow6 {
5838
5880
  from {
5839
5881
  opacity: 1;
5840
5882
  transform: translate3d(0, 0, 0);
@@ -7346,6 +7388,8 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
7346
7388
  .jkl-toggle-switch[aria-pressed=true], [aria-checked=true] > .jkl-toggle-switch {
7347
7389
  --indicator-color: var(--jkl-color-background-contrast);
7348
7390
  --knob-color: var(--jkl-color-text-on-contrast);
7391
+ --switch-border-color: var(--indicator-color);
7392
+ --knob-border-color: var(--knob-color);
7349
7393
  --knob-position: calc(var(--jkl-toggle-switch-width) - var(--jkl-toggle-switch-knob-size) - var(--switch-padding) * 2);
7350
7394
  }
7351
7395
  .jkl-toggle-switch[disabled] {
@@ -7356,6 +7400,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
7356
7400
  }
7357
7401
  .jkl-toggle-switch[disabled][aria-pressed=true], [aria-checked=true] > .jkl-toggle-switch[disabled] {
7358
7402
  --indicator-color: var(--jkl-color-border-subdued);
7403
+ --switch-border-color: var(--indicator-color);
7359
7404
  }
7360
7405
 
7361
7406
  .jkl-toggle-switch-widget {
@@ -7440,6 +7485,12 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
7440
7485
  .jkl-text[data-short] {
7441
7486
  line-height: var(--jkl-line-height-tight);
7442
7487
  }
7488
+ .jkl-text[data-center] {
7489
+ text-align: center;
7490
+ }
7491
+ .jkl-text[data-subdued] {
7492
+ color: var(--jkl-color-text-subdued);
7493
+ }
7443
7494
  :is(code, kbd, samp, var).jkl-text {
7444
7495
  font-family: var(--jkl-font-family-mono);
7445
7496
  }
@@ -7477,6 +7528,9 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
7477
7528
  display: block;
7478
7529
  margin-block-end: var(--jkl-spacing-8);
7479
7530
  }
7531
+ :is(h1, h2, h3, h4, h5, h6, label, legend)[data-text-size][data-center] {
7532
+ text-align: center;
7533
+ }
7480
7534
  }
7481
7535
  @layer jokul.components {
7482
7536
  .jkl-help {
@@ -7508,7 +7562,6 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
7508
7562
  background-color: var(--jkl-color-background-contrast);
7509
7563
  color: var(--jkl-color-text-on-contrast);
7510
7564
  border-radius: var(--jkl-border-radius-s);
7511
- anchor-name: --help-box;
7512
7565
  }
7513
7566
  .jkl-help-popover[data-position=top] {
7514
7567
  position-area: top center;