@fremtind/jokul 0.56.0 → 0.56.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/breadcrumb/stories/Breadcrumb.stories.cjs +1 -1
  3. package/build/cjs/components/select/stories/select.stories.cjs +2 -0
  4. package/build/cjs/components/select/stories/select.stories.cjs.map +1 -0
  5. package/build/cjs/components/select/stories/select.stories.d.cts +6 -0
  6. package/build/cjs/components/summary-table/stories/summary-table.stories.cjs +2 -0
  7. package/build/cjs/components/summary-table/stories/summary-table.stories.cjs.map +1 -0
  8. package/build/cjs/components/summary-table/stories/summary-table.stories.d.cts +13 -0
  9. package/build/cjs/components/system-message/stories/ErrorSystemMessage.stories.cjs +2 -0
  10. package/build/cjs/components/system-message/stories/ErrorSystemMessage.stories.cjs.map +1 -0
  11. package/build/cjs/components/system-message/stories/ErrorSystemMessage.stories.d.cts +12 -0
  12. package/build/cjs/components/system-message/stories/InfoSystemMessage.stories.cjs +2 -0
  13. package/build/cjs/components/system-message/stories/InfoSystemMessage.stories.cjs.map +1 -0
  14. package/build/cjs/components/system-message/stories/InfoSystemMessage.stories.d.cts +12 -0
  15. package/build/cjs/components/system-message/stories/SuccessSystemMessage.stories.cjs +2 -0
  16. package/build/cjs/components/system-message/stories/SuccessSystemMessage.stories.cjs.map +1 -0
  17. package/build/cjs/components/system-message/stories/SuccessSystemMessage.stories.d.cts +12 -0
  18. package/build/cjs/components/system-message/stories/WarningSystemMessage.stories.cjs +2 -0
  19. package/build/cjs/components/system-message/stories/WarningSystemMessage.stories.cjs.map +1 -0
  20. package/build/cjs/components/system-message/stories/WarningSystemMessage.stories.d.cts +12 -0
  21. package/build/cjs/components/table/stories/table.stories.cjs +2 -0
  22. package/build/cjs/components/table/stories/table.stories.cjs.map +1 -0
  23. package/build/cjs/components/table/stories/table.stories.d.cts +1 -0
  24. package/build/es/components/select/stories/select.stories.d.ts +6 -0
  25. package/build/es/components/select/stories/select.stories.js +2 -0
  26. package/build/es/components/select/stories/select.stories.js.map +1 -0
  27. package/build/es/components/summary-table/stories/summary-table.stories.d.ts +13 -0
  28. package/build/es/components/summary-table/stories/summary-table.stories.js +2 -0
  29. package/build/es/components/summary-table/stories/summary-table.stories.js.map +1 -0
  30. package/build/es/components/system-message/stories/ErrorSystemMessage.stories.d.ts +12 -0
  31. package/build/es/components/system-message/stories/ErrorSystemMessage.stories.js +2 -0
  32. package/build/es/components/system-message/stories/ErrorSystemMessage.stories.js.map +1 -0
  33. package/build/es/components/system-message/stories/InfoSystemMessage.stories.d.ts +12 -0
  34. package/build/es/components/system-message/stories/InfoSystemMessage.stories.js +2 -0
  35. package/build/es/components/system-message/stories/InfoSystemMessage.stories.js.map +1 -0
  36. package/build/es/components/system-message/stories/SuccessSystemMessage.stories.d.ts +12 -0
  37. package/build/es/components/system-message/stories/SuccessSystemMessage.stories.js +2 -0
  38. package/build/es/components/system-message/stories/SuccessSystemMessage.stories.js.map +1 -0
  39. package/build/es/components/system-message/stories/WarningSystemMessage.stories.d.ts +12 -0
  40. package/build/es/components/system-message/stories/WarningSystemMessage.stories.js +2 -0
  41. package/build/es/components/system-message/stories/WarningSystemMessage.stories.js.map +1 -0
  42. package/build/es/components/table/stories/table.stories.d.ts +1 -0
  43. package/build/es/components/table/stories/table.stories.js +2 -0
  44. package/build/es/components/table/stories/table.stories.js.map +1 -0
  45. package/build/style.css +1 -1
  46. package/package.json +2 -2
  47. package/styles/components/button/button.css +2 -2
  48. package/styles/components/button/button.min.css +1 -1
  49. package/styles/components/checkbox/checkbox.css +4 -4
  50. package/styles/components/checkbox/checkbox.min.css +1 -1
  51. package/styles/components/checkbox-panel/checkbox-panel.css +2 -2
  52. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  53. package/styles/components/countdown/countdown.css +2 -2
  54. package/styles/components/countdown/countdown.min.css +1 -1
  55. package/styles/components/feedback/_index.scss +1 -0
  56. package/styles/components/feedback/feedback.css +2 -2
  57. package/styles/components/feedback/feedback.min.css +1 -1
  58. package/styles/components/input-group/input-group.css +2 -2
  59. package/styles/components/input-group/input-group.min.css +1 -1
  60. package/styles/components/loader/loader.css +6 -6
  61. package/styles/components/loader/loader.min.css +1 -1
  62. package/styles/components/loader/skeleton-loader.css +5 -5
  63. package/styles/components/loader/skeleton-loader.min.css +1 -1
  64. package/styles/components/message/message.css +2 -2
  65. package/styles/components/message/message.min.css +1 -1
  66. package/styles/components/progress-bar/progress-bar.css +1 -1
  67. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  68. package/styles/components/radio-button/radio-button.css +2 -2
  69. package/styles/components/radio-button/radio-button.min.css +1 -1
  70. package/styles/components/radio-panel/radio-panel.css +2 -2
  71. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  72. package/styles/components/system-message/system-message.css +2 -2
  73. package/styles/components/system-message/system-message.min.css +1 -1
  74. package/styles/components/toast/toast.css +4 -4
  75. package/styles/components/toast/toast.min.css +1 -1
  76. package/styles/styles.css +884 -884
  77. package/styles/styles.min.css +1 -1
package/styles/styles.css CHANGED
@@ -870,7 +870,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-input__in
870
870
  --color: var(--jkl-color-text-default);
871
871
  }
872
872
  .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 {
873
- animation: 400ms cubic-bezier(0, 0, 0.3, 1) 250ms jkl-support-icon-entrance-uqc9mfg forwards;
873
+ animation: 400ms cubic-bezier(0, 0, 0.3, 1) 250ms jkl-support-icon-entrance-ul6ng73 forwards;
874
874
  }
875
875
  .jkl-form-support-label--sr-only {
876
876
  border: 0 !important;
@@ -945,7 +945,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-input__in
945
945
  white-space: nowrap !important; /* 3 */
946
946
  }
947
947
 
