@fremtind/jokul 5.0.0 → 5.0.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 (147) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/checkbox-panel/CheckboxPanel.cjs +1 -1
  3. package/build/cjs/components/checkbox-panel/CheckboxPanel.cjs.map +1 -1
  4. package/build/cjs/components/checkbox-panel/CheckboxPanel.d.cts +1 -1
  5. package/build/cjs/components/expander/index.cjs +1 -1
  6. package/build/cjs/components/expander/index.d.cts +1 -0
  7. package/build/cjs/components/input-panel/InputPanel.cjs +1 -1
  8. package/build/cjs/components/input-panel/InputPanel.cjs.map +1 -1
  9. package/build/cjs/components/input-panel/InputPanel.d.cts +1 -1
  10. package/build/cjs/components/input-panel/types.d.cts +2 -1
  11. package/build/cjs/components/message/Message.cjs +1 -1
  12. package/build/cjs/components/message/Message.cjs.map +1 -1
  13. package/build/cjs/components/radio-panel/RadioPanel.cjs +1 -1
  14. package/build/cjs/components/radio-panel/RadioPanel.cjs.map +1 -1
  15. package/build/cjs/components/select/Select.cjs +1 -1
  16. package/build/cjs/components/select/Select.cjs.map +1 -1
  17. package/build/cjs/components/text-area/BaseTextArea.cjs +1 -1
  18. package/build/cjs/components/text-area/BaseTextArea.cjs.map +1 -1
  19. package/build/cjs/components/toast/Toast.cjs +1 -1
  20. package/build/cjs/components/toast/Toast.cjs.map +1 -1
  21. package/build/cjs/components/typography/Title.cjs +1 -1
  22. package/build/cjs/components/typography/Title.cjs.map +1 -1
  23. package/build/cjs/utilities/formatters/util/registerWithMask.cjs +1 -1
  24. package/build/cjs/utilities/formatters/util/registerWithMask.cjs.map +1 -1
  25. package/build/cjs/utilities/types.cjs.map +1 -1
  26. package/build/cjs/utilities/types.d.cts +12 -2
  27. package/build/es/components/checkbox-panel/CheckboxPanel.d.ts +1 -1
  28. package/build/es/components/checkbox-panel/CheckboxPanel.js +1 -1
  29. package/build/es/components/checkbox-panel/CheckboxPanel.js.map +1 -1
  30. package/build/es/components/expander/index.d.ts +1 -0
  31. package/build/es/components/expander/index.js +1 -1
  32. package/build/es/components/input-panel/InputPanel.d.ts +1 -1
  33. package/build/es/components/input-panel/InputPanel.js +1 -1
  34. package/build/es/components/input-panel/InputPanel.js.map +1 -1
  35. package/build/es/components/input-panel/types.d.ts +2 -1
  36. package/build/es/components/message/Message.js +1 -1
  37. package/build/es/components/message/Message.js.map +1 -1
  38. package/build/es/components/radio-panel/RadioPanel.js +1 -1
  39. package/build/es/components/radio-panel/RadioPanel.js.map +1 -1
  40. package/build/es/components/select/Select.js +1 -1
  41. package/build/es/components/select/Select.js.map +1 -1
  42. package/build/es/components/text-area/BaseTextArea.js +1 -1
  43. package/build/es/components/text-area/BaseTextArea.js.map +1 -1
  44. package/build/es/components/toast/Toast.js +1 -1
  45. package/build/es/components/toast/Toast.js.map +1 -1
  46. package/build/es/components/typography/Title.js +1 -1
  47. package/build/es/components/typography/Title.js.map +1 -1
  48. package/build/es/utilities/formatters/util/registerWithMask.js +1 -1
  49. package/build/es/utilities/formatters/util/registerWithMask.js.map +1 -1
  50. package/build/es/utilities/types.d.ts +12 -2
  51. package/build/es/utilities/types.js.map +1 -1
  52. package/package.json +1 -1
  53. package/styles/base.css +3 -0
  54. package/styles/base.min.css +1 -1
  55. package/styles/components/breadcrumb/breadcrumb.css +0 -1
  56. package/styles/components/breadcrumb/breadcrumb.min.css +1 -1
  57. package/styles/components/breadcrumb/breadcrumb.scss +0 -1
  58. package/styles/components/button/button.css +0 -1
  59. package/styles/components/button/button.min.css +1 -1
  60. package/styles/components/button/button.scss +1 -2
  61. package/styles/components/checkbox/checkbox.css +0 -1
  62. package/styles/components/checkbox/checkbox.min.css +1 -1
  63. package/styles/components/checkbox/checkbox.scss +0 -2
  64. package/styles/components/checkbox-panel/checkbox-panel.css +0 -1
  65. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  66. package/styles/components/chip/chip.css +0 -1
  67. package/styles/components/chip/chip.min.css +1 -1
  68. package/styles/components/chip/chip.scss +0 -1
  69. package/styles/components/combobox/combobox.css +0 -1
  70. package/styles/components/combobox/combobox.min.css +1 -1
  71. package/styles/components/combobox/combobox.scss +0 -1
  72. package/styles/components/countdown/countdown.css +2 -2
  73. package/styles/components/countdown/countdown.min.css +1 -1
  74. package/styles/components/datepicker/_calendar-date-button.scss +0 -2
  75. package/styles/components/datepicker/datepicker.css +0 -2
  76. package/styles/components/datepicker/datepicker.min.css +1 -1
  77. package/styles/components/feedback/feedback.css +2 -2
  78. package/styles/components/feedback/feedback.min.css +1 -1
  79. package/styles/components/file/file.css +3 -0
  80. package/styles/components/file/file.min.css +1 -1
  81. package/styles/components/file/file.scss +4 -0
  82. package/styles/components/file-input/file-input.css +26 -17
  83. package/styles/components/file-input/file-input.min.css +1 -1
  84. package/styles/components/icon-button/icon-button.css +0 -1
  85. package/styles/components/icon-button/icon-button.min.css +1 -1
  86. package/styles/components/icon-button/icon-button.scss +0 -1
  87. package/styles/components/input-group/input-group.css +2 -2
  88. package/styles/components/input-group/input-group.min.css +1 -1
  89. package/styles/components/link/link.css +14 -7
  90. package/styles/components/link/link.min.css +1 -1
  91. package/styles/components/link/link.scss +18 -10
  92. package/styles/components/loader/loader.css +6 -6
  93. package/styles/components/loader/loader.min.css +1 -1
  94. package/styles/components/loader/skeleton-loader.css +3 -3
  95. package/styles/components/loader/skeleton-loader.min.css +1 -1
  96. package/styles/components/menu/_menu-item.scss +0 -1
  97. package/styles/components/menu/menu.css +0 -1
  98. package/styles/components/menu/menu.min.css +1 -1
  99. package/styles/components/message/message.css +2 -3
  100. package/styles/components/message/message.min.css +1 -1
  101. package/styles/components/message/message.scss +0 -1
  102. package/styles/components/modal/_layout.scss +2 -0
  103. package/styles/components/modal/modal.css +1 -0
  104. package/styles/components/modal/modal.min.css +1 -1
  105. package/styles/components/modal/modal.scss +2 -1
  106. package/styles/components/pagination/pagination.css +1 -1
  107. package/styles/components/pagination/pagination.scss +1 -1
  108. package/styles/components/popover/popover.css +1 -1
  109. package/styles/components/popover/popover.min.css +1 -1
  110. package/styles/components/popover/popover.scss +1 -1
  111. package/styles/components/progress-bar/progress-bar.css +1 -1
  112. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  113. package/styles/components/radio-button/radio-button.css +1 -1
  114. package/styles/components/radio-button/radio-button.min.css +1 -1
  115. package/styles/components/radio-button/radio-button.scss +2 -1
  116. package/styles/components/search/search.css +0 -1
  117. package/styles/components/search/search.min.css +1 -1
  118. package/styles/components/search/search.scss +0 -1
  119. package/styles/components/segmented-control/segmented-control.css +3 -3
  120. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  121. package/styles/components/select/select.css +1 -1
  122. package/styles/components/select/select.min.css +1 -1
  123. package/styles/components/select/select.scss +4 -11
  124. package/styles/components/system-message/system-message.css +2 -3
  125. package/styles/components/system-message/system-message.min.css +1 -1
  126. package/styles/components/system-message/system-message.scss +1 -2
  127. package/styles/components/table/_table-pagination.scss +0 -1
  128. package/styles/components/table/table.css +0 -1
  129. package/styles/components/table/table.min.css +1 -1
  130. package/styles/components/tabs/tabs.css +0 -1
  131. package/styles/components/tabs/tabs.min.css +1 -1
  132. package/styles/components/tabs/tabs.scss +0 -1
  133. package/styles/components/toast/toast.css +34 -9
  134. package/styles/components/toast/toast.min.css +1 -1
  135. package/styles/components/toast/toast.scss +44 -9
  136. package/styles/components/toggle-switch/toggle-switch.css +0 -1
  137. package/styles/components/toggle-switch/toggle-switch.min.css +1 -1
  138. package/styles/components/toggle-switch/toggle-switch.scss +0 -1
  139. package/styles/components/typography/text.css +2 -2
  140. package/styles/components/typography/text.min.css +1 -1
  141. package/styles/components/typography/text.scss +2 -2
  142. package/styles/components/typography/title.css +8 -30
  143. package/styles/components/typography/title.min.css +1 -1
  144. package/styles/components/typography/title.scss +7 -30
  145. package/styles/components.css +87 -87
  146. package/styles/components.min.css +1 -1
  147. package/styles/global/_base-class.scss +4 -0
