@fremtind/jokul 5.0.0-next.6 → 5.0.0-next.8

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 (142) hide show
  1. package/README.md +1 -1
  2. package/build/build-stats.html +1 -1
  3. package/build/cjs/components/card/Card.cjs +1 -1
  4. package/build/cjs/components/card/Card.cjs.map +1 -1
  5. package/build/cjs/components/card/index.d.cts +1 -1
  6. package/build/cjs/components/card/types.cjs +1 -1
  7. package/build/cjs/components/card/types.cjs.map +1 -1
  8. package/build/cjs/components/card/types.d.cts +3 -6
  9. package/build/cjs/tokens.cjs +1 -1
  10. package/build/cjs/tokens.cjs.map +1 -1
  11. package/build/cjs/tokens.d.cts +25 -32
  12. package/build/es/components/card/Card.js +1 -1
  13. package/build/es/components/card/Card.js.map +1 -1
  14. package/build/es/components/card/index.d.ts +1 -1
  15. package/build/es/components/card/types.d.ts +3 -6
  16. package/build/es/components/card/types.js +1 -1
  17. package/build/es/components/card/types.js.map +1 -1
  18. package/build/es/tokens.d.ts +25 -32
  19. package/build/es/tokens.js +1 -1
  20. package/build/es/tokens.js.map +1 -1
  21. package/codemods/__tests__/import-paths.test.mjs +189 -0
  22. package/codemods/import-paths.mjs +137 -3
  23. package/package.json +2 -1
  24. package/styles/base.css +550 -562
  25. package/styles/base.min.css +1 -1
  26. package/styles/components/autosuggest/autosuggest.css +2 -2
  27. package/styles/components/autosuggest/autosuggest.min.css +1 -1
  28. package/styles/components/autosuggest/autosuggest.scss +2 -2
  29. package/styles/components/beta/nav-link/navlink.css +1 -1
  30. package/styles/components/beta/nav-link/navlink.min.css +1 -1
  31. package/styles/components/beta/nav-link/navlink.scss +4 -2
  32. package/styles/components/button/button.css +2 -2
  33. package/styles/components/button/button.min.css +1 -1
  34. package/styles/components/button/button.scss +2 -2
  35. package/styles/components/card/card.css +3 -5
  36. package/styles/components/card/card.min.css +1 -1
  37. package/styles/components/card/card.scss +4 -7
  38. package/styles/components/checkbox/checkbox.css +1 -7
  39. package/styles/components/checkbox/checkbox.min.css +1 -1
  40. package/styles/components/checkbox/checkbox.scss +2 -8
  41. package/styles/components/checkbox-panel/checkbox-panel.css +2 -8
  42. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  43. package/styles/components/chip/chip.css +4 -4
  44. package/styles/components/chip/chip.min.css +1 -1
  45. package/styles/components/chip/chip.scss +5 -5
  46. package/styles/components/combobox/combobox.css +7 -8
  47. package/styles/components/combobox/combobox.min.css +1 -1
  48. package/styles/components/combobox/combobox.scss +6 -12
  49. package/styles/components/countdown/countdown.css +2 -2
  50. package/styles/components/countdown/countdown.min.css +1 -1
  51. package/styles/components/datepicker/_calendar-date-button.scss +6 -4
  52. package/styles/components/datepicker/datepicker.css +3 -3
  53. package/styles/components/datepicker/datepicker.min.css +1 -1
  54. package/styles/components/expander/expandable.css +5 -2
  55. package/styles/components/expander/expandable.min.css +1 -1
  56. package/styles/components/expander/expandable.scss +6 -2
  57. package/styles/components/feedback/feedback.css +2 -2
  58. package/styles/components/feedback/feedback.min.css +1 -1
  59. package/styles/components/file-input/file-input.css +11 -11
  60. package/styles/components/file-input/file-input.min.css +1 -1
  61. package/styles/components/help/help.css +2 -2
  62. package/styles/components/help/help.min.css +1 -1
  63. package/styles/components/help/help.scss +4 -4
  64. package/styles/components/icon/icon.css +4 -4
  65. package/styles/components/icon/icon.min.css +1 -1
  66. package/styles/components/icon/icon.scss +73 -73
  67. package/styles/components/icon-button/icon-button.css +1 -1
  68. package/styles/components/icon-button/icon-button.min.css +1 -1
  69. package/styles/components/icon-button/icon-button.scss +1 -1
  70. package/styles/components/input-group/input-group.css +2 -2
  71. package/styles/components/input-group/input-group.min.css +1 -1
  72. package/styles/components/input-panel/input-panel.css +1 -1
  73. package/styles/components/input-panel/input-panel.min.css +1 -1
  74. package/styles/components/input-panel/input-panel.scss +2 -3
  75. package/styles/components/link-list/link-list.css +2 -2
  76. package/styles/components/link-list/link-list.min.css +1 -1
  77. package/styles/components/link-list/link-list.scss +2 -2
  78. package/styles/components/loader/loader.css +6 -6
  79. package/styles/components/loader/loader.min.css +1 -1
  80. package/styles/components/loader/skeleton-loader.css +3 -3
  81. package/styles/components/loader/skeleton-loader.min.css +1 -1
  82. package/styles/components/menu/_menu-item.scss +2 -2
  83. package/styles/components/menu/menu.css +2 -2
  84. package/styles/components/menu/menu.min.css +1 -1
  85. package/styles/components/message/message.css +3 -3
  86. package/styles/components/message/message.min.css +1 -1
  87. package/styles/components/message/message.scss +3 -6
  88. package/styles/components/pagination/pagination.css +2 -2
  89. package/styles/components/pagination/pagination.min.css +1 -1
  90. package/styles/components/pagination/pagination.scss +2 -2
  91. package/styles/components/progress-bar/progress-bar.css +1 -1
  92. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  93. package/styles/components/radio-button/radio-button.css +1 -1
  94. package/styles/components/radio-button/radio-button.min.css +1 -1
  95. package/styles/components/radio-button/radio-button.scss +1 -1
  96. package/styles/components/radio-panel/radio-panel.css +1 -1
  97. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  98. package/styles/components/segmented-control/segmented-control.css +13 -13
  99. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  100. package/styles/components/segmented-control/segmented-control.scss +2 -2
  101. package/styles/components/select/select.css +2 -3
  102. package/styles/components/select/select.min.css +1 -1
  103. package/styles/components/select/select.scss +14 -19
  104. package/styles/components/system-message/system-message.css +5 -5
  105. package/styles/components/system-message/system-message.min.css +1 -1
  106. package/styles/components/system-message/system-message.scss +119 -118
  107. package/styles/components/table/_table-row.scss +3 -1
  108. package/styles/components/table/table.css +3 -1
  109. package/styles/components/table/table.min.css +1 -1
  110. package/styles/components/tabs/tabs.css +2 -2
  111. package/styles/components/tabs/tabs.min.css +1 -1
  112. package/styles/components/tabs/tabs.scss +3 -4
  113. package/styles/components/tag/tag.scss +2 -1
  114. package/styles/components/text-area/text-area.css +4 -4
  115. package/styles/components/text-area/text-area.min.css +1 -1
  116. package/styles/components/text-input/text-input.css +4 -4
  117. package/styles/components/text-input/text-input.min.css +1 -1
  118. package/styles/components/toast/toast.css +5 -5
  119. package/styles/components/toast/toast.min.css +1 -1
  120. package/styles/components/toast/toast.scss +4 -6
  121. package/styles/components/toggle-switch/toggle-switch.css +4 -9
  122. package/styles/components/toggle-switch/toggle-switch.min.css +1 -3
  123. package/styles/components/toggle-switch/toggle-switch.scss +4 -9
  124. package/styles/components/tooltip/tooltip.css +4 -4
  125. package/styles/components/tooltip/tooltip.min.css +1 -1
  126. package/styles/components/tooltip/tooltip.scss +4 -4
  127. package/styles/components.css +97 -107
  128. package/styles/components.min.css +1 -3
  129. package/styles/jkl/_tokens.scss +67 -73
  130. package/styles/shared/input/shared-input-styles.scss +5 -9
  131. package/styles/tailwind.css +110 -108
  132. package/styles/theme/_color-scheme.scss +110 -132
  133. package/styles/theme/brands/dnb/_color-scheme.scss +110 -108
  134. package/styles/theme/brands/eika/_color-scheme.scss +110 -108
  135. package/styles/theme/brands/fremtind/_color-scheme.scss +110 -108
  136. package/styles/theme/brands/sparebank1/_color-scheme.scss +110 -108
  137. package/build/cjs/tailwind/colors.cjs +0 -2
  138. package/build/cjs/tailwind/colors.cjs.map +0 -1
  139. package/build/cjs/tailwind/colors.d.cts +0 -39
  140. package/build/es/tailwind/colors.d.ts +0 -39
  141. package/build/es/tailwind/colors.js +0 -2
  142. package/build/es/tailwind/colors.js.map +0 -1