948
- @keyframes jkl-support-icon-entrance-uqc9mfg {
948
+ @keyframes jkl-support-icon-entrance-ul6ng73 {
949
949
  0% {
950
950
  margin-right: 0;
951
951
  opacity: 0;
@@ -1295,7 +1295,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-tooltip-trigge
1295
1295
  opacity: 0.15;
1296
1296
  }
1297
1297
  html[data-touchnavigation] .jkl-button.jkl-button--pressed::before {
1298
- animation: cubic-bezier(0.6, 0.2, 0.35, 1) 250ms jkl-tertiary-flash-uqc9mfl;
1298
+ animation: cubic-bezier(0.6, 0.2, 0.35, 1) 250ms jkl-tertiary-flash-ul6ng76;
1299
1299
  }
1300
1300
  .jkl-button--primary, .jkl-button--secondary, .jkl-button--ghost {
1301
1301
  --border-radius: 999px;
@@ -1337,7 +1337,7 @@ html[data-touchnavigation] .jkl-button.jkl-button--pressed::before {
1337
1337
  --background-color: var(--jkl-color-background-interactive-hover);
1338
1338
  }
1339
1339
 
1340
- @keyframes jkl-tertiary-flash-uqc9mfl {
1340
+ @keyframes jkl-tertiary-flash-ul6ng76 {
1341
1341
  0% {
1342
1342
  opacity: 0.5;
1343
1343
  scale: 1;
@@ -1362,15 +1362,15 @@ html[data-touchnavigation] .jkl-button.jkl-button--pressed::before {
1362
1362
  animation: 2500ms linear infinite;
1363
1363
  }
1364
1364
  .jkl-loader__dot--left {
1365
- animation-name: jkl-loader-left-spin-uqc9mfm;
1365
+ animation-name: jkl-loader-left-spin-ul6ng84;
1366
1366
  margin-right: 1.71em;
1367
1367
  }
1368
1368
  .jkl-loader__dot--middle {
1369
- animation-name: jkl-loader-middle-spin-uqc9mgb;
1369
+ animation-name: jkl-loader-middle-spin-ul6ng8q;
1370
1370
  margin-right: 1.9em;
1371
1371
  }
1372
1372
  .jkl-loader__dot--right {
1373
- animation-name: jkl-loader-right-spin-uqc9mgu;
1373
+ animation-name: jkl-loader-right-spin-ul6ng9j;
1374
1374
  }
1375
1375
  @media screen and (forced-colors: active) {
1376
1376
  .jkl-loader__dot {
@@ -1398,7 +1398,7 @@ html[data-touchnavigation] .jkl-button.jkl-button--pressed::before {
1398
1398
  margin-right: 0.3em;
1399
1399
  }
1400
1400
 
1401
- @keyframes jkl-loader-left-spin-uqc9mfm {
1401
+ @keyframes jkl-loader-left-spin-ul6ng84 {
1402
1402
  0% {
1403
1403
  transform: rotate(0) scale(0);
1404
1404
  }
@@ -1412,7 +1412,7 @@ html[data-touchnavigation] .jkl-button.jkl-button--pressed::before {
1412
1412
  transform: rotate(180deg) scale(0);
1413
1413
  }
1414
1414
  }
1415
- @keyframes jkl-loader-middle-spin-uqc9mgb {
1415
+ @keyframes jkl-loader-middle-spin-ul6ng8q {
1416
1416
  0% {
1417
1417
  transform: rotate(20deg) scale(0);
1418
1418
  }
@@ -1429,7 +1429,7 @@ html[data-touchnavigation] .jkl-button.jkl-button--pressed::before {
1429
1429
  transform: rotate(200deg) scale(0);
1430
1430
  }
1431
1431
  }
1432
- @keyframes jkl-loader-right-spin-uqc9mgu {
1432
+ @keyframes jkl-loader-right-spin-ul6ng9j {
1433
1433
  0% {
1434
1434
  transform: rotate(40deg) scale(0);
1435
1435
  }
@@ -1477,7 +1477,7 @@ html[data-touchnavigation] .jkl-button.jkl-button--pressed::before {
1477
1477
  bottom: 0;
1478
1478
  width: 12.5rem;
1479
1479
  background: linear-gradient(89.17deg, rgba(249, 249, 249, 0) 0.8%, var(--jkl-skeleton-sweeper-color) 50.09%, rgba(249, 249, 249, 0) 96.31%);
1480
- animation: var(--jkl-skeleton-sweep-duration) ease infinite jkl-sweep-uqc9mhc;
1480
+ animation: var(--jkl-skeleton-sweep-duration) ease infinite jkl-sweep-ul6ng9u;
1481
1481
  }
1482
1482
  @media (width >= 0) and (max-width: 679px) {
1483
1483
  .jkl-skeleton-animation {
@@ -1508,7 +1508,7 @@ html[data-touchnavigation] .jkl-button.jkl-button--pressed::before {
1508
1508
  @media screen and (forced-colors: active) {
1509
1509
  .jkl-skeleton-element {
1510
1510
  border: 1px solid CanvasText;
1511
- animation: 2s ease infinite jkl-blink-uqc9mhx;
1511
+ animation: 2s ease infinite jkl-blink-ul6ngal;
1512
1512
  }
1513
1513
  }
1514
1514
 
@@ -1564,11 +1564,11 @@ html[data-touchnavigation] .jkl-button.jkl-button--pressed::before {
1564
1564
  }
1565
1565
  @media screen and (forced-colors: active) {
1566
1566
  .jkl-skeleton-table {
1567
- animation: 2s ease-in-out infinite jkl-blink-uqc9mhx;
1567
+ animation: 2s ease-in-out infinite jkl-blink-ul6ngal;
1568
1568
  }
1569
1569
  }
1570
1570
 
1571
- @keyframes jkl-sweep-uqc9mhc {
1571
+ @keyframes jkl-sweep-ul6ng9u {
1572
1572
  0% {
1573
1573
  transform: translateX(calc(0vw - 200px));
1574
1574
  }
@@ -1576,7 +1576,7 @@ html[data-touchnavigation] .jkl-button.jkl-button--pressed::before {
1576
1576
  transform: translateX(calc(100vw + 400px));
1577
1577
  }
1578
1578
  }
1579
- @keyframes jkl-blink-uqc9mhx {
1579
+ @keyframes jkl-blink-ul6ngal {
1580
1580
  0% {
1581
1581
  opacity: 1;
1582
1582
  }
@@ -2040,7 +2040,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-nav-card:focus
2040
2040
  --jkl-checkbox-line-height: 1.5rem;
2041
2041
  }
2042
2042
 
2043
- @keyframes jkl-checkbox-checked-uqc9miv {
2043
+ @keyframes jkl-checkbox-checked-ul6ngb3 {
2044
2044
  0% {
2045
2045
  width: 0;
2046
2046
  height: 0;
@@ -2054,7 +2054,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-nav-card:focus
2054
2054
  height: 58%;
2055
2055
  }
2056
2056
  }
2057
- @keyframes jkl-checkbox-indeterminate-uqc9mj3 {
2057
+ @keyframes jkl-checkbox-indeterminate-ul6ngb9 {
2058
2058
  0% {
2059
2059
  width: 0;
2060
2060
  }
@@ -2082,11 +2082,11 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-nav-card:focus
2082
2082
  top: -6px;
2083
2083
  }
2084
2084
  .jkl-checkbox__input:checked + .jkl-checkbox__label .jkl-checkbox__check-mark::after {
2085
- animation: jkl-checkbox-checked-uqc9miv 150ms ease-in-out forwards;
2085
+ animation: jkl-checkbox-checked-ul6ngb3 150ms ease-in-out forwards;
2086
2086
  opacity: 1;
2087
2087
  }
2088
2088
  .jkl-checkbox__input:indeterminate:not(:checked) + .jkl-checkbox__label .jkl-checkbox__indeterminate-mark::after {
2089
- animation: jkl-checkbox-indeterminate-uqc9mj3 150ms ease-in-out forwards;
2089
+ animation: jkl-checkbox-indeterminate-ul6ngb9 150ms ease-in-out forwards;
2090
2090
  opacity: 1;
2091
2091
  }
2092
2092
  .jkl-checkbox__input:focus-visible + .jkl-checkbox__label {
@@ -2257,7 +2257,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-nav-card:focus
2257
2257
  --outer-border-thickness: 0.125rem;
2258
2258
  }
2259
2259
 
2260
- @keyframes jkl-checkbox-checked-uqc9mk1 {
2260
+ @keyframes jkl-checkbox-checked-ul6ngbt {
2261
2261
  0% {
2262
2262
  width: 0;
2263
2263
  height: 0;
@@ -2320,7 +2320,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-nav-card:focus
2320
2320
  }
2321
2321
  }
2322
2322
  .jkl-checkbox-panel:has(:checked) .jkl-checkbox-panel__decorator::after {
2323
- animation: jkl-checkbox-checked-uqc9mk1 150ms ease-in-out forwards;
2323
+ animation: jkl-checkbox-checked-ul6ngbt 150ms ease-in-out forwards;
2324
2324
  opacity: 1;
2325
2325
  }
2326
2326
  .jkl-checkbox-panel:has([aria-invalid=true]) {
@@ -3016,11 +3016,11 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-combobox__wrap
3016
3016
  }
3017
3017
  }
3018
3018
  .jkl-countdown__tracker {
3019
- animation: jkl-downcount-uqc9mke var(--duration) linear forwards;
3019
+ animation: jkl-downcount-ul6ngc8 var(--duration) linear forwards;
3020
3020
  animation-play-state: var(--play-state, running);
3021
3021
  }
3022
3022
 
3023
- @keyframes jkl-downcount-uqc9mke {
3023
+ @keyframes jkl-downcount-ul6ngc8 {
3024
3024
  from {
3025
3025
  width: 100%;
3026
3026
  }
@@ -3696,7 +3696,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-combobox__wrap
3696
3696
  padding: 1rem 0 2.5rem 0;
3697
3697
  }
3698
3698
 
3699
- @keyframes jkl-show-uqc9mle {
3699
+ @keyframes jkl-show-ul6ngcp {
3700
3700
  from {
3701
3701
  transform: translate3d(0, 0.5rem, 0);
3702
3702
  opacity: 0;
@@ -3731,7 +3731,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-combobox__wrap
3731
3731
  }
3732
3732
  }
3733
3733
  .jkl-feedback__fade-in {
3734
- animation: jkl-show-uqc9mle 0.25s ease-out;
3734
+ animation: jkl-show-ul6ngcp 0.25s ease-out;
3735
3735
  }
3736
3736
  .jkl-feedback__buttons {
3737
3737
  display: flex;
@@ -3973,7 +3973,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) input:focus + .jkl-
3973
3973
  --background-color: var(--jkl-color-background-alert-success);
3974
3974
  }
3975
3975
  .jkl-message--dismissed {
3976
- animation: jkl-dismiss-uqc9mm1 400ms ease-in-out forwards;
3976
+ animation: jkl-dismiss-ul6ngdp 400ms ease-in-out forwards;
3977
3977
  transition: visibility 0ms 400ms;
3978
3978
  visibility: hidden;
3979
3979
  }
@@ -3993,7 +3993,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) input:focus + .jkl-
3993
3993
  }
3994
3994
  }
3995
3995
 
3996
- @keyframes jkl-dismiss-uqc9mm1 {
3996
+ @keyframes jkl-dismiss-ul6ngdp {
3997
3997
  from {
3998
3998
  opacity: 1;
3999
3999
  transform: translate3d(0, 0, 0);
@@ -4049,7 +4049,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) input:focus + .jkl-
4049
4049
  --jkl-radio-button-label-font-weight: var(--jkl-small-font-weight);
4050
4050
  }
4051
4051
 
4052
- @keyframes jkl-dot-in-uqc9mmr {
4052
+ @keyframes jkl-dot-in-ul6nge1 {
4053
4053
  0% {
4054
4054
  transform: scale(0.8);
4055
4055
  }
@@ -4094,7 +4094,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) input:focus + .jkl-
4094
4094
  }
4095
4095
  .jkl-radio-button__input:checked + .jkl-radio-button__label > .jkl-radio-button__dot::after {
4096
4096
  --dot-color: var(--jkl-color-border-action);
4097
- animation: jkl-dot-in-uqc9mmr 150ms ease;
4097
+ animation: jkl-dot-in-ul6nge1 150ms ease;
4098
4098
  }
4099
4099
  @media screen and (forced-colors: active) {
4100
4100
  .jkl-radio-button__input:checked + .jkl-radio-button__label > .jkl-radio-button__dot::after {
@@ -4186,633 +4186,942 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) input:focus + .jkl-
4186
4186
  margin-bottom: 0.5rem;
4187
4187
  }
4188
4188
 
4189
- :root,
4190
- [data-layout-density=comfortable],
4191
- [data-density=comfortable] {
4192
- --jkl-link-list-padding: var(--jkl-unit-10);
4189
+ .jkl-text-area-wrapper {
4190
+ border-radius: 0.1875rem;
4191
+ box-sizing: border-box;
4192
+ max-width: 100%;
4193
+ position: relative;
4194
+ display: flex;
4195
+ align-items: center;
4196
+ height: var(--jkl-text-input-height);
4197
+ font-size: var(--jkl-text-input-font-size);
4198
+ line-height: var(--jkl-text-input-line-height);
4199
+ font-weight: var(--jkl-text-input-font-weight);
4200
+ transition-timing-function: ease;
4201
+ transition-duration: 150ms;
4202
+ transition-property: color, box-shadow, background-color;
4203
+ color: var(--jkl-text-input-text-color);
4204
+ box-shadow: inset 0 0 0 0.0625rem var(--jkl-text-input-border-color), 0 0 0 0.0625rem transparent;
4205
+ background-color: transparent;
4193
4206
  }
4194
-
4195
- [data-layout-density=compact],
4196
- [data-density=compact] {
4197
- --jkl-link-list-padding: var(--jkl-unit-05);
4207
+ .jkl-text-area-wrapper[data-invalid=true] {
4208
+ background-color: var(--jkl-text-input-error-background-color);
4209
+ color: var(--jkl-text-input-error-text-color);
4198
4210
  }
4199
-
4200
- .jkl-link-list {
4201
- --border-color: var(--jkl-color-border-separator);
4202
- display: flex;
4203
- flex-direction: column;
4204
- width: 100%;
4205
- padding: 0;
4206
- margin: 0;
4207
- border-bottom: 0.0625rem solid var(--border-color);
4208
- height: min-content;
4209
- counter-reset: link-list;
4211
+ .jkl-text-area-wrapper:hover {
4212
+ box-shadow: inset 0 0 0 0.0625rem var(--jkl-text-input-focus-color), 0 0 0 0.0625rem var(--jkl-text-input-focus-color);
4213
+ border-color: var(--jkl-text-input-focus-color);
4210
4214
  }
4211
- @media (hover: hover) {
4212
- .jkl-link-list:has(:focus-visible) .jkl-link-list-link:not(:hover):not(:focus-visible), .jkl-link-list:has(:hover) .jkl-link-list-link:not(:hover):not(:focus-visible) {
4213
- --text-color: var(--jkl-color-border-separator);
4215
+ @media screen and (forced-colors: active) {
4216
+ .jkl-text-area-wrapper:hover {
4217
+ border: 0.125rem solid ButtonText;
4214
4218
  }
4215
4219
  }
4216
-
4217
- .jkl-link-list-item {
4218
- display: flex;
4219
- counter-increment: link-list;
4220
- }
4221
-
4222
- .jkl-link-list-link {
4223
- --text-color: var(--jkl-color-text-default);
4224
- --icon-background: transparent;
4225
- display: flex;
4226
- justify-content: space-between;
4227
- align-items: first baseline;
4228
- gap: var(--jkl-unit-20);
4229
- padding: var(--jkl-link-list-padding) 0;
4230
- border-top: 0.0625rem solid var(--border-color);
4231
- width: 100%;
4232
- text-decoration: none;
4233
- color: var(--text-color);
4234
- cursor: pointer;
4235
- transition-timing-function: ease;
4236
- transition-duration: 150ms;
4237
- transition-property: color, border-color;
4220
+ .jkl-text-area-wrapper:focus-within {
4221
+ background-color: var(--jkl-text-input-background-color);
4238
4222
  }
4239
- .jkl-link-list-link:hover, .jkl-link-list-link:focus-visible {
4240
- --icon-background: var(--jkl-color-background-interactive-selected);
4223
+ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-area-wrapper:has(.jkl-text-input__input:focus-visible), html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-area-wrapper:has(.jkl-text-area__text-area:focus-visible) {
4224
+ outline: 3px solid var(--jkl-color-border-action);
4225
+ outline-offset: 3px;
4241
4226
  }
4242
- .jkl-link-list-link:focus-visible {
4243
- --border-color: transparent;
4244
- z-index: 1;
4227
+
4228
+ .jkl-text-area-wrapper > .jkl-icon-button:focus-visible {
4245
4229
  outline: 3px solid var(--jkl-color-border-action);
4246
- outline-offset: 0;
4230
+ outline-offset: -8px;
4247
4231
  }
4248
- .jkl-link-list-link__arrow {
4249
- border-radius: 100%;
4250
- background-color: var(--icon-background);
4251
- translate: 0 17%;
4252
- transition-timing-function: ease;
4253
- transition-duration: 150ms;
4254
- transition-property: color, background-color;
4232
+ @media screen and (forced-colors: active) {
4233
+ .jkl-text-area-wrapper > .jkl-icon-button:focus-visible {
4234
+ --jkl-color-border-action: ButtonText;
4235
+ }
4255
4236
  }
4256
- .jkl-link-list--ordered .jkl-link-list-link {
4257
- justify-content: flex-start;
4258
- align-items: unset;
4237
+ .jkl-text-area-wrapper > .jkl-text-input-action-button {
4238
+ flex-shrink: 0;
4239
+ display: flex;
4240
+ box-sizing: border-box;
4241
+ align-items: center;
4242
+ justify-content: center;
4243
+ padding: var(--jkl-text-input-action-button-padding);
4244
+ height: var(--jkl-text-input-action-button-size);
4245
+ width: var(--jkl-text-input-action-button-size);
4246
+ margin-inline-start: calc(var(--jkl-text-input-horizontal-padding) * -1);
4259
4247
  }
4260
- .jkl-link-list--ordered .jkl-link-list-link__arrow {
4261
- display: none;
4248
+ .jkl-text-area-wrapper > .jkl-text-input-action-button .jkl-icon-button__icon {
4249
+ height: var(--jkl-text-input-action-button-icon-size);
4250
+ width: var(--jkl-text-input-action-button-icon-size);
4262
4251
  }
4263
- .jkl-link-list--ordered .jkl-link-list-link::before {
4264
- content: counter(link-list, decimal-leading-zero);
4265
- font-family: "Fremtind Grotesk Mono", "Adjusted Courier New Fallback", -apple-system, BlinkMacSystemFont, monospace;
4266
- color: var(--text-color);
4267
- font-size: var(--jkl-small-font-size);
4252
+ .jkl-text-area-wrapper > .jkl-text-input-action-button:hover {
4253
+ color: var(--jkl-text-input-focus-color);
4268
4254
  }
4269
-
4270
- @media screen and (prefers-color-scheme: light) {
4271
- :root {
4272
- --jkl-logo-color: #1b1917;
4255
+ @media screen and (forced-colors: active) {
4256
+ .jkl-text-area-wrapper > .jkl-text-input-action-button:hover {
4257
+ border: 0.125rem inset ButtonText;
4273
4258
  }
4274
4259
  }
4275
- [data-theme=light] {
4276
- --jkl-logo-color: #1b1917;
4260
+ @media screen and (forced-colors: active) {
4261
+ .jkl-text-area-wrapper {
4262
+ border: 0.125rem inset ButtonText;
4263
+ }
4277
4264
  }
4278
4265
 
4279
- @media screen and (prefers-color-scheme: dark) {
4280
- :root {
4281
- --jkl-logo-color: #f9f9f9;
4282
- }
4266
+ .jkl-text-area {
4267
+ height: auto;
4268
+ width: 100%;
4283
4269
  }
4284
- [data-theme=dark] {
4285
- --jkl-logo-color: #f9f9f9;
4270
+ .jkl-text-area__text-area {
4271
+ scrollbar-color: var(--jkl-color) transparent;
4272
+ box-sizing: border-box;
4273
+ resize: none;
4274
+ width: 100%;
4275
+ padding: var(--jkl-text-input-padding);
4276
+ max-height: var(--jkl-text-input-height);
4277
+ height: var(--jkl-text-input-height);
4278
+ min-height: var(--jkl-text-input-height);
4279
+ transition-timing-function: ease;
4280
+ transition-duration: 150ms;
4281
+ transition-property: height, min-height, max-height, padding;
4282
+ background: none;
4283
+ -webkit-appearance: none;
4284
+ color: var(--jkl-color);
4285
+ font-size: var(--jkl-text-input-font-size);
4286
+ line-height: var(--jkl-text-input-line-height);
4287
+ font-weight: var(--jkl-text-input-font-weight);
4286
4288
  }
4287
-
4288
- .jkl-logo {
4289
- color: var(--jkl-logo-color);
4289
+ .jkl-text-area__text-area {
4290
+ outline: 0;
4291
+ border-style: none;
4292
+ outline-style: none;
4293
+ }
4294
+ .jkl-text-area__text-area:active, .jkl-text-area__text-area:hover, .jkl-text-area__text-area:focus {
4295
+ outline: 0;
4296
+ outline-style: none;
4290
4297
  }
4291
4298
  @media screen and (forced-colors: active) {
4292
- .jkl-logo {
4293
- stroke: CanvasText;
4294
- fill: CanvasText;
4299
+ .jkl-text-area__text-area {
4300
+ outline: revert;
4301
+ border-style: revert;
4302
+ outline-style: revert;
4295
4303
  }
4296
- .jkl-logo svg, .jkl-logo path {
4297
- stroke: CanvasText;
4298
- fill: CanvasText;
4304
+ .jkl-text-area__text-area:active, .jkl-text-area__text-area:hover, .jkl-text-area__text-area:focus {
4305
+ outline: revert;
4306
+ outline-style: revert;
4299
4307
  }
4300
4308
  }
4301
- .jkl-logo__F {
4302
- transform-origin: 30px 132px; /* Is connected to the viewbox of the logo, change at your own risk */
4309
+ .jkl-text-area__text-area input[type=number]::-webkit-outer-spin-button,
4310
+ .jkl-text-area__text-area input[type=number]::-webkit-inner-spin-button {
4311
+ -webkit-appearance: none;
4303
4312
  }
4304
- .jkl-logo__F-line {
4305
- transform-origin: 34.3px; /* Must be the same as the line x1 origin, change at your own risk */
4313
+ .jkl-text-area__text-area input[type=number] {
4314
+ -moz-appearance: textfield;
4306
4315
  }
4307
- .jkl-logo__remtind {
4316
+ @media screen and (forced-colors: active) {
4317
+ .jkl-text-area__text-area {
4318
+ outline: none;
4319
+ border: none;
4320
+ }
4321
+ .jkl-text-area__text-area:focus-visible {
4322
+ outline: none;
4323
+ }
4324
+ }
4325
+ .jkl-text-area__text-area::placeholder {
4308
4326
  opacity: 1;
4327
+ color: var(--jkl-text-input-placeholder-color);
4309
4328
  }
4310
- .jkl-logo--symbol-only .jkl-logo__F {
4311
- transform: rotate(45deg);
4329
+ .jkl-text-area__text-area::selection {
4330
+ background-color: var(--jkl-text-input-selection-color);
4312
4331
  }
4313
- .jkl-logo--symbol-only .jkl-logo__F-line {
4314
- transform: scaleX(1.5);
4332
+ [data-theme=dark] .jkl-text-area__text-area::selection {
4333
+ background-color: var(--jkl-text-input-selection-color);
4315
4334
  }
4316
- .jkl-logo--symbol-only .jkl-logo__remtind {
4317
- transition-delay: 0ms;
4318
- opacity: 0;
4319
- transform: translateX(-5%);
4335
+ .jkl-text-area__text-area[aria-invalid=true] {
4336
+ color: var(--jkl-text-input-error-text-color);
4320
4337
  }
4321
- .jkl-logo--animated .jkl-logo__F {
4322
- transition: transform 250ms 75ms cubic-bezier(0.5, 0, 0.62, 1);
4338
+ .jkl-text-area__text-area[aria-invalid=true]::placeholder {
4339
+ color: var(--jkl-text-input-error-placeholder-color);
4323
4340
  }
4324
- .jkl-logo--animated .jkl-logo__F-line {
4325
- transition: transform 250ms ease-in;
4341
+ .jkl-text-area__text-area[aria-invalid=true]::selection {
4342
+ background-color: var(--jkl-text-input-error-selection-color);
4326
4343
  }
4327
- .jkl-logo--animated .jkl-logo__remtind {
4328
- transition: opacity 250ms 75ms ease-in, transform 250ms ease;
4344
+ .jkl-text-area__text-area[aria-invalid=true] ~ .jkl-text-input-action-button {
4345
+ color: var(--jkl-color-text-on-alert);
4329
4346
  }
4330
-
4331
- .jkl-logo--centered.jkl-logo--symbol-only .jkl-logo__F {
4332
- transform: translateX(35%) rotate(45deg);
4347
+ .jkl-text-area__text-area[aria-invalid=true] ~ .jkl-text-input-action-button:hover {
4348
+ color: var(--jkl-text-input-error-text-color);
4349
+ }
4350
+ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-area__text-area[aria-invalid=true] ~ .jkl-text-input-action-button:focus::after {
4351
+ box-shadow: inset 0 0 0 0.125rem var(--jkl-text-input-error-text-color);
4333
4352
  }
4334
4353
 
4335
- .jkl-logo-stamp {
4336
- color: var(--logo-stamp-color);
4354
+ .jkl-text-area__text-area[aria-invalid=true] ~ .jkl-text-input__unit {
4355
+ color: var(--jkl-text-input-error-text-color);
4337
4356
  }
4338
- @media screen and (forced-colors: active) {
4339
- .jkl-logo-stamp {
4340
- stroke: CanvasText;
4341
- fill: CanvasText;
4342
- }
4343
- .jkl-logo-stamp svg, .jkl-logo-stamp path {
4344
- stroke: CanvasText;
4345
- fill: CanvasText;
4346
- }
4357
+ .jkl-text-area .jkl-text-area-wrapper {
4358
+ height: auto;
4359
+ max-height: 100%;
4347
4360
  }
4348
- .jkl-logo-stamp--animated .jkl-logo-stamp__text {
4349
- transform-origin: 256px 256px;
4350
- transition-timing-function: cubic-bezier(0.75, 0, 0, 1);
4351
- transition-duration: 150ms;
4352
- transition-property: transform;
4361
+ .jkl-text-area--start-open .jkl-text-area-wrapper {
4362
+ max-height: 100%;
4353
4363
  }
4354
- .jkl-logo-stamp--animated[data-rotate=true] .jkl-logo-stamp__text {
4355
- transition-duration: 1500ms;
4356
- transform: rotate(360deg);
4364
+ .jkl-text-area--auto-expand .jkl-text-area__text-area {
4365
+ overflow: hidden;
4357
4366
  }
4358
-
4359
- :root,
4360
- [data-layout-density=comfortable],
4361
- [data-density=comfortable] {
4362
- --jkl-menu-item-height: 3rem;
4363
- --jkl-menu-item-padding: 0.5rem calc(var(--jkl-unit-10) * 3);
4364
- --jkl-menu-item-font-size: var(--jkl-body-font-size);
4365
- --jkl-menu-item-line-height: var(--jkl-body-line-height);
4366
- --jkl-menu-item-font-weight: var(--jkl-body-font-weight);
4367
+ .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area-wrapper {
4368
+ position: relative;
4367
4369
  }
4368
-
4369
- [data-layout-density=compact],
4370
- [data-density=compact] {
4371
- --jkl-menu-item-height: jkl.rem(32px);
4372
- --jkl-menu-item-padding: calc(var(--jkl-unit-10) * 0.5) calc(var(--jkl-unit-10) * 1.5);
4373
- --jkl-menu-item-font-size: var(--jkl-small-font-size);
4374
- --jkl-menu-item-line-height: var(--jkl-small-line-height);
4375
- --jkl-menu-item-font-weight: var(--jkl-small-font-weight);
4370
+ .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area-wrapper[data-has-content=true], .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area-wrapper:focus-within {
4371
+ padding-bottom: calc(var(--jkl-text-input-height) + 0.25rem);
4376
4372
  }
4377
-
4378
- .jkl-menu-item {
4379
- --background-color: var(--jkl-color-background-interactive);
4380
- background-color: var(--background-color);
4381
- color: var(--jkl-color-text-default);
4382
- cursor: pointer;
4383
- text-decoration: none;
4384
- box-sizing: border-box;
4385
- user-select: none;
4386
- font-size: var(--jkl-menu-item-font-size);
4387
- line-height: var(--jkl-menu-item-line-height);
4388
- font-weight: var(--jkl-menu-item-font-weight);
4389
- display: flex;
4390
- align-items: center;
4391
- gap: 0.5rem;
4373
+ .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area__counter {
4374
+ transition-timing-function: ease;
4375
+ transition-duration: 150ms;
4376
+ transition-property: opacity;
4377
+ opacity: 0;
4378
+ pointer-events: none;
4379
+ position: absolute;
4380
+ bottom: 0;
4381
+ left: 0;
4382
+ right: 0;
4383
+ }
4384
+ .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area__counter-count {
4385
+ padding: var(--jkl-text-input-padding);
4386
+ color: var(--jkl-text-area-counter-count-color);
4387
+ font-size: 1rem;
4388
+ line-height: 1.5rem;
4389
+ font-weight: 400;
4390
+ --jkl-icon-weight: 300;
4391
+ --jkl-icon-size: 1.25rem;
4392
+ --jkl-icon-opsz: 20;
4393
+ }
4394
+ .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area__counter-progress {
4395
+ background-color: transparent;
4396
+ height: 0.25rem;
4392
4397
  width: 100%;
4393
- height: var(--jkl-menu-item-height);
4394
- padding: var(--jkl-menu-item-padding);
4398
+ overflow: hidden;
4395
4399
  }
4396
- .jkl-menu-item {
4397
- outline: 0;
4398
- border-style: none;
4399
- outline-style: none;
4400
+ .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area__counter-progress::after {
4401
+ content: "";
4402
+ width: var(--progress-width, 100%);
4403
+ display: block;
4404
+ height: 0.25rem;
4405
+ background-color: var(--jkl-color);
4406
+ transition-property: width;
4407
+ transition-timing-function: ease;
4408
+ transition-duration: 400ms;
4400
4409
  }
4401
- .jkl-menu-item:active, .jkl-menu-item:hover, .jkl-menu-item:focus {
4402
- outline: 0;
4403
- outline-style: none;
4410
+ .jkl-text-area:has(.jkl-text-area__counter):focus-within .jkl-text-area__counter {
4411
+ opacity: 1;
4412
+ transition-delay: 150ms;
4404
4413
  }
4405
- @media screen and (forced-colors: active) {
4406
- .jkl-menu-item {
4407
- outline: revert;
4408
- border-style: revert;
4409
- outline-style: revert;
4410
- }
4411
- .jkl-menu-item:active, .jkl-menu-item:hover, .jkl-menu-item:focus {
4412
- outline: revert;
4413
- outline-style: revert;
4414
- }
4414
+ .jkl-text-area:has(.jkl-text-area__counter) [aria-invalid=true] ~ .jkl-text-area__counter {
4415
+ color: var(--jkl-text-input-error-text-color);
4415
4416
  }
4416
- .jkl-menu-item__content {
4417
- display: flex;
4418
- gap: calc(var(--jkl-unit-10) * 0.5);
4419
- justify-content: flex-start;
4420
- overflow: hidden;
4421
- white-space: nowrap;
4422
- text-overflow: ellipsis;
4423
- flex-grow: 1;
4424
- flex-shrink: 1;
4425
- max-width: 100%;
4417
+
4418
+ .jkl-text-area__text-area--3-rows:focus,
4419
+ .jkl-text-area__text-area--3-rows:not(:placeholder-shown),
4420
+ .jkl-text-area--start-open .jkl-text-area__text-area--3-rows {
4421
+ --height: calc(var(--jkl-text-input-line-height) * 3);
4422
+ --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
4423
+ min-height: calc(var(--height) + var(--vertical-padding));
4424
+ height: calc(var(--height) + var(--vertical-padding));
4425
+ max-height: 100%;
4426
4426
  }
4427
- .jkl-menu-item__icon {
4428
- display: flex;
4429
- align-items: center;
4430
- flex-shrink: 0;
4427
+
4428
+ .jkl-text-area__text-area--4-rows:focus,
4429
+ .jkl-text-area__text-area--4-rows:not(:placeholder-shown),
4430
+ .jkl-text-area--start-open .jkl-text-area__text-area--4-rows {
4431
+ --height: calc(var(--jkl-text-input-line-height) * 4);
4432
+ --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
4433
+ min-height: calc(var(--height) + var(--vertical-padding));
4434
+ height: calc(var(--height) + var(--vertical-padding));
4435
+ max-height: 100%;
4431
4436
  }
4432
- .jkl-menu-item__arrow {
4433
- display: flex;
4434
- align-items: center;
4437
+
4438
+ .jkl-text-area__text-area--5-rows:focus,
4439
+ .jkl-text-area__text-area--5-rows:not(:placeholder-shown),
4440
+ .jkl-text-area--start-open .jkl-text-area__text-area--5-rows {
4441
+ --height: calc(var(--jkl-text-input-line-height) * 5);
4442
+ --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
4443
+ min-height: calc(var(--height) + var(--vertical-padding));
4444
+ height: calc(var(--height) + var(--vertical-padding));
4445
+ max-height: 100%;
4435
4446
  }
4436
- .jkl-menu-item__chevron {
4437
- flex-shrink: 0;
4447
+
4448
+ .jkl-text-area__text-area--6-rows:focus,
4449
+ .jkl-text-area__text-area--6-rows:not(:placeholder-shown),
4450
+ .jkl-text-area--start-open .jkl-text-area__text-area--6-rows {
4451
+ --height: calc(var(--jkl-text-input-line-height) * 6);
4452
+ --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
4453
+ min-height: calc(var(--height) + var(--vertical-padding));
4454
+ height: calc(var(--height) + var(--vertical-padding));
4455
+ max-height: 100%;
4438
4456
  }
4439
- .jkl-menu-item:hover, .jkl-menu-item:focus-visible {
4440
- --background-color: var(--jkl-color-background-interactive-hover);
4457
+
4458
+ .jkl-text-area__text-area--7-rows:focus,
4459
+ .jkl-text-area__text-area--7-rows:not(:placeholder-shown),
4460
+ .jkl-text-area--start-open .jkl-text-area__text-area--7-rows {
4461
+ --height: calc(var(--jkl-text-input-line-height) * 7);
4462
+ --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
4463
+ min-height: calc(var(--height) + var(--vertical-padding));
4464
+ height: calc(var(--height) + var(--vertical-padding));
4465
+ max-height: 100%;
4441
4466
  }
4442
4467
 
4443
- .jkl-menu-divider {
4444
- width: 100%;
4445
- margin-block: 0;
4446
- border: none;
4447
- border-bottom: 0.0625rem solid var(--jkl-color-border-separator);
4468
+ .jkl-text-area__text-area--8-rows:focus,
4469
+ .jkl-text-area__text-area--8-rows:not(:placeholder-shown),
4470
+ .jkl-text-area--start-open .jkl-text-area__text-area--8-rows {
4471
+ --height: calc(var(--jkl-text-input-line-height) * 8);
4472
+ --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
4473
+ min-height: calc(var(--height) + var(--vertical-padding));
4474
+ height: calc(var(--height) + var(--vertical-padding));
4475
+ max-height: 100%;
4448
4476
  }
4449
4477
 
4450
- @media screen and (prefers-color-scheme: light) {
4451
- :root {
4452
- --jkl-menu-border: none;
4453
- }
4478
+ .jkl-text-area__text-area--9-rows:focus,
4479
+ .jkl-text-area__text-area--9-rows:not(:placeholder-shown),
4480
+ .jkl-text-area--start-open .jkl-text-area__text-area--9-rows {
4481
+ --height: calc(var(--jkl-text-input-line-height) * 9);
4482
+ --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
4483
+ min-height: calc(var(--height) + var(--vertical-padding));
4484
+ height: calc(var(--height) + var(--vertical-padding));
4485
+ max-height: 100%;
4454
4486
  }
4455
- [data-theme=light] {
4456
- --jkl-menu-border: none;
4487
+
4488
+ .jkl-text-area__text-area--10-rows:focus,
4489
+ .jkl-text-area__text-area--10-rows:not(:placeholder-shown),
4490
+ .jkl-text-area--start-open .jkl-text-area__text-area--10-rows {
4491
+ --height: calc(var(--jkl-text-input-line-height) * 10);
4492
+ --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
4493
+ min-height: calc(var(--height) + var(--vertical-padding));
4494
+ height: calc(var(--height) + var(--vertical-padding));
4495
+ max-height: 100%;
4457
4496
  }
4458
4497
 
4459
- @media screen and (prefers-color-scheme: dark) {
4460
- :root {
4461
- --jkl-menu-border: 2px solid #f9f9f9;
4462
- }
4498
+ :root,
4499
+ [data-layout-density=comfortable],
4500
+ [data-density=comfortable] {
4501
+ --jkl-link-list-padding: var(--jkl-unit-10);
4463
4502
  }
4464
- [data-theme=dark] {
4465
- --jkl-menu-border: 2px solid #f9f9f9;
4503
+
4504
+ [data-layout-density=compact],
4505
+ [data-density=compact] {
4506
+ --jkl-link-list-padding: var(--jkl-unit-05);
4466
4507
  }
4467
4508
 
4468
- .jkl-menu {
4469
- background-color: var(--jkl-color-background-container-high);
4470
- width: 100%;
4471
- max-width: 21rem;
4509
+ .jkl-link-list {
4510
+ --border-color: var(--jkl-color-border-separator);
4472
4511
  display: flex;
4473
4512
  flex-direction: column;
4474
- align-items: flex-start;
4475
- flex-wrap: nowrap;
4476
- box-shadow: 0 0.25rem 1.25rem rgba(49, 48, 48, 0.2);
4477
- border-radius: 0.125rem;
4478
- border: var(--jkl-menu-border);
4479
- z-index: 7000;
4513
+ width: 100%;
4514
+ padding: 0;
4515
+ margin: 0;
4516
+ border-bottom: 0.0625rem solid var(--border-color);
4517
+ height: min-content;
4518
+ counter-reset: link-list;
4480
4519
  }
4481
- .jkl-menu:focus-visible {
4482
- outline: none;
4520
+ @media (hover: hover) {
4521
+ .jkl-link-list:has(:focus-visible) .jkl-link-list-link:not(:hover):not(:focus-visible), .jkl-link-list:has(:hover) .jkl-link-list-link:not(:hover):not(:focus-visible) {
4522
+ --text-color: var(--jkl-color-border-separator);
4523
+ }
4483
4524
  }
4484
- .jkl-menu .jkl-menu[data-placement=bottom-start] {
4485
- box-shadow: rgba(0, 0, 0, 0.2) 0 -1px 2px 0, rgba(0, 0, 0, 0.14) -1px 2px 2px 0, rgba(0, 0, 0, 0.12) 3px 1px 5px 0;
4525
+
4526
+ .jkl-link-list-item {
4527
+ display: flex;
4528
+ counter-increment: link-list;
4486
4529
  }
4487
4530
 
4488
- .jkl-nav-link {
4489
- color: var(--jkl-color-text-default);
4490
- box-sizing: border-box;
4491
- font-weight: 400;
4492
- text-decoration: none;
4493
- position: relative;
4494
- padding-right: 0.15rem;
4495
- margin-right: -0.15rem;
4496
- }
4497
- .jkl-nav-link {
4498
- outline: 0;
4499
- border-style: none;
4500
- outline-style: none;
4501
- }
4502
- .jkl-nav-link:active, .jkl-nav-link:hover, .jkl-nav-link:focus {
4503
- outline: 0;
4504
- outline-style: none;
4505
- }
4506
- @media screen and (forced-colors: active) {
4507
- .jkl-nav-link {
4508
- outline: revert;
4509
- border-style: revert;
4510
- outline-style: revert;
4511
- }
4512
- .jkl-nav-link:active, .jkl-nav-link:hover, .jkl-nav-link:focus {
4513
- outline: revert;
4514
- outline-style: revert;
4515
- }
4531
+ .jkl-link-list-link {
4532
+ --text-color: var(--jkl-color-text-default);
4533
+ --icon-background: transparent;
4534
+ display: flex;
4535
+ justify-content: space-between;
4536
+ align-items: first baseline;
4537
+ gap: var(--jkl-unit-20);
4538
+ padding: var(--jkl-link-list-padding) 0;
4539
+ border-top: 0.0625rem solid var(--border-color);
4540
+ width: 100%;
4541
+ text-decoration: none;
4542
+ color: var(--text-color);
4543
+ cursor: pointer;
4544
+ transition-timing-function: ease;
4545
+ transition-duration: 150ms;
4546
+ transition-property: color, border-color;
4516
4547
  }
4517
- .jkl-nav-link:hover:not(:focus) {
4518
- color: var(--jkl-color-text-subdued);
4548
+ .jkl-link-list-link:hover, .jkl-link-list-link:focus-visible {
4549
+ --icon-background: var(--jkl-color-background-interactive-selected);
4519
4550
  }
4520
- .jkl-nav-link:focus-visible {
4551
+ .jkl-link-list-link:focus-visible {
4552
+ --border-color: transparent;
4553
+ z-index: 1;
4521
4554
  outline: 3px solid var(--jkl-color-border-action);
4522
4555
  outline-offset: 0;
4523
4556
  }
4524
- .jkl-nav-link:focus-visible .jkl-nav-link__icon, .jkl-nav-link:hover:not(:focus) .jkl-nav-link__icon {
4525
- transform: translateX(0.3rem);
4526
- }
4527
- .jkl-nav-link__icon {
4528
- margin-inline-start: 0.1em;
4529
- margin-block-start: -0.1em;
4530
- vertical-align: middle;
4557
+ .jkl-link-list-link__arrow {
4558
+ border-radius: 100%;
4559
+ background-color: var(--icon-background);
4560
+ translate: 0 17%;
4531
4561
  transition-timing-function: ease;
4532
4562
  transition-duration: 150ms;
4533
- transition-property: transform;
4563
+ transition-property: color, background-color;
4534
4564
  }
4535
- .jkl-nav-link--active {
4536
- --jkl-icon-weight: 500;
4537
- font-weight: 700;
4538
- letter-spacing: -0.014em;
4565
+ .jkl-link-list--ordered .jkl-link-list-link {
4566
+ justify-content: flex-start;
4567
+ align-items: unset;
4539
4568
  }
4540
- .jkl-nav-link--back {
4541
- padding-right: 0;
4542
- margin-right: 0;
4543
- padding-left: 0.15rem;
4544
- margin-left: -0.15rem;
4569
+ .jkl-link-list--ordered .jkl-link-list-link__arrow {
4570
+ display: none;
4545
4571
  }
4546
- .jkl-nav-link--back .jkl-nav-link__icon {
4547
- margin-inline: 0 0.1em;
4572
+ .jkl-link-list--ordered .jkl-link-list-link::before {
4573
+ content: counter(link-list, decimal-leading-zero);
4574
+ font-family: "Fremtind Grotesk Mono", "Adjusted Courier New Fallback", -apple-system, BlinkMacSystemFont, monospace;
4575
+ color: var(--text-color);
4576
+ font-size: var(--jkl-small-font-size);
4548
4577
  }
4549
- .jkl-nav-link--back:focus-visible .jkl-nav-link__icon, .jkl-nav-link--back:hover:not(:focus) .jkl-nav-link__icon {
4550
- padding-left: 0;
4551
- transform: translateX(-0.3rem);
4578
+
4579
+ @media screen and (prefers-color-scheme: light) {
4580
+ :root {
4581
+ --jkl-logo-color: #1b1917;
4582
+ }
4583
+ }
4584
+ [data-theme=light] {
4585
+ --jkl-logo-color: #1b1917;
4552
4586
  }
4553
4587
 
4554
- .jkl-pagination {
4555
- display: flex;
4588
+ @media screen and (prefers-color-scheme: dark) {
4589
+ :root {
4590
+ --jkl-logo-color: #f9f9f9;
4591
+ }
4556
4592
  }
4557
- .jkl-pagination__pages {
4558
- list-style: none;
4559
- display: flex;
4560
- align-items: center;
4561
- flex-wrap: nowrap;
4562
- margin: 0;
4563
- padding: 0;
4593
+ [data-theme=dark] {
4594
+ --jkl-logo-color: #f9f9f9;
4564
4595
  }
4565
4596
 
4566
- .jkl-pagination-button {
4567
- all: unset;
4568
- display: flex;
4569
- justify-content: center;
4570
- height: 2rem;
4571
- min-width: 2rem;
4572
- text-align: center;
4573
- cursor: pointer;
4574
- user-select: none;
4575
- border-radius: 0.1875rem;
4576
- color: var(--jkl-color-text-interactive);
4597
+ .jkl-logo {
4598
+ color: var(--jkl-logo-color);
4577
4599
  }
4578
- .jkl-pagination-button:hover:not(:focus) {
4579
- color: var(--jkl-color-text-interactive-hover);
4600
+ @media screen and (forced-colors: active) {
4601
+ .jkl-logo {
4602
+ stroke: CanvasText;
4603
+ fill: CanvasText;
4604
+ }
4605
+ .jkl-logo svg, .jkl-logo path {
4606
+ stroke: CanvasText;
4607
+ fill: CanvasText;
4608
+ }
4580
4609
  }
4581
- .jkl-pagination-button:focus-visible {
4582
- outline: 3px solid var(--jkl-color-border-action);
4583
- outline-offset: 3px;
4610
+ .jkl-logo__F {
4611
+ transform-origin: 30px 132px; /* Is connected to the viewbox of the logo, change at your own risk */
4584
4612
  }
4585
- .jkl-pagination-button--current {
4586
- --jkl-icon-weight: 500;
4587
- font-weight: 700;
4588
- letter-spacing: -0.014em;
4613
+ .jkl-logo__F-line {
4614
+ transform-origin: 34.3px; /* Must be the same as the line x1 origin, change at your own risk */
4589
4615
  }
4590
- .jkl-pagination-button--elipsis {
4591
- display: block;
4592
- user-select: none;
4593
- text-align: center;
4594
- height: 2rem;
4595
- width: 2rem;
4616
+ .jkl-logo__remtind {
4617
+ opacity: 1;
4596
4618
  }
4597
-
4598
- [data-layout-density=compact],
4599
- [data-density=compact] {
4600
- --jkl-select-input-height: calc(var(--jkl-unit-10) * 4);
4601
- --jkl-select-arrow-right: calc(var(--jkl-unit-10) * 0.5);
4602
- --jkl-select-button-padding: calc(var(--jkl-unit-10) * 0.5) calc(var(--jkl-unit-10) * 4) calc(var(--jkl-unit-10) * 0.5)
4603
- 0.5rem;
4604
- --jkl-select-search-input-padding: calc(var(--jkl-unit-10) * 0.5) 0.5rem;
4605
- --jkl-select-native-padding: calc(var(--jkl-unit-10) * 0.5) calc(var(--jkl-unit-10) * 3) calc(var(--jkl-unit-10) * 0.5)
4606
- calc(var(--jkl-unit-10) * 0.5);
4607
- --jkl-select-option-padding: calc(var(--jkl-unit-10) * 0.5) 0.5rem;
4608
- --jkl-select-font-size: var(--jkl-small-font-size);
4609
- --jkl-select-line-height: var(--jkl-small-line-height);
4610
- --jkl-select-font-weight: var(--jkl-small-font-weight);
4619
+ .jkl-logo--symbol-only .jkl-logo__F {
4620
+ transform: rotate(45deg);
4611
4621
  }
4612
-
4613
- :root,
4614
- [data-layout-density=comfortable],
4615
- [data-density=comfortable] {
4616
- --jkl-select-input-height: calc(var(--jkl-unit-10) * 6);
4617
- --jkl-select-arrow-right: 0.5rem;
4618
- --jkl-select-button-padding: 0.5rem 2.25rem 0.5rem
4619
- calc(var(--jkl-unit-10) * 1.5);
4620
- --jkl-select-search-input-padding: var(--jkl-select-button-padding);
4621
- --jkl-select-native-padding: 0 calc(var(--jkl-unit-10) * 5) 0 0.5rem;
4622
- --jkl-select-option-padding: 0.5rem calc(var(--jkl-unit-10) * 1.5);
4623
- --jkl-select-font-size: var(--jkl-body-font-size);
4624
- --jkl-select-line-height: var(--jkl-body-line-height);
4625
- --jkl-select-font-weight: var(--jkl-body-font-weight);
4622
+ .jkl-logo--symbol-only .jkl-logo__F-line {
4623
+ transform: scaleX(1.5);
4626
4624
  }
4627
- @media (width >= 0) and (max-width: 679px) {
4628
- :root,
4629
- [data-layout-density=comfortable],
4630
- [data-density=comfortable] {
4631
- --jkl-select-input-height: 2.75rem;
4632
- }
4625
+ .jkl-logo--symbol-only .jkl-logo__remtind {
4626
+ transition-delay: 0ms;
4627
+ opacity: 0;
4628
+ transform: translateX(-5%);
4633
4629
  }
4634
-
4635
- .jkl-select {
4636
- display: block;
4637
- position: relative;
4638
- /* --------
4639
- VARIANTS
4640
- -------- */
4630
+ .jkl-logo--animated .jkl-logo__F {
4631
+ transition: transform 250ms 75ms cubic-bezier(0.5, 0, 0.62, 1);
4641
4632
  }
4642
- .jkl-select {
4643
- outline: 0;
4644
- border-style: none;
4645
- outline-style: none;
4633
+ .jkl-logo--animated .jkl-logo__F-line {
4634
+ transition: transform 250ms ease-in;
4646
4635
  }
4647
- .jkl-select:active, .jkl-select:hover, .jkl-select:focus {
4648
- outline: 0;
4649
- outline-style: none;
4636
+ .jkl-logo--animated .jkl-logo__remtind {
4637
+ transition: opacity 250ms 75ms ease-in, transform 250ms ease;
4638
+ }
4639
+
4640
+ .jkl-logo--centered.jkl-logo--symbol-only .jkl-logo__F {
4641
+ transform: translateX(35%) rotate(45deg);
4642
+ }
4643
+
4644
+ .jkl-logo-stamp {
4645
+ color: var(--logo-stamp-color);
4650
4646
  }
4651
4647
  @media screen and (forced-colors: active) {
4652
- .jkl-select {
4653
- outline: revert;
4654
- border-style: revert;
4655
- outline-style: revert;
4648
+ .jkl-logo-stamp {
4649
+ stroke: CanvasText;
4650
+ fill: CanvasText;
4656
4651
  }
4657
- .jkl-select:active, .jkl-select:hover, .jkl-select:focus {
4658
- outline: revert;
4659
- outline-style: revert;
4652
+ .jkl-logo-stamp svg, .jkl-logo-stamp path {
4653
+ stroke: CanvasText;
4654
+ fill: CanvasText;
4660
4655
  }
4661
4656
  }
4662
- .jkl-select *:focus-visible {
4663
- outline: none;
4664
- }
4665
- .jkl-select .jkl-tooltip-question-button:focus {
4666
- outline: 3px solid var(--jkl-color-border-action);
4667
- outline-offset: 0;
4668
- }
4669
- .jkl-select select {
4670
- appearance: none;
4671
- }
4672
- .jkl-select select::ms-expand {
4673
- display: none;
4657
+ .jkl-logo-stamp--animated .jkl-logo-stamp__text {
4658
+ transform-origin: 256px 256px;
4659
+ transition-timing-function: cubic-bezier(0.75, 0, 0, 1);
4660
+ transition-duration: 150ms;
4661
+ transition-property: transform;
4674
4662
  }
4675
- .jkl-select select:-moz-focusring {
4676
- color: transparent;
4677
- text-shadow: 0 0 0 var(--jkl-color-text-subdued);
4663
+ .jkl-logo-stamp--animated[data-rotate=true] .jkl-logo-stamp__text {
4664
+ transition-duration: 1500ms;
4665
+ transform: rotate(360deg);
4678
4666
  }
4679
- .jkl-select select option {
4680
- font-weight: normal;
4681
- font-family: sans-serif;
4682
- color: var(--jkl-color-text-subdued);
4683
- background-color: var(--jkl-color-background-container-high);
4667
+
4668
+ :root,
4669
+ [data-layout-density=comfortable],
4670
+ [data-density=comfortable] {
4671
+ --jkl-menu-item-height: 3rem;
4672
+ --jkl-menu-item-padding: 0.5rem calc(var(--jkl-unit-10) * 3);
4673
+ --jkl-menu-item-font-size: var(--jkl-body-font-size);
4674
+ --jkl-menu-item-line-height: var(--jkl-body-line-height);
4675
+ --jkl-menu-item-font-weight: var(--jkl-body-font-weight);
4684
4676
  }
4685
- .jkl-select__outer-wrapper {
4686
- position: relative;
4687
- width: 15rem;
4688
- min-width: 7rem;
4689
- max-width: 100%;
4677
+
4678
+ [data-layout-density=compact],
4679
+ [data-density=compact] {
4680
+ --jkl-menu-item-height: jkl.rem(32px);
4681
+ --jkl-menu-item-padding: calc(var(--jkl-unit-10) * 0.5) calc(var(--jkl-unit-10) * 1.5);
4682
+ --jkl-menu-item-font-size: var(--jkl-small-font-size);
4683
+ --jkl-menu-item-line-height: var(--jkl-small-line-height);
4684
+ --jkl-menu-item-font-weight: var(--jkl-small-font-weight);
4690
4685
  }
4691
- .jkl-select__search-input {
4686
+
4687
+ .jkl-menu-item {
4688
+ --background-color: var(--jkl-color-background-interactive);
4689
+ background-color: var(--background-color);
4690
+ color: var(--jkl-color-text-default);
4691
+ cursor: pointer;
4692
+ text-decoration: none;
4692
4693
  box-sizing: border-box;
4693
- padding: var(--jkl-select-search-input-padding);
4694
- color: var(--jkl-color-text-subdued);
4694
+ user-select: none;
4695
+ font-size: var(--jkl-menu-item-font-size);
4696
+ line-height: var(--jkl-menu-item-line-height);
4697
+ font-weight: var(--jkl-menu-item-font-weight);
4698
+ display: flex;
4699
+ align-items: center;
4700
+ gap: 0.5rem;
4701
+ width: 100%;
4702
+ height: var(--jkl-menu-item-height);
4703
+ padding: var(--jkl-menu-item-padding);
4695
4704
  }
4696
- .jkl-select__search-input::selection {
4697
- background-color: color-mix(in oklab, var(--jkl-color-text-subdued) 25%, var(--jkl-color-background-container) 15%);
4705
+ .jkl-menu-item {
4706
+ outline: 0;
4707
+ border-style: none;
4708
+ outline-style: none;
4698
4709
  }
4699
- .jkl-select__search-input, .jkl-select__button {
4710
+ .jkl-menu-item:active, .jkl-menu-item:hover, .jkl-menu-item:focus {
4711
+ outline: 0;
4712
+ outline-style: none;
4713
+ }
4714
+ @media screen and (forced-colors: active) {
4715
+ .jkl-menu-item {
4716
+ outline: revert;
4717
+ border-style: revert;
4718
+ outline-style: revert;
4719
+ }
4720
+ .jkl-menu-item:active, .jkl-menu-item:hover, .jkl-menu-item:focus {
4721
+ outline: revert;
4722
+ outline-style: revert;
4723
+ }
4724
+ }
4725
+ .jkl-menu-item__content {
4726
+ display: flex;
4727
+ gap: calc(var(--jkl-unit-10) * 0.5);
4728
+ justify-content: flex-start;
4700
4729
  overflow: hidden;
4701
- text-overflow: ellipsis;
4702
4730
  white-space: nowrap;
4703
- background-color: transparent;
4704
- color: var(--jkl-color-text-subdued);
4705
- cursor: pointer;
4706
- height: var(--jkl-select-input-height);
4707
- border-radius: 0.1875rem;
4708
- border: 0.0625rem solid var(--jkl-color-border-input);
4709
- box-shadow: 0 0 0 0.0625rem transparent;
4710
- text-align: left;
4711
- width: 100%;
4712
- transition-property: color, border-color, box-shadow;
4713
- transition-timing-function: ease;
4714
- transition-duration: 150ms;
4715
- font-size: var(--jkl-select-font-size);
4716
- line-height: var(--jkl-select-line-height);
4717
- font-weight: var(--jkl-select-font-weight);
4731
+ text-overflow: ellipsis;
4732
+ flex-grow: 1;
4733
+ flex-shrink: 1;
4734
+ max-width: 100%;
4718
4735
  }
4719
- .jkl-select__search-input--active-value, .jkl-select__button--active-value {
4720
- color: var(--jkl-color-text-default);
4736
+ .jkl-menu-item__icon {
4737
+ display: flex;
4738
+ align-items: center;
4739
+ flex-shrink: 0;
4721
4740
  }
4722
- .jkl-select__search-input:hover, .jkl-select__button:hover {
4723
- border-color: var(--jkl-color-border-input-focus);
4724
- box-shadow: 0 0 0 0.0625rem var(--jkl-color-border-input-focus);
4741
+ .jkl-menu-item__arrow {
4742
+ display: flex;
4743
+ align-items: center;
4725
4744
  }
4726
- .jkl-select__search-input:hover ~ .jkl-select__arrow, .jkl-select__button:hover ~ .jkl-select__arrow {
4727
- transform: translateY(calc(-50% + 0.1875rem));
4745
+ .jkl-menu-item__chevron {
4746
+ flex-shrink: 0;
4728
4747
  }
4729
- .jkl-select__search-input:focus-visible, .jkl-select__button:focus-visible {
4730
- outline: none;
4748
+ .jkl-menu-item:hover, .jkl-menu-item:focus-visible {
4749
+ --background-color: var(--jkl-color-background-interactive-hover);
4731
4750
  }
4732
- html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__search-input:focus-visible, html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__search-input:has(:focus-visible), html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__button:focus-visible, html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__button:has(:focus-visible) {
4733
- outline: 3px solid var(--jkl-color-border-action);
4734
- outline-offset: 3px;
4751
+
4752
+ .jkl-menu-divider {
4753
+ width: 100%;
4754
+ margin-block: 0;
4755
+ border: none;
4756
+ border-bottom: 0.0625rem solid var(--jkl-color-border-separator);
4735
4757
  }
4736
- html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select:has(:focus-visible) .jkl-select__button,
4737
- html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select:has(:focus-visible) .jkl-select__search-input {
4738
- outline: 3px solid var(--jkl-color-border-action);
4739
- outline-offset: 3px;
4758
+
4759
+ @media screen and (prefers-color-scheme: light) {
4760
+ :root {
4761
+ --jkl-menu-border: none;
4762
+ }
4763
+ }
4764
+ [data-theme=light] {
4765
+ --jkl-menu-border: none;
4740
4766
  }
4741
4767
 
4742
- .jkl-select__button {
4743
- padding: var(--jkl-select-button-padding);
4768
+ @media screen and (prefers-color-scheme: dark) {
4769
+ :root {
4770
+ --jkl-menu-border: 2px solid #f9f9f9;
4771
+ }
4744
4772
  }
4745
- .jkl-select select.jkl-select__button {
4746
- padding: var(--jkl-select-native-padding);
4773
+ [data-theme=dark] {
4774
+ --jkl-menu-border: 2px solid #f9f9f9;
4747
4775
  }
4748
- .jkl-select__arrow {
4749
- pointer-events: none;
4750
- position: absolute;
4751
- right: var(--jkl-select-arrow-right);
4752
- top: 50%;
4776
+
4777
+ .jkl-menu {
4778
+ background-color: var(--jkl-color-background-container-high);
4779
+ width: 100%;
4780
+ max-width: 21rem;
4781
+ display: flex;
4782
+ flex-direction: column;
4783
+ align-items: flex-start;
4784
+ flex-wrap: nowrap;
4785
+ box-shadow: 0 0.25rem 1.25rem rgba(49, 48, 48, 0.2);
4786
+ border-radius: 0.125rem;
4787
+ border: var(--jkl-menu-border);
4788
+ z-index: 7000;
4789
+ }
4790
+ .jkl-menu:focus-visible {
4791
+ outline: none;
4792
+ }
4793
+ .jkl-menu .jkl-menu[data-placement=bottom-start] {
4794
+ box-shadow: rgba(0, 0, 0, 0.2) 0 -1px 2px 0, rgba(0, 0, 0, 0.14) -1px 2px 2px 0, rgba(0, 0, 0, 0.12) 3px 1px 5px 0;
4795
+ }
4796
+
4797
+ .jkl-nav-link {
4753
4798
  color: var(--jkl-color-text-default);
4754
- transform: translateY(-50%);
4755
- transition-property: transform, color;
4756
- transition-timing-function: ease;
4757
- transition-duration: 150ms;
4799
+ box-sizing: border-box;
4800
+ font-weight: 400;
4801
+ text-decoration: none;
4802
+ position: relative;
4803
+ padding-right: 0.15rem;
4804
+ margin-right: -0.15rem;
4805
+ }
4806
+ .jkl-nav-link {
4807
+ outline: 0;
4808
+ border-style: none;
4809
+ outline-style: none;
4810
+ }
4811
+ .jkl-nav-link:active, .jkl-nav-link:hover, .jkl-nav-link:focus {
4812
+ outline: 0;
4813
+ outline-style: none;
4758
4814
  }
4759
4815
  @media screen and (forced-colors: active) {
4760
- .jkl-select__arrow {
4761
- stroke: CanvasText;
4762
- fill: CanvasText;
4816
+ .jkl-nav-link {
4817
+ outline: revert;
4818
+ border-style: revert;
4819
+ outline-style: revert;
4763
4820
  }
4764
- .jkl-select__arrow svg, .jkl-select__arrow path {
4765
- stroke: CanvasText;
4766
- fill: CanvasText;
4821
+ .jkl-nav-link:active, .jkl-nav-link:hover, .jkl-nav-link:focus {
4822
+ outline: revert;
4823
+ outline-style: revert;
4767
4824
  }
4768
4825
  }
4769
- .jkl-select:has([aria-invalid=true]) .jkl-select__arrow {
4770
- color: var(--jkl-color-text-on-alert);
4826
+ .jkl-nav-link:hover:not(:focus) {
4827
+ color: var(--jkl-color-text-subdued);
4771
4828
  }
4772
- .jkl-select__options-menu {
4773
- position: absolute;
4774
- left: -0.0625rem;
4775
- right: -0.0625rem;
4776
- top: 100%;
4777
- z-index: 7000;
4778
- background-color: var(--jkl-color-background-container-high);
4779
- border: 0.125rem solid var(--jkl-color-border-input-focus);
4780
- border-top: none;
4781
- border-radius: 0 0 0.1875rem 0.1875rem;
4782
- box-sizing: border-box;
4783
- overflow-y: auto;
4784
- max-height: calc((var(--jkl-select-max-shown-options, 5) + 0.5) * var(--jkl-select-input-height));
4785
- transition-property: height;
4786
- transition-timing-function: ease;
4787
- transition-duration: 150ms;
4829
+ .jkl-nav-link:focus-visible {
4830
+ outline: 3px solid var(--jkl-color-border-action);
4831
+ outline-offset: 0;
4788
4832
  }
4789
- .jkl-select__option-wrapper {
4790
- margin: 0;
4791
- padding: 0;
4792
- list-style-type: none;
4793
- -webkit-overflow-scrolling: touch;
4833
+ .jkl-nav-link:focus-visible .jkl-nav-link__icon, .jkl-nav-link:hover:not(:focus) .jkl-nav-link__icon {
4834
+ transform: translateX(0.3rem);
4794
4835
  }
4795
- .jkl-select__option {
4796
- color: unset;
4797
- border: 0;
4798
- width: 100%;
4799
- background-color: inherit;
4800
- min-height: var(--jkl-select-input-height);
4801
- text-align: left;
4802
- transition-property: color, background-color;
4803
- position: relative;
4804
- padding: var(--jkl-select-option-padding);
4805
- cursor: pointer;
4836
+ .jkl-nav-link__icon {
4837
+ margin-inline-start: 0.1em;
4838
+ margin-block-start: -0.1em;
4839
+ vertical-align: middle;
4806
4840
  transition-timing-function: ease;
4807
4841
  transition-duration: 150ms;
4808
- font-size: var(--jkl-select-font-size);
4809
- line-height: var(--jkl-select-line-height);
4810
- font-weight: var(--jkl-select-font-weight);
4811
- /* For å unngå "dobbel" markering skrur vi av markering på hover i React-
4812
- komponenten med data-focus="controlled". Uten dette satt vil valgene
4813
- markeres ved hover som normalt. */
4842
+ transition-property: transform;
4814
4843
  }
4815
- .jkl-select__option:focus, :not([data-focus=controlled]) > .jkl-select__option:hover {
4844
+ .jkl-nav-link--active {
4845
+ --jkl-icon-weight: 500;
4846
+ font-weight: 700;
4847
+ letter-spacing: -0.014em;
4848
+ }
4849
+ .jkl-nav-link--back {
4850
+ padding-right: 0;
4851
+ margin-right: 0;
4852
+ padding-left: 0.15rem;
4853
+ margin-left: -0.15rem;
4854
+ }
4855
+ .jkl-nav-link--back .jkl-nav-link__icon {
4856
+ margin-inline: 0 0.1em;
4857
+ }
4858
+ .jkl-nav-link--back:focus-visible .jkl-nav-link__icon, .jkl-nav-link--back:hover:not(:focus) .jkl-nav-link__icon {
4859
+ padding-left: 0;
4860
+ transform: translateX(-0.3rem);
4861
+ }
4862
+
4863
+ .jkl-pagination {
4864
+ display: flex;
4865
+ }
4866
+ .jkl-pagination__pages {
4867
+ list-style: none;
4868
+ display: flex;
4869
+ align-items: center;
4870
+ flex-wrap: nowrap;
4871
+ margin: 0;
4872
+ padding: 0;
4873
+ }
4874
+
4875
+ .jkl-pagination-button {
4876
+ all: unset;
4877
+ display: flex;
4878
+ justify-content: center;
4879
+ height: 2rem;
4880
+ min-width: 2rem;
4881
+ text-align: center;
4882
+ cursor: pointer;
4883
+ user-select: none;
4884
+ border-radius: 0.1875rem;
4885
+ color: var(--jkl-color-text-interactive);
4886
+ }
4887
+ .jkl-pagination-button:hover:not(:focus) {
4888
+ color: var(--jkl-color-text-interactive-hover);
4889
+ }
4890
+ .jkl-pagination-button:focus-visible {
4891
+ outline: 3px solid var(--jkl-color-border-action);
4892
+ outline-offset: 3px;
4893
+ }
4894
+ .jkl-pagination-button--current {
4895
+ --jkl-icon-weight: 500;
4896
+ font-weight: 700;
4897
+ letter-spacing: -0.014em;
4898
+ }
4899
+ .jkl-pagination-button--elipsis {
4900
+ display: block;
4901
+ user-select: none;
4902
+ text-align: center;
4903
+ height: 2rem;
4904
+ width: 2rem;
4905
+ }
4906
+
4907
+ [data-layout-density=compact],
4908
+ [data-density=compact] {
4909
+ --jkl-select-input-height: calc(var(--jkl-unit-10) * 4);
4910
+ --jkl-select-arrow-right: calc(var(--jkl-unit-10) * 0.5);
4911
+ --jkl-select-button-padding: calc(var(--jkl-unit-10) * 0.5) calc(var(--jkl-unit-10) * 4) calc(var(--jkl-unit-10) * 0.5)
4912
+ 0.5rem;
4913
+ --jkl-select-search-input-padding: calc(var(--jkl-unit-10) * 0.5) 0.5rem;
4914
+ --jkl-select-native-padding: calc(var(--jkl-unit-10) * 0.5) calc(var(--jkl-unit-10) * 3) calc(var(--jkl-unit-10) * 0.5)
4915
+ calc(var(--jkl-unit-10) * 0.5);
4916
+ --jkl-select-option-padding: calc(var(--jkl-unit-10) * 0.5) 0.5rem;
4917
+ --jkl-select-font-size: var(--jkl-small-font-size);
4918
+ --jkl-select-line-height: var(--jkl-small-line-height);
4919
+ --jkl-select-font-weight: var(--jkl-small-font-weight);
4920
+ }
4921
+
4922
+ :root,
4923
+ [data-layout-density=comfortable],
4924
+ [data-density=comfortable] {
4925
+ --jkl-select-input-height: calc(var(--jkl-unit-10) * 6);
4926
+ --jkl-select-arrow-right: 0.5rem;
4927
+ --jkl-select-button-padding: 0.5rem 2.25rem 0.5rem
4928
+ calc(var(--jkl-unit-10) * 1.5);
4929
+ --jkl-select-search-input-padding: var(--jkl-select-button-padding);
4930
+ --jkl-select-native-padding: 0 calc(var(--jkl-unit-10) * 5) 0 0.5rem;
4931
+ --jkl-select-option-padding: 0.5rem calc(var(--jkl-unit-10) * 1.5);
4932
+ --jkl-select-font-size: var(--jkl-body-font-size);
4933
+ --jkl-select-line-height: var(--jkl-body-line-height);
4934
+ --jkl-select-font-weight: var(--jkl-body-font-weight);
4935
+ }
4936
+ @media (width >= 0) and (max-width: 679px) {
4937
+ :root,
4938
+ [data-layout-density=comfortable],
4939
+ [data-density=comfortable] {
4940
+ --jkl-select-input-height: 2.75rem;
4941
+ }
4942
+ }
4943
+
4944
+ .jkl-select {
4945
+ display: block;
4946
+ position: relative;
4947
+ /* --------
4948
+ VARIANTS
4949
+ -------- */
4950
+ }
4951
+ .jkl-select {
4952
+ outline: 0;
4953
+ border-style: none;
4954
+ outline-style: none;
4955
+ }
4956
+ .jkl-select:active, .jkl-select:hover, .jkl-select:focus {
4957
+ outline: 0;
4958
+ outline-style: none;
4959
+ }
4960
+ @media screen and (forced-colors: active) {
4961
+ .jkl-select {
4962
+ outline: revert;
4963
+ border-style: revert;
4964
+ outline-style: revert;
4965
+ }
4966
+ .jkl-select:active, .jkl-select:hover, .jkl-select:focus {
4967
+ outline: revert;
4968
+ outline-style: revert;
4969
+ }
4970
+ }
4971
+ .jkl-select *:focus-visible {
4972
+ outline: none;
4973
+ }
4974
+ .jkl-select .jkl-tooltip-question-button:focus {
4975
+ outline: 3px solid var(--jkl-color-border-action);
4976
+ outline-offset: 0;
4977
+ }
4978
+ .jkl-select select {
4979
+ appearance: none;
4980
+ }
4981
+ .jkl-select select::ms-expand {
4982
+ display: none;
4983
+ }
4984
+ .jkl-select select:-moz-focusring {
4985
+ color: transparent;
4986
+ text-shadow: 0 0 0 var(--jkl-color-text-subdued);
4987
+ }
4988
+ .jkl-select select option {
4989
+ font-weight: normal;
4990
+ font-family: sans-serif;
4991
+ color: var(--jkl-color-text-subdued);
4992
+ background-color: var(--jkl-color-background-container-high);
4993
+ }
4994
+ .jkl-select__outer-wrapper {
4995
+ position: relative;
4996
+ width: 15rem;
4997
+ min-width: 7rem;
4998
+ max-width: 100%;
4999
+ }
5000
+ .jkl-select__search-input {
5001
+ box-sizing: border-box;
5002
+ padding: var(--jkl-select-search-input-padding);
5003
+ color: var(--jkl-color-text-subdued);
5004
+ }
5005
+ .jkl-select__search-input::selection {
5006
+ background-color: color-mix(in oklab, var(--jkl-color-text-subdued) 25%, var(--jkl-color-background-container) 15%);
5007
+ }
5008
+ .jkl-select__search-input, .jkl-select__button {
5009
+ overflow: hidden;
5010
+ text-overflow: ellipsis;
5011
+ white-space: nowrap;
5012
+ background-color: transparent;
5013
+ color: var(--jkl-color-text-subdued);
5014
+ cursor: pointer;
5015
+ height: var(--jkl-select-input-height);
5016
+ border-radius: 0.1875rem;
5017
+ border: 0.0625rem solid var(--jkl-color-border-input);
5018
+ box-shadow: 0 0 0 0.0625rem transparent;
5019
+ text-align: left;
5020
+ width: 100%;
5021
+ transition-property: color, border-color, box-shadow;
5022
+ transition-timing-function: ease;
5023
+ transition-duration: 150ms;
5024
+ font-size: var(--jkl-select-font-size);
5025
+ line-height: var(--jkl-select-line-height);
5026
+ font-weight: var(--jkl-select-font-weight);
5027
+ }
5028
+ .jkl-select__search-input--active-value, .jkl-select__button--active-value {
5029
+ color: var(--jkl-color-text-default);
5030
+ }
5031
+ .jkl-select__search-input:hover, .jkl-select__button:hover {
5032
+ border-color: var(--jkl-color-border-input-focus);
5033
+ box-shadow: 0 0 0 0.0625rem var(--jkl-color-border-input-focus);
5034
+ }
5035
+ .jkl-select__search-input:hover ~ .jkl-select__arrow, .jkl-select__button:hover ~ .jkl-select__arrow {
5036
+ transform: translateY(calc(-50% + 0.1875rem));
5037
+ }
5038
+ .jkl-select__search-input:focus-visible, .jkl-select__button:focus-visible {
5039
+ outline: none;
5040
+ }
5041
+ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__search-input:focus-visible, html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__search-input:has(:focus-visible), html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__button:focus-visible, html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__button:has(:focus-visible) {
5042
+ outline: 3px solid var(--jkl-color-border-action);
5043
+ outline-offset: 3px;
5044
+ }
5045
+ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select:has(:focus-visible) .jkl-select__button,
5046
+ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select:has(:focus-visible) .jkl-select__search-input {
5047
+ outline: 3px solid var(--jkl-color-border-action);
5048
+ outline-offset: 3px;
5049
+ }
5050
+
5051
+ .jkl-select__button {
5052
+ padding: var(--jkl-select-button-padding);
5053
+ }
5054
+ .jkl-select select.jkl-select__button {
5055
+ padding: var(--jkl-select-native-padding);
5056
+ }
5057
+ .jkl-select__arrow {
5058
+ pointer-events: none;
5059
+ position: absolute;
5060
+ right: var(--jkl-select-arrow-right);
5061
+ top: 50%;
5062
+ color: var(--jkl-color-text-default);
5063
+ transform: translateY(-50%);
5064
+ transition-property: transform, color;
5065
+ transition-timing-function: ease;
5066
+ transition-duration: 150ms;
5067
+ }
5068
+ @media screen and (forced-colors: active) {
5069
+ .jkl-select__arrow {
5070
+ stroke: CanvasText;
5071
+ fill: CanvasText;
5072
+ }
5073
+ .jkl-select__arrow svg, .jkl-select__arrow path {
5074
+ stroke: CanvasText;
5075
+ fill: CanvasText;
5076
+ }
5077
+ }
5078
+ .jkl-select:has([aria-invalid=true]) .jkl-select__arrow {
5079
+ color: var(--jkl-color-text-on-alert);
5080
+ }
5081
+ .jkl-select__options-menu {
5082
+ position: absolute;
5083
+ left: -0.0625rem;
5084
+ right: -0.0625rem;
5085
+ top: 100%;
5086
+ z-index: 7000;
5087
+ background-color: var(--jkl-color-background-container-high);
5088
+ border: 0.125rem solid var(--jkl-color-border-input-focus);
5089
+ border-top: none;
5090
+ border-radius: 0 0 0.1875rem 0.1875rem;
5091
+ box-sizing: border-box;
5092
+ overflow-y: auto;
5093
+ max-height: calc((var(--jkl-select-max-shown-options, 5) + 0.5) * var(--jkl-select-input-height));
5094
+ transition-property: height;
5095
+ transition-timing-function: ease;
5096
+ transition-duration: 150ms;
5097
+ }
5098
+ .jkl-select__option-wrapper {
5099
+ margin: 0;
5100
+ padding: 0;
5101
+ list-style-type: none;
5102
+ -webkit-overflow-scrolling: touch;
5103
+ }
5104
+ .jkl-select__option {
5105
+ color: unset;
5106
+ border: 0;
5107
+ width: 100%;
5108
+ background-color: inherit;
5109
+ min-height: var(--jkl-select-input-height);
5110
+ text-align: left;
5111
+ transition-property: color, background-color;
5112
+ position: relative;
5113
+ padding: var(--jkl-select-option-padding);
5114
+ cursor: pointer;
5115
+ transition-timing-function: ease;
5116
+ transition-duration: 150ms;
5117
+ font-size: var(--jkl-select-font-size);
5118
+ line-height: var(--jkl-select-line-height);
5119
+ font-weight: var(--jkl-select-font-weight);
5120
+ /* For å unngå "dobbel" markering skrur vi av markering på hover i React-
5121
+ komponenten med data-focus="controlled". Uten dette satt vil valgene
5122
+ markeres ved hover som normalt. */
5123
+ }
5124
+ .jkl-select__option:focus, :not([data-focus=controlled]) > .jkl-select__option:hover {
4816
5125
  color: var(--jkl-color-text-default);
4817
5126
  background-color: var(--jkl-color-background-interactive-hover);
4818
5127
  }
@@ -4905,7 +5214,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select:has(:fo
4905
5214
  transition-duration: 150ms;
4906
5215
  }
4907
5216
 
4908
- @keyframes jkl-downcount-uqc9mni {
5217
+ @keyframes jkl-downcount-ul6ngeq {
4909
5218
  from {
4910
5219
  width: 100%;
4911
5220
  }
@@ -4913,7 +5222,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select:has(:fo
4913
5222
  width: 0%;
4914
5223
  }
4915
5224
  }
4916
- @keyframes jkl-dot-in-uqc9mnp {
5225
+ @keyframes jkl-dot-in-ul6ngex {
4917
5226
  0% {
4918
5227
  transform: scale(0.8);
4919
5228
  }
@@ -4961,7 +5270,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select:has(:fo
4961
5270
  }
4962
5271
  }
4963
5272
  .jkl-radio-panel__input:checked + .jkl-radio-panel__decorator::after {
4964
- animation: jkl-dot-in-uqc9mnp 150ms ease;
5273
+ animation: jkl-dot-in-ul6ngex 150ms ease;
4965
5274
  }
4966
5275
  .jkl-radio-panel:has(:checked) {
4967
5276
  --radio-dot-color: var(--jkl-color-border-action);
@@ -5173,7 +5482,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select:has(:fo
5173
5482
  margin-bottom: 0;
5174
5483
  }
5175
5484
  .jkl-system-message--dismissed {
5176
- animation: jkl-dismiss-uqc9mo7 400ms ease-in forwards;
5485
+ animation: jkl-dismiss-ul6ngfr 400ms ease-in forwards;
5177
5486
  transition: visibility 0ms 400ms;
5178
5487
  visibility: hidden;
5179
5488
  }
@@ -5205,7 +5514,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select:has(:fo
5205
5514
  }
5206
5515
  }
5207
5516
 
5208
- @keyframes jkl-dismiss-uqc9mo7 {
5517
+ @keyframes jkl-dismiss-ul6ngfr {
5209
5518
  from {
5210
5519
  opacity: 1;
5211
5520
  transform: translate3d(0, 0, 0);
@@ -5824,381 +6133,72 @@ html:not([data-mousenavigation]) .jkl-table-pagination__previous:focus, html:not
5824
6133
  min-width: fit-content;
5825
6134
  width: 100%;
5826
6135
  }
5827
- .jkl-tablist__indicator {
5828
- position: absolute;
5829
- height: 2px;
5830
- background-color: var(--indicator-color);
5831
- transition-timing-function: ease;
5832
- transition-duration: 400ms;
5833
- transition-property: left, width;
5834
- will-change: left, width;
5835
- }
5836
- @media screen and (forced-colors: active) {
5837
- .jkl-tablist__indicator {
5838
- background-color: Highlight;
5839
- }
5840
- }
5841
- @media screen and (forced-colors: active) {
5842
- .jkl-tablist {
5843
- border-color: GrayText;
5844
- }
5845
- }
5846
-
5847
- .jkl-tab {
5848
- font-size: var(--jkl-tab-font-size);
5849
- line-height: var(--jkl-tab-line-height);
5850
- font-weight: var(--jkl-tab-font-weight);
5851
- color: var(--text-color);
5852
- padding: var(--jkl-tab-padding);
5853
- border: none;
5854
- background-color: transparent;
5855
- cursor: pointer;
5856
- position: relative;
5857
- scroll-margin-inline-start: var(--jkl-unit-20);
5858
- scroll-snap-align: start;
5859
- text-decoration: none;
5860
- white-space: nowrap;
5861
- }
5862
- .jkl-tab {
5863
- outline: 0;
5864
- border-style: none;
5865
- outline-style: none;
5866
- }
5867
- .jkl-tab:active, .jkl-tab:hover, .jkl-tab:focus {
5868
- outline: 0;
5869
- outline-style: none;
5870
- }
5871
- @media screen and (forced-colors: active) {
5872
- .jkl-tab {
5873
- outline: revert;
5874
- border-style: revert;
5875
- outline-style: revert;
5876
- }
5877
- .jkl-tab:active, .jkl-tab:hover, .jkl-tab:focus {
5878
- outline: revert;
5879
- outline-style: revert;
5880
- }
5881
- }
5882
- .jkl-tab:hover {
5883
- --text-color: var(--jkl-color-text-interactive-hover);
5884
- }
5885
- .jkl-tab:focus-visible {
5886
- outline: 3px solid var(--jkl-color-border-action);
5887
- outline-offset: -2px;
5888
- }
5889
- .jkl-tab[aria-selected=true] {
5890
- --jkl-icon-weight: 500;
5891
- font-weight: 700;
5892
- letter-spacing: -0.014em;
5893
- }
5894
-
5895
- .jkl-text-area-wrapper {
5896
- border-radius: 0.1875rem;
5897
- box-sizing: border-box;
5898
- max-width: 100%;
5899
- position: relative;
5900
- display: flex;
5901
- align-items: center;
5902
- height: var(--jkl-text-input-height);
5903
- font-size: var(--jkl-text-input-font-size);
5904
- line-height: var(--jkl-text-input-line-height);
5905
- font-weight: var(--jkl-text-input-font-weight);
5906
- transition-timing-function: ease;
5907
- transition-duration: 150ms;
5908
- transition-property: color, box-shadow, background-color;
5909
- color: var(--jkl-text-input-text-color);
5910
- box-shadow: inset 0 0 0 0.0625rem var(--jkl-text-input-border-color), 0 0 0 0.0625rem transparent;
5911
- background-color: transparent;
5912
- }
5913
- .jkl-text-area-wrapper[data-invalid=true] {
5914
- background-color: var(--jkl-text-input-error-background-color);
5915
- color: var(--jkl-text-input-error-text-color);
5916
- }
5917
- .jkl-text-area-wrapper:hover {
5918
- box-shadow: inset 0 0 0 0.0625rem var(--jkl-text-input-focus-color), 0 0 0 0.0625rem var(--jkl-text-input-focus-color);
5919
- border-color: var(--jkl-text-input-focus-color);
5920
- }
5921
- @media screen and (forced-colors: active) {
5922
- .jkl-text-area-wrapper:hover {
5923
- border: 0.125rem solid ButtonText;
5924
- }
5925
- }
5926
- .jkl-text-area-wrapper:focus-within {
5927
- background-color: var(--jkl-text-input-background-color);
5928
- }
5929
- html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-area-wrapper:has(.jkl-text-input__input:focus-visible), html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-area-wrapper:has(.jkl-text-area__text-area:focus-visible) {
5930
- outline: 3px solid var(--jkl-color-border-action);
5931
- outline-offset: 3px;
5932
- }
5933
-
5934
- .jkl-text-area-wrapper > .jkl-icon-button:focus-visible {
5935
- outline: 3px solid var(--jkl-color-border-action);
5936
- outline-offset: -8px;
5937
- }
5938
- @media screen and (forced-colors: active) {
5939
- .jkl-text-area-wrapper > .jkl-icon-button:focus-visible {
5940
- --jkl-color-border-action: ButtonText;
5941
- }
5942
- }
5943
- .jkl-text-area-wrapper > .jkl-text-input-action-button {
5944
- flex-shrink: 0;
5945
- display: flex;
5946
- box-sizing: border-box;
5947
- align-items: center;
5948
- justify-content: center;
5949
- padding: var(--jkl-text-input-action-button-padding);
5950
- height: var(--jkl-text-input-action-button-size);
5951
- width: var(--jkl-text-input-action-button-size);
5952
- margin-inline-start: calc(var(--jkl-text-input-horizontal-padding) * -1);
5953
- }
5954
- .jkl-text-area-wrapper > .jkl-text-input-action-button .jkl-icon-button__icon {
5955
- height: var(--jkl-text-input-action-button-icon-size);
5956
- width: var(--jkl-text-input-action-button-icon-size);
5957
- }
5958
- .jkl-text-area-wrapper > .jkl-text-input-action-button:hover {
5959
- color: var(--jkl-text-input-focus-color);
6136
+ .jkl-tablist__indicator {
6137
+ position: absolute;
6138
+ height: 2px;
6139
+ background-color: var(--indicator-color);
6140
+ transition-timing-function: ease;
6141
+ transition-duration: 400ms;
6142
+ transition-property: left, width;
6143
+ will-change: left, width;
5960
6144
  }
5961
6145
  @media screen and (forced-colors: active) {
5962
- .jkl-text-area-wrapper > .jkl-text-input-action-button:hover {
5963
- border: 0.125rem inset ButtonText;
6146
+ .jkl-tablist__indicator {
6147
+ background-color: Highlight;
5964
6148
  }
5965
6149
  }
5966
6150
  @media screen and (forced-colors: active) {
5967
- .jkl-text-area-wrapper {
5968
- border: 0.125rem inset ButtonText;
6151
+ .jkl-tablist {
6152
+ border-color: GrayText;
5969
6153
  }
5970
6154
  }
5971
6155
 
5972
- .jkl-text-area {
5973
- height: auto;
5974
- width: 100%;
5975
- }
5976
- .jkl-text-area__text-area {
5977
- scrollbar-color: var(--jkl-color) transparent;
5978
- box-sizing: border-box;
5979
- resize: none;
5980
- width: 100%;
5981
- padding: var(--jkl-text-input-padding);
5982
- max-height: var(--jkl-text-input-height);
5983
- height: var(--jkl-text-input-height);
5984
- min-height: var(--jkl-text-input-height);
5985
- transition-timing-function: ease;
5986
- transition-duration: 150ms;
5987
- transition-property: height, min-height, max-height, padding;
5988
- background: none;
5989
- -webkit-appearance: none;
5990
- color: var(--jkl-color);
5991
- font-size: var(--jkl-text-input-font-size);
5992
- line-height: var(--jkl-text-input-line-height);
5993
- font-weight: var(--jkl-text-input-font-weight);
6156
+ .jkl-tab {
6157
+ font-size: var(--jkl-tab-font-size);
6158
+ line-height: var(--jkl-tab-line-height);
6159
+ font-weight: var(--jkl-tab-font-weight);
6160
+ color: var(--text-color);
6161
+ padding: var(--jkl-tab-padding);
6162
+ border: none;
6163
+ background-color: transparent;
6164
+ cursor: pointer;
6165
+ position: relative;
6166
+ scroll-margin-inline-start: var(--jkl-unit-20);
6167
+ scroll-snap-align: start;
6168
+ text-decoration: none;
6169
+ white-space: nowrap;
5994
6170
  }
5995
- .jkl-text-area__text-area {
6171
+ .jkl-tab {
5996
6172
  outline: 0;
5997
6173
  border-style: none;
5998
6174
  outline-style: none;
5999
6175
  }
6000
- .jkl-text-area__text-area:active, .jkl-text-area__text-area:hover, .jkl-text-area__text-area:focus {
6176
+ .jkl-tab:active, .jkl-tab:hover, .jkl-tab:focus {
6001
6177
  outline: 0;
6002
6178
  outline-style: none;
6003
6179
  }
6004
6180
  @media screen and (forced-colors: active) {
6005
- .jkl-text-area__text-area {
6181
+ .jkl-tab {
6006
6182
  outline: revert;
6007
6183
  border-style: revert;
6008
6184
  outline-style: revert;
6009
6185
  }
6010
- .jkl-text-area__text-area:active, .jkl-text-area__text-area:hover, .jkl-text-area__text-area:focus {
6186
+ .jkl-tab:active, .jkl-tab:hover, .jkl-tab:focus {
6011
6187
  outline: revert;
6012
6188
  outline-style: revert;
6013
6189
  }
6014
6190
  }
6015
- .jkl-text-area__text-area input[type=number]::-webkit-outer-spin-button,
6016
- .jkl-text-area__text-area input[type=number]::-webkit-inner-spin-button {
6017
- -webkit-appearance: none;
6018
- }
6019
- .jkl-text-area__text-area input[type=number] {
6020
- -moz-appearance: textfield;
6021
- }
6022
- @media screen and (forced-colors: active) {
6023
- .jkl-text-area__text-area {
6024
- outline: none;
6025
- border: none;
6026
- }
6027
- .jkl-text-area__text-area:focus-visible {
6028
- outline: none;
6029
- }
6030
- }
6031
- .jkl-text-area__text-area::placeholder {
6032
- opacity: 1;
6033
- color: var(--jkl-text-input-placeholder-color);
6034
- }
6035
- .jkl-text-area__text-area::selection {
6036
- background-color: var(--jkl-text-input-selection-color);
6037
- }
6038
- [data-theme=dark] .jkl-text-area__text-area::selection {
6039
- background-color: var(--jkl-text-input-selection-color);
6040
- }
6041
- .jkl-text-area__text-area[aria-invalid=true] {
6042
- color: var(--jkl-text-input-error-text-color);
6043
- }
6044
- .jkl-text-area__text-area[aria-invalid=true]::placeholder {
6045
- color: var(--jkl-text-input-error-placeholder-color);
6046
- }
6047
- .jkl-text-area__text-area[aria-invalid=true]::selection {
6048
- background-color: var(--jkl-text-input-error-selection-color);
6049
- }
6050
- .jkl-text-area__text-area[aria-invalid=true] ~ .jkl-text-input-action-button {
6051
- color: var(--jkl-color-text-on-alert);
6052
- }
6053
- .jkl-text-area__text-area[aria-invalid=true] ~ .jkl-text-input-action-button:hover {
6054
- color: var(--jkl-text-input-error-text-color);
6055
- }
6056
- html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-area__text-area[aria-invalid=true] ~ .jkl-text-input-action-button:focus::after {
6057
- box-shadow: inset 0 0 0 0.125rem var(--jkl-text-input-error-text-color);
6058
- }
6059
-
6060
- .jkl-text-area__text-area[aria-invalid=true] ~ .jkl-text-input__unit {
6061
- color: var(--jkl-text-input-error-text-color);
6062
- }
6063
- .jkl-text-area .jkl-text-area-wrapper {
6064
- height: auto;
6065
- max-height: 100%;
6066
- }
6067
- .jkl-text-area--start-open .jkl-text-area-wrapper {
6068
- max-height: 100%;
6069
- }
6070
- .jkl-text-area--auto-expand .jkl-text-area__text-area {
6071
- overflow: hidden;
6072
- }
6073
- .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area-wrapper {
6074
- position: relative;
6075
- }
6076
- .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area-wrapper[data-has-content=true], .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area-wrapper:focus-within {
6077
- padding-bottom: calc(var(--jkl-text-input-height) + 0.25rem);
6078
- }
6079
- .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area__counter {
6080
- transition-timing-function: ease;
6081
- transition-duration: 150ms;
6082
- transition-property: opacity;
6083
- opacity: 0;
6084
- pointer-events: none;
6085
- position: absolute;
6086
- bottom: 0;
6087
- left: 0;
6088
- right: 0;
6089
- }
6090
- .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area__counter-count {
6091
- padding: var(--jkl-text-input-padding);
6092
- color: var(--jkl-text-area-counter-count-color);
6093
- font-size: 1rem;
6094
- line-height: 1.5rem;
6095
- font-weight: 400;
6096
- --jkl-icon-weight: 300;
6097
- --jkl-icon-size: 1.25rem;
6098
- --jkl-icon-opsz: 20;
6099
- }
6100
- .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area__counter-progress {
6101
- background-color: transparent;
6102
- height: 0.25rem;
6103
- width: 100%;
6104
- overflow: hidden;
6105
- }
6106
- .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area__counter-progress::after {
6107
- content: "";
6108
- width: var(--progress-width, 100%);
6109
- display: block;
6110
- height: 0.25rem;
6111
- background-color: var(--jkl-color);
6112
- transition-property: width;
6113
- transition-timing-function: ease;
6114
- transition-duration: 400ms;
6115
- }
6116
- .jkl-text-area:has(.jkl-text-area__counter):focus-within .jkl-text-area__counter {
6117
- opacity: 1;
6118
- transition-delay: 150ms;
6119
- }
6120
- .jkl-text-area:has(.jkl-text-area__counter) [aria-invalid=true] ~ .jkl-text-area__counter {
6121
- color: var(--jkl-text-input-error-text-color);
6122
- }
6123
-
6124
- .jkl-text-area__text-area--3-rows:focus,
6125
- .jkl-text-area__text-area--3-rows:not(:placeholder-shown),
6126
- .jkl-text-area--start-open .jkl-text-area__text-area--3-rows {
6127
- --height: calc(var(--jkl-text-input-line-height) * 3);
6128
- --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
6129
- min-height: calc(var(--height) + var(--vertical-padding));
6130
- height: calc(var(--height) + var(--vertical-padding));
6131
- max-height: 100%;
6132
- }
6133
-
6134
- .jkl-text-area__text-area--4-rows:focus,
6135
- .jkl-text-area__text-area--4-rows:not(:placeholder-shown),
6136
- .jkl-text-area--start-open .jkl-text-area__text-area--4-rows {
6137
- --height: calc(var(--jkl-text-input-line-height) * 4);
6138
- --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
6139
- min-height: calc(var(--height) + var(--vertical-padding));
6140
- height: calc(var(--height) + var(--vertical-padding));
6141
- max-height: 100%;
6142
- }
6143
-
6144
- .jkl-text-area__text-area--5-rows:focus,
6145
- .jkl-text-area__text-area--5-rows:not(:placeholder-shown),
6146
- .jkl-text-area--start-open .jkl-text-area__text-area--5-rows {
6147
- --height: calc(var(--jkl-text-input-line-height) * 5);
6148
- --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
6149
- min-height: calc(var(--height) + var(--vertical-padding));
6150
- height: calc(var(--height) + var(--vertical-padding));
6151
- max-height: 100%;
6152
- }
6153
-
6154
- .jkl-text-area__text-area--6-rows:focus,
6155
- .jkl-text-area__text-area--6-rows:not(:placeholder-shown),
6156
- .jkl-text-area--start-open .jkl-text-area__text-area--6-rows {
6157
- --height: calc(var(--jkl-text-input-line-height) * 6);
6158
- --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
6159
- min-height: calc(var(--height) + var(--vertical-padding));
6160
- height: calc(var(--height) + var(--vertical-padding));
6161
- max-height: 100%;
6162
- }
6163
-
6164
- .jkl-text-area__text-area--7-rows:focus,
6165
- .jkl-text-area__text-area--7-rows:not(:placeholder-shown),
6166
- .jkl-text-area--start-open .jkl-text-area__text-area--7-rows {
6167
- --height: calc(var(--jkl-text-input-line-height) * 7);
6168
- --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
6169
- min-height: calc(var(--height) + var(--vertical-padding));
6170
- height: calc(var(--height) + var(--vertical-padding));
6171
- max-height: 100%;
6172
- }
6173
-
6174
- .jkl-text-area__text-area--8-rows:focus,
6175
- .jkl-text-area__text-area--8-rows:not(:placeholder-shown),
6176
- .jkl-text-area--start-open .jkl-text-area__text-area--8-rows {
6177
- --height: calc(var(--jkl-text-input-line-height) * 8);
6178
- --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
6179
- min-height: calc(var(--height) + var(--vertical-padding));
6180
- height: calc(var(--height) + var(--vertical-padding));
6181
- max-height: 100%;
6191
+ .jkl-tab:hover {
6192
+ --text-color: var(--jkl-color-text-interactive-hover);
6182
6193
  }
6183
-
6184
- .jkl-text-area__text-area--9-rows:focus,
6185
- .jkl-text-area__text-area--9-rows:not(:placeholder-shown),
6186
- .jkl-text-area--start-open .jkl-text-area__text-area--9-rows {
6187
- --height: calc(var(--jkl-text-input-line-height) * 9);
6188
- --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
6189
- min-height: calc(var(--height) + var(--vertical-padding));
6190
- height: calc(var(--height) + var(--vertical-padding));
6191
- max-height: 100%;
6194
+ .jkl-tab:focus-visible {
6195
+ outline: 3px solid var(--jkl-color-border-action);
6196
+ outline-offset: -2px;
6192
6197
  }
6193
-
6194
- .jkl-text-area__text-area--10-rows:focus,
6195
- .jkl-text-area__text-area--10-rows:not(:placeholder-shown),
6196
- .jkl-text-area--start-open .jkl-text-area__text-area--10-rows {
6197
- --height: calc(var(--jkl-text-input-line-height) * 10);
6198
- --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
6199
- min-height: calc(var(--height) + var(--vertical-padding));
6200
- height: calc(var(--height) + var(--vertical-padding));
6201
- max-height: 100%;
6198
+ .jkl-tab[aria-selected=true] {
6199
+ --jkl-icon-weight: 500;
6200
+ font-weight: 700;
6201
+ letter-spacing: -0.014em;
6202
6202
  }
6203
6203
 
6204
6204
  :root,
@@ -6384,14 +6384,14 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-area__tex
6384
6384
 
6385
6385
  .jkl-toast[data-animation=entering],
6386
6386
  .jkl-toast[data-animation=queued] {
6387
- animation: jkl-entering-uqc9mol 200ms ease-out forwards;
6387
+ animation: jkl-entering-ul6nggj 200ms ease-out forwards;
6388
6388
  }
6389
6389
 
6390
6390
  .jkl-toast[data-animation=exiting] {
6391
- animation: jkl-exiting-uqc9mpl 150ms ease-in forwards;
6391
+ animation: jkl-exiting-ul6ngh8 150ms ease-in forwards;
6392
6392
  }
6393
6393
 
6394
- @keyframes jkl-entering-uqc9mol {
6394
+ @keyframes jkl-entering-ul6nggj {
6395
6395
  from {
6396
6396
  opacity: 0;
6397
6397
  transform: translate3d(0, 50%, 0);
@@ -6401,7 +6401,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-area__tex
6401
6401
  transform: translate3d(0, 0, 0);
6402
6402
  }
6403
6403
  }
6404
- @keyframes jkl-exiting-uqc9mpl {
6404
+ @keyframes jkl-exiting-ul6ngh8 {
6405
6405
  from {
6406
6406
  opacity: 1;
6407
6407
  transform: translate3d(0, 0, 0);