@@ -34,7 +34,7 @@
34
34
  color: var(--text-color);
35
35
  background-color: var(--background-color);
36
36
  border: 1px solid var(--border-color);
37
- border-radius: 4px;
37
+ border-radius: var(--jkl-border-radius-s);
38
38
  box-sizing: border-box;
39
39
  align-items: start;
40
40
  overflow: hidden;
@@ -44,12 +44,14 @@
44
44
  font: var(--jkl-text-style-paragraph-medium);
45
45
  }
46
46
  .jkl-toast__progress {
47
- --bar-color: var(--jkl-color-background-contrast);
48
- --track-color: transparent;
49
- border-radius: 0;
50
47
  position: absolute;
51
48
  inset: 0 0 auto;
52
49
  }
50
+ .jkl-toast .jkl-countdown {
51
+ --track-color: transparent;
52
+ --bar-color: var(--jkl-color-background-contrast);
53
+ border-radius: 0;
54
+ }
53
55
  @media screen and (forced-colors: active) {
54
56
  .jkl-toast__icon {
55
57
  stroke: CanvasText;
@@ -77,7 +79,6 @@
77
79
  .jkl-toast__dismiss-button {
78
80
  background-color: transparent;
79
81
  padding: 0;
80
- cursor: pointer;
81
82
  color: inherit;
82
83
  }
83
84
  @media screen and (forced-colors: active) {
@@ -104,21 +105,45 @@
104
105
  --text-color: var(--jkl-color-info-text-default);
105
106
  --border-color: var(--jkl-color-info-border-subdued);
106
107
  }
108
+ .jkl-toast--info .jkl-countdown {
109
+ --bar-color: var(--jkl-color-info-background-contrast);
110
+ }
111
+ .jkl-toast--info .jkl-toast__icon {
112
+ color: var(--jkl-color-info-background-contrast);
113
+ }
107
114
  .jkl-toast--warning {
108
115
  --background-color: var(--jkl-color-warning-background-container);
109
116
  --text-color: var(--jkl-color-warning-text-default);
110
117
  --border-color: var(--jkl-color-warning-border-subdued);
111
118
  }
119
+ .jkl-toast--warning .jkl-countdown {
120
+ --bar-color: var(--jkl-color-warning-background-contrast);
121
+ }
122
+ .jkl-toast--warning .jkl-toast__icon {
123
+ color: var(--jkl-color-warning-background-contrast);
124
+ }
112
125
  .jkl-toast--error {
113
126
  --background-color: var(--jkl-color-error-background-container);
114
127
  --text-color: var(--jkl-color-error-text-default);
115
128
  --border-color: var(--jkl-color-error-border-subdued);
116
129
  }
130
+ .jkl-toast--error .jkl-countdown {
131
+ --bar-color: var(--jkl-color-error-background-contrast);
132
+ }
133
+ .jkl-toast--error .jkl-toast__icon {
134
+ color: var(--jkl-color-error-background-contrast);
135
+ }
117
136
  .jkl-toast--success {
118
137
  --background-color: var(--jkl-color-success-background-container);
119
138
  --text-color: var(--jkl-color-success-text-default);
120
139
  --border-color: var(--jkl-color-success-border-subdued);
121
140
  }
141
+ .jkl-toast--success .jkl-countdown {
142
+ --bar-color: var(--jkl-color-success-background-contrast);
143
+ }
144
+ .jkl-toast--success .jkl-toast__icon {
145
+ color: var(--jkl-color-success-background-contrast);
146
+ }
122
147
  @media screen and (forced-colors: active) {
123
148
  .jkl-toast {
124
149
  border: 2px solid CanvasText;
@@ -136,12 +161,12 @@
136
161
  }
137
162
  .jkl-toast[data-animation=entering],
138
163
  .jkl-toast[data-animation=queued] {
139
- animation: jkl-entering-ugerm3k var(--jkl-motion-timing-polite) var(--jkl-motion-easing-entrance) forwards;
164
+ animation: jkl-entering-u8cs5f7 var(--jkl-motion-timing-polite) var(--jkl-motion-easing-entrance) forwards;
140
165
  }
141
166
  .jkl-toast[data-animation=exiting] {
142
- animation: jkl-exiting-ugerm3r var(--jkl-motion-timing-productive) var(--jkl-motion-easing-exit) forwards;
167
+ animation: jkl-exiting-u8cs5fy var(--jkl-motion-timing-productive) var(--jkl-motion-easing-exit) forwards;
143
168
  }
144
- @keyframes jkl-entering-ugerm3k {
169
+ @keyframes jkl-entering-u8cs5f7 {
145
170
  from {
146
171
  opacity: 0;
147
172
  transform: translate3d(0, 50%, 0);
@@ -151,7 +176,7 @@
151
176
  transform: translate3d(0, 0, 0);
152
177
  }
153
178
  }
154
- @keyframes jkl-exiting-ugerm3r {
179
+ @keyframes jkl-exiting-u8cs5fy {
155
180
  from {
156
181
  opacity: 1;
157
182
  transform: translate3d(0, 0, 0);
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-toast-region{background:transparent;bottom:var(--jkl-unit-30);display:flex;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;width:100%;z-index:10000}.jkl-toast-region__toasts{align-items:center;display:flex;flex-direction:column;gap:var(--jkl-unit-20);min-width:18rem;pointer-events:auto}.jkl-toast-region--left{justify-content:flex-start;left:var(--jkl-unit-30)}.jkl-toast{--background-color:var(--jkl-color-background-container);--text-color:var(--jkl-color-text-default);--border-color:transparent;--jkl-toast-padding:var(--jkl-unit-20);align-items:start;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:4px;box-sizing:border-box;color:var(--text-color);font:var(--jkl-text-style-paragraph-medium);overflow:hidden;padding:var(--jkl-toast-padding);position:relative;width:clamp(15em,100%,min(30rem,85vw))}.jkl-toast__progress{--bar-color:var(--jkl-color-background-contrast);--track-color:transparent;border-radius:0;inset:0 0 auto;position:absolute}@media screen and (forced-colors:active){.jkl-toast__icon,.jkl-toast__icon path,.jkl-toast__icon svg{stroke:CanvasText}}.jkl-toast:not(:has(.jkl-toast__title)) .jkl-toast__icon{-webkit-margin-before:.0625rem;margin-block-start:.0625rem}.jkl-toast:has(.jkl-toast__title) .jkl-toast__icon{-webkit-margin-before:0;margin-block-start:0}.jkl-toast__content{flex-basis:100vw;flex-grow:1}.jkl-toast__action{margin-top:var(--jkl-unit-15)}.jkl-toast__title{font:var(--jkl-text-style-heading-5)}.jkl-toast__dismiss-button{background-color:transparent;color:inherit;cursor:pointer;padding:0}@media screen and (forced-colors:active){.jkl-toast__dismiss-button,.jkl-toast__dismiss-button path,.jkl-toast__dismiss-button svg{stroke:ButtonText}.jkl-toast__dismiss-button{background-color:ButtonFace}}.jkl-toast__dismiss-button:after{--tap-size:44px;content:"";inset:calc((var(--tap-size) - 100%)/2*-1);position:absolute}.jkl-toast--info{--background-color:var(--jkl-color-info-background-container);--text-color:var(--jkl-color-info-text-default);--border-color:var(--jkl-color-info-border-subdued)}.jkl-toast--warning{--background-color:var(--jkl-color-warning-background-container);--text-color:var(--jkl-color-warning-text-default);--border-color:var(--jkl-color-warning-border-subdued)}.jkl-toast--error{--background-color:var(--jkl-color-error-background-container);--text-color:var(--jkl-color-error-text-default);--border-color:var(--jkl-color-error-border-subdued)}.jkl-toast--success{--background-color:var(--jkl-color-success-background-container);--text-color:var(--jkl-color-success-text-default);--border-color:var(--jkl-color-success-border-subdued)}@media screen and (forced-colors:active){.jkl-toast{border:2px solid CanvasText}.jkl-toast--info{border-style:dotted}.jkl-toast--warning{border-style:dashed}.jkl-toast--error{border-style:double;border-width:4px}}.jkl-toast[data-animation=entering],.jkl-toast[data-animation=queued]{animation:jkl-entering-ugerm3k var(--jkl-motion-timing-polite) var(--jkl-motion-easing-entrance) forwards}.jkl-toast[data-animation=exiting]{animation:jkl-exiting-ugerm3r var(--jkl-motion-timing-productive) var(--jkl-motion-easing-exit) forwards}@keyframes jkl-entering-ugerm3k{0%{opacity:0;transform:translate3d(0,50%,0)}to{opacity:1;transform:translateZ(0)}}@keyframes jkl-exiting-ugerm3r{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,50%,0)}}}
1
+ @layer jokul.components{.jkl-toast-region{background:transparent;bottom:var(--jkl-unit-30);display:flex;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;width:100%;z-index:10000}.jkl-toast-region__toasts{align-items:center;display:flex;flex-direction:column;gap:var(--jkl-unit-20);min-width:18rem;pointer-events:auto}.jkl-toast-region--left{justify-content:flex-start;left:var(--jkl-unit-30)}.jkl-toast{--background-color:var(--jkl-color-background-container);--text-color:var(--jkl-color-text-default);--border-color:transparent;--jkl-toast-padding:var(--jkl-unit-20);align-items:start;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--jkl-border-radius-s);box-sizing:border-box;color:var(--text-color);font:var(--jkl-text-style-paragraph-medium);overflow:hidden;padding:var(--jkl-toast-padding);position:relative;width:clamp(15em,100%,min(30rem,85vw))}.jkl-toast__progress{inset:0 0 auto;position:absolute}.jkl-toast .jkl-countdown{--track-color:transparent;--bar-color:var(--jkl-color-background-contrast);border-radius:0}@media screen and (forced-colors:active){.jkl-toast__icon,.jkl-toast__icon path,.jkl-toast__icon svg{stroke:CanvasText}}.jkl-toast:not(:has(.jkl-toast__title)) .jkl-toast__icon{-webkit-margin-before:.0625rem;margin-block-start:.0625rem}.jkl-toast:has(.jkl-toast__title) .jkl-toast__icon{-webkit-margin-before:0;margin-block-start:0}.jkl-toast__content{flex-basis:100vw;flex-grow:1}.jkl-toast__action{margin-top:var(--jkl-unit-15)}.jkl-toast__title{font:var(--jkl-text-style-heading-5)}.jkl-toast__dismiss-button{background-color:transparent;color:inherit;padding:0}@media screen and (forced-colors:active){.jkl-toast__dismiss-button,.jkl-toast__dismiss-button path,.jkl-toast__dismiss-button svg{stroke:ButtonText}.jkl-toast__dismiss-button{background-color:ButtonFace}}.jkl-toast__dismiss-button:after{--tap-size:44px;content:"";inset:calc((var(--tap-size) - 100%)/2*-1);position:absolute}.jkl-toast--info{--background-color:var(--jkl-color-info-background-container);--text-color:var(--jkl-color-info-text-default);--border-color:var(--jkl-color-info-border-subdued)}.jkl-toast--info .jkl-countdown{--bar-color:var(--jkl-color-info-background-contrast)}.jkl-toast--info .jkl-toast__icon{color:var(--jkl-color-info-background-contrast)}.jkl-toast--warning{--background-color:var(--jkl-color-warning-background-container);--text-color:var(--jkl-color-warning-text-default);--border-color:var(--jkl-color-warning-border-subdued)}.jkl-toast--warning .jkl-countdown{--bar-color:var(--jkl-color-warning-background-contrast)}.jkl-toast--warning .jkl-toast__icon{color:var(--jkl-color-warning-background-contrast)}.jkl-toast--error{--background-color:var(--jkl-color-error-background-container);--text-color:var(--jkl-color-error-text-default);--border-color:var(--jkl-color-error-border-subdued)}.jkl-toast--error .jkl-countdown{--bar-color:var(--jkl-color-error-background-contrast)}.jkl-toast--error .jkl-toast__icon{color:var(--jkl-color-error-background-contrast)}.jkl-toast--success{--background-color:var(--jkl-color-success-background-container);--text-color:var(--jkl-color-success-text-default);--border-color:var(--jkl-color-success-border-subdued)}.jkl-toast--success .jkl-countdown{--bar-color:var(--jkl-color-success-background-contrast)}.jkl-toast--success .jkl-toast__icon{color:var(--jkl-color-success-background-contrast)}@media screen and (forced-colors:active){.jkl-toast{border:2px solid CanvasText}.jkl-toast--info{border-style:dotted}.jkl-toast--warning{border-style:dashed}.jkl-toast--error{border-style:double;border-width:4px}}.jkl-toast[data-animation=entering],.jkl-toast[data-animation=queued]{animation:jkl-entering-u8cs5f7 var(--jkl-motion-timing-polite) var(--jkl-motion-easing-entrance) forwards}.jkl-toast[data-animation=exiting]{animation:jkl-exiting-u8cs5fy var(--jkl-motion-timing-productive) var(--jkl-motion-easing-exit) forwards}@keyframes jkl-entering-u8cs5f7{0%{opacity:0;transform:translate3d(0,50%,0)}to{opacity:1;transform:translateZ(0)}}@keyframes jkl-exiting-u8cs5fy{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,50%,0)}}}
@@ -39,7 +39,7 @@
39
39
  color: var(--text-color);
40
40
  background-color: var(--background-color);
41
41
  border: 1px solid var(--border-color);
42
- border-radius: 4px;
42
+ border-radius: var(--jkl-border-radius-s);
43
43
  box-sizing: border-box;
44
44
  align-items: start;
45
45
  overflow: hidden;
@@ -50,14 +50,16 @@
50
50
  @include jkl.text-style("paragraph-medium");
51
51
 
52
52
  &__progress {
53
- --bar-color: var(--jkl-color-background-contrast);
54
- --track-color: transparent;
55
-
56
- border-radius: 0;
57
53
  position: absolute;
58
54
  inset: 0 0 auto;
59
55
  }
60
56
 
57
+ .jkl-countdown {
58
+ --track-color: transparent;
59
+ --bar-color: var(--jkl-color-background-contrast);
60
+ border-radius: 0;
61
+ }
62
+
61
63
  &__icon {
62
64
  @include jkl.forced-colors-svg-fallback($stroke: CanvasText);
63
65
 
@@ -86,7 +88,6 @@
86
88
  &__dismiss-button {
87
89
  background-color: transparent;
88
90
  padding: 0;
89
- cursor: pointer;
90
91
 
91
92
  color: inherit;
92
93
 
@@ -109,24 +110,56 @@
109
110
  --background-color: var(--jkl-color-info-background-container);
110
111
  --text-color: var(--jkl-color-info-text-default);
111
112
  --border-color: var(--jkl-color-info-border-subdued);
113
+
114
+ .jkl-countdown {
115
+ --bar-color: var(--jkl-color-info-background-contrast);
116
+ }
117
+
118
+ .jkl-toast__icon {
119
+ color: var(--jkl-color-info-background-contrast);
120
+ }
112
121
  }
113
122
 
114
123
  &--warning {
115
124
  --background-color: var(--jkl-color-warning-background-container);
116
125
  --text-color: var(--jkl-color-warning-text-default);
117
126
  --border-color: var(--jkl-color-warning-border-subdued);
127
+
128
+ .jkl-countdown {
129
+ --bar-color: var(--jkl-color-warning-background-contrast);
130
+ }
131
+
132
+ .jkl-toast__icon {
133
+ color: var(--jkl-color-warning-background-contrast);
134
+ }
118
135
  }
119
136
 
120
137
  &--error {
121
138
  --background-color: var(--jkl-color-error-background-container);
122
139
  --text-color: var(--jkl-color-error-text-default);
123
140
  --border-color: var(--jkl-color-error-border-subdued);
141
+
142
+ .jkl-countdown {
143
+ --bar-color: var(--jkl-color-error-background-contrast);
144
+ }
145
+
146
+ .jkl-toast__icon {
147
+ color: var(--jkl-color-error-background-contrast);
148
+ }
124
149
  }
125
150
 
126
151
  &--success {
127
152
  --background-color: var(--jkl-color-success-background-container);
128
153
  --text-color: var(--jkl-color-success-text-default);
129
154
  --border-color: var(--jkl-color-success-border-subdued);
155
+
156
+ .jkl-countdown {
157
+ --bar-color: var(--jkl-color-success-background-contrast);
158
+ }
159
+
160
+ .jkl-toast__icon {
161
+ color: var(--jkl-color-success-background-contrast);
162
+ }
130
163
  }
131
164
 
132
165
  @include jkl.forced-colors-mode {
@@ -152,11 +185,13 @@
152
185
 
153
186
  .jkl-toast[data-animation="entering"],
154
187
  .jkl-toast[data-animation="queued"] {
155
- animation: $_entering jkl.timing("polite") jkl.easing("entrance") forwards;
188
+ animation: $_entering jkl.timing("polite") jkl.easing("entrance")
189
+ forwards;
156
190
  }
157
191
 
158
192
  .jkl-toast[data-animation="exiting"] {
159
- animation: $_exiting jkl.timing("productive") jkl.easing("exit") forwards;
193
+ animation: $_exiting jkl.timing("productive") jkl.easing("exit")
194
+ forwards;
160
195
  }
161
196
 
162
197
  @keyframes #{$_entering} {
@@ -182,4 +217,4 @@
182
217
  transform: translate3d(0, 50%, 0);
183
218
  }
184
219
  }
185
- }
220
+ }
@@ -117,7 +117,6 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
117
117
  background: transparent;