@@ -51,7 +51,7 @@
51
51
  display: flex;
52
52
  align-items: center;
53
53
  border: 0;
54
- background-color: var(--jkl-color-background-interactive);
54
+ background-color: transparent;
55
55
  min-height: var(--jkl-autosuggest-option-height);
56
56
  text-align: left;
57
57
  transition-timing-function: var(--jkl-motion-easing-standard);
@@ -63,13 +63,12 @@
63
63
  }
64
64
  .jkl-autosuggest__item:focus, .jkl-autosuggest__item--active, .jkl-autosuggest__item:hover {
65
65
  color: var(--jkl-color-text-default);
66
- background-color: var(--jkl-color-background-interactive-hover);
66
+ background-color: color-mix(in srgb, currentColor 10%, transparent);
67
67
  }
68
68
  }
69
69
  @layer jokul.components {
70
70
  .jkl-text-input-wrapper {
71
- --jkl-text-input-padding: var(--jkl-text-input-vertical-padding)
72
- var(--jkl-text-input-horizontal-padding);
71
+ --jkl-text-input-padding: var(--jkl-text-input-vertical-padding) var(--jkl-text-input-horizontal-padding);
73
72
  --jkl-text-input-vertical-padding: var(--jkl-unit-15);
74
73
  --jkl-text-input-horizontal-padding: var(--jkl-unit-15);
75
74
  --jkl-text-input-action-button-size: var(--jkl-unit-60);
@@ -100,7 +99,8 @@
100
99
  .jkl-text-input-wrapper[data-invalid=true]:not(:focus-within):not(:has([data-focused=true])) {
101
100
  --background-color: var(--jkl-color-error-background-container);
102
101
  --text-color: var(--jkl-color-error-text-default);
103
- --placeholder-color: color(from currentColor sRGB r g b / 75%);
102
+ --border-color: var(--jkl-color-error-border-default);
103
+ --placeholder-color: var(--jkl-color-error-text-subdued);
104
104
  }
105
105
  .jkl-text-input-wrapper:hover, .jkl-text-input-wrapper:focus-within, .jkl-text-input-wrapper:has([data-focused=true]) {
106
106
  --border-color: var(--jkl-color-border-strong);
@@ -140,7 +140,7 @@
140
140
  width: var(--jkl-text-input-action-button-icon-size);
141
141
  }
142
142
  .jkl-text-input-wrapper > .jkl-text-input-action-button:hover {
143
- color: var(--jkl-color-text-interactive-hover);
143
+ color: var(--jkl-color-text-subdued);
144
144
  }
145
145
  @media screen and (forced-colors: active) {
146
146
  .jkl-text-input-wrapper > .jkl-text-input-action-button:hover {
@@ -244,8 +244,8 @@
244
244
  display: block;
245
245
  }
246
246
  .jkl-icon-red-cross {
247
- --red-cross-circle: var(--jkl-color-error-background-action);
248
- --red-cross-path: var(--jkl-color-error-text-on-action);
247
+ --red-cross-circle: var(--jkl-color-error-background-contrast);
248
+ --red-cross-path: var(--jkl-color-error-text-on-contrast);
249
249
  width: 1.3em;
250
250
  height: 1.3em;
251
251
  }
@@ -256,8 +256,8 @@
256
256
  fill: var(--red-cross-circle);
257
257
  }
258
258
  .jkl-icon-green-check {
259
- --green-check-circle: var(--jkl-color-success-background-action);
260
- --green-check-path: var(--jkl-color-success-text-on-action);
259
+ --green-check-circle: var(--jkl-color-success-background-contrast);
260
+ --green-check-path: var(--jkl-color-success-text-on-contrast);
261
261
  width: 1.3em;
262
262
  height: 1.3em;
263
263
  }
@@ -361,7 +361,7 @@
361
361
  outline-offset: 3px;
362
362
  }
363
363
  .jkl-icon-button:hover {
364
- color: var(--jkl-color-text-interactive-hover);
364
+ color: var(--jkl-color-text-subdued);
365
365
  }
366
366
  @media screen and (forced-colors: active) {
367
367
  .jkl-icon-button {
@@ -431,7 +431,7 @@
431
431
  --color: var(--jkl-color-text-default);
432
432
  }
433
433
  .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 {
434
- animation: var(--jkl-motion-timing-lazy) cubic-bezier(0, 0, 0.3, 1) var(--jkl-motion-timing-expressive) jkl-support-icon-entrance-u2z8gag forwards;
434
+ animation: var(--jkl-motion-timing-lazy) cubic-bezier(0, 0, 0.3, 1) var(--jkl-motion-timing-expressive) jkl-support-icon-entrance-uw6amg5 forwards;
435
435
  }
436
436
  .jkl-form-support-label--sr-only {
437
437
  border: 0 !important;
@@ -485,7 +485,7 @@
485
485
  .jkl-label:has(+ .jkl-input-group-description) {
486
486
  margin-block-end: var(--jkl-spacing-4);
487
487
  }
488
- @keyframes jkl-support-icon-entrance-u2z8gag {
488
+ @keyframes jkl-support-icon-entrance-uw6amg5 {
489
489
  0% {
490
490
  margin-right: 0;
491
491
  opacity: 0;
@@ -533,10 +533,10 @@
533
533
  }
534
534
  .jkl-tooltip-content {
535
535
  --content-padding: var(--jkl-unit-15);
536
- --background-color: var(--jkl-color-background-action);
536
+ --background-color: var(--jkl-color-background-contrast);
537
537
  font: var(--jkl-text-style-paragraph-small);
538
538
  background-color: var(--background-color);
539
- color: var(--jkl-color-text-on-action);
539
+ color: var(--jkl-color-text-on-contrast);
540
540
  display: inline-block;
541
541
  min-width: min-content;
542
542
  max-width: min(19.375rem, 100%);
@@ -559,7 +559,7 @@
559
559
  padding: 0;
560
560
  display: inline-flex;
561
561
  align-items: baseline;
562
- color: var(--jkl-color-text-interactive);
562
+ color: var(--jkl-color-text-default);
563
563
  transform: translateY(min(0.25em, 0.375rem));
564
564
  border-radius: 9999px;
565
565
  }
@@ -584,7 +584,7 @@
584
584
  }
585
585
  }
586
586
  .jkl-tooltip-question-button:hover {
587
- --button-color: var(--jkl-color-text-interactive-hover);
587
+ color: var(--jkl-color-text-subdued);
588
588
  }
589
589
  .jkl-tooltip-question-button:focus-visible {
590
590
  outline: 3px solid var(--jkl-color-border-strong);
@@ -793,8 +793,8 @@
793
793
  --border-radius: 999px;
794
794
  }
795
795
  .jkl-button--primary {
796
- --background-color: var(--jkl-color-background-action);
797
- --text-color: var(--jkl-color-text-on-action);
796
+ --background-color: var(--jkl-color-background-contrast);
797
+ --text-color: var(--jkl-color-text-on-contrast);
798
798
  }
799
799
  @media (forced-colors: active) {
800
800
  .jkl-button--primary {
@@ -833,22 +833,22 @@
833
833
  animation: 2500ms linear infinite;
834
834
  }
835
835
  .jkl-loader__dot--left {
836
- animation-name: jkl-loader-left-spin-u2z8gb8;
836
+ animation-name: jkl-loader-left-spin-uw6amh4;
837
837
  margin-right: calc(var(--jkl-loader-spacing) * 0.9);
838
838
  }
839
839
  .jkl-loader__dot--middle {
840
- animation-name: jkl-loader-middle-spin-u2z8gc6;
840
+ animation-name: jkl-loader-middle-spin-uw6ami3;
841
841
  margin-right: var(--jkl-loader-spacing);
842
842
  }
843
843
  .jkl-loader__dot--right {
844
- animation-name: jkl-loader-right-spin-u2z8gd5;
844
+ animation-name: jkl-loader-right-spin-uw6amio;
845
845
  }
846
846
  @media screen and (forced-colors: active) {
847
847
  .jkl-loader__dot {
848
848
  background-color: CanvasText;
849
849
  }
850
850
  }
851
- @keyframes jkl-loader-left-spin-u2z8gb8 {
851
+ @keyframes jkl-loader-left-spin-uw6amh4 {
852
852
  0% {
853
853
  transform: rotate(0) scale(0);
854
854
  }
@@ -862,7 +862,7 @@
862
862
  transform: rotate(180deg) scale(0);
863
863
  }
864
864
  }
865
- @keyframes jkl-loader-middle-spin-u2z8gc6 {
865
+ @keyframes jkl-loader-middle-spin-uw6ami3 {
866
866
  0% {
867
867
  transform: rotate(20deg) scale(0);
868
868
  }
@@ -879,7 +879,7 @@
879
879
  transform: rotate(200deg) scale(0);
880
880
  }
881
881
  }
882
- @keyframes jkl-loader-right-spin-u2z8gd5 {
882
+ @keyframes jkl-loader-right-spin-uw6amio {
883
883
  0% {
884
884
  transform: rotate(40deg) scale(0);
885
885
  }
@@ -919,7 +919,7 @@
919
919
  @media screen and (forced-colors: active) {
920
920
  .jkl-skeleton-element {
921
921
  border: 1px solid CanvasText;
922
- animation: 2s ease infinite jkl-blink-u2z8gdg;
922
+ animation: 2s ease infinite jkl-blink-uw6amj3;
923
923
  }
924
924
  }
925
925
  .jkl-skeleton-input {
@@ -967,10 +967,10 @@
967
967
  }
968
968
  @media screen and (forced-colors: active) {
969
969
  .jkl-skeleton-table {
970
- animation: 2s ease-in-out infinite jkl-blink-u2z8gdg;
970
+ animation: 2s ease-in-out infinite jkl-blink-uw6amj3;
971
971
  }
972
972
  }
973
- @keyframes jkl-blink-u2z8gdg {
973
+ @keyframes jkl-blink-uw6amj3 {
974
974
  0% {
975
975
  opacity: 1;
976
976
  }
@@ -999,7 +999,7 @@
999
999
  --border-radius: var(--jkl-border-radius-m);
1000
1000
  --border-color: transparent;
1001
1001
  --border-width: 0.0625rem;
1002
- --background-color: transparent;
1002
+ --background-color: var(--jkl-color-background-container);
1003
1003
  position: relative;
1004
1004
  overflow: hidden;
1005
1005
  display: block;
@@ -1041,11 +1041,9 @@
1041
1041
  .jkl-card[data-padding=xl] {
1042
1042
  --padding: var(--padding-xl);
1043
1043
  }
1044
- .jkl-card--filled {
1045
- --background-color: var(--jkl-color-background-container);
1046
- }
1047
1044
  .jkl-card--outlined {
1048
- --border-color: var(--jkl-color-border-default);
1045
+ --border-color: var(--jkl-color-border-subdued);
1046
+ --background-color: transparent;
1049
1047
  }
1050
1048
  .jkl-card[data-clickable=true] {
1051
1049
  cursor: pointer;
@@ -1163,12 +1161,6 @@
1163
1161
 
1164
1162
  @layer jokul.components {
1165
1163
  .jkl-checkbox {
1166
- /* stylelint-disable declaration-block-no-duplicate-custom-properties -- fallback for browsers without light-dark() support */
1167
- --jkl-checkbox-error-color: #ab2e43;
1168
- --jkl-checkbox-error-color: light-dark(#ab2e43, #d79ba5);
1169
- /* stylelint-enable declaration-block-no-duplicate-custom-properties */
1170
- --box-color: var(--jkl-color-border-strong);
1171
- --check-color: var(--jkl-color-border-strong);
1172
1164
  --text-color: var(--jkl-color-text-default);
1173
1165
  --background-color: transparent;
1174
1166
  font: var(--jkl-text-style-text-medium);
@@ -1251,7 +1243,7 @@
1251
1243
  --jkl-icon-fill: 1;
1252
1244
  }
1253
1245
  .jkl-checkbox__input[aria-invalid=true] + .jkl-checkbox__label::before {
1254
- color: var(--jkl-checkbox-error-color);
1246
+ color: var(--jkl-color-error-background-contrast);
1255
1247
  }
1256
1248
  .jkl-checkbox + .jkl-checkbox {
1257
1249
  margin-top: 0.75em;
@@ -1333,7 +1325,7 @@
1333
1325
  padding-block-end: var(--jkl-unit-20);
1334
1326
  }
1335
1327
  .jkl-input-panel:has(input:hover) {
1336
- --outer-border-color: var(--jkl-color-border-default);
1328
+ --outer-border-color: var(--jkl-color-border-strong);
1337
1329
  --outer-border-thickness: 0.125rem;
1338
1330
  cursor: pointer;
1339
1331
  }
@@ -1354,7 +1346,7 @@
1354
1346
  --gap: var(--jkl-unit-05);
1355
1347
  --text-color: var(--jkl-color-text-default);
1356
1348
  --border-color: var(--jkl-color-border-subdued);
1357
- --background-color: transparent;
1349
+ --background-color: var(--jkl-color-background-container);
1358
1350
  --border-width: 0.0625rem;
1359
1351
  font: var(--jkl-text-style-text-small);
1360
1352
  font-weight: var(--jkl-font-weight-bold);
@@ -1397,9 +1389,9 @@
1397
1389
  opacity: 0.15;
1398
1390
  }
1399
1391
  .jkl-chip--filter[aria-pressed=true] {
1400
- --background-color: var(--jkl-color-background-action);
1401
- --text-color: var(--jkl-color-text-on-action);
1402
- --border-color: var(--text-color);
1392
+ --background-color: var(--jkl-color-background-contrast);
1393
+ --text-color: var(--jkl-color-text-on-contrast);
1394
+ --border-color: var(--jkl-color-border-strong);
1403
1395
  }
1404
1396
  @media screen and (forced-colors: active) {
1405
1397
  .jkl-chip--filter[aria-pressed=true] {
@@ -1415,8 +1407,7 @@
1415
1407
  @layer jokul.components {
1416
1408
  .jkl-combobox {
1417
1409
  --jkl-combobox-button-padding: var(--jkl-unit-10);
1418
- --jkl-combobox-button-active-value-padding: var(--jkl-unit-10)
1419
- var(--jkl-unit-05) var(--jkl-unit-5) var(--jkl-unit-10);
1410
+ --jkl-combobox-button-active-value-padding: var(--jkl-unit-10) var(--jkl-unit-05) var(--jkl-unit-5) var(--jkl-unit-10);
1420
1411
  --jkl-combobox-input-height: 3rem;
1421
1412
  --jkl-combobox-actions-right: var(--jkl-unit-10);
1422
1413
  --jkl-combobox-actions-top: var(--jkl-unit-05);
@@ -1464,8 +1455,7 @@
1464
1455
  display: flex;
1465
1456
  gap: 1ch;
1466
1457
  cursor: pointer;
1467
- --jkl-text-input-padding: var(--jkl-text-input-vertical-padding)
1468
- var(--jkl-text-input-horizontal-padding);
1458
+ --jkl-text-input-padding: var(--jkl-text-input-vertical-padding) var(--jkl-text-input-horizontal-padding);
1469
1459
  --jkl-text-input-vertical-padding: var(--jkl-unit-15);
1470
1460
  --jkl-text-input-horizontal-padding: var(--jkl-unit-15);
1471
1461
  --jkl-text-input-action-button-size: var(--jkl-unit-60);
@@ -1496,7 +1486,8 @@
1496
1486
  .jkl-combobox__wrapper[data-invalid=true]:not(:focus-within):not(:has([data-focused=true])) {
1497
1487
  --background-color: var(--jkl-color-error-background-container);
1498
1488
  --text-color: var(--jkl-color-error-text-default);
1499
- --placeholder-color: color(from currentColor sRGB r g b / 75%);
1489
+ --border-color: var(--jkl-color-error-border-default);
1490
+ --placeholder-color: var(--jkl-color-error-text-subdued);
1500
1491
  }
1501
1492
  .jkl-combobox__wrapper:hover, .jkl-combobox__wrapper:focus-within, .jkl-combobox__wrapper:has([data-focused=true]) {
1502
1493
  --border-color: var(--jkl-color-border-strong);
@@ -1536,7 +1527,7 @@
1536
1527
  width: var(--jkl-text-input-action-button-icon-size);
1537
1528
  }
1538
1529
  .jkl-combobox__wrapper > .jkl-text-input-action-button:hover {
1539
- color: var(--jkl-color-text-interactive-hover);
1530
+ color: var(--jkl-color-text-subdued);
1540
1531
  }
1541
1532
  @media screen and (forced-colors: active) {
1542
1533
  .jkl-combobox__wrapper > .jkl-text-input-action-button:hover {
@@ -1658,7 +1649,7 @@
1658
1649
  align-items: center;
1659
1650
  border: 0;
1660
1651
  color: var(--jkl-color-text-default);
1661
- background-color: var(--jkl-color-background-interactive);
1652
+ background-color: transparent;
1662
1653
  transition-property: color, background-color;
1663
1654
  cursor: pointer;
1664
1655
  padding: var(--jkl-combobox-option-padding);
@@ -1667,7 +1658,7 @@
1667
1658
  line-height: var(--jkl-combobox-option-line-height);
1668
1659
  }
1669
1660
  .jkl-combobox__option:focus, .jkl-combobox__option:hover {
1670
- background-color: var(--jkl-color-background-interactive-hover);
1661
+ background-color: color-mix(in srgb, currentColor 10%, transparent);
1671
1662
  }
1672
1663
  .jkl-combobox__option-description {
1673
1664
  font: var(--jkl-text-style-text-small);
@@ -2014,10 +2005,10 @@
2014
2005
  }
2015
2006
  }
2016
2007
  .jkl-countdown__tracker {
2017
- animation: jkl-downcount-u2z8gf3 var(--duration) linear forwards;
2008
+ animation: jkl-downcount-uw6amjs var(--duration) linear forwards;
2018
2009
  animation-play-state: var(--play-state, running);
2019
2010
  }
2020
- @keyframes jkl-downcount-u2z8gf3 {
2011
+ @keyframes jkl-downcount-uw6amjs {
2021
2012
  from {
2022
2013
  width: 100%;
2023
2014
  }
@@ -2200,12 +2191,12 @@
2200
2191
  font-weight: var(--jkl-font-weight-bold);
2201
2192
  }
2202
2193
  .jkl-calendar-date-button:hover:not(:disabled) {
2203
- background-color: var(--jkl-color-background-interactive-hover);
2194
+ background-color: color-mix(in srgb, currentColor 10%, transparent);
2204
2195
  cursor: pointer;
2205
2196
  }
2206
2197
  .jkl-calendar-date-button[aria-pressed=true] {
2207
- background-color: var(--jkl-color-background-action);
2208
- color: var(--jkl-color-text-on-action);
2198
+ background-color: var(--jkl-color-background-contrast);
2199
+ color: var(--jkl-color-text-on-contrast);
2209
2200
  cursor: pointer;
2210
2201
  }
2211
2202
  .jkl-calendar-date-button[aria-pressed=true]:hover {
@@ -2357,7 +2348,7 @@
2357
2348
  }
2358
2349
  @layer jokul.components {
2359
2350
  .jkl-expandable {
2360
- background-color: var(--jkl-color-background-page);
2351
+ background-color: var(--jkl-color-background-container);
2361
2352
  border: 1px solid transparent;
2362
2353
  border-radius: var(--border-radius);
2363
2354
  box-sizing: border-box;
@@ -2419,6 +2410,9 @@
2419
2410
  inset: 0;
2420
2411
  }
2421
2412
  .jkl-expander {
2413
+ --hover-background-color: color-mix(in srgb,
2414
+ currentColor 15%,
2415
+ transparent);
2422
2416
  box-sizing: border-box;
2423
2417
  background: none;
2424
2418
  appearance: none;
@@ -2458,7 +2452,7 @@
2458
2452
  }
2459
2453
  @media (hover: hover) {
2460
2454
  .jkl-expander:hover {
2461
- background-color: var(--jkl-color-background-interactive-selected);
2455
+ background-color: var(--hover-background-color);
2462
2456
  }
2463
2457
  }
2464
2458
  .jkl-expander {
@@ -2501,12 +2495,12 @@
2501
2495
  font: var(--jkl-text-style-paragraph-small);
2502
2496
  }
2503
2497
  .jkl-feedback__fade-in {
2504
- animation: jkl-show-u2z8gfu 0.25s ease-out;
2498
+ animation: jkl-show-uw6amk2 0.25s ease-out;
2505
2499
  }
2506
2500
  .jkl-feedback__buttons {
2507
2501
  display: flex;
2508
2502
  }
2509
- @keyframes jkl-show-u2z8gfu {
2503
+ @keyframes jkl-show-uw6amk2 {
2510
2504
  from {
2511
2505
  transform: translate3d(0, 0.5rem, 0);
2512
2506
  opacity: 0;
@@ -2681,7 +2675,7 @@
2681
2675
  transform: translate(-50%, -50%);
2682
2676
  }
2683
2677
  .jkl-message__dismiss-button:hover {
2684
- color: var(--jkl-color-text-interactive-hover);
2678
+ color: var(--jkl-color-text-subdued);
2685
2679
  }
2686
2680
  @media screen and (forced-colors: active) {
2687
2681
  .jkl-message__dismiss-button:hover {
@@ -2719,7 +2713,7 @@
2719
2713
  --border-color: var(--jkl-color-success-border-subdued);
2720
2714
  }
2721
2715
  .jkl-message--dismissed {
2722
- animation: jkl-dismiss-u2z8gg5 var(--jkl-motion-timing-lazy) ease-in-out forwards;
2716
+ animation: jkl-dismiss-uw6amkf var(--jkl-motion-timing-lazy) ease-in-out forwards;
2723
2717
  transition: visibility 0ms var(--jkl-motion-timing-lazy);
2724
2718
  visibility: hidden;
2725
2719
  }
@@ -2741,7 +2735,7 @@
2741
2735
  .jkl-form-error-message {
2742
2736
  padding-bottom: var(--jkl-unit-50);
2743
2737
  }
2744
- @keyframes jkl-dismiss-u2z8gg5 {
2738
+ @keyframes jkl-dismiss-uw6amkf {
2745
2739
  from {
2746
2740
  opacity: 1;
2747
2741
  transform: translate3d(0, 0, 0);
@@ -2851,7 +2845,7 @@
2851
2845
  content: "radio_button_checked";
2852
2846
  }
2853
2847
  .jkl-radio-button__input[aria-invalid=true] + .jkl-radio-button__label::before {
2854
- color: var(--jkl-radio-button-error-color);
2848
+ color: var(--jkl-color-error-text-default);
2855
2849
  }
2856
2850
  .jkl-radio-button + .jkl-radio-button, .jkl-dormant-form-support-label + .jkl-radio-button, .jkl-form-support-label + .jkl-radio-button {
2857
2851
  margin-top: 0.75lh;
@@ -2872,8 +2866,7 @@
2872
2866
  @layer jokul.components {
2873
2867
  .jkl-text-area-wrapper {
2874
2868
  overflow: hidden;
2875
- --jkl-text-input-padding: var(--jkl-text-input-vertical-padding)
2876
- var(--jkl-text-input-horizontal-padding);
2869
+ --jkl-text-input-padding: var(--jkl-text-input-vertical-padding) var(--jkl-text-input-horizontal-padding);
2877
2870
  --jkl-text-input-vertical-padding: var(--jkl-unit-15);
2878
2871
  --jkl-text-input-horizontal-padding: var(--jkl-unit-15);
2879
2872
  --jkl-text-input-action-button-size: var(--jkl-unit-60);
@@ -2904,7 +2897,8 @@
2904
2897
  .jkl-text-area-wrapper[data-invalid=true]:not(:focus-within):not(:has([data-focused=true])) {
2905
2898
  --background-color: var(--jkl-color-error-background-container);
2906
2899
  --text-color: var(--jkl-color-error-text-default);
2907
- --placeholder-color: color(from currentColor sRGB r g b / 75%);
2900
+ --border-color: var(--jkl-color-error-border-default);
2901
+ --placeholder-color: var(--jkl-color-error-text-subdued);
2908
2902
  }
2909
2903
  .jkl-text-area-wrapper:hover, .jkl-text-area-wrapper:focus-within, .jkl-text-area-wrapper:has([data-focused=true]) {
2910
2904
  --border-color: var(--jkl-color-border-strong);
@@ -2944,7 +2938,7 @@
2944
2938
  width: var(--jkl-text-input-action-button-icon-size);
2945
2939
  }
2946
2940
  .jkl-text-area-wrapper > .jkl-text-input-action-button:hover {
2947
- color: var(--jkl-color-text-interactive-hover);
2941
+ color: var(--jkl-color-text-subdued);
2948
2942
  }
2949
2943
  @media screen and (forced-colors: active) {
2950
2944
  .jkl-text-area-wrapper > .jkl-text-input-action-button:hover {
@@ -3380,7 +3374,7 @@
3380
3374
  height: min-content;
3381
3375
  border-radius: var(--jkl-unit-05);
3382
3376
  overflow: hidden;
3383
- background: var(--jkl-color-background-page);
3377
+ background-color: var(--jkl-color-background-container);
3384
3378
  }
3385
3379
  .jkl-link-list ul .jkl-link-list-link {
3386
3380
  display: flex;
@@ -3417,7 +3411,7 @@
3417
3411
  transition-property: translate;
3418
3412
  }
3419
3413
  .jkl-link-list ul .jkl-link-list-link:is(:hover, :focus-visible) {
3420
- background: var(--jkl-color-background-interactive-selected);
3414
+ background-color: color-mix(in srgb, var(--text-color) 15%);
3421
3415
  }
3422
3416
  .jkl-link-list ul .jkl-link-list-link:is(:hover, :focus-visible)::after {
3423
3417
  translate: 4px 0;
@@ -3512,7 +3506,7 @@
3512
3506
  .jkl-menu-item {
3513
3507
  --jkl-menu-item-height: var(--jkl-unit-60);
3514
3508
  --jkl-menu-item-padding: var(--jkl-unit-15) var(--jkl-unit-30);
3515
- --background-color: var(--jkl-color-background-interactive);
3509
+ --background-color: transparent;
3516
3510
  background-color: var(--background-color);
3517
3511
  color: var(--jkl-color-text-default);
3518
3512
  text-decoration: none;
@@ -3571,7 +3565,7 @@
3571
3565
  flex-shrink: 0;
3572
3566
  }
3573
3567
  .jkl-menu-item:hover, .jkl-menu-item:focus-visible {
3574
- --background-color: var(--jkl-color-background-interactive-hover);
3568
+ --background-color: color-mix(in srgb, currentColor 18%, transparent);
3575
3569
  }
3576
3570
  }
3577
3571
  @layer jokul.components {
@@ -3720,7 +3714,7 @@
3720
3714
  transition-property: translate;
3721
3715
  }
3722
3716
  .jkl-navlink--beta:hover, .jkl-navlink--beta:focus-visible {
3723
- background-color: var(--jkl-color-background-interactive-selected);
3717
+ background-color: color-mix(in srgb, currentColor 15%, transparent);
3724
3718
  }
3725
3719
  .jkl-navlink--beta:hover::after, .jkl-navlink--beta:focus-visible::after {
3726
3720
  translate: 4px 0;
@@ -3761,10 +3755,10 @@
3761
3755
  cursor: pointer;
3762
3756
  user-select: none;
3763
3757
  border-radius: 0.1875rem;
3764
- color: var(--jkl-color-text-interactive);
3758
+ color: var(--jkl-color-text-default);
3765
3759
  }
3766
3760
  .jkl-pagination-button:hover:not(:focus) {
3767
- color: var(--jkl-color-text-interactive-hover);
3761
+ color: var(--jkl-color-text-subdued);
3768
3762
  }
3769
3763
  .jkl-pagination-button:focus-visible {
3770
3764
  outline: 3px solid var(--jkl-color-border-strong);
@@ -3790,8 +3784,7 @@
3790
3784
  --border-radius: var(--jkl-border-radius-s);
3791
3785
  --min-option-height: min(var(--jkl-unit-60), 3rem);
3792
3786
  /* Vi må trekke fra bredden til rammen for å få riktig høyde */
3793
- --button-padding: calc(var(--jkl-unit-15) - var(--border-width))
3794
- calc(0.75em - var(--border-width));
3787
+ --button-padding: calc(var(--jkl-unit-15) - var(--border-width)) calc(0.75em - var(--border-width));
3795
3788
  --option-padding: var(--jkl-unit-05) 0.75em;
3796
3789
  display: block;
3797
3790
  position: relative;
@@ -3956,7 +3949,7 @@
3956
3949
  }
3957
3950
  .jkl-select__option:focus, :not([data-focus=controlled]) > .jkl-select__option:hover {
3958
3951
  color: var(--jkl-color-text-default);
3959
- background-color: var(--jkl-color-background-interactive-hover);
3952
+ background-color: color-mix(in srgb, currentColor 10%, transparent);
3960
3953
  }
3961
3954
  .jkl-select__option-description {
3962
3955
  color: var(--jkl-color-text-subdued);
@@ -4071,7 +4064,7 @@
4071
4064
  transition-timing-function: var(--jkl-motion-easing-standard);
4072
4065
  transition-duration: var(--jkl-motion-timing-productive);
4073
4066
  }
4074
- @keyframes jkl-downcount-u2z8ggn {
4067
+ @keyframes jkl-downcount-uw6amkx {
4075
4068
  from {
4076
4069
  width: 100%;
4077
4070
  }
@@ -4359,7 +4352,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4359
4352
  position: relative;
4360
4353
  display: inline-flex;
4361
4354
  align-items: center;
4362
- background-color: var(--jkl-color-background-interactive);
4355
+ background-color: transparent;
4363
4356
  border: var(--jkl-segmented-control-border-width) solid var(--jkl-color-border-subdued);
4364
4357
  border-radius: 0;
4365
4358
  margin-inline-end: calc(var(--jkl-segmented-control-border-width) * -1);
@@ -4373,7 +4366,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4373
4366
  padding: var(--jkl-segmented-controls-padding);
4374
4367
  }
4375
4368
  .jkl-segmented-control .jkl-segmented-control-item:hover {
4376
- background-color: var(--jkl-color-background-interactive-hover);
4369
+ background-color: color-mix(in srgb, currentColor 6%, transparent);
4377
4370
  border-color: var(--jkl-color-border-default);
4378
4371
  z-index: 2;
4379
4372
  }
@@ -4453,8 +4446,8 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4453
4446
  --jkl-system-message-icon-padding: 0.1875rem 0 0 0;
4454
4447
  --jkl-system-message-content-padding: var(--jkl-unit-30);
4455
4448
  --jkl-system-message-dismiss-button-size: var(--jkl-unit-40);
4456
- --jkl-system-message-dismiss-button-margin: -0.40625rem -1.125rem -0.40625rem
4457
- auto;
4449
+ --jkl-system-message-dismiss-button-margin: -0.40625rem
4450
+ -1.125rem -0.40625rem auto;
4458
4451
  --jkl-system-message-message-margin: 0 var(--jkl-unit-20);
4459
4452
  --background-color: var(--jkl-color-background-container);
4460
4453
  --text-color: var(--jkl-color-text-default);
@@ -4547,7 +4540,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4547
4540
  }
4548
4541
  }
4549
4542
  .jkl-system-message__dismiss-button:hover {
4550
- color: var(--jkl-color-text-interactive-hover);
4543
+ color: var(--jkl-color-text-subdued);
4551
4544
  }
4552
4545
  @media screen and (forced-colors: active) {
4553
4546
  .jkl-system-message__dismiss-button:hover {
@@ -4571,7 +4564,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4571
4564
  margin-bottom: 0;
4572
4565
  }
4573
4566
  .jkl-system-message--dismissed {
4574
- animation: jkl-dismiss-u2z8ghh var(--jkl-motion-timing-lazy) forwards;
4567
+ animation: jkl-dismiss-uw6amm6 var(--jkl-motion-timing-lazy) forwards;
4575
4568
  transition: block var(--jkl-motion-timing-lazy) var(--jkl-motion-timing-lazy);
4576
4569
  }
4577
4570
  .jkl-system-message--info {
@@ -4609,7 +4602,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4609
4602
  border-width: 4px;
4610
4603
  }
4611
4604
  }
4612
- @keyframes jkl-dismiss-u2z8ghh {
4605
+ @keyframes jkl-dismiss-uw6amm6 {
4613
4606
  from {
4614
4607
  opacity: 1;
4615
4608
  transform: translateY(0);
@@ -4898,7 +4891,9 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4898
4891
  --jkl-table-row-border-color: var(--jkl-color-border-subdued);
4899
4892
  --jkl-table-row-border-none-color: transparent;
4900
4893
  --jkl-table-row-hover-border-color: var(--jkl-color-border-strong);
4901
- --jkl-table-row-highlight-color: var(--jkl-color-background-interactive-selected);
4894
+ --jkl-table-row-highlight-color: color-mix(in srgb,
4895
+ currentColor 15%,
4896
+ transparent);
4902
4897
  border-bottom: solid 0.0625rem var(--jkl-table-row-border-color);
4903
4898
  }
4904
4899
  .jkl-table-head > .jkl-table-row {
@@ -5176,7 +5171,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5176
5171
  }
5177
5172
  .jkl-tablist {
5178
5173
  --padding-inline-end: var(--jkl-unit-50);
5179
- --text-color: var(--jkl-color-text-interactive);
5174
+ --text-color: var(--jkl-color-text-default);
5180
5175
  --line-color: var(--jkl-color-border-subdued);
5181
5176
  --indicator-color: var(--jkl-color-border-default);
5182
5177
  scroll-snap-type: x proximity;
@@ -5248,7 +5243,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5248
5243
  }
5249
5244
  }
5250
5245
  .jkl-tab:hover {
5251
- --text-color: var(--jkl-color-text-interactive-hover);
5246
+ --text-color: var(--jkl-color-text-subdued);
5252
5247
  }
5253
5248
  .jkl-tab:focus-visible {
5254
5249
  outline: 3px solid var(--jkl-color-border-strong);
@@ -5320,7 +5315,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5320
5315
  font: var(--jkl-text-style-paragraph-medium);
5321
5316
  }
5322
5317
  .jkl-toast__progress {
5323
- --bar-color: var(--text-color);
5318
+ --bar-color: var(--jkl-color-background-contrast);
5324
5319
  --track-color: transparent;
5325
5320
  border-radius: 0;
5326
5321
  position: absolute;
@@ -5412,12 +5407,12 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5412
5407
  }
5413
5408
  .jkl-toast[data-animation=entering],
5414
5409
  .jkl-toast[data-animation=queued] {
5415
- animation: jkl-entering-u2z8gi8 var(--jkl-motion-timing-polite) var(--jkl-motion-easing-entrance) forwards;
5410
+ animation: jkl-entering-uw6ammo var(--jkl-motion-timing-polite) var(--jkl-motion-easing-entrance) forwards;
5416
5411
  }
5417
5412
  .jkl-toast[data-animation=exiting] {
5418
- animation: jkl-exiting-u2z8gi9 var(--jkl-motion-timing-productive) var(--jkl-motion-easing-exit) forwards;
5413
+ animation: jkl-exiting-uw6amnl var(--jkl-motion-timing-productive) var(--jkl-motion-easing-exit) forwards;
5419
5414
  }
5420
- @keyframes jkl-entering-u2z8gi8 {
5415
+ @keyframes jkl-entering-uw6ammo {
5421
5416
  from {
5422
5417
  opacity: 0;
5423
5418
  transform: translate3d(0, 50%, 0);
@@ -5427,7 +5422,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5427
5422
  transform: translate3d(0, 0, 0);
5428
5423
  }
5429
5424
  }
5430
- @keyframes jkl-exiting-u2z8gi9 {
5425
+ @keyframes jkl-exiting-uw6amnl {
5431
5426
  from {
5432
5427
  opacity: 1;
5433
5428
  transform: translate3d(0, 0, 0);
@@ -6898,7 +6893,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
6898
6893
  --knob-border-color: var(--jkl-color-border-strong);
6899
6894
  --knob-color: var(--jkl-color-background-container);
6900
6895
  --text-color: var(--jkl-color-text-default);
6901
- --icon-color: var(--jkl-color-text-on-action);
6896
+ --icon-color: var(--jkl-color-text-on-contrast);
6902
6897
  background: transparent;
6903
6898
  color: var(--text-color);
6904
6899
  padding: 0;
@@ -6938,14 +6933,9 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
6938
6933
  }
6939
6934
  }
6940
6935
  .jkl-toggle-switch[aria-pressed=true], [aria-checked=true] > .jkl-toggle-switch {
6941
- --indicator-color: var(--jkl-color-background-action);
6942
- --knob-color: var(--jkl-color-text-on-action);
6943
- --knob-position: calc(
6944
- var(--jkl-toggle-switch-width) - var(
6945
- --jkl-toggle-switch-knob-size
6946
- ) - var(--switch-padding) *
6947
- 2
6948
- );
6936
+ --indicator-color: var(--jkl-color-background-contrast);
6937
+ --knob-color: var(--jkl-color-text-on-contrast);
6938
+ --knob-position: calc(var(--jkl-toggle-switch-width) - var(--jkl-toggle-switch-knob-size) - var(--switch-padding) * 2);
6949
6939
  }
6950
6940
  .jkl-toggle-switch[disabled] {
6951
6941
  cursor: revert;
@@ -7126,8 +7116,8 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
7126
7116
  padding: var(--jkl-unit-30);
7127
7117
  margin: var(--jkl-unit-05);
7128
7118
  position-anchor: --trigger;
7129
- background-color: var(--jkl-color-background-action);
7130
- color: var(--jkl-color-text-on-action);
7119
+ background-color: var(--jkl-color-background-contrast);
7120
+ color: var(--jkl-color-text-on-contrast);
7131
7121
  anchor-name: --help-box;
7132
7122
  }
7133
7123
  .jkl-help-popover[data-position=top] {