@fremtind/jokul 4.3.0 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/checkbox/Checkbox.cjs +1 -1
  3. package/build/cjs/components/checkbox/Checkbox.cjs.map +1 -1
  4. package/build/cjs/components/cookie-consent/CookieConsent.cjs +1 -1
  5. package/build/cjs/components/cookie-consent/CookieConsent.cjs.map +1 -1
  6. package/build/cjs/components/cookie-consent/CookieConsent.d.cts +1 -1
  7. package/build/cjs/components/cookie-consent/types.d.cts +4 -0
  8. package/build/cjs/components/datepicker/DatePicker.cjs +1 -1
  9. package/build/cjs/components/datepicker/DatePicker.cjs.map +1 -1
  10. package/build/cjs/components/expander/ExpandablePanel.cjs +1 -1
  11. package/build/cjs/components/expander/ExpandablePanel.cjs.map +1 -1
  12. package/build/cjs/components/popover/Popover.cjs +1 -1
  13. package/build/cjs/components/popover/Popover.cjs.map +1 -1
  14. package/build/cjs/components/radio-button/BaseRadioButton.cjs +1 -1
  15. package/build/cjs/components/radio-button/BaseRadioButton.cjs.map +1 -1
  16. package/build/es/components/checkbox/Checkbox.js +1 -1
  17. package/build/es/components/checkbox/Checkbox.js.map +1 -1
  18. package/build/es/components/cookie-consent/CookieConsent.d.ts +1 -1
  19. package/build/es/components/cookie-consent/CookieConsent.js +1 -1
  20. package/build/es/components/cookie-consent/CookieConsent.js.map +1 -1
  21. package/build/es/components/cookie-consent/types.d.ts +4 -0
  22. package/build/es/components/datepicker/DatePicker.js +1 -1
  23. package/build/es/components/datepicker/DatePicker.js.map +1 -1
  24. package/build/es/components/expander/ExpandablePanel.js +1 -1
  25. package/build/es/components/expander/ExpandablePanel.js.map +1 -1
  26. package/build/es/components/popover/Popover.js +1 -1
  27. package/build/es/components/popover/Popover.js.map +1 -1
  28. package/build/es/components/radio-button/BaseRadioButton.js +1 -1
  29. package/build/es/components/radio-button/BaseRadioButton.js.map +1 -1
  30. package/package.json +1 -1
  31. package/styles/components/button/button.css +4 -0
  32. package/styles/components/button/button.min.css +1 -1
  33. package/styles/components/button/button.scss +11 -11
  34. package/styles/components/card/card.css +1 -1
  35. package/styles/components/card/card.min.css +1 -1
  36. package/styles/components/card/card.scss +1 -1
  37. package/styles/components/checkbox/checkbox.css +41 -10
  38. package/styles/components/checkbox/checkbox.min.css +1 -1
  39. package/styles/components/checkbox/checkbox.scss +35 -23
  40. package/styles/components/checkbox-panel/checkbox-panel.css +59 -23
  41. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  42. package/styles/components/checkbox-panel/checkbox-panel.scss +4 -0
  43. package/styles/components/combobox/combobox.css +4 -1
  44. package/styles/components/combobox/combobox.min.css +1 -1
  45. package/styles/components/combobox/combobox.scss +4 -1
  46. package/styles/components/countdown/countdown.css +2 -2
  47. package/styles/components/countdown/countdown.min.css +1 -1
  48. package/styles/components/expander/expandable.css +14 -14
  49. package/styles/components/expander/expandable.min.css +1 -1
  50. package/styles/components/expander/expandable.scss +13 -17
  51. package/styles/components/feedback/feedback.css +6 -8
  52. package/styles/components/feedback/feedback.min.css +1 -1
  53. package/styles/components/feedback/feedback.scss +3 -9
  54. package/styles/components/file-input/file-input.css +13 -9
  55. package/styles/components/file-input/file-input.min.css +1 -1
  56. package/styles/components/input-group/input-group.css +2 -2
  57. package/styles/components/input-group/input-group.min.css +1 -1
  58. package/styles/components/input-panel/input-panel.css +15 -13
  59. package/styles/components/input-panel/input-panel.min.css +1 -1
  60. package/styles/components/input-panel/input-panel.scss +17 -15
  61. package/styles/components/link-list/link-list.css +4 -1
  62. package/styles/components/link-list/link-list.min.css +1 -1
  63. package/styles/components/link-list/link-list.scss +4 -1
  64. package/styles/components/loader/loader.css +6 -6
  65. package/styles/components/loader/loader.min.css +1 -1
  66. package/styles/components/loader/skeleton-loader.css +3 -3
  67. package/styles/components/loader/skeleton-loader.min.css +1 -1
  68. package/styles/components/message/message.css +2 -2
  69. package/styles/components/message/message.min.css +1 -1
  70. package/styles/components/popover/popover.css +11 -0
  71. package/styles/components/popover/popover.min.css +1 -1
  72. package/styles/components/popover/popover.scss +14 -0
  73. package/styles/components/progress-bar/progress-bar.css +25 -1
  74. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  75. package/styles/components/progress-bar/progress-bar.scss +5 -0
  76. package/styles/components/radio-button/radio-button.css +41 -9
  77. package/styles/components/radio-button/radio-button.min.css +1 -1
  78. package/styles/components/radio-button/radio-button.scss +31 -18
  79. package/styles/components/radio-panel/radio-panel.css +18 -13
  80. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  81. package/styles/components/radio-panel/radio-panel.scss +4 -0
  82. package/styles/components/segmented-control/segmented-control.css +43 -11
  83. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  84. package/styles/components/system-message/system-message.css +2 -2
  85. package/styles/components/system-message/system-message.min.css +1 -1
  86. package/styles/components/toast/toast.css +4 -4
  87. package/styles/components/toast/toast.min.css +1 -1
  88. package/styles/components/toggle-switch/toggle-switch.css +2 -7
  89. package/styles/components/toggle-switch/toggle-switch.min.css +2 -2
  90. package/styles/components/toggle-switch/toggle-switch.scss +2 -9
  91. package/styles/styles.css +195 -86
  92. package/styles/styles.min.css +2 -2
@@ -65,7 +65,7 @@
65
65
  --color: var(--jkl-color-text-default);
66
66
  }
67
67
  .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 {
68
- animation: 400ms cubic-bezier(0, 0, 0.3, 1) 250ms jkl-support-icon-entrance-ut6hryk forwards;
68
+ animation: 400ms cubic-bezier(0, 0, 0.3, 1) 250ms jkl-support-icon-entrance-ulhxquc forwards;
69
69
  }