118
118
  color: var(--text-color);
119
119
  padding: 0;
120
- cursor: pointer;
121
120
  -webkit-tap-highlight-color: transparent;
122
121
  display: flex;
123
122
  flex-direction: row-reverse;
@@ -1 +1 @@
1
- .jkl-toggle-slider{--jkl-slider-bg:var(--jkl-color-background-page);--jkl-slider-pill:var(--jkl-color-background-container);--jkl-slider-text:var(--jkl-color-text-default);--jkl-slider-text--active:var(--jkl-color-text-default);--jkl-slider-focus-color:var(--jkl-color-border-strong);--jkl-slider-hover-color:var(--jkl-color-border-strong);align-items:flex-start;display:flex;flex-direction:column;font-size:var(--jkl-slider-font-size);font-weight:var(--jkl-slider-font-weight);line-height:var(--jkl-slider-line-height);overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;width:100%}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:focus-within .jkl-toggle-slider__pill{box-shadow:inset 0 0 0 .125rem var(--jkl-slider-focus-color)}.jkl-toggle-slider__legend{font-size:var(--jkl-slider-legend-font-size);font-weight:var(--jkl-slider-legend-font-weight);line-height:var(--jkl-slider-legend-line-height);margin-bottom:var(--jkl-spacing-8)}.jkl-toggle-slider__legend--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-toggle-slider__inputs{background-color:var(--jkl-slider-bg);border:2px solid var(--jkl-slider-bg);border-radius:6.25rem;display:flex;overflow:hidden;position:relative}.jkl-toggle-slider__input{opacity:0;position:absolute}.jkl-toggle-slider__label{align-items:center;color:var(--jkl-slider-pill-text);cursor:pointer;display:flex;justify-content:center;padding:var(--jkl-unit-02) var(--jkl-unit-20);z-index:1;-webkit-tap-highlight-color:transparent;min-width:30px}.jkl-toggle-slider__label:hover{color:var(--jkl-slider-hover-color)}.jkl-toggle-slider__label--selected{--jkl-icon-weight:400;color:var(--jkl-slider-pill-text--active);font-weight:var(--jkl-font-weight-bold);letter-spacing:-.014em}.jkl-toggle-slider__pill{background-color:var(--jkl-slider-pill);border-radius:6.25rem;height:100%;position:absolute;transition-duration:var(--jkl-motion-timing-expressive);transition-property:width,transform;transition-timing-function:var(--jkl-motion-easing-standard)}@media (min-width:680px){.jkl-toggle-slider{align-items:center;flex-direction:row}.jkl-toggle-slider__legend{margin-bottom:0;margin-right:1.2em}}@media screen and (forced-colors:active){.jkl-toggle-slider .jkl-toggle-slider__inputs{background-color:Canvas}.jkl-toggle-slider .jkl-toggle-slider__pill{background-color:ButtonFace}}.jkl-toggle-switch{--jkl-toggle-switch-height:var(--jkl-unit-40);--jkl-toggle-switch-width:var(--jkl-unit-60);--jkl-toggle-switch-knob-size:var(--jkl-unit-30);--border-width:0.0625rem;--switch-padding:var(--jkl-unit-05);--knob-position:0;--switch-border-color:var(--jkl-color-border-strong);--indicator-color:var(--jkl-color-background-container);--knob-border-color:var(--jkl-color-border-strong);--knob-color:var(--jkl-color-background-container);--text-color:var(--jkl-color-text-default);--icon-color:var(--jkl-color-text-on-contrast);background:transparent;color:var(--text-color);cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent;align-items:center;border-style:none;display:flex;flex-direction:row-reverse;font:var(--jkl-text-style-text-medium);gap:var(--jkl-unit-10);outline:0;outline-style:none;touch-action:none}.jkl-toggle-switch:active,.jkl-toggle-switch:focus,.jkl-toggle-switch:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-toggle-switch{border-style:revert;outline:revert;outline-style:revert}.jkl-toggle-switch:active,.jkl-toggle-switch:focus,.jkl-toggle-switch:hover{outline:revert;outline-style:revert}}@media screen and (forced-colors:active){.jkl-toggle-switch{border-color:transparent;border-style:none}}.jkl-toggle-switch[aria-pressed=true],[aria-checked=true]>.jkl-toggle-switch{--indicator-color:var(--jkl-color-background-contrast);--knob-color:var(--jkl-color-text-on-contrast);--knob-position:calc(var(--jkl-toggle-switch-width) - var(--jkl-toggle-switch-knob-size) - var(--switch-padding)*2)}.jkl-toggle-switch[disabled]{cursor:revert;--text-color:var(--jkl-color-text-subdued);--switch-border-color:var(--jkl-color-border-subdued);--knob-border-color:var(--jkl-color-border-subdued)}.jkl-toggle-switch[disabled][aria-pressed=true],[aria-checked=true]>.jkl-toggle-switch[disabled]{--indicator-color:var(--jkl-color-border-subdued)}.jkl-toggle-switch-widget{--jkl-toggle-switch-height:var(--jkl-unit-40);--jkl-toggle-switch-width:var(--jkl-unit-60);--jkl-toggle-switch-knob-size:var(--jkl-unit-30);align-items:center;background-color:var(--indicator-color);border:var(--border-width) solid var(--switch-border-color);border-radius:9999px;box-sizing:border-box;display:flex;flex-direction:row;height:var(--jkl-toggle-switch-height);overflow:hidden;padding:var(--switch-padding);pointer-events:none;position:relative;-webkit-user-select:none;user-select:none;width:var(--jkl-toggle-switch-width)}@media screen and (forced-colors:active){.jkl-toggle-switch-widget{border:.0625rem solid ButtonText}}.jkl-toggle-switch:focus-visible .jkl-toggle-switch-widget{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-toggle-switch-widget__slider{box-sizing:border-box;color:var(--icon-color);font-size:var(--jkl-font-size-1);height:var(--jkl-toggle-switch-knob-size);position:relative;transition-duration:var(--jkl-motion-timing-productive);transition-property:translate;transition-timing-function:var(--jkl-motion-easing-standard);translate:var(--knob-position);width:var(--jkl-toggle-switch-knob-size)}.jkl-toggle-switch-widget__knob{background-color:var(--knob-color);border:var(--border-width) solid var(--knob-border-color);border-radius:9999px;inset:0;position:absolute}.jkl-toggle-switch-widget__indicator{font-size:var(--jkl-unit-20);position:absolute;right:100%;top:50%;transform:translateY(-50%)}
1
+ .jkl-toggle-slider{--jkl-slider-bg:var(--jkl-color-background-page);--jkl-slider-pill:var(--jkl-color-background-container);--jkl-slider-text:var(--jkl-color-text-default);--jkl-slider-text--active:var(--jkl-color-text-default);--jkl-slider-focus-color:var(--jkl-color-border-strong);--jkl-slider-hover-color:var(--jkl-color-border-strong);align-items:flex-start;display:flex;flex-direction:column;font-size:var(--jkl-slider-font-size);font-weight:var(--jkl-slider-font-weight);line-height:var(--jkl-slider-line-height);overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;width:100%}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:focus-within .jkl-toggle-slider__pill{box-shadow:inset 0 0 0 .125rem var(--jkl-slider-focus-color)}.jkl-toggle-slider__legend{font-size:var(--jkl-slider-legend-font-size);font-weight:var(--jkl-slider-legend-font-weight);line-height:var(--jkl-slider-legend-line-height);margin-bottom:var(--jkl-spacing-8)}.jkl-toggle-slider__legend--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-toggle-slider__inputs{background-color:var(--jkl-slider-bg);border:2px solid var(--jkl-slider-bg);border-radius:6.25rem;display:flex;overflow:hidden;position:relative}.jkl-toggle-slider__input{opacity:0;position:absolute}.jkl-toggle-slider__label{align-items:center;color:var(--jkl-slider-pill-text);cursor:pointer;display:flex;justify-content:center;padding:var(--jkl-unit-02) var(--jkl-unit-20);z-index:1;-webkit-tap-highlight-color:transparent;min-width:30px}.jkl-toggle-slider__label:hover{color:var(--jkl-slider-hover-color)}.jkl-toggle-slider__label--selected{--jkl-icon-weight:400;color:var(--jkl-slider-pill-text--active);font-weight:var(--jkl-font-weight-bold);letter-spacing:-.014em}.jkl-toggle-slider__pill{background-color:var(--jkl-slider-pill);border-radius:6.25rem;height:100%;position:absolute;transition-duration:var(--jkl-motion-timing-expressive);transition-property:width,transform;transition-timing-function:var(--jkl-motion-easing-standard)}@media (min-width:680px){.jkl-toggle-slider{align-items:center;flex-direction:row}.jkl-toggle-slider__legend{margin-bottom:0;margin-right:1.2em}}@media screen and (forced-colors:active){.jkl-toggle-slider .jkl-toggle-slider__inputs{background-color:Canvas}.jkl-toggle-slider .jkl-toggle-slider__pill{background-color:ButtonFace}}.jkl-toggle-switch{--jkl-toggle-switch-height:var(--jkl-unit-40);--jkl-toggle-switch-width:var(--jkl-unit-60);--jkl-toggle-switch-knob-size:var(--jkl-unit-30);--border-width:0.0625rem;--switch-padding:var(--jkl-unit-05);--knob-position:0;--switch-border-color:var(--jkl-color-border-strong);--indicator-color:var(--jkl-color-background-container);--knob-border-color:var(--jkl-color-border-strong);--knob-color:var(--jkl-color-background-container);--text-color:var(--jkl-color-text-default);--icon-color:var(--jkl-color-text-on-contrast);background:transparent;color:var(--text-color);padding:0;-webkit-tap-highlight-color:transparent;align-items:center;border-style:none;display:flex;flex-direction:row-reverse;font:var(--jkl-text-style-text-medium);gap:var(--jkl-unit-10);outline:0;outline-style:none;touch-action:none}.jkl-toggle-switch:active,.jkl-toggle-switch:focus,.jkl-toggle-switch:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-toggle-switch{border-style:revert;outline:revert;outline-style:revert}.jkl-toggle-switch:active,.jkl-toggle-switch:focus,.jkl-toggle-switch:hover{outline:revert;outline-style:revert}}@media screen and (forced-colors:active){.jkl-toggle-switch{border-color:transparent;border-style:none}}.jkl-toggle-switch[aria-pressed=true],[aria-checked=true]>.jkl-toggle-switch{--indicator-color:var(--jkl-color-background-contrast);--knob-color:var(--jkl-color-text-on-contrast);--knob-position:calc(var(--jkl-toggle-switch-width) - var(--jkl-toggle-switch-knob-size) - var(--switch-padding)*2)}.jkl-toggle-switch[disabled]{cursor:revert;--text-color:var(--jkl-color-text-subdued);--switch-border-color:var(--jkl-color-border-subdued);--knob-border-color:var(--jkl-color-border-subdued)}.jkl-toggle-switch[disabled][aria-pressed=true],[aria-checked=true]>.jkl-toggle-switch[disabled]{--indicator-color:var(--jkl-color-border-subdued)}.jkl-toggle-switch-widget{--jkl-toggle-switch-height:var(--jkl-unit-40);--jkl-toggle-switch-width:var(--jkl-unit-60);--jkl-toggle-switch-knob-size:var(--jkl-unit-30);align-items:center;background-color:var(--indicator-color);border:var(--border-width) solid var(--switch-border-color);border-radius:9999px;box-sizing:border-box;display:flex;flex-direction:row;height:var(--jkl-toggle-switch-height);overflow:hidden;padding:var(--switch-padding);pointer-events:none;position:relative;-webkit-user-select:none;user-select:none;width:var(--jkl-toggle-switch-width)}@media screen and (forced-colors:active){.jkl-toggle-switch-widget{border:.0625rem solid ButtonText}}.jkl-toggle-switch:focus-visible .jkl-toggle-switch-widget{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-toggle-switch-widget__slider{box-sizing:border-box;color:var(--icon-color);font-size:var(--jkl-font-size-1);height:var(--jkl-toggle-switch-knob-size);position:relative;transition-duration:var(--jkl-motion-timing-productive);transition-property:translate;transition-timing-function:var(--jkl-motion-easing-standard);translate:var(--knob-position);width:var(--jkl-toggle-switch-knob-size)}.jkl-toggle-switch-widget__knob{background-color:var(--knob-color);border:var(--border-width) solid var(--knob-border-color);border-radius:9999px;inset:0;position:absolute}.jkl-toggle-switch-widget__indicator{font-size:var(--jkl-unit-20);position:absolute;right:100%;top:50%;transform:translateY(-50%)}
@@ -19,7 +19,6 @@
19
19
  background: transparent;
20
20
  color: var(--text-color);
21
21
  padding: 0;
22
- cursor: pointer;
23
22
  -webkit-tap-highlight-color: transparent;
24
23
 
25
24
  display: flex;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  @layer jokul.components {
5
5
  :where(.jkl-text) {
6
- font-weight: var(--jkl-typography-weight-normal);
6
+ font-weight: var(--jkl-font-weight-normal);
7
7
  line-height: var(--jkl-line-height-relaxed);
8
8
  }
9
9
  .jkl-text[data-text-size] {
@@ -23,7 +23,7 @@
23
23
  }
24
24
  .jkl-text[data-bold],
25
25
  strong.jkl-text[data-text-size] {
26
- font-weight: var(--jkl-typography-weight-bold);
26
+ font-weight: var(--jkl-font-weight-bold);
27
27
  }
28
28
  .jkl-text[data-short] {
29
29
  line-height: var(--jkl-line-height-tight);
@@ -1 +1 @@
1
- @layer jokul.components{:where(.jkl-text){font-weight:var(--jkl-typography-weight-normal);line-height:var(--jkl-line-height-relaxed)}.jkl-text[data-text-size]{margin-block:0}.jkl-text[data-text-size=xs]{font:var(--jkl-text-style-text-micro)}.jkl-text[data-text-size=s]{font:var(--jkl-text-style-paragraph-small)}.jkl-text[data-text-size=m]{font:var(--jkl-text-style-paragraph-medium)}.jkl-text[data-text-size=l]{font:var(--jkl-text-style-paragraph-large)}.jkl-text[data-bold],strong.jkl-text[data-text-size]{font-weight:var(--jkl-typography-weight-bold)}.jkl-text[data-short]{line-height:var(--jkl-line-height-tight)}:is(code,kbd,samp,var).jkl-text{font-family:var(--jkl-font-family-mono)}label.jkl-text{display:block;-webkit-margin-after:var(--jkl-spacing-8);margin-block-end:var(--jkl-spacing-8)}}
1
+ @layer jokul.components{:where(.jkl-text){font-weight:var(--jkl-font-weight-normal);line-height:var(--jkl-line-height-relaxed)}.jkl-text[data-text-size]{margin-block:0}.jkl-text[data-text-size=xs]{font:var(--jkl-text-style-text-micro)}.jkl-text[data-text-size=s]{font:var(--jkl-text-style-paragraph-small)}.jkl-text[data-text-size=m]{font:var(--jkl-text-style-paragraph-medium)}.jkl-text[data-text-size=l]{font:var(--jkl-text-style-paragraph-large)}.jkl-text[data-bold],strong.jkl-text[data-text-size]{font-weight:var(--jkl-font-weight-bold)}.jkl-text[data-short]{line-height:var(--jkl-line-height-tight)}:is(code,kbd,samp,var).jkl-text{font-family:var(--jkl-font-family-mono)}label.jkl-text{display:block;-webkit-margin-after:var(--jkl-spacing-8);margin-block-end:var(--jkl-spacing-8)}}
@@ -12,7 +12,7 @@ $_size-styles: (
12
12
 
13
13
  @layer jokul.components {
14
14
  :where(.jkl-text) {
15
- font-weight: var(--jkl-typography-weight-normal);
15
+ font-weight: var(--jkl-font-weight-normal);
16
16
  line-height: var(--jkl-line-height-relaxed);
17
17
  }
18
18
 
@@ -35,7 +35,7 @@ $_size-styles: (
35
35
  // tvinger normal weight via `jkl.text-style`-mixinen.
36
36
  .jkl-text[data-bold],
37
37
  strong.jkl-text[data-text-size] {
38
- font-weight: var(--jkl-typography-weight-bold);
38
+ font-weight: var(--jkl-font-weight-bold);
39
39
  }
40
40
 
41
41
  .jkl-text[data-short] {
@@ -2,53 +2,31 @@
2
2
  * Do not edit directly, this file was auto-generated.
3
3
  */
4
4
  @layer jokul.components {
5
- :where(.jkl-title) {
6
- font-weight: var(--jkl-typography-weight-normal);
7
- line-height: var(--jkl-line-height-tight);
8
- }
9
- .jkl-title[data-text-size] {
5
+ :is(h1, h2, h3, h4, h5, h6, label, legend)[data-text-size=xs] {
10
6
  margin-block: 0;
11
- }
12
- .jkl-title[data-text-size=xs],
13
- .jkl-heading-xs {
14
7
  font: var(--jkl-text-style-heading-5);
15
8
  }
16
- :where(.jkl-heading-xs) {
9
+ :is(h1, h2, h3, h4, h5, h6, label, legend)[data-text-size=s] {
17
10
  margin-block: 0;
18
- }
19
- .jkl-title[data-text-size=s],
20
- .jkl-heading-s {
21
11
  font: var(--jkl-text-style-heading-4);
22
12
  }
23
- :where(.jkl-heading-s) {
13
+ :is(h1, h2, h3, h4, h5, h6, label, legend)[data-text-size=m] {
24
14
  margin-block: 0;
25
- }
26
- .jkl-title[data-text-size=m],
27
- .jkl-heading-m {
28
15
  font: var(--jkl-text-style-heading-3);
29
16
  }
30
- :where(.jkl-heading-m) {
17
+ :is(h1, h2, h3, h4, h5, h6, label, legend)[data-text-size=l] {
31
18
  margin-block: 0;
32
- }
33
- .jkl-title[data-text-size=l],
34
- .jkl-heading-l {
35
19
  font: var(--jkl-text-style-heading-2);
36
20
  }
37
- :where(.jkl-heading-l) {
21
+ :is(h1, h2, h3, h4, h5, h6, label, legend)[data-text-size=xl] {
38
22
  margin-block: 0;
39
- }
40
- .jkl-title[data-text-size=xl],
41
- .jkl-heading-xl {
42
23
  font: var(--jkl-text-style-heading-1);
43
24
  }
44
- :where(.jkl-heading-xl) {
45
- margin-block: 0;
46
- }
47
- :is(label, legend).jkl-title[data-text-size] {
48
- font-weight: var(--jkl-typography-weight-normal);
25
+ :is(label, legend)[data-text-size] {
26
+ font-weight: var(--jkl-font-weight-normal);
49
27
  line-height: var(--jkl-line-height-relaxed);
50
28
  }
51
- label.jkl-title[data-text-size] {
29
+ :is(label)[data-text-size] {
52
30
  display: block;
53
31
  margin-block-end: var(--jkl-spacing-8);
54
32
  }
@@ -1 +1 @@
1
- @layer jokul.components{:where(.jkl-title){font-weight:var(--jkl-typography-weight-normal);line-height:var(--jkl-line-height-tight)}.jkl-title[data-text-size]{margin-block:0}.jkl-heading-xs,.jkl-title[data-text-size=xs]{font:var(--jkl-text-style-heading-5)}:where(.jkl-heading-xs){margin-block:0}.jkl-heading-s,.jkl-title[data-text-size=s]{font:var(--jkl-text-style-heading-4)}:where(.jkl-heading-s){margin-block:0}.jkl-heading-m,.jkl-title[data-text-size=m]{font:var(--jkl-text-style-heading-3)}:where(.jkl-heading-m){margin-block:0}.jkl-heading-l,.jkl-title[data-text-size=l]{font:var(--jkl-text-style-heading-2)}:where(.jkl-heading-l){margin-block:0}.jkl-heading-xl,.jkl-title[data-text-size=xl]{font:var(--jkl-text-style-heading-1)}:where(.jkl-heading-xl){margin-block:0}:is(label,legend).jkl-title[data-text-size]{font-weight:var(--jkl-typography-weight-normal);line-height:var(--jkl-line-height-relaxed)}label.jkl-title[data-text-size]{display:block;-webkit-margin-after:var(--jkl-spacing-8);margin-block-end:var(--jkl-spacing-8)}}
1
+ @layer jokul.components{:is(h1,h2,h3,h4,h5,h6,label,legend)[data-text-size=xs]{font:var(--jkl-text-style-heading-5);margin-block:0}:is(h1,h2,h3,h4,h5,h6,label,legend)[data-text-size=s]{font:var(--jkl-text-style-heading-4);margin-block:0}:is(h1,h2,h3,h4,h5,h6,label,legend)[data-text-size=m]{font:var(--jkl-text-style-heading-3);margin-block:0}:is(h1,h2,h3,h4,h5,h6,label,legend)[data-text-size=l]{font:var(--jkl-text-style-heading-2);margin-block:0}:is(h1,h2,h3,h4,h5,h6,label,legend)[data-text-size=xl]{font:var(--jkl-text-style-heading-1);margin-block:0}:is(label,legend)[data-text-size]{font-weight:var(--jkl-font-weight-normal);line-height:var(--jkl-line-height-relaxed)}:is(label)[data-text-size]{display:block;-webkit-margin-after:var(--jkl-spacing-8);margin-block-end:var(--jkl-spacing-8)}}
@@ -12,48 +12,25 @@ $_size-styles: (
12
12
  );
13
13
 
14
14
  @layer jokul.components {
15
- :where(.jkl-title) {
16
- font-weight: var(--jkl-typography-weight-normal);
17
- line-height: var(--jkl-line-height-tight);
18
- }
19
-
20
- // Scope margin-resetten til komponenten via `data-text-size` så vi ikke
21
- // overstyrer margin på elementer som bare bruker `.jkl-title` som
22
- // hjelpeklasse.
23
- .jkl-title[data-text-size] {
24
- margin-block: 0;
25
- }
26
-
27
- // Genererer både komponent-regler og ekvivalente hjelpeklasser fra
28
- // samme kilde slik at de ikke drifter fra hverandre.
29
- // `.jkl-heading-<size>` tilsvarer `<Title size="<size>">` brukt på et
30
- // vilkårlig element.
31
15
  @each $name, $style in $_size-styles {
16
+ :is(h1, h2, h3, h4, h5, h6, label, legend)[data-text-size="#{$name}"] {
17
+ margin-block: 0;
32
18
 
33
- .jkl-title[data-text-size="#{$name}"],
34
- .jkl-heading-#{$name} {
35
19
  @include jkl.text-style($style);
36
20
  }
37
-
38
- :where(.jkl-heading-#{$name}) {
39
- margin-block: 0;
40
- }
41
21
  }
42
22
 
43
23
  // Skjema-elementer skal ikke arve heading sine fete font-weight og
44
24
  // tight line-height. De er tekst som beskriver et skjemafelt eller en
45
- // gruppe, ikke strukturelle overskrifter. Spesifisiteten må matche
46
- // `.jkl-title[data-text-size="…"]` (0,2,0) for å overstyre den.
47
- :is(label, legend).jkl-title[data-text-size] {
48
- font-weight: var(--jkl-typography-weight-normal);
25
+ // gruppe, ikke strukturelle overskrifter.
26
+ :is(label, legend)[data-text-size] {
27
+ font-weight: var(--jkl-font-weight-normal);
49
28
  line-height: var(--jkl-line-height-relaxed);
50
29
  }
51
30
 
52
31
  // Labels er blokk-nivå og har bunnmarg til feltet de beskriver.
53
- // Spesifisiteten her (0,2,1) overstyrer `.jkl-title[data-text-size]`
54
- // som ellers nullstiller margin via `margin-block: 0`.
55
- label.jkl-title[data-text-size] {
32
+ :is(label)[data-text-size] {
56
33
  display: block;
57
34
  margin-block-end: var(--jkl-spacing-8);
58
35
  }
59
- }
36
+ }