70
70
  .jkl-form-support-label--sr-only {
71
71
  border: 0 !important;
@@ -131,7 +131,7 @@
131
131
  .jkl-label:has(+ .jkl-input-group-description) {
132
132
  margin-block-end: var(--jkl-spacing-4);
133
133
  }
134
- @keyframes jkl-support-icon-entrance-ut6hryk {
134
+ @keyframes jkl-support-icon-entrance-ulhxquc {
135
135
  0% {
136
136
  margin-right: 0;
137
137
  opacity: 0;
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-field-group{border-style:none;outline:0;outline-style:none}.jkl-field-group:active,.jkl-field-group:focus,.jkl-field-group:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-field-group{border-style:revert;outline:revert;outline-style:revert}.jkl-field-group:active,.jkl-field-group:focus,.jkl-field-group:hover{outline:revert;outline-style:revert}}}@layer jokul.components{.jkl-dormant-form-support-label{display:none;opacity:0;pointer-events:none}.jkl-form-support-label{--jkl-form-support-label-margin:var(--jkl-unit-10) 0 0;--jkl-form-support-label-icon-size:1.25rem;--jkl-form-support-label-icon-margin:0 -1.25rem -0.375rem 0;--color:var(--jkl-color-text-subdued);font-size:var(--jkl-font-size-2);font-weight:400;line-height:var(--jkl-line-height-tight);--jkl-icon-weight:300;color:var(--color);display:flex;margin:var(--jkl-form-support-label-margin);transition-delay:.15s;transition-duration:.4s;transition-property:color;transition-timing-function:ease}.jkl-form-support-label__icon,.jkl-form-support-label__icon.jkl-icon{height:var(--jkl-form-support-label-icon-size);margin:var(--jkl-form-support-label-icon-margin);opacity:0}@media screen and (forced-colors:active){.jkl-form-support-label__icon,.jkl-form-support-label__icon path,.jkl-form-support-label__icon svg,.jkl-form-support-label__icon.jkl-icon,.jkl-form-support-label__icon.jkl-icon path,.jkl-form-support-label__icon.jkl-icon svg{fill:Canvas;stroke:CanvasText}}.jkl-form-support-label--error,.jkl-form-support-label--success,.jkl-form-support-label--warning{--color:var(--jkl-color-text-default)}.jkl-form-support-label--error .jkl-form-support-label__icon,.jkl-form-support-label--success .jkl-form-support-label__icon,.jkl-form-support-label--warning .jkl-form-support-label__icon{animation:jkl-support-icon-entrance-ut6hryk .4s cubic-bezier(0,0,.3,1) .25s forwards}.jkl-form-support-label--sr-only{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.jkl-label{color:var(--jkl-color-text-default);display:block;margin:0 0 var(--jkl-spacing-8) 0}.jkl-label--medium,.jkl-label--small{font-size:var(--jkl-font-size-3)}.jkl-label--large,.jkl-label--medium,.jkl-label--small{font-weight:400;line-height:var(--jkl-line-height-tight);--jkl-icon-weight:300}.jkl-label--large{font-size:var(--jkl-font-size-5)}.jkl-label--sr-only{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.jkl-label .jkl-help{position:relative;top:-.1ex}.jkl-input-group-description{font-size:var(--jkl-font-size-2);font-weight:400;line-height:var(--jkl-line-height-tight);--jkl-icon-weight:300;color:var(--jkl-color-text-subdued);-webkit-margin-after:var(--jkl-spacing-8);margin-block-end:var(--jkl-spacing-8);max-inline-size:50ch;text-wrap:pretty}.jkl-label:has(+.jkl-input-group-description){-webkit-margin-after:var(--jkl-spacing-4);margin-block-end:var(--jkl-spacing-4)}@keyframes jkl-support-icon-entrance-ut6hryk{0%{margin-right:0;opacity:0;transform:scale(1)}30%{margin-right:.5rem}50%{opacity:1}70%{transform:scale(1.1)}85%{transform:scale(.9)}to{margin-right:.5rem;opacity:1;transform:scale(1)}}}@layer jokul.components{@media screen and (forced-colors:active){.jkl-text-input-action-button,.jkl-text-input-action-button path,.jkl-text-input-action-button svg{fill:ButtonFace;stroke:ButtonText}}}
1
+ @layer jokul.components{.jkl-field-group{border-style:none;outline:0;outline-style:none}.jkl-field-group:active,.jkl-field-group:focus,.jkl-field-group:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-field-group{border-style:revert;outline:revert;outline-style:revert}.jkl-field-group:active,.jkl-field-group:focus,.jkl-field-group:hover{outline:revert;outline-style:revert}}}@layer jokul.components{.jkl-dormant-form-support-label{display:none;opacity:0;pointer-events:none}.jkl-form-support-label{--jkl-form-support-label-margin:var(--jkl-unit-10) 0 0;--jkl-form-support-label-icon-size:1.25rem;--jkl-form-support-label-icon-margin:0 -1.25rem -0.375rem 0;--color:var(--jkl-color-text-subdued);font-size:var(--jkl-font-size-2);font-weight:400;line-height:var(--jkl-line-height-tight);--jkl-icon-weight:300;color:var(--color);display:flex;margin:var(--jkl-form-support-label-margin);transition-delay:.15s;transition-duration:.4s;transition-property:color;transition-timing-function:ease}.jkl-form-support-label__icon,.jkl-form-support-label__icon.jkl-icon{height:var(--jkl-form-support-label-icon-size);margin:var(--jkl-form-support-label-icon-margin);opacity:0}@media screen and (forced-colors:active){.jkl-form-support-label__icon,.jkl-form-support-label__icon path,.jkl-form-support-label__icon svg,.jkl-form-support-label__icon.jkl-icon,.jkl-form-support-label__icon.jkl-icon path,.jkl-form-support-label__icon.jkl-icon svg{fill:Canvas;stroke:CanvasText}}.jkl-form-support-label--error,.jkl-form-support-label--success,.jkl-form-support-label--warning{--color:var(--jkl-color-text-default)}.jkl-form-support-label--error .jkl-form-support-label__icon,.jkl-form-support-label--success .jkl-form-support-label__icon,.jkl-form-support-label--warning .jkl-form-support-label__icon{animation:jkl-support-icon-entrance-ulhxquc .4s cubic-bezier(0,0,.3,1) .25s forwards}.jkl-form-support-label--sr-only{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.jkl-label{color:var(--jkl-color-text-default);display:block;margin:0 0 var(--jkl-spacing-8) 0}.jkl-label--medium,.jkl-label--small{font-size:var(--jkl-font-size-3)}.jkl-label--large,.jkl-label--medium,.jkl-label--small{font-weight:400;line-height:var(--jkl-line-height-tight);--jkl-icon-weight:300}.jkl-label--large{font-size:var(--jkl-font-size-5)}.jkl-label--sr-only{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.jkl-label .jkl-help{position:relative;top:-.1ex}.jkl-input-group-description{font-size:var(--jkl-font-size-2);font-weight:400;line-height:var(--jkl-line-height-tight);--jkl-icon-weight:300;color:var(--jkl-color-text-subdued);-webkit-margin-after:var(--jkl-spacing-8);margin-block-end:var(--jkl-spacing-8);max-inline-size:50ch;text-wrap:pretty}.jkl-label:has(+.jkl-input-group-description){-webkit-margin-after:var(--jkl-spacing-4);margin-block-end:var(--jkl-spacing-4)}@keyframes jkl-support-icon-entrance-ulhxquc{0%{margin-right:0;opacity:0;transform:scale(1)}30%{margin-right:.5rem}50%{opacity:1}70%{transform:scale(1.1)}85%{transform:scale(.9)}to{margin-right:.5rem;opacity:1;transform:scale(1)}}}@layer jokul.components{@media screen and (forced-colors:active){.jkl-text-input-action-button,.jkl-text-input-action-button path,.jkl-text-input-action-button svg{fill:ButtonFace;stroke:ButtonText}}}
@@ -26,29 +26,31 @@
26
26
  position: relative;
27
27
  padding: var(--jkl-unit-20) var(--padding-inline);
28
28
  }
29
+ .jkl-input-panel__header .jkl-radio-button,
30
+ .jkl-input-panel__header .jkl-checkbox {
31
+ grid-column: 1/-1;
32
+ grid-row: 1;
33
+ inline-size: 100%;
34
+ }
35
+ .jkl-input-panel__header label {
36
+ inline-size: 100%;
37
+ }
29
38
  .jkl-input-panel__header__amount {
30
39
  display: flex;
31
40
  height: 100%;
32
41
  align-items: center;
42
+ grid-column: 2;
43
+ grid-row: 1;
44
+ justify-self: end;
45
+ pointer-events: none;
46
+ position: relative;
47
+ z-index: 1;
33
48
  font-size: var(--jkl-font-size-3);
34
49
  line-height: var(--jkl-line-height-tight);
35
50
  font-weight: 400;
36
51
  --jkl-icon-weight: 300;
37
52
  font-weight: 700;
38
53
  }
39
- .jkl-input-panel__header label,
40
- .jkl-input-panel__header .jkl-radio-button,
41
- .jkl-input-panel__header .jkl-checkbox {
42
- position: unset;
43
- }
44
- .jkl-input-panel__header label::after {
45
- content: "";
46
- position: absolute;
47
- top: 0;
48
- left: 0;
49
- inline-size: 100%;
50
- block-size: 100%;
51
- }
52
54
  .jkl-input-panel__description {
53
55
  height: 0;
54
56
  overflow: hidden;
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-input-panel{--outer-border-color:var(--jkl-color-border-input);--outer-border-thickness:0.0625rem;--background-color:transparent;--padding-inline:var(--jkl-unit-25);background-color:var(--background-color);border-radius:var(--jkl-border-radius-s);box-shadow:inset 0 0 0 var(--outer-border-thickness) var(--outer-border-color);display:flex;flex-direction:column;interpolate-size:allow-keywords;transition-duration:.15s;transition-property:box-shadow;transition-timing-function:ease}.jkl-input-panel__header{align-items:center;cursor:pointer;display:grid;gap:.5rem;grid-template-columns:1fr -webkit-max-content;grid-template-columns:1fr max-content;padding:var(--jkl-unit-20) var(--padding-inline);position:relative}.jkl-input-panel__header__amount{align-items:center;display:flex;font-size:var(--jkl-font-size-3);font-weight:400;height:100%;line-height:var(--jkl-line-height-tight);--jkl-icon-weight:300;font-weight:700}.jkl-input-panel__header .jkl-checkbox,.jkl-input-panel__header .jkl-radio-button,.jkl-input-panel__header label{position:unset}.jkl-input-panel__header label:after{block-size:100%;content:"";inline-size:100%;left:0;position:absolute;top:0}.jkl-input-panel__description{height:0;overflow:hidden;padding-inline:var(--padding-inline);-webkit-padding-after:var(--jkl-spacing-none);font-size:var(--jkl-font-size-3);font-weight:400;line-height:normal;line-height:var(--jkl-line-height-relaxed);padding-block-end:var(--jkl-spacing-none);--jkl-icon-weight:300;transition-duration:.15s;transition-property:height;transition-timing-function:ease}.jkl-input-panel:has(:focus-visible){outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-input-panel:has(:checked),.jkl-input-panel:not([data-always-open]),.jkl-input-panel[data-always-open=true]{--background-color:var(--jkl-color-background-container-high)}.jkl-input-panel:has(:checked) .jkl-input-panel__description,.jkl-input-panel:not([data-always-open]) .jkl-input-panel__description,.jkl-input-panel[data-always-open=true] .jkl-input-panel__description{height:auto;-webkit-padding-after:var(--jkl-unit-20);padding-block-end:var(--jkl-unit-20)}.jkl-input-panel:has(input:hover){--outer-border-color:var(--jkl-color-border-separator-hover);--outer-border-thickness:0.125rem;cursor:pointer}}
1
+ @layer jokul.components{.jkl-input-panel{--outer-border-color:var(--jkl-color-border-input);--outer-border-thickness:0.0625rem;--background-color:transparent;--padding-inline:var(--jkl-unit-25);background-color:var(--background-color);border-radius:var(--jkl-border-radius-s);box-shadow:inset 0 0 0 var(--outer-border-thickness) var(--outer-border-color);display:flex;flex-direction:column;interpolate-size:allow-keywords;transition-duration:.15s;transition-property:box-shadow;transition-timing-function:ease}.jkl-input-panel__header{align-items:center;cursor:pointer;display:grid;gap:.5rem;grid-template-columns:1fr -webkit-max-content;grid-template-columns:1fr max-content;padding:var(--jkl-unit-20) var(--padding-inline);position:relative}.jkl-input-panel__header .jkl-checkbox,.jkl-input-panel__header .jkl-radio-button{grid-column:1/-1;grid-row:1;inline-size:100%}.jkl-input-panel__header label{inline-size:100%}.jkl-input-panel__header__amount{align-items:center;display:flex;font-size:var(--jkl-font-size-3);font-weight:400;grid-column:2;grid-row:1;height:100%;justify-self:end;line-height:var(--jkl-line-height-tight);pointer-events:none;position:relative;z-index:1;--jkl-icon-weight:300;font-weight:700}.jkl-input-panel__description{height:0;overflow:hidden;padding-inline:var(--padding-inline);-webkit-padding-after:var(--jkl-spacing-none);font-size:var(--jkl-font-size-3);font-weight:400;line-height:normal;line-height:var(--jkl-line-height-relaxed);padding-block-end:var(--jkl-spacing-none);--jkl-icon-weight:300;transition-duration:.15s;transition-property:height;transition-timing-function:ease}.jkl-input-panel:has(:focus-visible){outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-input-panel:has(:checked),.jkl-input-panel:not([data-always-open]),.jkl-input-panel[data-always-open=true]{--background-color:var(--jkl-color-background-container-high)}.jkl-input-panel:has(:checked) .jkl-input-panel__description,.jkl-input-panel:not([data-always-open]) .jkl-input-panel__description,.jkl-input-panel[data-always-open=true] .jkl-input-panel__description{height:auto;-webkit-padding-after:var(--jkl-unit-20);padding-block-end:var(--jkl-unit-20)}.jkl-input-panel:has(input:hover){--outer-border-color:var(--jkl-color-border-separator-hover);--outer-border-thickness:0.125rem;cursor:pointer}}
@@ -27,30 +27,32 @@
27
27
  position: relative;
28
28
  padding: var(--jkl-unit-20) var(--padding-inline);
29
29
 
30
+ .jkl-radio-button,
31
+ .jkl-checkbox {
32
+ grid-column: 1 / -1;
33
+ grid-row: 1;
34
+ inline-size: 100%;
35
+ }
36
+
37
+ label {
38
+ inline-size: 100%;
39
+ }
40
+
30
41
  &__amount {
31
42
  display: flex;
32
43
  height: 100%;
33
44
  align-items: center;
45
+ grid-column: 2;
46
+ grid-row: 1;
47
+ justify-self: end;
48
+ pointer-events: none;
49
+ position: relative;
50
+ z-index: 1;
34
51
 
35
52
  @include jkl.text-style("text-medium") {
36
53
  font-weight: jkl.$typography-weight-bold;
37
54
  }
38
55
  }
39
-
40
- & label,
41
- .jkl-radio-button,
42
- .jkl-checkbox {
43
- position: unset;
44
- }
45
-
46
- & label::after {
47
- content: "";
48
- position: absolute;
49
- top: 0;
50
- left: 0;
51
- inline-size: 100%;
52
- block-size: 100%;
53
- }
54
56
  }
55
57
 
56
58
  &__description {
@@ -26,7 +26,6 @@
26
26
  margin: 0;
27
27
  height: min-content;
28
28
  border-radius: var(--jkl-unit-05);
29
- overflow: hidden;
30
29
  background: var(--jkl-color-background-container-low);
31
30
  }
32
31
  .jkl-link-list ul .jkl-link-list-link {
@@ -72,6 +71,10 @@
72
71
  .jkl-link-list ul .jkl-link-list-link:is(:hover, :focus-visible)::after {
73
72
  translate: 4px 0;
74
73
  }
74
+ .jkl-link-list ul .jkl-link-list-link:focus-visible {
75
+ outline: 3px solid var(--jkl-color-border-action);
76
+ outline-offset: 3px;
77
+ }
75
78
  .jkl-link-list .jkl-link-list-item {
76
79
  display: flex;
77
80
  }
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-link-list{--border:1px solid var(--jkl-color-border-separator);--text-color:var(--jkl-color-text-default);font-size:var(--jkl-font-size-3)}.jkl-link-list,.jkl-link-list .jkl-link-list-title{font-weight:400;line-height:var(--jkl-line-height-relaxed);--jkl-icon-weight:300}.jkl-link-list .jkl-link-list-title{-webkit-margin-after:var(--jkl-unit-10);font-size:var(--jkl-font-size-2);margin-block-end:var(--jkl-unit-10);--jkl-icon-size:1.2em}.jkl-link-list ul{background:var(--jkl-color-background-container-low);border-radius:var(--jkl-unit-05);display:flex;flex-direction:column;height:-webkit-min-content;height:min-content;margin:0;overflow:hidden;padding:0;width:100%}.jkl-link-list ul .jkl-link-list-link{align-items:center;box-sizing:border-box;color:var(--text-color);display:flex;font-size:var(--jkl-font-size-3);font-weight:400;gap:var(--jkl-unit-20);justify-content:space-between;line-height:var(--jkl-line-height-tight);padding:var(--jkl-unit-20);text-decoration:none;text-wrap:balance;width:100%;--jkl-icon-weight:300;transition-duration:.15s;transition-property:background;transition-timing-function:ease}.jkl-link-list ul .jkl-link-list-link:after{content:"arrow_forward"/"";display:inline-block;font-family:Fremtind Material Symbols,Fremtind Material Symbols Fallback,sans-serif;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:1.3em;font-variation-settings:"FILL" var(--jkl-icon-fill,0),"GRAD" var(--jkl-icon-grade,0),"opsz" var(--jkl-icon-opsz,24);font-weight:var(--jkl-icon-weight,300);line-height:1;-webkit-font-smoothing:antialiased;transition-duration:75ms;transition-duration:.15s;transition-property:font-variation-settings,transform;transition-property:translate;transition-timing-function:ease}.jkl-link-list ul .jkl-link-list-link:is(:hover,:focus-visible){background:var(--jkl-color-background-interactive-selected)}.jkl-link-list ul .jkl-link-list-link:is(:hover,:focus-visible):after{translate:4px 0}.jkl-link-list .jkl-link-list-item{display:flex}.jkl-link-list .jkl-link-list-item:not(:last-of-type) .jkl-link-list-link{-webkit-border-after:var(--border);border-block-end:var(--border)}.jkl-link-list:has(ul) .jkl-link-list-title{-webkit-margin-start:var(--jkl-unit-05);margin-inline-start:var(--jkl-unit-05)}}
1
+ @layer jokul.components{.jkl-link-list{--border:1px solid var(--jkl-color-border-separator);--text-color:var(--jkl-color-text-default);font-size:var(--jkl-font-size-3)}.jkl-link-list,.jkl-link-list .jkl-link-list-title{font-weight:400;line-height:var(--jkl-line-height-relaxed);--jkl-icon-weight:300}.jkl-link-list .jkl-link-list-title{-webkit-margin-after:var(--jkl-unit-10);font-size:var(--jkl-font-size-2);margin-block-end:var(--jkl-unit-10);--jkl-icon-size:1.2em}.jkl-link-list ul{background:var(--jkl-color-background-container-low);border-radius:var(--jkl-unit-05);display:flex;flex-direction:column;height:-webkit-min-content;height:min-content;margin:0;padding:0;width:100%}.jkl-link-list ul .jkl-link-list-link{align-items:center;box-sizing:border-box;color:var(--text-color);display:flex;font-size:var(--jkl-font-size-3);font-weight:400;gap:var(--jkl-unit-20);justify-content:space-between;line-height:var(--jkl-line-height-tight);padding:var(--jkl-unit-20);text-decoration:none;text-wrap:balance;width:100%;--jkl-icon-weight:300;transition-duration:.15s;transition-property:background;transition-timing-function:ease}.jkl-link-list ul .jkl-link-list-link:after{content:"arrow_forward"/"";display:inline-block;font-family:Fremtind Material Symbols,Fremtind Material Symbols Fallback,sans-serif;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:1.3em;font-variation-settings:"FILL" var(--jkl-icon-fill,0),"GRAD" var(--jkl-icon-grade,0),"opsz" var(--jkl-icon-opsz,24);font-weight:var(--jkl-icon-weight,300);line-height:1;-webkit-font-smoothing:antialiased;transition-duration:75ms;transition-duration:.15s;transition-property:font-variation-settings,transform;transition-property:translate;transition-timing-function:ease}.jkl-link-list ul .jkl-link-list-link:is(:hover,:focus-visible){background:var(--jkl-color-background-interactive-selected)}.jkl-link-list ul .jkl-link-list-link:is(:hover,:focus-visible):after{translate:4px 0}.jkl-link-list ul .jkl-link-list-link:focus-visible{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-link-list .jkl-link-list-item{display:flex}.jkl-link-list .jkl-link-list-item:not(:last-of-type) .jkl-link-list-link{-webkit-border-after:var(--border);border-block-end:var(--border)}.jkl-link-list:has(ul) .jkl-link-list-title{-webkit-margin-start:var(--jkl-unit-05);margin-inline-start:var(--jkl-unit-05)}}
@@ -22,7 +22,6 @@
22
22
  margin: 0;
23
23
  height: min-content;
24
24
  border-radius: var(--jkl-unit-05);
25
- overflow: hidden;
26
25
  background: var(--jkl-color-background-container-low);
27
26
 
28
27
  .jkl-link-list-link {
@@ -56,6 +55,10 @@
56
55
  translate: 4px 0;
57
56
  }
58
57
  }
58
+
59
+ &:focus-visible {
60
+ @include jkl.focus-outline();
61
+ }
59
62
  }
60
63
  }
61
64
 
@@ -19,22 +19,22 @@
19
19
  animation: 2500ms linear infinite;
20
20
  }
21
21
  .jkl-loader__dot--left {
22
- animation-name: jkl-loader-left-spin-u1mp4iz;
22
+ animation-name: jkl-loader-left-spin-uqmmsui;
23
23
  margin-right: calc(var(--jkl-loader-spacing) * 0.9);
24
24
  }
25
25
  .jkl-loader__dot--middle {
26
- animation-name: jkl-loader-middle-spin-u1mp4jh;
26
+ animation-name: jkl-loader-middle-spin-uqmmsux;
27
27
  margin-right: var(--jkl-loader-spacing);
28
28
  }
29
29
  .jkl-loader__dot--right {
30
- animation-name: jkl-loader-right-spin-u1mp4ke;
30
+ animation-name: jkl-loader-right-spin-uqmmsv1;
31
31
  }
32
32
  @media screen and (forced-colors: active) {
33
33
  .jkl-loader__dot {
34
34
  background-color: CanvasText;
35
35
  }
36
36
  }
37
- @keyframes jkl-loader-left-spin-u1mp4iz {
37
+ @keyframes jkl-loader-left-spin-uqmmsui {
38
38
  0% {
39
39
  transform: rotate(0) scale(0);
40
40
  }
@@ -48,7 +48,7 @@
48
48
  transform: rotate(180deg) scale(0);
49
49
  }
50
50
  }
51
- @keyframes jkl-loader-middle-spin-u1mp4jh {
51
+ @keyframes jkl-loader-middle-spin-uqmmsux {
52
52
  0% {
53
53
  transform: rotate(20deg) scale(0);
54
54
  }
@@ -65,7 +65,7 @@
65
65
  transform: rotate(200deg) scale(0);
66
66
  }
67
67
  }
68
- @keyframes jkl-loader-right-spin-u1mp4ke {
68
+ @keyframes jkl-loader-right-spin-uqmmsv1 {
69
69
  0% {
70
70
  transform: rotate(40deg) scale(0);
71
71
  }
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-loader{--jkl-loader-dot-size:var(--jkl-unit-10);--jkl-loader-spacing:var(--jkl-unit-20);display:flex}.jkl-loader--inline{display:inline-flex}.jkl-loader__dot{animation:2.5s linear infinite;background-color:currentColor;display:block;height:var(--jkl-loader-dot-size);transform-origin:center;width:var(--jkl-loader-dot-size)}.jkl-loader__dot--left{animation-name:jkl-loader-left-spin-u1mp4iz;margin-right:calc(var(--jkl-loader-spacing)*.9)}.jkl-loader__dot--middle{animation-name:jkl-loader-middle-spin-u1mp4jh;margin-right:var(--jkl-loader-spacing)}.jkl-loader__dot--right{animation-name:jkl-loader-right-spin-u1mp4ke}@media screen and (forced-colors:active){.jkl-loader__dot{background-color:CanvasText}}@keyframes jkl-loader-left-spin-u1mp4iz{0%{transform:rotate(0) scale(0)}30%{transform:rotate(90deg) scale(1)}70%{transform:rotate(180deg) scale(0)}to{transform:rotate(180deg) scale(0)}}@keyframes jkl-loader-middle-spin-u1mp4jh{0%{transform:rotate(20deg) scale(0)}10%{transform:rotate(20deg) scale(0)}40%{transform:rotate(110deg) scale(1.4)}85%{transform:rotate(200deg) scale(0)}to{transform:rotate(200deg) scale(0)}}@keyframes jkl-loader-right-spin-u1mp4ke{0%{transform:rotate(40deg) scale(0)}20%{transform:rotate(40deg) scale(0)}50%{transform:rotate(130deg) scale(1)}to{transform:rotate(220deg) scale(0)}}}
1
+ @layer jokul.components{.jkl-loader{--jkl-loader-dot-size:var(--jkl-unit-10);--jkl-loader-spacing:var(--jkl-unit-20);display:flex}.jkl-loader--inline{display:inline-flex}.jkl-loader__dot{animation:2.5s linear infinite;background-color:currentColor;display:block;height:var(--jkl-loader-dot-size);transform-origin:center;width:var(--jkl-loader-dot-size)}.jkl-loader__dot--left{animation-name:jkl-loader-left-spin-uqmmsui;margin-right:calc(var(--jkl-loader-spacing)*.9)}.jkl-loader__dot--middle{animation-name:jkl-loader-middle-spin-uqmmsux;margin-right:var(--jkl-loader-spacing)}.jkl-loader__dot--right{animation-name:jkl-loader-right-spin-uqmmsv1}@media screen and (forced-colors:active){.jkl-loader__dot{background-color:CanvasText}}@keyframes jkl-loader-left-spin-uqmmsui{0%{transform:rotate(0) scale(0)}30%{transform:rotate(90deg) scale(1)}70%{transform:rotate(180deg) scale(0)}to{transform:rotate(180deg) scale(0)}}@keyframes jkl-loader-middle-spin-uqmmsux{0%{transform:rotate(20deg) scale(0)}10%{transform:rotate(20deg) scale(0)}40%{transform:rotate(110deg) scale(1.4)}85%{transform:rotate(200deg) scale(0)}to{transform:rotate(200deg) scale(0)}}@keyframes jkl-loader-right-spin-uqmmsv1{0%{transform:rotate(40deg) scale(0)}20%{transform:rotate(40deg) scale(0)}50%{transform:rotate(130deg) scale(1)}to{transform:rotate(220deg) scale(0)}}}
@@ -26,7 +26,7 @@
26
26
  @media screen and (forced-colors: active) {
27
27
  .jkl-skeleton-element {
28
28
  border: 1px solid CanvasText;
29
- animation: 2s ease infinite jkl-blink-ue6eld9;
29
+ animation: 2s ease infinite jkl-blink-utngw5h;
30
30
  }
31
31
  }
32
32
  .jkl-skeleton-input {
@@ -74,10 +74,10 @@
74
74
  }
75
75
  @media screen and (forced-colors: active) {
76
76
  .jkl-skeleton-table {
77
- animation: 2s ease-in-out infinite jkl-blink-ue6eld9;
77
+ animation: 2s ease-in-out infinite jkl-blink-utngw5h;
78
78
  }
79
79
  }
80
- @keyframes jkl-blink-ue6eld9 {
80
+ @keyframes jkl-blink-utngw5h {
81
81
  0% {
82
82
  opacity: 1;
83
83
  }
@@ -1 +1 @@
1
- @layer jokul.components{@property --jkl-skeleton-sweeper-position{syntax:"<percentage>";initial-value:0%;inherits:true}.jkl-skeleton-animation{--jkl-skeleton-element-color:var(--jkl-color-background-container-low);--jkl-skeleton-sweep-duration:4500ms;--jkl-skeleton-sweeper-width:40%;animation:var(--jkl-skeleton-sweep-duration) ease-in-out infinite --jkl-skeleton-sweep;-webkit-mask-image:linear-gradient(to right,#000 calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)),transparent calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)/2),#000 var(--jkl-skeleton-sweeper-position));mask-image:linear-gradient(to right,#000 calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)),transparent calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)/2),#000 var(--jkl-skeleton-sweeper-position));-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100dvi 100dvb;mask-size:100dvi 100dvb}.jkl-skeleton-element{background-color:var(--jkl-skeleton-element-color);border-radius:.125rem}.jkl-skeleton-element--circle{border-radius:50%}@media screen and (forced-colors:active){.jkl-skeleton-element{animation:jkl-blink-ue6eld9 2s ease infinite;border:1px solid CanvasText}}.jkl-skeleton-input{display:flex;flex-direction:column;gap:var(--jkl-spacing-12)}.jkl-skeleton-input__checkbox{display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--jkl-spacing-8)}@media (width >= 0) and (max-width:679px){.jkl-skeleton-input{gap:var(--jkl-spacing-8)}}.jkl-skeleton-input--compact:after{gap:var(--jkl-spacing-8)}.jkl-skeleton-table{display:flex;flex-direction:column}.jkl-skeleton-table__header,.jkl-skeleton-table__row{border-bottom:1px solid var(--jkl-skeleton-element-color);display:flex;flex-direction:row;justify-content:space-between}.jkl-skeleton-table__header,.jkl-skeleton-table__row{padding:var(--jkl-unit-20) var(--jkl-unit-10)}@media (width >= 0) and (max-width:679px){.jkl-skeleton-table__header{padding:var(--jkl-unit-10) var(--jkl-unit-05)}.jkl-skeleton-table__row{padding:var(--jkl-unit-20) var(--jkl-unit-05)}}@media screen and (forced-colors:active){.jkl-skeleton-table{animation:jkl-blink-ue6eld9 2s ease-in-out infinite}}@keyframes jkl-blink-ue6eld9{0%{opacity:1}40%,50%{opacity:.3}70%,to{opacity:1}}@keyframes --jkl-skeleton-sweep{0%,67%{--jkl-skeleton-sweeper-position:0%}to{--jkl-skeleton-sweeper-position:calc(100% + var(--jkl-skeleton-sweeper-width))}}}
1
+ @layer jokul.components{@property --jkl-skeleton-sweeper-position{syntax:"<percentage>";initial-value:0%;inherits:true}.jkl-skeleton-animation{--jkl-skeleton-element-color:var(--jkl-color-background-container-low);--jkl-skeleton-sweep-duration:4500ms;--jkl-skeleton-sweeper-width:40%;animation:var(--jkl-skeleton-sweep-duration) ease-in-out infinite --jkl-skeleton-sweep;-webkit-mask-image:linear-gradient(to right,#000 calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)),transparent calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)/2),#000 var(--jkl-skeleton-sweeper-position));mask-image:linear-gradient(to right,#000 calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)),transparent calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)/2),#000 var(--jkl-skeleton-sweeper-position));-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100dvi 100dvb;mask-size:100dvi 100dvb}.jkl-skeleton-element{background-color:var(--jkl-skeleton-element-color);border-radius:.125rem}.jkl-skeleton-element--circle{border-radius:50%}@media screen and (forced-colors:active){.jkl-skeleton-element{animation:jkl-blink-utngw5h 2s ease infinite;border:1px solid CanvasText}}.jkl-skeleton-input{display:flex;flex-direction:column;gap:var(--jkl-spacing-12)}.jkl-skeleton-input__checkbox{display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--jkl-spacing-8)}@media (width >= 0) and (max-width:679px){.jkl-skeleton-input{gap:var(--jkl-spacing-8)}}.jkl-skeleton-input--compact:after{gap:var(--jkl-spacing-8)}.jkl-skeleton-table{display:flex;flex-direction:column}.jkl-skeleton-table__header,.jkl-skeleton-table__row{border-bottom:1px solid var(--jkl-skeleton-element-color);display:flex;flex-direction:row;justify-content:space-between}.jkl-skeleton-table__header,.jkl-skeleton-table__row{padding:var(--jkl-unit-20) var(--jkl-unit-10)}@media (width >= 0) and (max-width:679px){.jkl-skeleton-table__header{padding:var(--jkl-unit-10) var(--jkl-unit-05)}.jkl-skeleton-table__row{padding:var(--jkl-unit-20) var(--jkl-unit-05)}}@media screen and (forced-colors:active){.jkl-skeleton-table{animation:jkl-blink-utngw5h 2s ease-in-out infinite}}@keyframes jkl-blink-utngw5h{0%{opacity:1}40%,50%{opacity:.3}70%,to{opacity:1}}@keyframes --jkl-skeleton-sweep{0%,67%{--jkl-skeleton-sweeper-position:0%}to{--jkl-skeleton-sweeper-position:calc(100% + var(--jkl-skeleton-sweeper-width))}}}
@@ -150,7 +150,7 @@
150
150
  --background-color: var(--jkl-color-background-alert-success);
151
151
  }
152
152
  .jkl-message--dismissed {
153
- animation: jkl-dismiss-uqicgae 400ms ease-in-out forwards;
153
+ animation: jkl-dismiss-u8y7ggs 400ms ease-in-out forwards;
154
154
  transition: visibility 0ms 400ms;
155
155
  visibility: hidden;
156
156
  }
@@ -172,7 +172,7 @@
172
172
  .jkl-form-error-message {
173
173
  padding-bottom: calc(var(--jkl-unit-base) * 5);
174
174
  }
175
- @keyframes jkl-dismiss-uqicgae {
175
+ @keyframes jkl-dismiss-u8y7ggs {
176
176
  from {
177
177
  opacity: 1;
178
178
  transform: translate3d(0, 0, 0);
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-message{--jkl-message-icon-left:var(--jkl-unit-20);--jkl-message-icon-top:var(--jkl-unit-30);--jkl-message-title-margin:0 0 var(--jkl-unit-05) 0;--jkl-message-dismiss-button-size:var(--jkl-unit-50);--jkl-message-gap:var(--jkl-unit-20);--jkl-message-padding:var(--jkl-unit-25) var(--jkl-unit-15);--background-color:var(--jkl-color-background-alert-neutral);--text-color:var(--jkl-color-text-on-alert);align-items:start;background-color:var(--background-color);border-radius:.25rem;box-sizing:border-box;color:var(--text-color);display:grid;font-size:var(--jkl-font-size-3);font-weight:400;grid-template-areas:"icon content dismiss";grid-template-columns:auto 1fr auto;line-height:var(--jkl-line-height-relaxed);max-width:35rem;padding:var(--jkl-message-padding);width:100%;--jkl-icon-weight:300}.jkl-message:has(.jkl-message__title){font-size:var(--jkl-font-size-4);font-weight:700;line-height:var(--jkl-line-height-tight);--jkl-icon-weight:400}.jkl-message__icon{grid-area:icon;margin-right:var(--jkl-message-gap)}@media screen and (forced-colors:active){.jkl-message__icon,.jkl-message__icon path,.jkl-message__icon svg{stroke:CanvasText}}.jkl-message__content{grid-area:content}.jkl-message__message{font-size:var(--jkl-font-size-3);font-weight:400;line-height:var(--jkl-line-height-relaxed);--jkl-icon-weight:300;margin-top:-.125rem}.jkl-message__title{font-size:var(--jkl-font-size-4);font-weight:700;line-height:var(--jkl-line-height-tight);--jkl-icon-weight:400;margin:var(--jkl-message-title-margin)}.jkl-message__title~.jkl-message__message{margin-top:0}.jkl-message__dismiss-button{background-color:transparent;border-style:none;color:inherit;cursor:pointer;display:grid;grid-area:dismiss;justify-self:end;outline:0;outline-style:none;padding:0;place-content:center;position:relative}.jkl-message__dismiss-button:active,.jkl-message__dismiss-button:focus,.jkl-message__dismiss-button:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-message__dismiss-button{border-style:revert;outline:revert;outline-style:revert}.jkl-message__dismiss-button:active,.jkl-message__dismiss-button:focus,.jkl-message__dismiss-button:hover{outline:revert;outline-style:revert}}@media screen and (forced-colors:active){.jkl-message__dismiss-button,.jkl-message__dismiss-button path,.jkl-message__dismiss-button svg{stroke:ButtonText}.jkl-message__dismiss-button{background-color:ButtonFace}}.jkl-message__dismiss-button:after{content:"";display:block;height:var(--jkl-message-dismiss-button-size);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:var(--jkl-message-dismiss-button-size)}.jkl-message__dismiss-button:hover{color:var(--jkl-color-text-interactive-hover)}@media screen and (forced-colors:active){.jkl-message__dismiss-button:hover{stroke:ButtonText}.jkl-message__dismiss-button:hover path,.jkl-message__dismiss-button:hover svg{stroke:ButtonText}}.jkl-message__dismiss-button:focus-visible{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-message--full{max-width:100%}.jkl-message--info{--background-color:var(--jkl-color-background-alert-info)}.jkl-message--warning{--background-color:var(--jkl-color-background-alert-warning)}.jkl-message--error{--background-color:var(--jkl-color-background-alert-error)}.jkl-message--success{--background-color:var(--jkl-color-background-alert-success)}.jkl-message--dismissed{animation:jkl-dismiss-uqicgae .4s ease-in-out forwards;transition:visibility 0s .4s;visibility:hidden}@media screen and (forced-colors:active){.jkl-message{border:2px solid CanvasText}.jkl-message--info{border-style:dotted}.jkl-message--warning{border-style:dashed}.jkl-message--error{border-style:double;border-width:4px}}.jkl-form-error-message{padding-bottom:calc(var(--jkl-unit-base)*5)}@keyframes jkl-dismiss-uqicgae{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-50%,0)}}}
1
+ @layer jokul.components{.jkl-message{--jkl-message-icon-left:var(--jkl-unit-20);--jkl-message-icon-top:var(--jkl-unit-30);--jkl-message-title-margin:0 0 var(--jkl-unit-05) 0;--jkl-message-dismiss-button-size:var(--jkl-unit-50);--jkl-message-gap:var(--jkl-unit-20);--jkl-message-padding:var(--jkl-unit-25) var(--jkl-unit-15);--background-color:var(--jkl-color-background-alert-neutral);--text-color:var(--jkl-color-text-on-alert);align-items:start;background-color:var(--background-color);border-radius:.25rem;box-sizing:border-box;color:var(--text-color);display:grid;font-size:var(--jkl-font-size-3);font-weight:400;grid-template-areas:"icon content dismiss";grid-template-columns:auto 1fr auto;line-height:var(--jkl-line-height-relaxed);max-width:35rem;padding:var(--jkl-message-padding);width:100%;--jkl-icon-weight:300}.jkl-message:has(.jkl-message__title){font-size:var(--jkl-font-size-4);font-weight:700;line-height:var(--jkl-line-height-tight);--jkl-icon-weight:400}.jkl-message__icon{grid-area:icon;margin-right:var(--jkl-message-gap)}@media screen and (forced-colors:active){.jkl-message__icon,.jkl-message__icon path,.jkl-message__icon svg{stroke:CanvasText}}.jkl-message__content{grid-area:content}.jkl-message__message{font-size:var(--jkl-font-size-3);font-weight:400;line-height:var(--jkl-line-height-relaxed);--jkl-icon-weight:300;margin-top:-.125rem}.jkl-message__title{font-size:var(--jkl-font-size-4);font-weight:700;line-height:var(--jkl-line-height-tight);--jkl-icon-weight:400;margin:var(--jkl-message-title-margin)}.jkl-message__title~.jkl-message__message{margin-top:0}.jkl-message__dismiss-button{background-color:transparent;border-style:none;color:inherit;cursor:pointer;display:grid;grid-area:dismiss;justify-self:end;outline:0;outline-style:none;padding:0;place-content:center;position:relative}.jkl-message__dismiss-button:active,.jkl-message__dismiss-button:focus,.jkl-message__dismiss-button:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-message__dismiss-button{border-style:revert;outline:revert;outline-style:revert}.jkl-message__dismiss-button:active,.jkl-message__dismiss-button:focus,.jkl-message__dismiss-button:hover{outline:revert;outline-style:revert}}@media screen and (forced-colors:active){.jkl-message__dismiss-button,.jkl-message__dismiss-button path,.jkl-message__dismiss-button svg{stroke:ButtonText}.jkl-message__dismiss-button{background-color:ButtonFace}}.jkl-message__dismiss-button:after{content:"";display:block;height:var(--jkl-message-dismiss-button-size);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:var(--jkl-message-dismiss-button-size)}.jkl-message__dismiss-button:hover{color:var(--jkl-color-text-interactive-hover)}@media screen and (forced-colors:active){.jkl-message__dismiss-button:hover{stroke:ButtonText}.jkl-message__dismiss-button:hover path,.jkl-message__dismiss-button:hover svg{stroke:ButtonText}}.jkl-message__dismiss-button:focus-visible{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-message--full{max-width:100%}.jkl-message--info{--background-color:var(--jkl-color-background-alert-info)}.jkl-message--warning{--background-color:var(--jkl-color-background-alert-warning)}.jkl-message--error{--background-color:var(--jkl-color-background-alert-error)}.jkl-message--success{--background-color:var(--jkl-color-background-alert-success)}.jkl-message--dismissed{animation:jkl-dismiss-u8y7ggs .4s ease-in-out forwards;transition:visibility 0s .4s;visibility:hidden}@media screen and (forced-colors:active){.jkl-message{border:2px solid CanvasText}.jkl-message--info{border-style:dotted}.jkl-message--warning{border-style:dashed}.jkl-message--error{border-style:double;border-width:4px}}.jkl-form-error-message{padding-bottom:calc(var(--jkl-unit-base)*5)}@keyframes jkl-dismiss-u8y7ggs{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-50%,0)}}}
@@ -25,4 +25,15 @@
25
25
  background-color: var(--jkl-color-background-container-high);
26
26
  border-radius: var(--jkl-border-radius-s);
27
27
  }
28
+ .jkl-popover:focus-visible {
29
+ outline: 3px solid var(--jkl-color-border-action);
30
+ outline-offset: 3px;
31
+ }
32
+ .jkl-popover-trigger:focus {
33
+ outline: 0;
34
+ }
35
+ .jkl-popover-trigger:focus-visible {
36
+ outline: 3px solid var(--jkl-color-border-action);
37
+ outline-offset: 3px;
38
+ }
28
39
  }
@@ -1 +1 @@
1
- @layer jokul.components{@media screen and (prefers-color-scheme:light){:root{--jkl-datepicker-box-shadow:rgba(49,48,48,.2)}}[data-theme=light]{--jkl-datepicker-box-shadow:rgba(49,48,48,.2)}@media screen and (prefers-color-scheme:dark){:root{--jkl-datepicker-box-shadow:rgba(0,0,0,.5)}}[data-theme=dark]{--jkl-datepicker-box-shadow:rgba(0,0,0,.5)}.jkl-popover{background-color:var(--jkl-color-background-container-high);border-radius:var(--jkl-border-radius-s);box-shadow:0 4px 20px 0 var(--jkl-datepicker-box-shadow);padding:var(--popover-padding,0);z-index:10000}}
1
+ @layer jokul.components{@media screen and (prefers-color-scheme:light){:root{--jkl-datepicker-box-shadow:rgba(49,48,48,.2)}}[data-theme=light]{--jkl-datepicker-box-shadow:rgba(49,48,48,.2)}@media screen and (prefers-color-scheme:dark){:root{--jkl-datepicker-box-shadow:rgba(0,0,0,.5)}}[data-theme=dark]{--jkl-datepicker-box-shadow:rgba(0,0,0,.5)}.jkl-popover{background-color:var(--jkl-color-background-container-high);border-radius:var(--jkl-border-radius-s);box-shadow:0 4px 20px 0 var(--jkl-datepicker-box-shadow);padding:var(--popover-padding,0);z-index:10000}.jkl-popover:focus-visible{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-popover-trigger:focus{outline:0}.jkl-popover-trigger:focus-visible{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}}
@@ -16,5 +16,19 @@
16
16
  box-shadow: 0 4px 20px 0 var(--jkl-datepicker-box-shadow);
17
17
  background-color: var(--jkl-color-background-container-high);
18
18
  border-radius: var(--jkl-border-radius-s);
19
+
20
+ &:focus-visible {
21
+ @include jkl.focus-outline;
22
+ }
23
+ }
24
+
25
+ .jkl-popover-trigger {
26
+ &:focus {
27
+ outline: 0;
28
+ }
29
+
30
+ &:focus-visible {
31
+ @include jkl.focus-outline;
32
+ }
19
33
  }
20
34
  }
@@ -25,12 +25,36 @@
25
25
  background-color: CanvasText;
26
26
  }
27
27
  }
28
+ .jkl-progress-bar {
29
+ outline: 0;
30
+ border-style: none;
31
+ outline-style: none;
32
+ }
33
+ .jkl-progress-bar:active, .jkl-progress-bar:hover, .jkl-progress-bar:focus {
34
+ outline: 0;
35
+ outline-style: none;
36
+ }
37
+ @media screen and (forced-colors: active) {
38
+ .jkl-progress-bar {
39
+ outline: revert;
40
+ border-style: revert;
41
+ outline-style: revert;
42
+ }
43
+ .jkl-progress-bar:active, .jkl-progress-bar:hover, .jkl-progress-bar:focus {
44
+ outline: revert;
45
+ outline-style: revert;
46
+ }
47
+ }
48
+ .jkl-progress-bar:focus-visible {
49
+ outline: 3px solid var(--jkl-color-border-action);
50
+ outline-offset: 3px;
51
+ }
28
52
  .jkl-progress-bar__tracker {
29
53
  transition-property: width;
30
54
  transition-timing-function: ease;
31
55
  transition-duration: 150ms;
32
56
  }
33
- @keyframes jkl-downcount-uxy1lfv {
57
+ @keyframes jkl-downcount-ufqq6p1 {
34
58
  from {
35
59
  width: 100%;
36
60
  }
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-progress-bar{--track-color:var(--jkl-color-border-separator);--bar-color:var(--jkl-color-border-input-focus);--bar-height:0.25rem;background-color:var(--track-color);border-radius:6.25rem;height:var(--bar-height);overflow:hidden;width:100%}.jkl-progress-bar__tracker{background-color:var(--bar-color);display:block;height:var(--bar-height)}@media screen and (forced-colors:active){.jkl-progress-bar{background-color:Canvas}.jkl-progress-bar__tracker{background-color:CanvasText}}.jkl-progress-bar__tracker{transition-duration:.15s;transition-property:width;transition-timing-function:ease}@keyframes jkl-downcount-uxy1lfv{0%{width:100%}to{width:0}}}
1
+ @layer jokul.components{.jkl-progress-bar{--track-color:var(--jkl-color-border-separator);--bar-color:var(--jkl-color-border-input-focus);--bar-height:0.25rem;background-color:var(--track-color);border-radius:6.25rem;height:var(--bar-height);overflow:hidden;width:100%}.jkl-progress-bar__tracker{background-color:var(--bar-color);display:block;height:var(--bar-height)}@media screen and (forced-colors:active){.jkl-progress-bar{background-color:Canvas}.jkl-progress-bar__tracker{background-color:CanvasText}}.jkl-progress-bar{border-style:none;outline:0;outline-style:none}.jkl-progress-bar:active,.jkl-progress-bar:focus,.jkl-progress-bar:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-progress-bar{border-style:revert;outline:revert;outline-style:revert}.jkl-progress-bar:active,.jkl-progress-bar:focus,.jkl-progress-bar:hover{outline:revert;outline-style:revert}}.jkl-progress-bar:focus-visible{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-progress-bar__tracker{transition-duration:.15s;transition-property:width;transition-timing-function:ease}@keyframes jkl-downcount-ufqq6p1{0%{width:100%}to{width:0}}}
@@ -7,6 +7,11 @@ $_downcount: jkl-downcount-#{string.unique-id()};
7
7
  @layer jokul.components {
8
8
  .jkl-progress-bar {
9
9
  @include track.track;
10
+ @include jkl.reset-outline;
11
+
12
+ &:focus-visible {
13
+ @include jkl.focus-outline;
14
+ }
10
15
 
11
16
  &__tracker {
12
17
  transition-property: width;
@@ -44,10 +44,37 @@
44
44
  }
45
45
  .jkl-radio-button__input {
46
46
  position: absolute;
47
- opacity: 0;
48
- pointer-events: none;
49
- inset: 0 auto 0 0;
50
- width: 1lh;
47
+ inset-block-start: 0;
48
+ inset-inline-start: 0;
49
+ block-size: 1lh;
50
+ inline-size: 1lh;
51
+ margin: 0;
52
+ padding: 0;
53
+ cursor: pointer;
54
+ z-index: 1;
55
+ appearance: none;
56
+ background: transparent;
57
+ border: 0;
58
+ }
59
+ .jkl-radio-button__input {
60
+ outline: 0;
61
+ border-style: none;
62
+ outline-style: none;
63
+ }
64
+ .jkl-radio-button__input:active, .jkl-radio-button__input:hover, .jkl-radio-button__input:focus {
65
+ outline: 0;
66
+ outline-style: none;
67
+ }
68
+ @media screen and (forced-colors: active) {
69
+ .jkl-radio-button__input {
70
+ outline: revert;
71
+ border-style: revert;
72
+ outline-style: revert;
73
+ }
74
+ .jkl-radio-button__input:active, .jkl-radio-button__input:hover, .jkl-radio-button__input:focus {
75
+ outline: revert;
76
+ outline-style: revert;
77
+ }
51
78
  }
52
79
  .jkl-radio-button__label {
53
80
  cursor: pointer;
@@ -60,9 +87,6 @@
60
87
  font-weight: 400;
61
88
  --jkl-icon-weight: 300;
62
89
  }
63
- .jkl-radio-button__label:hover, .jkl-radio-button__label:active {
64
- --jkl-icon-weight: 400;
65
- }
66
90
  .jkl-radio-button__label::before {
67
91
  content: "radio_button_unchecked";
68
92
  margin-inline-end: 0.25em;
@@ -79,10 +103,18 @@
79
103
  transition-duration: 75ms;
80
104
  transition-property: font-variation-settings, transform;
81
105
  }
82
- .jkl-radio-button__label:has(+ :checked)::before {
106
+ .jkl-radio-button__input:focus-visible + .jkl-radio-button__label::before {
107
+ border-radius: var(--jkl-border-radius-full);
108
+ outline: 3px solid var(--jkl-color-border-action);
109
+ outline-offset: 3px;
110
+ }
111
+ .jkl-radio-button__input:is(:hover, :active) + .jkl-radio-button__label, .jkl-radio-button__label:hover, .jkl-radio-button__label:active {
112
+ --jkl-icon-weight: 400;
113
+ }
114
+ .jkl-radio-button__input:checked + .jkl-radio-button__label::before {
83
115
  content: "radio_button_checked";
84
116
  }
85
- .jkl-radio-button__label:has(+ [aria-invalid=true])::before {
117
+ .jkl-radio-button__input[aria-invalid=true] + .jkl-radio-button__label::before {
86
118
  color: var(--jkl-radio-button-error-color);
87
119
  }
88
120
  .jkl-radio-button + .jkl-radio-button, .jkl-dormant-form-support-label + .jkl-radio-button, .jkl-form-support-label + .jkl-radio-button {
@@ -1 +1 @@
1
- @layer jokul.components{@media screen and (prefers-color-scheme:light){:root{--jkl-radio-button-error-color:#ab2e43}}[data-theme=light]{--jkl-radio-button-error-color:#ab2e43}@media screen and (prefers-color-scheme:dark){:root{--jkl-radio-button-error-color:#d79ba5}}[data-theme=dark]{--jkl-radio-button-error-color:#d79ba5}.jkl-radio-button{border-style:none;display:flex;outline:0;outline-style:none;position:relative}.jkl-radio-button:active,.jkl-radio-button:focus,.jkl-radio-button:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-radio-button{border-style:revert;outline:revert;outline-style:revert}.jkl-radio-button:active,.jkl-radio-button:focus,.jkl-radio-button:hover{outline:revert;outline-style:revert}}.jkl-radio-button__input{inset:0 auto 0 0;opacity:0;pointer-events:none;position:absolute;width:1lh}.jkl-radio-button__label{cursor:pointer;display:flex;font-size:var(--jkl-font-size-3);font-weight:400;line-height:var(--jkl-line-height-tight);transition-duration:.15s;transition-property:color;transition-timing-function:ease;--jkl-icon-weight:300}.jkl-radio-button__label:active,.jkl-radio-button__label:hover{--jkl-icon-weight:400}.jkl-radio-button__label:before{content:"radio_button_unchecked";-webkit-margin-end:.25em;display:inline-block;font-family:Fremtind Material Symbols,Fremtind Material Symbols Fallback,sans-serif;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:1.3em;font-variation-settings:"FILL" var(--jkl-icon-fill,0),"GRAD" var(--jkl-icon-grade,0),"opsz" var(--jkl-icon-opsz,24);font-weight:var(--jkl-icon-weight,300);line-height:1;margin-inline-end:.25em;-webkit-font-smoothing:antialiased;transition-duration:75ms;transition-property:font-variation-settings,transform;transition-timing-function:ease}.jkl-radio-button__label:has(+:checked):before{content:"radio_button_checked"}.jkl-radio-button__label:has(+[aria-invalid=true]):before{color:var(--jkl-radio-button-error-color)}.jkl-dormant-form-support-label+.jkl-radio-button,.jkl-form-support-label+.jkl-radio-button,.jkl-radio-button+.jkl-radio-button{margin-top:.75lh}.jkl-radio-button--inline{display:inline-flex;margin-right:var(--jkl-unit-30)}.jkl-dormant-form-support-label+.jkl-radio-button--inline,.jkl-form-support-label+.jkl-radio-button--inline,.jkl-radio-button--inline+.jkl-radio-button--inline{margin-top:0}.jkl-radio-button+.jkl-form-support-label{margin-bottom:var(--jkl-unit-base);margin-left:1.75em;margin-top:.25lh}}
1
+ @layer jokul.components{@media screen and (prefers-color-scheme:light){:root{--jkl-radio-button-error-color:#ab2e43}}[data-theme=light]{--jkl-radio-button-error-color:#ab2e43}@media screen and (prefers-color-scheme:dark){:root{--jkl-radio-button-error-color:#d79ba5}}[data-theme=dark]{--jkl-radio-button-error-color:#d79ba5}.jkl-radio-button{border-style:none;display:flex;outline:0;outline-style:none;position:relative}.jkl-radio-button:active,.jkl-radio-button:focus,.jkl-radio-button:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-radio-button{border-style:revert;outline:revert;outline-style:revert}.jkl-radio-button:active,.jkl-radio-button:focus,.jkl-radio-button:hover{outline:revert;outline-style:revert}}.jkl-radio-button__input{-webkit-appearance:none;appearance:none;background:transparent;block-size:1lh;border:0;border-style:none;cursor:pointer;inline-size:1lh;inset-block-start:0;inset-inline-start:0;margin:0;outline:0;outline-style:none;padding:0;position:absolute;z-index:1}.jkl-radio-button__input:active,.jkl-radio-button__input:focus,.jkl-radio-button__input:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-radio-button__input{border-style:revert;outline:revert;outline-style:revert}.jkl-radio-button__input:active,.jkl-radio-button__input:focus,.jkl-radio-button__input:hover{outline:revert;outline-style:revert}}.jkl-radio-button__label{cursor:pointer;display:flex;font-size:var(--jkl-font-size-3);font-weight:400;line-height:var(--jkl-line-height-tight);transition-duration:.15s;transition-property:color;transition-timing-function:ease;--jkl-icon-weight:300}.jkl-radio-button__label:before{content:"radio_button_unchecked";-webkit-margin-end:.25em;display:inline-block;font-family:Fremtind Material Symbols,Fremtind Material Symbols Fallback,sans-serif;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:1.3em;font-variation-settings:"FILL" var(--jkl-icon-fill,0),"GRAD" var(--jkl-icon-grade,0),"opsz" var(--jkl-icon-opsz,24);font-weight:var(--jkl-icon-weight,300);line-height:1;margin-inline-end:.25em;-webkit-font-smoothing:antialiased;transition-duration:75ms;transition-property:font-variation-settings,transform;transition-timing-function:ease}.jkl-radio-button__input:focus-visible+.jkl-radio-button__label:before{border-radius:var(--jkl-border-radius-full);outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-radio-button__input:is(:hover,:active)+.jkl-radio-button__label,.jkl-radio-button__label:active,.jkl-radio-button__label:hover{--jkl-icon-weight:400}.jkl-radio-button__input:checked+.jkl-radio-button__label:before{content:"radio_button_checked"}.jkl-radio-button__input[aria-invalid=true]+.jkl-radio-button__label:before{color:var(--jkl-radio-button-error-color)}.jkl-dormant-form-support-label+.jkl-radio-button,.jkl-form-support-label+.jkl-radio-button,.jkl-radio-button+.jkl-radio-button{margin-top:.75lh}.jkl-radio-button--inline{display:inline-flex;margin-right:var(--jkl-unit-30)}.jkl-dormant-form-support-label+.jkl-radio-button--inline,.jkl-form-support-label+.jkl-radio-button--inline,.jkl-radio-button--inline+.jkl-radio-button--inline{margin-top:0}.jkl-radio-button+.jkl-form-support-label{margin-bottom:var(--jkl-unit-base);margin-left:1.75em;margin-top:.25lh}}
@@ -20,14 +20,21 @@
20
20
  @include jkl.reset-outline;
21
21
 
22
22
  &__input {
23
- // Hide native radio button
23
+ // Keep the real input on top of the icon so automation tools can target it.
24
24
  position: absolute;
25
- opacity: 0;
26
- pointer-events: none;
27
- // Make sure that when the browser scrolls here because of focus, the control
28
- // is positioned below the label so that the label becomes visible.
29
- inset: 0 auto 0 0;
30
- width: 1lh;
25
+ inset-block-start: 0;
26
+ inset-inline-start: 0;
27
+ block-size: 1lh;
28
+ inline-size: 1lh;
29
+ margin: 0;
30
+ padding: 0;
31
+ cursor: pointer;
32
+ z-index: 1;
33
+ appearance: none;
34
+ background: transparent;
35
+ border: 0;
36
+
37
+ @include jkl.reset-outline;
31
38
  }
32
39
 
33
40
  &__label {
@@ -39,25 +46,31 @@
39
46
 
40
47
  @include jkl.text-style("text-medium");
41
48
 
42
- &:hover,
43
- &:active {
44
- --jkl-icon-weight: #{jkl.$icon-weight-bold};
45
- }
46
-
47
49
  &::before {
48
50
  content: "radio_button_unchecked";
49
51
  margin-inline-end: 0.25em;
50
52
 
51
53
  @include icon.base-styles;
52
54
  }
55
+ }
53
56
 
54
- &:has(+ :checked)::before {
55
- content: "radio_button_checked";
56
- }
57
+ &__input:focus-visible + &__label::before {
58
+ border-radius: var(--jkl-border-radius-full);
59
+ @include jkl.focus-outline;
60
+ }
57
61
 
58
- &:has(+ [aria-invalid="true"])::before {
59
- color: var(--jkl-radio-button-error-color);
60
- }
62
+ &__input:is(:hover, :active) + &__label,
63
+ &__label:hover,
64
+ &__label:active {
65
+ --jkl-icon-weight: #{jkl.$icon-weight-bold};
66
+ }
67
+
68
+ &__input:checked + &__label::before {
69
+ content: "radio_button_checked";
70
+ }
71
+
72
+ &__input[aria-invalid="true"] + &__label::before {
73
+ color: var(--jkl-radio-button-error-color);
61
74
  }
62
75
 
63
76
  & + &,
@@ -26,29 +26,31 @@
26
26
  position: relative;
27
27
  padding: var(--jkl-unit-20) var(--padding-inline);
28
28
  }
29
+ .jkl-input-panel__header .jkl-radio-button,
30
+ .jkl-input-panel__header .jkl-checkbox {
31
+ grid-column: 1/-1;
32
+ grid-row: 1;
33
+ inline-size: 100%;
34
+ }
35
+ .jkl-input-panel__header label {
36
+ inline-size: 100%;
37
+ }
29
38
  .jkl-input-panel__header__amount {
30
39
  display: flex;
31
40
  height: 100%;
32
41
  align-items: center;
42
+ grid-column: 2;
43
+ grid-row: 1;
44
+ justify-self: end;
45
+ pointer-events: none;
46
+ position: relative;
47
+ z-index: 1;
33
48
  font-size: var(--jkl-font-size-3);
34
49
  line-height: var(--jkl-line-height-tight);
35
50
  font-weight: 400;
36
51
  --jkl-icon-weight: 300;
37
52
  font-weight: 700;
38
53
  }
39
- .jkl-input-panel__header label,
40
- .jkl-input-panel__header .jkl-radio-button,
41
- .jkl-input-panel__header .jkl-checkbox {
42
- position: unset;
43
- }
44
- .jkl-input-panel__header label::after {
45
- content: "";
46
- position: absolute;
47
- top: 0;
48
- left: 0;
49
- inline-size: 100%;
50
- block-size: 100%;
51
- }
52
54
  .jkl-input-panel__description {
53
55
  height: 0;
54
56
  overflow: hidden;
@@ -85,4 +87,7 @@
85
87
  /* Visuell justering pga. rundt ikon */
86
88
  margin-inline-start: -0.15em;
87
89
  }
90
+ .jkl-radio-panel .jkl-radio-button__input:focus-visible + .jkl-radio-button__label::before {
91
+ outline: none;
92
+ }
88
93
  }