@fremtind/jokul 5.0.0-next.1 → 5.0.0-next.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 (258) hide show
  1. package/README.md +29 -6
  2. package/bin/jokul.mjs +10 -0
  3. package/bin/run-jokul-cli.mjs +63 -0
  4. package/build/build-stats.html +1 -1
  5. package/build/cjs/components/card/Card.cjs +1 -1
  6. package/build/cjs/components/card/Card.cjs.map +1 -1
  7. package/build/cjs/components/card/types.cjs +1 -1
  8. package/build/cjs/components/card/types.cjs.map +1 -1
  9. package/build/cjs/components/card/types.d.cts +2 -2
  10. package/build/cjs/components/checkbox/Checkbox.cjs +1 -1
  11. package/build/cjs/components/checkbox/Checkbox.cjs.map +1 -1
  12. package/build/cjs/components/cookie-consent/CookieConsent.cjs +1 -1
  13. package/build/cjs/components/cookie-consent/CookieConsent.cjs.map +1 -1
  14. package/build/cjs/components/cookie-consent/CookieConsent.d.cts +1 -1
  15. package/build/cjs/components/cookie-consent/types.d.cts +4 -0
  16. package/build/cjs/components/datepicker/DatePicker.cjs +1 -1
  17. package/build/cjs/components/datepicker/DatePicker.cjs.map +1 -1
  18. package/build/cjs/components/expander/ExpandablePanel.cjs +1 -1
  19. package/build/cjs/components/expander/ExpandablePanel.cjs.map +1 -1
  20. package/build/cjs/components/link/Link.cjs +1 -1
  21. package/build/cjs/components/link/Link.cjs.map +1 -1
  22. package/build/cjs/components/link/Link.d.cts +2 -2
  23. package/build/cjs/components/link/types.d.cts +1 -4
  24. package/build/cjs/components/modal/Modal.cjs +1 -1
  25. package/build/cjs/components/modal/Modal.cjs.map +1 -1
  26. package/build/cjs/components/modal/Modal.d.cts +2 -9
  27. package/build/cjs/components/modal/index.d.cts +1 -1
  28. package/build/cjs/components/modal/types.d.cts +18 -0
  29. package/build/cjs/components/popover/Popover.cjs +1 -1
  30. package/build/cjs/components/popover/Popover.cjs.map +1 -1
  31. package/build/cjs/components/radio-button/BaseRadioButton.cjs +1 -1
  32. package/build/cjs/components/radio-button/BaseRadioButton.cjs.map +1 -1
  33. package/build/cjs/core/tokens.cjs +2 -0
  34. package/build/cjs/core/tokens.cjs.map +1 -0
  35. package/build/cjs/core/tokens.d.cts +593 -0
  36. package/build/cjs/tailwind/colors.cjs +2 -0
  37. package/build/cjs/tailwind/colors.cjs.map +1 -0
  38. package/build/cjs/tailwind/colors.d.cts +39 -0
  39. package/build/cjs/tokens.cjs +1 -1
  40. package/build/cjs/tokens.cjs.map +1 -1
  41. package/build/cjs/tokens.d.cts +98 -39
  42. package/build/es/components/card/Card.js +1 -1
  43. package/build/es/components/card/Card.js.map +1 -1
  44. package/build/es/components/card/types.d.ts +2 -2
  45. package/build/es/components/card/types.js +1 -1
  46. package/build/es/components/card/types.js.map +1 -1
  47. package/build/es/components/checkbox/Checkbox.js +1 -1
  48. package/build/es/components/checkbox/Checkbox.js.map +1 -1
  49. package/build/es/components/cookie-consent/CookieConsent.d.ts +1 -1
  50. package/build/es/components/cookie-consent/CookieConsent.js +1 -1
  51. package/build/es/components/cookie-consent/CookieConsent.js.map +1 -1
  52. package/build/es/components/cookie-consent/types.d.ts +4 -0
  53. package/build/es/components/datepicker/DatePicker.js +1 -1
  54. package/build/es/components/datepicker/DatePicker.js.map +1 -1
  55. package/build/es/components/expander/ExpandablePanel.js +1 -1
  56. package/build/es/components/expander/ExpandablePanel.js.map +1 -1
  57. package/build/es/components/link/Link.d.ts +2 -2
  58. package/build/es/components/link/Link.js +1 -1
  59. package/build/es/components/link/Link.js.map +1 -1
  60. package/build/es/components/link/types.d.ts +1 -4
  61. package/build/es/components/modal/Modal.d.ts +2 -9
  62. package/build/es/components/modal/Modal.js +1 -1
  63. package/build/es/components/modal/Modal.js.map +1 -1
  64. package/build/es/components/modal/index.d.ts +1 -1
  65. package/build/es/components/modal/types.d.ts +18 -0
  66. package/build/es/components/popover/Popover.js +1 -1
  67. package/build/es/components/popover/Popover.js.map +1 -1
  68. package/build/es/components/radio-button/BaseRadioButton.js +1 -1
  69. package/build/es/components/radio-button/BaseRadioButton.js.map +1 -1
  70. package/build/es/core/tokens.d.ts +593 -0
  71. package/build/es/core/tokens.js +2 -0
  72. package/build/es/core/tokens.js.map +1 -0
  73. package/build/es/tailwind/colors.d.ts +39 -0
  74. package/build/es/tailwind/colors.js +2 -0
  75. package/build/es/tailwind/colors.js.map +1 -0
  76. package/build/es/tokens.d.ts +98 -39
  77. package/build/es/tokens.js +1 -1
  78. package/build/es/tokens.js.map +1 -1
  79. package/codemods/__tests__/import-paths.test.mjs +84 -0
  80. package/codemods/import-paths.mjs +393 -0
  81. package/package.json +6 -1
  82. package/styles/base.css +483 -66
  83. package/styles/base.min.css +1 -1
  84. package/styles/components/autosuggest/autosuggest.css +2 -2
  85. package/styles/components/autosuggest/autosuggest.min.css +1 -1
  86. package/styles/components/autosuggest/autosuggest.scss +2 -2
  87. package/styles/components/beta/description-list/description-list.css +1 -1
  88. package/styles/components/beta/description-list/description-list.min.css +1 -1
  89. package/styles/components/beta/description-list/description-list.scss +1 -1
  90. package/styles/components/beta/nav-link/navlink.css +2 -2
  91. package/styles/components/beta/nav-link/navlink.min.css +1 -1
  92. package/styles/components/beta/nav-link/navlink.scss +2 -2
  93. package/styles/components/beta/select/select.css +9 -9
  94. package/styles/components/beta/select/select.min.css +1 -1
  95. package/styles/components/beta/select/select.scss +8 -7
  96. package/styles/components/breadcrumb/breadcrumb.css +1 -1
  97. package/styles/components/breadcrumb/breadcrumb.min.css +1 -1
  98. package/styles/components/button/button.css +6 -2
  99. package/styles/components/button/button.min.css +1 -1
  100. package/styles/components/button/button.scss +12 -12
  101. package/styles/components/card/card.css +6 -9
  102. package/styles/components/card/card.min.css +1 -1
  103. package/styles/components/card/card.scss +6 -10
  104. package/styles/components/checkbox/checkbox.css +43 -9
  105. package/styles/components/checkbox/checkbox.min.css +1 -1
  106. package/styles/components/checkbox/checkbox.scss +38 -21
  107. package/styles/components/checkbox-panel/checkbox-panel.css +65 -26
  108. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  109. package/styles/components/checkbox-panel/checkbox-panel.scss +4 -0
  110. package/styles/components/chip/chip.css +2 -2
  111. package/styles/components/chip/chip.min.css +1 -1
  112. package/styles/components/chip/chip.scss +1 -1
  113. package/styles/components/combobox/combobox.css +18 -15
  114. package/styles/components/combobox/combobox.min.css +1 -1
  115. package/styles/components/combobox/combobox.scss +9 -6
  116. package/styles/components/countdown/countdown.css +4 -4
  117. package/styles/components/countdown/countdown.min.css +1 -1
  118. package/styles/components/datepicker/_calendar-date-button.scss +7 -7
  119. package/styles/components/datepicker/_calendar-navigation-dropdown.scss +1 -1
  120. package/styles/components/datepicker/_calendar.scss +6 -7
  121. package/styles/components/datepicker/datepicker.css +19 -11
  122. package/styles/components/datepicker/datepicker.min.css +1 -1
  123. package/styles/components/description-list/description-list.css +1 -1
  124. package/styles/components/description-list/description-list.min.css +1 -1
  125. package/styles/components/description-list/description-list.scss +1 -1
  126. package/styles/components/expander/expandable.css +17 -17
  127. package/styles/components/expander/expandable.min.css +1 -1
  128. package/styles/components/expander/expandable.scss +15 -19
  129. package/styles/components/feedback/feedback.css +6 -8
  130. package/styles/components/feedback/feedback.min.css +1 -1
  131. package/styles/components/feedback/feedback.scss +4 -9
  132. package/styles/components/file/file.css +5 -5
  133. package/styles/components/file/file.min.css +1 -1
  134. package/styles/components/file/file.scss +5 -5
  135. package/styles/components/file-input/file-input.css +26 -22
  136. package/styles/components/file-input/file-input.min.css +1 -1
  137. package/styles/components/file-input/file-input.scss +3 -3
  138. package/styles/components/help/help.css +2 -2
  139. package/styles/components/help/help.min.css +1 -1
  140. package/styles/components/help/help.scss +2 -2
  141. package/styles/components/icon/icon.css +4 -4
  142. package/styles/components/icon/icon.min.css +1 -1
  143. package/styles/components/icon/icon.scss +4 -4
  144. package/styles/components/icon-button/icon-button.css +1 -1
  145. package/styles/components/icon-button/icon-button.min.css +1 -1
  146. package/styles/components/input-group/input-group.css +2 -2
  147. package/styles/components/input-group/input-group.min.css +1 -1
  148. package/styles/components/input-panel/input-panel.css +19 -17
  149. package/styles/components/input-panel/input-panel.min.css +1 -1
  150. package/styles/components/input-panel/input-panel.scss +20 -18
  151. package/styles/components/link/link.css +1 -1
  152. package/styles/components/link/link.min.css +1 -1
  153. package/styles/components/link-list/link-list.css +6 -2
  154. package/styles/components/link-list/link-list.min.css +1 -1
  155. package/styles/components/link-list/link-list.scss +6 -2
  156. package/styles/components/loader/loader.css +6 -6
  157. package/styles/components/loader/loader.min.css +1 -1
  158. package/styles/components/loader/skeleton-loader.css +4 -4
  159. package/styles/components/loader/skeleton-loader.min.css +1 -1
  160. package/styles/components/loader/skeleton-loader.scss +1 -1
  161. package/styles/components/menu/_menu-divider.scss +1 -1
  162. package/styles/components/menu/menu.css +3 -3
  163. package/styles/components/menu/menu.min.css +1 -1
  164. package/styles/components/menu/menu.scss +2 -2
  165. package/styles/components/message/message.css +19 -9
  166. package/styles/components/message/message.min.css +1 -1
  167. package/styles/components/message/message.scss +16 -6
  168. package/styles/components/modal/_layout.scss +22 -0
  169. package/styles/components/modal/_modal-base.scss +32 -0
  170. package/styles/components/modal/_motion.scss +45 -0
  171. package/styles/components/modal/_overlay.scss +20 -0
  172. package/styles/components/modal/_parts.scss +33 -0
  173. package/styles/components/modal/_placement.scss +59 -0
  174. package/styles/components/modal/modal.css +118 -34
  175. package/styles/components/modal/modal.min.css +1 -1
  176. package/styles/components/modal/modal.scss +6 -95
  177. package/styles/components/nav-link/nav-link.css +1 -1
  178. package/styles/components/nav-link/nav-link.min.css +1 -1
  179. package/styles/components/pagination/pagination.css +1 -1
  180. package/styles/components/pagination/pagination.min.css +1 -1
  181. package/styles/components/popover/popover.css +12 -1
  182. package/styles/components/popover/popover.min.css +1 -1
  183. package/styles/components/popover/popover.scss +15 -1
  184. package/styles/components/progress-bar/progress-bar.css +27 -3
  185. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  186. package/styles/components/progress-bar/progress-bar.scss +5 -0
  187. package/styles/components/radio-button/radio-button.css +41 -6
  188. package/styles/components/radio-button/radio-button.min.css +1 -1
  189. package/styles/components/radio-button/radio-button.scss +35 -16
  190. package/styles/components/radio-panel/radio-panel.css +22 -17
  191. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  192. package/styles/components/radio-panel/radio-panel.scss +4 -0
  193. package/styles/components/search/search-with-submit-button.css +1 -1
  194. package/styles/components/search/search-with-submit-button.min.css +1 -1
  195. package/styles/components/search/search-with-submit-button.scss +1 -1
  196. package/styles/components/search/search.css +2 -2
  197. package/styles/components/search/search.min.css +1 -1
  198. package/styles/components/search/search.scss +1 -1
  199. package/styles/components/segmented-control/segmented-control.css +54 -19
  200. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  201. package/styles/components/segmented-control/segmented-control.scss +4 -4
  202. package/styles/components/select/select.css +15 -15
  203. package/styles/components/select/select.min.css +1 -1
  204. package/styles/components/select/select.scss +12 -12
  205. package/styles/components/summary-table/summary-table.css +2 -2
  206. package/styles/components/summary-table/summary-table.min.css +1 -1
  207. package/styles/components/summary-table/summary-table.scss +2 -2
  208. package/styles/components/system-message/system-message.css +20 -10
  209. package/styles/components/system-message/system-message.min.css +1 -1
  210. package/styles/components/system-message/system-message.scss +17 -7
  211. package/styles/components/table/_table-head.scss +1 -1
  212. package/styles/components/table/_table-row.scss +2 -2
  213. package/styles/components/table/table.css +3 -3
  214. package/styles/components/table/table.min.css +1 -1
  215. package/styles/components/table-of-contents/table-of-contents.css +1 -1
  216. package/styles/components/table-of-contents/table-of-contents.min.css +1 -1
  217. package/styles/components/table-of-contents/table-of-contents.scss +1 -1
  218. package/styles/components/tabs/tabs.css +3 -3
  219. package/styles/components/tabs/tabs.min.css +1 -1
  220. package/styles/components/tabs/tabs.scss +2 -2
  221. package/styles/components/tag/tag.css +16 -6
  222. package/styles/components/tag/tag.min.css +1 -1
  223. package/styles/components/tag/tag.scss +16 -6
  224. package/styles/components/text-area/text-area.css +8 -8
  225. package/styles/components/text-area/text-area.min.css +1 -1
  226. package/styles/components/text-input/text-input.css +8 -8
  227. package/styles/components/text-input/text-input.min.css +1 -1
  228. package/styles/components/toast/toast.css +19 -12
  229. package/styles/components/toast/toast.min.css +1 -1
  230. package/styles/components/toast/toast.scss +15 -12
  231. package/styles/components/toggle-switch/_toggle-slider.scss +4 -4
  232. package/styles/components/toggle-switch/toggle-switch.css +14 -19
  233. package/styles/components/toggle-switch/toggle-switch.min.css +2 -2
  234. package/styles/components/toggle-switch/toggle-switch.scss +9 -16
  235. package/styles/components/tooltip/tooltip.css +3 -3
  236. package/styles/components/tooltip/tooltip.min.css +1 -1
  237. package/styles/components/tooltip/tooltip.scss +3 -3
  238. package/styles/components.css +536 -294
  239. package/styles/components.min.css +2 -2
  240. package/styles/core/jkl/_tokens.scss +59 -0
  241. package/styles/core/jkl/legacy/_dynamic-colors.scss +40 -0
  242. package/styles/core/jkl/legacy/_tokens.scss +742 -0
  243. package/styles/core/theme/_color-tokens.scss +73 -0
  244. package/styles/core/theme/_legacy-color-tokens.scss +81 -0
  245. package/styles/core/theme/_legacy-tokens.scss +279 -0
  246. package/styles/core/theme/_spacing-tokens.scss +33 -0
  247. package/styles/core/theme/_tokens.scss +33 -0
  248. package/styles/hooks/stories/styles.scss +2 -2
  249. package/styles/jkl/_ornaments.scss +1 -1
  250. package/styles/jkl/_tokens.scss +151 -71
  251. package/styles/shared/input/shared-input-styles.scss +6 -6
  252. package/styles/shared/track/track.scss +2 -2
  253. package/styles/tailwind.css +108 -66
  254. package/styles/theme/_color-scheme.scss +135 -66
  255. package/styles/theme/_index.scss +3 -0
  256. package/styles/theme/brands/dnb/_color-scheme.scss +119 -0
  257. package/styles/theme/brands/eika/_color-scheme.scss +119 -0
  258. package/styles/theme/brands/sparebank1/_color-scheme.scss +119 -0
@@ -3,8 +3,8 @@
3
3
  */
4
4
  @layer jokul.components {
5
5
  .jkl-countdown {
6
- --track-color: var(--jkl-color-border-separator);
7
- --bar-color: var(--jkl-color-border-input-focus);
6
+ --track-color: var(--jkl-color-border-subdued);
7
+ --bar-color: var(--jkl-color-border-strong);
8
8
  --bar-height: 0.25rem;
9
9
  background-color: var(--track-color);
10
10
  border-radius: 6.25rem;
@@ -26,10 +26,10 @@
26
26
  }
27
27
  }
28
28
  .jkl-countdown__tracker {
29
- animation: jkl-downcount-usqgar2 var(--duration) linear forwards;
29
+ animation: jkl-downcount-uk2bqdz var(--duration) linear forwards;
30
30
  animation-play-state: var(--play-state, running);
31
31
  }
32
- @keyframes jkl-downcount-usqgar2 {
32
+ @keyframes jkl-downcount-uk2bqdz {
33
33
  from {
34
34
  width: 100%;
35
35
  }
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-countdown{--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-countdown__tracker{background-color:var(--bar-color);display:block;height:var(--bar-height)}@media screen and (forced-colors:active){.jkl-countdown{background-color:Canvas}.jkl-countdown__tracker{background-color:CanvasText}}.jkl-countdown__tracker{animation:jkl-downcount-usqgar2 var(--duration) linear forwards;animation-play-state:var(--play-state,running)}@keyframes jkl-downcount-usqgar2{0%{width:100%}to{width:0}}}
1
+ @layer jokul.components{.jkl-countdown{--track-color:var(--jkl-color-border-subdued);--bar-color:var(--jkl-color-border-strong);--bar-height:0.25rem;background-color:var(--track-color);border-radius:6.25rem;height:var(--bar-height);overflow:hidden;width:100%}.jkl-countdown__tracker{background-color:var(--bar-color);display:block;height:var(--bar-height)}@media screen and (forced-colors:active){.jkl-countdown{background-color:Canvas}.jkl-countdown__tracker{background-color:CanvasText}}.jkl-countdown__tracker{animation:jkl-downcount-uk2bqdz var(--duration) linear forwards;animation-play-state:var(--play-state,running)}@keyframes jkl-downcount-uk2bqdz{0%{width:100%}to{width:0}}}
@@ -1,14 +1,14 @@
1
1
  @use "../../jkl";
2
2
 
3
3
  @layer jokul.components {
4
- // Custom tweaks for iPhone SE
5
- @include jkl.screen-to(375px) {
6
- --jkl-calendar-date-size: var(--jkl-unit-40);
7
- }
8
-
9
4
  .jkl-calendar-date-button {
10
5
  --jkl-calendar-date-size: var(--jkl-unit-50);
11
6
 
7
+ // Custom tweaks for iPhone SE
8
+ @include jkl.screen-to(375px) {
9
+ --jkl-calendar-date-size: var(--jkl-unit-40);
10
+ }
11
+
12
12
  @include jkl.text-style("text-small");
13
13
 
14
14
  appearance: none;
@@ -52,8 +52,8 @@
52
52
 
53
53
  // Selected date
54
54
  &[aria-pressed="true"] {
55
- background-color: var(--jkl-color-background-container-inverted);
56
- color: var(--jkl-color-text-inverted);
55
+ background-color: var(--jkl-color-background-action);
56
+ color: var(--jkl-color-text-on-action);
57
57
  cursor: pointer;
58
58
 
59
59
  &:hover {
@@ -34,7 +34,7 @@
34
34
 
35
35
  & option {
36
36
  color: var(--jkl-color-text-default);
37
- background-color: var(--jkl-color-background-container-high);
37
+ background-color: var(--jkl-color-background-container);
38
38
  text-align: left;
39
39
  }
40
40
 
@@ -1,18 +1,17 @@
1
1
  @use "../../jkl";
2
2
 
3
3
  @layer jokul.components {
4
-
5
- // Custom tweaks for iPhone SE
6
- @include jkl.screen-to(375px) {
7
- --jkl-calendar-padding: var(--jkl-unit-05) var(--jkl-unit-10) var(--jkl-unit-20);
8
- }
9
-
10
4
  .jkl-calendar {
11
5
  --jkl-calendar-padding: var(--jkl-unit-15) var(--jkl-unit-20) var(--jkl-unit-20);
12
6
  --jkl-calendar-gap: var(--jkl-unit-15);
13
7
 
8
+ // Custom tweaks for iPhone SE
9
+ @include jkl.screen-to(375px) {
10
+ --jkl-calendar-padding: var(--jkl-unit-05) var(--jkl-unit-10) var(--jkl-unit-20);
11
+ }
12
+
14
13
  display: block;
15
- background-color: var(--jkl-color-background-container-high);
14
+ background-color: var(--jkl-color-background-container);
16
15
  color: var(--jkl-color);
17
16
 
18
17
  &__padding {
@@ -2,14 +2,18 @@
2
2
  * Do not edit directly, this file was auto-generated.
3
3
  */
4
4
  @layer jokul.components {
5
- @media (width >= 0) and (max-width: 374px) {
6
- --jkl-calendar-padding: var(--jkl-unit-05) var(--jkl-unit-10) var(--jkl-unit-20);
7
- }
8
5
  .jkl-calendar {
9
6
  --jkl-calendar-padding: var(--jkl-unit-15) var(--jkl-unit-20) var(--jkl-unit-20);
10
7
  --jkl-calendar-gap: var(--jkl-unit-15);
8
+ }
9
+ @media (width >= 0) and (max-width: 374px) {
10
+ .jkl-calendar {
11
+ --jkl-calendar-padding: var(--jkl-unit-05) var(--jkl-unit-10) var(--jkl-unit-20);
12
+ }
13
+ }
14
+ .jkl-calendar {
11
15
  display: block;
12
- background-color: var(--jkl-color-background-container-high);
16
+ background-color: var(--jkl-color-background-container);
13
17
  color: var(--jkl-color);
14
18
  }
15
19
  .jkl-calendar__padding {
@@ -82,11 +86,11 @@
82
86
  }
83
87
  .jkl-calendar-navigation-dropdown__select option {
84
88
  color: var(--jkl-color-text-default);
85
- background-color: var(--jkl-color-background-container-high);
89
+ background-color: var(--jkl-color-background-container);
86
90
  text-align: left;
87
91
  }
88
92
  .jkl-calendar-navigation-dropdown__select:focus-visible {
89
- outline: 3px solid var(--jkl-color-border-action);
93
+ outline: 3px solid var(--jkl-color-border-strong);
90
94
  outline-offset: 3px;
91
95
  }
92
96
  .jkl-calendar-navigation-dropdown__chevron {
@@ -114,11 +118,15 @@
114
118
  }
115
119
  }
116
120
  @layer jokul.components {
121
+ .jkl-calendar-date-button {
122
+ --jkl-calendar-date-size: var(--jkl-unit-50);
123
+ }
117
124
  @media (width >= 0) and (max-width: 374px) {
118
- --jkl-calendar-date-size: var(--jkl-unit-40);
125
+ .jkl-calendar-date-button {
126
+ --jkl-calendar-date-size: var(--jkl-unit-40);
127
+ }
119
128
  }
120
129
  .jkl-calendar-date-button {
121
- --jkl-calendar-date-size: var(--jkl-unit-50);
122
130
  font: var(--jkl-text-style-text-small);
123
131
  appearance: none;
124
132
  position: relative;
@@ -171,8 +179,8 @@
171
179
  cursor: pointer;
172
180
  }
173
181
  .jkl-calendar-date-button[aria-pressed=true] {
174
- background-color: var(--jkl-color-background-container-inverted);
175
- color: var(--jkl-color-text-inverted);
182
+ background-color: var(--jkl-color-background-action);
183
+ color: var(--jkl-color-text-on-action);
176
184
  cursor: pointer;
177
185
  }
178
186
  .jkl-calendar-date-button[aria-pressed=true]:hover {
@@ -182,7 +190,7 @@
182
190
  color: color(from var(--jkl-color-text-subdued) srgb r g b/70%);
183
191
  }
184
192
  .jkl-calendar-date-button:focus-visible {
185
- outline: 3px solid var(--jkl-color-border-action);
193
+ outline: 3px solid var(--jkl-color-border-strong);
186
194
  outline-offset: 3px;
187
195
  }
188
196
  }
@@ -1 +1 @@
1
- @layer jokul.components{@media (width >= 0) and (max-width:374px){--jkl-calendar-padding:var(--jkl-unit-05) var(--jkl-unit-10) var(--jkl-unit-20)}.jkl-calendar{--jkl-calendar-padding:var(--jkl-unit-15) var(--jkl-unit-20) var(--jkl-unit-20);--jkl-calendar-gap:var(--jkl-unit-15);background-color:var(--jkl-color-background-container-high);color:var(--jkl-color);display:block}.jkl-calendar__padding{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--jkl-calendar-gap)}@media screen and (forced-colors:active){.jkl-calendar__padding{border:1px solid CanvasText}}}@layer jokul.components{.jkl-calendar-navigation{align-items:center;border:0;box-sizing:border-box;display:flex;justify-content:space-between;margin:0;padding:0;width:100%}.jkl-calendar-navigation-dropdown{--chevron-size:1.5rem;align-items:center;display:inline-flex}}@layer jokul.components{.jkl-calendar-navigation-dropdown>*{cursor:pointer}.jkl-calendar-navigation-dropdown__select{-webkit-appearance:none;appearance:none;background-color:transparent;border:none;border-radius:0;color:inherit;font:var(--jkl-text-style-text-small);font-weight:var(--jkl-font-weight-bold);height:2.5rem;margin:0;padding:0;text-align:end;text-align-last:end;-webkit-padding-end:var(--chevron-size);border-style:none;outline:0;outline-style:none;padding-inline-end:var(--chevron-size)}.jkl-calendar-navigation-dropdown__select:active,.jkl-calendar-navigation-dropdown__select:focus,.jkl-calendar-navigation-dropdown__select:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-calendar-navigation-dropdown__select{border-style:revert;outline:revert;outline-style:revert}.jkl-calendar-navigation-dropdown__select:active,.jkl-calendar-navigation-dropdown__select:focus,.jkl-calendar-navigation-dropdown__select:hover{outline:revert;outline-style:revert}}.jkl-calendar-navigation-dropdown__select option{background-color:var(--jkl-color-background-container-high);color:var(--jkl-color-text-default);text-align:left}.jkl-calendar-navigation-dropdown__select:focus-visible{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-calendar-navigation-dropdown__chevron{margin-left:calc(var(--chevron-size)*-1);pointer-events:none}.jkl-calendar-navigation-dropdown+.jkl-calendar-navigation-dropdown{-webkit-margin-start:var(--jkl-unit-10);margin-inline-start:var(--jkl-unit-10)}}@layer jokul.components{.jkl-calendar-table th{font:var(--jkl-text-style-text-small);padding-bottom:var(--jkl-unit-10)}.jkl-calendar-table td{text-align:center}.jkl-calendar-table td+td,.jkl-calendar-table th+th{padding-left:calc(var(--jkl-unit-10)/2)}.jkl-calendar-table tr+tr>td{padding-top:calc(var(--jkl-unit-10)/2)}}@layer jokul.components{@media (width >= 0) and (max-width:374px){--jkl-calendar-date-size:var(--jkl-unit-40)}.jkl-calendar-date-button{--jkl-calendar-date-size:var(--jkl-unit-50);align-items:center;-webkit-appearance:none;appearance:none;background-color:transparent;border-radius:50%;border-style:none;box-sizing:border-box;color:var(--jkl-color);display:inline-flex;font:var(--jkl-text-style-text-small);height:var(--jkl-calendar-date-size);justify-content:center;margin:var(--jkl-calendar-date-margin);outline:0;outline-style:none;padding:0;padding-top:var(--jkl-unit-02);position:relative;transition-duration:var(--jkl-motion-timing-energetic);transition-property:color,background-color,box-shadow;transition-timing-function:var(--jkl-motion-easing-entrance);width:var(--jkl-calendar-date-size)}.jkl-calendar-date-button:active,.jkl-calendar-date-button:focus,.jkl-calendar-date-button:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-calendar-date-button{border-style:revert;outline:revert;outline-style:revert}.jkl-calendar-date-button:active,.jkl-calendar-date-button:focus,.jkl-calendar-date-button:hover{outline:revert;outline-style:revert}}.jkl-calendar-date-button[data-adjacent=true]{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-text-small);padding:0}.jkl-calendar-date-button[aria-current=date]{font-weight:var(--jkl-font-weight-bold)}.jkl-calendar-date-button:hover:not(:disabled){background-color:var(--jkl-color-background-interactive-hover);cursor:pointer}.jkl-calendar-date-button[aria-pressed=true]{background-color:var(--jkl-color-background-container-inverted);color:var(--jkl-color-text-inverted);cursor:pointer}.jkl-calendar-date-button[aria-pressed=true]:hover{color:var(--jkl-color)}.jkl-calendar-date-button:disabled{color:color(from var(--jkl-color-text-subdued) srgb r g b/70%)}.jkl-calendar-date-button:focus-visible{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}}@layer jokul.components{.jkl-datepicker{align-items:flex-start;border-style:none;display:flex;flex-direction:column;outline:0;outline-style:none;position:relative}.jkl-datepicker:active,.jkl-datepicker:focus,.jkl-datepicker:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-datepicker{border-style:revert;outline:revert;outline-style:revert}.jkl-datepicker:active,.jkl-datepicker:focus,.jkl-datepicker:hover{outline:revert;outline-style:revert}}.jkl-datepicker__input-wrapper{display:contents;position:relative}.jkl-datepicker .jkl-datepicker__input{padding-bottom:calc(var(--jkl-text-input-vertical-padding) - .08em);padding-top:calc(var(--jkl-text-input-vertical-padding) + .08em)}.jkl-datepicker__calendar-wrapper{left:0;position:absolute;top:calc(100% + .875rem);z-index:7000}@media (width >= 0) and (max-width:679px){.jkl-datepicker__calendar-wrapper{left:-1.15rem}}@media (width >= 0) and (max-width:374px){.jkl-datepicker__calendar-wrapper{left:-2.5rem}}}
1
+ @layer jokul.components{.jkl-calendar{--jkl-calendar-padding:var(--jkl-unit-15) var(--jkl-unit-20) var(--jkl-unit-20);--jkl-calendar-gap:var(--jkl-unit-15)}@media (width >= 0) and (max-width:374px){.jkl-calendar{--jkl-calendar-padding:var(--jkl-unit-05) var(--jkl-unit-10) var(--jkl-unit-20)}}.jkl-calendar{background-color:var(--jkl-color-background-container);color:var(--jkl-color);display:block}.jkl-calendar__padding{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--jkl-calendar-gap)}@media screen and (forced-colors:active){.jkl-calendar__padding{border:1px solid CanvasText}}}@layer jokul.components{.jkl-calendar-navigation{align-items:center;border:0;box-sizing:border-box;display:flex;justify-content:space-between;margin:0;padding:0;width:100%}.jkl-calendar-navigation-dropdown{--chevron-size:1.5rem;align-items:center;display:inline-flex}}@layer jokul.components{.jkl-calendar-navigation-dropdown>*{cursor:pointer}.jkl-calendar-navigation-dropdown__select{-webkit-appearance:none;appearance:none;background-color:transparent;border:none;border-radius:0;color:inherit;font:var(--jkl-text-style-text-small);font-weight:var(--jkl-font-weight-bold);height:2.5rem;margin:0;padding:0;text-align:end;text-align-last:end;-webkit-padding-end:var(--chevron-size);border-style:none;outline:0;outline-style:none;padding-inline-end:var(--chevron-size)}.jkl-calendar-navigation-dropdown__select:active,.jkl-calendar-navigation-dropdown__select:focus,.jkl-calendar-navigation-dropdown__select:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-calendar-navigation-dropdown__select{border-style:revert;outline:revert;outline-style:revert}.jkl-calendar-navigation-dropdown__select:active,.jkl-calendar-navigation-dropdown__select:focus,.jkl-calendar-navigation-dropdown__select:hover{outline:revert;outline-style:revert}}.jkl-calendar-navigation-dropdown__select option{background-color:var(--jkl-color-background-container);color:var(--jkl-color-text-default);text-align:left}.jkl-calendar-navigation-dropdown__select:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-calendar-navigation-dropdown__chevron{margin-left:calc(var(--chevron-size)*-1);pointer-events:none}.jkl-calendar-navigation-dropdown+.jkl-calendar-navigation-dropdown{-webkit-margin-start:var(--jkl-unit-10);margin-inline-start:var(--jkl-unit-10)}}@layer jokul.components{.jkl-calendar-table th{font:var(--jkl-text-style-text-small);padding-bottom:var(--jkl-unit-10)}.jkl-calendar-table td{text-align:center}.jkl-calendar-table td+td,.jkl-calendar-table th+th{padding-left:calc(var(--jkl-unit-10)/2)}.jkl-calendar-table tr+tr>td{padding-top:calc(var(--jkl-unit-10)/2)}}@layer jokul.components{.jkl-calendar-date-button{--jkl-calendar-date-size:var(--jkl-unit-50)}@media (width >= 0) and (max-width:374px){.jkl-calendar-date-button{--jkl-calendar-date-size:var(--jkl-unit-40)}}.jkl-calendar-date-button{align-items:center;-webkit-appearance:none;appearance:none;background-color:transparent;border-radius:50%;border-style:none;box-sizing:border-box;color:var(--jkl-color);display:inline-flex;font:var(--jkl-text-style-text-small);height:var(--jkl-calendar-date-size);justify-content:center;margin:var(--jkl-calendar-date-margin);outline:0;outline-style:none;padding:0;padding-top:var(--jkl-unit-02);position:relative;transition-duration:var(--jkl-motion-timing-energetic);transition-property:color,background-color,box-shadow;transition-timing-function:var(--jkl-motion-easing-entrance);width:var(--jkl-calendar-date-size)}.jkl-calendar-date-button:active,.jkl-calendar-date-button:focus,.jkl-calendar-date-button:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-calendar-date-button{border-style:revert;outline:revert;outline-style:revert}.jkl-calendar-date-button:active,.jkl-calendar-date-button:focus,.jkl-calendar-date-button:hover{outline:revert;outline-style:revert}}.jkl-calendar-date-button[data-adjacent=true]{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-text-small);padding:0}.jkl-calendar-date-button[aria-current=date]{font-weight:var(--jkl-font-weight-bold)}.jkl-calendar-date-button:hover:not(:disabled){background-color:var(--jkl-color-background-interactive-hover);cursor:pointer}.jkl-calendar-date-button[aria-pressed=true]{background-color:var(--jkl-color-background-action);color:var(--jkl-color-text-on-action);cursor:pointer}.jkl-calendar-date-button[aria-pressed=true]:hover{color:var(--jkl-color)}.jkl-calendar-date-button:disabled{color:color(from var(--jkl-color-text-subdued) srgb r g b/70%)}.jkl-calendar-date-button:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}}@layer jokul.components{.jkl-datepicker{align-items:flex-start;border-style:none;display:flex;flex-direction:column;outline:0;outline-style:none;position:relative}.jkl-datepicker:active,.jkl-datepicker:focus,.jkl-datepicker:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-datepicker{border-style:revert;outline:revert;outline-style:revert}.jkl-datepicker:active,.jkl-datepicker:focus,.jkl-datepicker:hover{outline:revert;outline-style:revert}}.jkl-datepicker__input-wrapper{display:contents;position:relative}.jkl-datepicker .jkl-datepicker__input{padding-bottom:calc(var(--jkl-text-input-vertical-padding) - .08em);padding-top:calc(var(--jkl-text-input-vertical-padding) + .08em)}.jkl-datepicker__calendar-wrapper{left:0;position:absolute;top:calc(100% + .875rem);z-index:7000}@media (width >= 0) and (max-width:679px){.jkl-datepicker__calendar-wrapper{left:-1.15rem}}@media (width >= 0) and (max-width:374px){.jkl-datepicker__calendar-wrapper{left:-2.5rem}}}
@@ -58,6 +58,6 @@
58
58
  }
59
59
  .jkl-description-list[data-separators=true] .seperator:not(:first-of-type) {
60
60
  margin-block: var(--jkl-unit-15);
61
- border-top: 1px solid var(--jkl-color-border-separator);
61
+ border-top: 1px solid var(--jkl-color-border-subdued);
62
62
  }
63
63
  }
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-description-list{display:grid;grid-template-columns:1fr;row-gap:var(--jkl-unit-05)}.jkl-description-list .seperator{display:none}.jkl-description-list__detail+.seperator{border:0 solid transparent;grid-column:1/-1;margin-block:var(--jkl-unit-05);width:100%}.jkl-description-list__detail+.seperator:not(:first-of-type){display:unset}.jkl-description-list__term{font-weight:var(--jkl-font-weight-bold)}.jkl-description-list__detail{margin-left:0}@media (min-width:60ch){.jkl-description-list[data-alignment=horizontal]{column-gap:1.5em;grid-auto-flow:column;grid-template-columns:fit-content(40%) 1fr}.jkl-description-list[data-alignment=horizontal] .jkl-description-list__term{grid-column-start:1;margin:0;overflow-wrap:break-word}.jkl-description-list[data-alignment=horizontal] .jkl-description-list__detail{grid-column-start:2}.jkl-description-list[data-alignment=justified]{column-gap:1.5em;grid-auto-flow:column;grid-template-columns:1fr -webkit-max-content;grid-template-columns:1fr max-content}.jkl-description-list[data-alignment=justified] .jkl-description-list__term{grid-column-start:1;margin:0;overflow-wrap:break-word}.jkl-description-list[data-alignment=justified] .jkl-description-list__detail{grid-column-start:2}.jkl-description-list[data-alignment=justified] .jkl-description-list__detail{text-align:end}}.jkl-description-list[data-separators=true] .seperator:not(:first-of-type){border-top:1px solid var(--jkl-color-border-separator);margin-block:var(--jkl-unit-15)}}
1
+ @layer jokul.components{.jkl-description-list{display:grid;grid-template-columns:1fr;row-gap:var(--jkl-unit-05)}.jkl-description-list .seperator{display:none}.jkl-description-list__detail+.seperator{border:0 solid transparent;grid-column:1/-1;margin-block:var(--jkl-unit-05);width:100%}.jkl-description-list__detail+.seperator:not(:first-of-type){display:unset}.jkl-description-list__term{font-weight:var(--jkl-font-weight-bold)}.jkl-description-list__detail{margin-left:0}@media (min-width:60ch){.jkl-description-list[data-alignment=horizontal]{column-gap:1.5em;grid-auto-flow:column;grid-template-columns:fit-content(40%) 1fr}.jkl-description-list[data-alignment=horizontal] .jkl-description-list__term{grid-column-start:1;margin:0;overflow-wrap:break-word}.jkl-description-list[data-alignment=horizontal] .jkl-description-list__detail{grid-column-start:2}.jkl-description-list[data-alignment=justified]{column-gap:1.5em;grid-auto-flow:column;grid-template-columns:1fr -webkit-max-content;grid-template-columns:1fr max-content}.jkl-description-list[data-alignment=justified] .jkl-description-list__term{grid-column-start:1;margin:0;overflow-wrap:break-word}.jkl-description-list[data-alignment=justified] .jkl-description-list__detail{grid-column-start:2}.jkl-description-list[data-alignment=justified] .jkl-description-list__detail{text-align:end}}.jkl-description-list[data-separators=true] .seperator:not(:first-of-type){border-top:1px solid var(--jkl-color-border-subdued);margin-block:var(--jkl-unit-15)}}
@@ -69,7 +69,7 @@
69
69
  &[data-separators="true"] {
70
70
  .seperator:not(:first-of-type) {
71
71
  margin-block: var(--jkl-unit-15);
72
- border-top: 1px solid var(--jkl-color-border-separator);
72
+ border-top: 1px solid var(--jkl-color-border-subdued);
73
73
  }
74
74
  }
75
75
  }
@@ -3,7 +3,7 @@
3
3
  */
4
4
  @layer jokul.components {
5
5
  .jkl-expandable {
6
- background-color: var(--jkl-color-background-container-low);
6
+ background-color: var(--jkl-color-background-page);
7
7
  border: 1px solid transparent;
8
8
  border-radius: var(--border-radius);
9
9
  box-sizing: border-box;
@@ -23,7 +23,7 @@
23
23
  padding: var(--jkl-unit-20);
24
24
  }
25
25
  .jkl-expandable--stroke {
26
- border-color: var(--jkl-color-border-separator);
26
+ border-color: var(--jkl-color-border-subdued);
27
27
  background-color: transparent;
28
28
  border-radius: 0;
29
29
  border-radius: var(--border-top-left-radius) var(--border-top-right-radius) var(--border-bottom-right-radius) var(--border-bottom-left-radius);
@@ -31,34 +31,34 @@
31
31
  .jkl-expandable__wrapper {
32
32
  --border-radius: 0.25rem;
33
33
  --outline-offset: 3px;
34
+ --stroke-outline-offset: 3px;
35
+ --border-top-left-radius: var(--border-radius);
36
+ --border-top-right-radius: var(--border-radius);
37
+ --border-bottom-left-radius: var(--border-radius);
38
+ --border-bottom-right-radius: var(--border-radius);
39
+ position: relative;
40
+ }
41
+ .jkl-expandable__wrapper + .jkl-expandable__wrapper {
34
42
  --border-top-left-radius: 0;
35
43
  --border-top-right-radius: 0;
36
- --border-bottom-left-radius: 0;
37
- --border-bottom-right-radius: 0;
38
- position: relative;
44
+ --stroke-outline-offset: -1px;
39
45
  }
40
46
  .jkl-expandable__wrapper + .jkl-expandable__wrapper .jkl-expandable--stroke {
41
47
  border-top: none;
42
48
  }
43
- .jkl-expandable__wrapper:first-child {
44
- --border-top-left-radius: var(--border-radius);
45
- --border-top-right-radius: var(--border-radius);
46
- }
47
- .jkl-expandable__wrapper:last-child {
48
- --border-bottom-left-radius: var(--border-radius);
49
- --border-bottom-right-radius: var(--border-radius);
49
+ .jkl-expandable__wrapper:has(+ .jkl-expandable__wrapper) {
50
+ --border-bottom-left-radius: 0;
51
+ --border-bottom-right-radius: 0;
52
+ --stroke-outline-offset: -1px;
50
53
  }
51
54
  .jkl-expandable__wrapper:has(.jkl-expander:focus-visible):has(.jkl-expandable--stroke) {
52
- --outline-offset: -1px;
55
+ --outline-offset: var(--stroke-outline-offset);
53
56
  }
54
57
  .jkl-expandable__wrapper:has(.jkl-expander:focus-visible) .jkl-expandable__focus-container {
55
- outline: 3px solid var(--jkl-color-border-action);
58
+ outline: 3px solid var(--jkl-color-border-strong);
56
59
  outline-offset: 3px;
57
60
  outline-offset: var(--outline-offset);
58
61
  }
59
- .jkl-expandable__wrapper:has(:focus-visible):first-child:last-child {
60
- --outline-offset: 3px;
61
- }
62
62
  .jkl-expandable__focus-container {
63
63
  border-radius: var(--border-radius);
64
64
  position: absolute;
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-expandable{background-color:var(--jkl-color-background-container-low);border:1px solid transparent;border-radius:var(--border-radius);box-sizing:border-box;overflow:hidden;width:100%}.jkl-expandable__content[data-expanded=true]{height:auto}.jkl-expandable__content[data-expanded=false]{height:0}.jkl-expandable[data-visible-content=true] .jkl-expander{border-bottom:1px solid transparent}.jkl-expandable__content-wrapper{padding:var(--jkl-unit-20)}.jkl-expandable--stroke{background-color:transparent;border-color:var(--jkl-color-border-separator);border-radius:0;border-radius:var(--border-top-left-radius) var(--border-top-right-radius) var(--border-bottom-right-radius) var(--border-bottom-left-radius)}.jkl-expandable__wrapper{--border-radius:0.25rem;--outline-offset:3px;--border-top-left-radius:0;--border-top-right-radius:0;--border-bottom-left-radius:0;--border-bottom-right-radius:0;position:relative}.jkl-expandable__wrapper+.jkl-expandable__wrapper .jkl-expandable--stroke{border-top:none}.jkl-expandable__wrapper:first-child{--border-top-left-radius:var(--border-radius);--border-top-right-radius:var(--border-radius)}.jkl-expandable__wrapper:last-child{--border-bottom-left-radius:var(--border-radius);--border-bottom-right-radius:var(--border-radius)}.jkl-expandable__wrapper:has(.jkl-expander:focus-visible):has(.jkl-expandable--stroke){--outline-offset:-1px}.jkl-expandable__wrapper:has(.jkl-expander:focus-visible) .jkl-expandable__focus-container{outline:3px solid var(--jkl-color-border-action);outline-offset:3px;outline-offset:var(--outline-offset)}.jkl-expandable__wrapper:has(:focus-visible):first-child:last-child{--outline-offset:3px}.jkl-expandable__focus-container{border-radius:var(--border-radius);inset:0;position:absolute}.jkl-expander{align-items:center;-webkit-appearance:none;appearance:none;background:none;border:none;box-sizing:border-box;color:var(--jkl-color);cursor:pointer;display:flex;gap:.5rem;list-style:none;padding:var(--jkl-unit-20);text-align:left;width:100%}.jkl-expander::-webkit-details-marker{display:none}.jkl-expander__label{flex-grow:1}.jkl-expander__chevron{text-align:right;transform:rotate(0turn);transition-property:transform;-webkit-user-select:none;user-select:none}.jkl-expander--open .jkl-expander__label{--jkl-icon-weight:400;font-weight:var(--jkl-font-weight-bold);letter-spacing:-.014em}.jkl-expander--open .jkl-expander__chevron{transform:rotate(-.5turn);transition-duration:var(--jkl-motion-timing-snappy);transition-timing-function:var(--jkl-motion-easing-standard)}@media (hover:hover){.jkl-expander:hover{background-color:var(--jkl-color-background-interactive-selected)}}.jkl-expander{border-style:none;outline:0;outline-style:none}.jkl-expander:active,.jkl-expander:focus,.jkl-expander:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-expander{border-style:revert;outline:revert;outline-style:revert}.jkl-expander:active,.jkl-expander:focus,.jkl-expander:hover{outline:revert;outline-style:revert}}}
1
+ @layer jokul.components{.jkl-expandable{background-color:var(--jkl-color-background-page);border:1px solid transparent;border-radius:var(--border-radius);box-sizing:border-box;overflow:hidden;width:100%}.jkl-expandable__content[data-expanded=true]{height:auto}.jkl-expandable__content[data-expanded=false]{height:0}.jkl-expandable[data-visible-content=true] .jkl-expander{border-bottom:1px solid transparent}.jkl-expandable__content-wrapper{padding:var(--jkl-unit-20)}.jkl-expandable--stroke{background-color:transparent;border-color:var(--jkl-color-border-subdued);border-radius:0;border-radius:var(--border-top-left-radius) var(--border-top-right-radius) var(--border-bottom-right-radius) var(--border-bottom-left-radius)}.jkl-expandable__wrapper{--border-radius:0.25rem;--outline-offset:3px;--stroke-outline-offset:3px;--border-top-left-radius:var(--border-radius);--border-top-right-radius:var(--border-radius);--border-bottom-left-radius:var(--border-radius);--border-bottom-right-radius:var(--border-radius);position:relative}.jkl-expandable__wrapper+.jkl-expandable__wrapper{--border-top-left-radius:0;--border-top-right-radius:0;--stroke-outline-offset:-1px}.jkl-expandable__wrapper+.jkl-expandable__wrapper .jkl-expandable--stroke{border-top:none}.jkl-expandable__wrapper:has(+.jkl-expandable__wrapper){--border-bottom-left-radius:0;--border-bottom-right-radius:0;--stroke-outline-offset:-1px}.jkl-expandable__wrapper:has(.jkl-expander:focus-visible):has(.jkl-expandable--stroke){--outline-offset:var(--stroke-outline-offset)}.jkl-expandable__wrapper:has(.jkl-expander:focus-visible) .jkl-expandable__focus-container{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px;outline-offset:var(--outline-offset)}.jkl-expandable__focus-container{border-radius:var(--border-radius);inset:0;position:absolute}.jkl-expander{align-items:center;-webkit-appearance:none;appearance:none;background:none;border:none;box-sizing:border-box;color:var(--jkl-color);cursor:pointer;display:flex;gap:.5rem;list-style:none;padding:var(--jkl-unit-20);text-align:left;width:100%}.jkl-expander::-webkit-details-marker{display:none}.jkl-expander__label{flex-grow:1}.jkl-expander__chevron{text-align:right;transform:rotate(0turn);transition-property:transform;-webkit-user-select:none;user-select:none}.jkl-expander--open .jkl-expander__label{--jkl-icon-weight:400;font-weight:var(--jkl-font-weight-bold);letter-spacing:-.014em}.jkl-expander--open .jkl-expander__chevron{transform:rotate(-.5turn);transition-duration:var(--jkl-motion-timing-snappy);transition-timing-function:var(--jkl-motion-easing-standard)}@media (hover:hover){.jkl-expander:hover{background-color:var(--jkl-color-background-interactive-selected)}}.jkl-expander{border-style:none;outline:0;outline-style:none}.jkl-expander:active,.jkl-expander:focus,.jkl-expander:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-expander{border-style:revert;outline:revert;outline-style:revert}.jkl-expander:active,.jkl-expander:focus,.jkl-expander:hover{outline:revert;outline-style:revert}}}
@@ -2,7 +2,7 @@
2
2
 
3
3
  @layer jokul.components {
4
4
  .jkl-expandable {
5
- background-color: var(--jkl-color-background-container-low);
5
+ background-color: var(--jkl-color-background-page);
6
6
  // A transparent border will be visible in forced colors mode and replace
7
7
  // the role of the background-color in separating the component from other content
8
8
  border: 1px solid transparent;
@@ -28,7 +28,7 @@
28
28
  }
29
29
 
30
30
  &--stroke {
31
- border-color: var(--jkl-color-border-separator);
31
+ border-color: var(--jkl-color-border-subdued);
32
32
  background-color: transparent;
33
33
 
34
34
  border-radius: 0;
@@ -38,14 +38,18 @@
38
38
  &__wrapper {
39
39
  --border-radius: #{jkl.rem(4px)};
40
40
  --outline-offset: 3px;
41
- --border-top-left-radius: 0;
42
- --border-top-right-radius: 0;
43
- --border-bottom-left-radius: 0;
44
- --border-bottom-right-radius: 0;
41
+ --stroke-outline-offset: 3px;
42
+ --border-top-left-radius: var(--border-radius);
43
+ --border-top-right-radius: var(--border-radius);
44
+ --border-bottom-left-radius: var(--border-radius);
45
+ --border-bottom-right-radius: var(--border-radius);
45
46
 
46
47
  position: relative;
47
48
 
48
49
  & + & {
50
+ --border-top-left-radius: 0;
51
+ --border-top-right-radius: 0;
52
+ --stroke-outline-offset: -1px;
49
53
 
50
54
  // Matches every expandable that follows directly after another
51
55
  .jkl-expandable--stroke {
@@ -53,19 +57,15 @@
53
57
  }
54
58
  }
55
59
 
56
- &:first-child {
57
- --border-top-left-radius: var(--border-radius);
58
- --border-top-right-radius: var(--border-radius);
59
- }
60
-
61
- &:last-child {
62
- --border-bottom-left-radius: var(--border-radius);
63
- --border-bottom-right-radius: var(--border-radius);
60
+ &:has(+ &) {
61
+ --border-bottom-left-radius: 0;
62
+ --border-bottom-right-radius: 0;
63
+ --stroke-outline-offset: -1px;
64
64
  }
65
65
 
66
66
  &:has(.jkl-expander:focus-visible) {
67
67
  &:has(.jkl-expandable--stroke) {
68
- --outline-offset: -1px;
68
+ --outline-offset: var(--stroke-outline-offset);
69
69
  }
70
70
 
71
71
  .jkl-expandable__focus-container {
@@ -73,10 +73,6 @@
73
73
  outline-offset: var(--outline-offset);
74
74
  }
75
75
  }
76
-
77
- &:has(:focus-visible):first-child:last-child {
78
- --outline-offset: 3px;
79
- }
80
76
  }
81
77
 
82
78
  &__focus-container {
@@ -20,12 +20,12 @@
20
20
  font: var(--jkl-text-style-paragraph-small);
21
21
  }
22
22
  .jkl-feedback__fade-in {
23
- animation: jkl-show-upcr25a 0.25s ease-out;
23
+ animation: jkl-show-u6m5oeh 0.25s ease-out;
24
24
  }
25
25
  .jkl-feedback__buttons {
26
26
  display: flex;
27
27
  }
28
- @keyframes jkl-show-upcr25a {
28
+ @keyframes jkl-show-u6m5oeh {
29
29
  from {
30
30
  transform: translate3d(0, 0.5rem, 0);
31
31
  opacity: 0;
@@ -71,10 +71,6 @@
71
71
  transition-duration: var(--jkl-motion-timing-productive);
72
72
  transition-property: opacity;
73
73
  }
74
- .jkl-feedback-smiley-option::after {
75
- inset: -0.125rem -0.125rem -0.125rem -0.125rem;
76
- box-shadow: 0 0 0 0.125rem currentColor;
77
- }
78
74
  .jkl-feedback-smiley-option::before {
79
75
  inset: 0;
80
76
  box-shadow: 0 0.125rem 1.875rem rgba(0, 0, 0, 0.1);
@@ -89,7 +85,9 @@
89
85
  input:checked + .jkl-feedback-smiley-option::before {
90
86
  opacity: 1;
91
87
  }
92
- html:not([data-mousenavigation]):not([data-touchnavigation]) input:focus + .jkl-feedback-smiley-option::after {
93
- opacity: 1;
88
+ input:focus-visible + .jkl-feedback-smiley-option {
89
+ border-radius: var(--jkl-border-radius-full);
90
+ outline: 3px solid var(--jkl-color-border-strong);
91
+ outline-offset: 3px;
94
92
  }
95
93
  }
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-feedback{max-width:34.375rem}.jkl-feedback__submit-wrapper{transition-duration:var(--jkl-motion-timing-expressive);transition-property:height;transition-timing-function:var(--jkl-motion-easing-standard);width:100%}.jkl-feedback__submit-wrapper--hidden{display:none}.jkl-feedback__step-counter{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-paragraph-small);margin-bottom:var(--jkl-unit-20)}.jkl-feedback__fade-in{animation:jkl-show-upcr25a .25s ease-out}.jkl-feedback__buttons{display:flex}@keyframes jkl-show-upcr25a{0%{opacity:0;transform:translate3d(0,.5rem,0)}}.jkl-feedback-smileys{display:flex;flex-wrap:nowrap;gap:var(--jkl-spacing-12);justify-content:space-between;margin-top:var(--jkl-unit-10);max-width:22.5rem;width:100%}.jkl-feedback-smiley-option{color:var(--jkl-color-text-subdued);cursor:pointer;display:inline-block;height:2.5rem;position:relative;transform:translateZ(0);transition-duration:var(--jkl-motion-timing-productive);transition-property:transform,color;transition-timing-function:var(--jkl-motion-easing-standard);width:2.5rem}@media screen and (forced-colors:active){.jkl-feedback-smiley-option,.jkl-feedback-smiley-option path,.jkl-feedback-smiley-option svg{fill:ButtonText;stroke:ButtonFace}}.jkl-feedback-smiley-option:after,.jkl-feedback-smiley-option:before{border-radius:50%;content:"";opacity:0;position:absolute;transition-duration:var(--jkl-motion-timing-productive);transition-property:opacity;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-feedback-smiley-option:after{box-shadow:0 0 0 .125rem currentColor;inset:-.125rem -.125rem -.125rem -.125rem}.jkl-feedback-smiley-option:before{box-shadow:0 .125rem 1.875rem rgba(0,0,0,.1);inset:0}.jkl-feedback-smiley-option:hover{color:var(--jkl-color-text-default)}input:checked+.jkl-feedback-smiley-option{color:var(--jkl-color-text-default);transform:translate3d(0,-20%,0)}input:checked+.jkl-feedback-smiley-option:before{opacity:1}html:not([data-mousenavigation]):not([data-touchnavigation]) input:focus+.jkl-feedback-smiley-option:after{opacity:1}}
1
+ @layer jokul.components{.jkl-feedback{max-width:34.375rem}.jkl-feedback__submit-wrapper{transition-duration:var(--jkl-motion-timing-expressive);transition-property:height;transition-timing-function:var(--jkl-motion-easing-standard);width:100%}.jkl-feedback__submit-wrapper--hidden{display:none}.jkl-feedback__step-counter{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-paragraph-small);margin-bottom:var(--jkl-unit-20)}.jkl-feedback__fade-in{animation:jkl-show-u6m5oeh .25s ease-out}.jkl-feedback__buttons{display:flex}@keyframes jkl-show-u6m5oeh{0%{opacity:0;transform:translate3d(0,.5rem,0)}}.jkl-feedback-smileys{display:flex;flex-wrap:nowrap;gap:var(--jkl-spacing-12);justify-content:space-between;margin-top:var(--jkl-unit-10);max-width:22.5rem;width:100%}.jkl-feedback-smiley-option{color:var(--jkl-color-text-subdued);cursor:pointer;display:inline-block;height:2.5rem;position:relative;transform:translateZ(0);transition-duration:var(--jkl-motion-timing-productive);transition-property:transform,color;transition-timing-function:var(--jkl-motion-easing-standard);width:2.5rem}@media screen and (forced-colors:active){.jkl-feedback-smiley-option,.jkl-feedback-smiley-option path,.jkl-feedback-smiley-option svg{fill:ButtonText;stroke:ButtonFace}}.jkl-feedback-smiley-option:after,.jkl-feedback-smiley-option:before{border-radius:50%;content:"";opacity:0;position:absolute;transition-duration:var(--jkl-motion-timing-productive);transition-property:opacity;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-feedback-smiley-option:before{box-shadow:0 .125rem 1.875rem rgba(0,0,0,.1);inset:0}.jkl-feedback-smiley-option:hover{color:var(--jkl-color-text-default)}input:checked+.jkl-feedback-smiley-option{color:var(--jkl-color-text-default);transform:translate3d(0,-20%,0)}input:checked+.jkl-feedback-smiley-option:before{opacity:1}input:focus-visible+.jkl-feedback-smiley-option{border-radius:var(--jkl-border-radius-full);outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}}
@@ -82,11 +82,6 @@ $_show-animation-name: jkl-show-#{string.unique-id()};
82
82
  transition-property: opacity;
83
83
  }
84
84
 
85
- &::after {
86
- inset: jkl.rem(-2px) jkl.rem(-2px) jkl.rem(-2px) jkl.rem(-2px);
87
- box-shadow: 0 0 0 jkl.rem(2px) currentColor;
88
- }
89
-
90
85
  &::before {
91
86
  inset: 0;
92
87
  box-shadow: 0 jkl.rem(2px) jkl.rem(30px) rgb(0 0 0 / 10%);
@@ -105,10 +100,10 @@ $_show-animation-name: jkl-show-#{string.unique-id()};
105
100
  }
106
101
  }
107
102
 
108
- input:focus + &::after {
109
- @include jkl.keyboard-navigation {
110
- opacity: 1;
111
- }
103
+ input:focus-visible + & {
104
+ border-radius: var(--jkl-border-radius-full);
105
+
106
+ @include jkl.focus-outline;
112
107
  }
113
108
  }
114
109
  }
@@ -10,7 +10,7 @@
10
10
  --jkl-file-gap: var(--jkl-unit-10) var(--jkl-unit-20);
11
11
  --jkl-file-button-width: var(--jkl-unit-50);
12
12
  --text-color: var(--jkl-color-text-default);
13
- --border: 1px solid var(--jkl-color-border-separator);
13
+ --border: 1px solid var(--jkl-color-border-subdued);
14
14
  --border-radius: 2px;
15
15
  --bg: transparent;
16
16
  --transition-time: var(--jkl-motion-timing-expressive);
@@ -54,7 +54,7 @@
54
54
  display: flex;
55
55
  align-items: center;
56
56
  justify-content: center;
57
- background: var(--jkl-color-background-container-low);
57
+ background: var(--jkl-color-background-page);
58
58
  border-radius: 2px;
59
59
  overflow: hidden;
60
60
  container-type: inline-size;
@@ -113,16 +113,16 @@
113
113
  scale: 1;
114
114
  }
115
115
  .jkl-file[data-state=error] {
116
- --bg: var(--jkl-color-functional-error);
116
+ --bg: var(--jkl-color-error-background-container);
117
117
  }
118
118
  .jkl-file[data-state=error],
119
119
  .jkl-file[data-state=error] a,
120
120
  .jkl-file[data-state=error] a:hover,
121
121
  .jkl-file[data-state=error] button,
122
122
  .jkl-file[data-state=error] span {
123
- --text-color: var(--jkl-color-text-on-alert);
123
+ --text-color: var(--jkl-color-error-text-default);
124
124
  --link-color: var(--text-color);
125
- --jkl-color-border-action: currentColor;
125
+ --jkl-color-border-strong: currentColor;
126
126
  }
127
127
  @keyframes spin {
128
128
  from {
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-file{--jkl-file-padding:var(--jkl-unit-10);--jkl-file-thumbnail-width:var(--jkl-unit-70);--jkl-file-thumbnail-max-height:var(--jkl-unit-90);--jkl-file-thumbnail-aspect-ratio:1;--jkl-file-gap:var(--jkl-unit-10) var(--jkl-unit-20);--jkl-file-button-width:var(--jkl-unit-50);--text-color:var(--jkl-color-text-default);--border:1px solid var(--jkl-color-border-separator);--border-radius:2px;--bg:transparent;--transition-time:var(--jkl-motion-timing-expressive)}.jkl-file__content{align-items:center;background:var(--bg);border:var(--border);border-radius:var(--border-radius);color:var(--jkl-color-text-default);display:grid;gap:var(--jkl-file-gap);grid-template-areas:"image text button";grid-template-columns:var(--jkl-file-thumbnail-width) 1fr var(--jkl-file-button-width);height:-webkit-fit-content;height:fit-content;padding:var(--jkl-file-padding);transition-duration:var(--jkl-motion-timing-snappy);transition-property:background-color,border-color,color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-file__content__name{font:var(--jkl-text-style-paragraph-small);grid-area:text;word-break:break-word}.jkl-file__content__name__size{word-break:keep-all}.jkl-file__content__delete{aspect-ratio:1;grid-area:button}.jkl-file__content__thumbnail{align-items:center;anchor-name:--thumb;aspect-ratio:var(--jkl-file-thumbnail-aspect-ratio);background:var(--jkl-color-background-container-low);border-radius:2px;container-type:inline-size;display:flex;grid-area:image;justify-content:center;max-height:var(--jkl-file-thumbnail-max-height);object-fit:cover;overflow:hidden;position:relative;width:100%;anchor-scope:all;outline:1px solid color-mix(in srgb,currentColor 3%,transparent)}.jkl-file__content__thumbnail:after,.jkl-file__content__thumbnail:before{position:absolute;z-index:1}.jkl-file__content__thumbnail:after{animation:spin 5s linear infinite forwards;aspect-ratio:1;background:var(--text-color);border-radius:1px;content:""/"Laster opp";height:25%;position-anchor:--thumb;position-area:center;scale:0;transition:display var(--transition-time) allow-discrete ease-in,scale var(--transition-time) ease-in}@starting-style{.jkl-file__content__thumbnail:after{scale:0}}.jkl-file__content__thumbnail img{opacity:1;transition:opacity var(--transition-time) ease-in-out}.jkl-file__content__thumbnail img[src]{height:100%;object-fit:cover;width:100%}.jkl-file[class*=card]{--jkl-file-thumbnail-width:100%;--jkl-file-thumbnail-aspect-ratio:16/9}.jkl-file[class*=card] .jkl-file__content{grid-template-areas:"image image" "text button";grid-template-columns:1fr var(--jkl-file-button-width);grid-template-rows:var(--jkl-file-thumbnail-max-height) auto}.jkl-file:not([data-state*=loading]) .jkl-file__content__thumbnail:not(:has(img[src])):before{content:attr(data-filetype);font:var(--jkl-text-style-paragraph-small)}.jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail img{opacity:0}.jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail:after{display:block;scale:1}.jkl-file[data-state=error]{--bg:var(--jkl-color-functional-error)}.jkl-file[data-state=error],.jkl-file[data-state=error] a,.jkl-file[data-state=error] a:hover,.jkl-file[data-state=error] button,.jkl-file[data-state=error] span{--text-color:var(--jkl-color-text-on-alert);--link-color:var(--text-color);--jkl-color-border-action:currentColor}@keyframes spin{0%{transform:rotate(0turn)}to{transform:rotate(1turn)}}}
1
+ @layer jokul.components{.jkl-file{--jkl-file-padding:var(--jkl-unit-10);--jkl-file-thumbnail-width:var(--jkl-unit-70);--jkl-file-thumbnail-max-height:var(--jkl-unit-90);--jkl-file-thumbnail-aspect-ratio:1;--jkl-file-gap:var(--jkl-unit-10) var(--jkl-unit-20);--jkl-file-button-width:var(--jkl-unit-50);--text-color:var(--jkl-color-text-default);--border:1px solid var(--jkl-color-border-subdued);--border-radius:2px;--bg:transparent;--transition-time:var(--jkl-motion-timing-expressive)}.jkl-file__content{align-items:center;background:var(--bg);border:var(--border);border-radius:var(--border-radius);color:var(--jkl-color-text-default);display:grid;gap:var(--jkl-file-gap);grid-template-areas:"image text button";grid-template-columns:var(--jkl-file-thumbnail-width) 1fr var(--jkl-file-button-width);height:-webkit-fit-content;height:fit-content;padding:var(--jkl-file-padding);transition-duration:var(--jkl-motion-timing-snappy);transition-property:background-color,border-color,color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-file__content__name{font:var(--jkl-text-style-paragraph-small);grid-area:text;word-break:break-word}.jkl-file__content__name__size{word-break:keep-all}.jkl-file__content__delete{aspect-ratio:1;grid-area:button}.jkl-file__content__thumbnail{align-items:center;anchor-name:--thumb;aspect-ratio:var(--jkl-file-thumbnail-aspect-ratio);background:var(--jkl-color-background-page);border-radius:2px;container-type:inline-size;display:flex;grid-area:image;justify-content:center;max-height:var(--jkl-file-thumbnail-max-height);object-fit:cover;overflow:hidden;position:relative;width:100%;anchor-scope:all;outline:1px solid color-mix(in srgb,currentColor 3%,transparent)}.jkl-file__content__thumbnail:after,.jkl-file__content__thumbnail:before{position:absolute;z-index:1}.jkl-file__content__thumbnail:after{animation:spin 5s linear infinite forwards;aspect-ratio:1;background:var(--text-color);border-radius:1px;content:""/"Laster opp";height:25%;position-anchor:--thumb;position-area:center;scale:0;transition:display var(--transition-time) allow-discrete ease-in,scale var(--transition-time) ease-in}@starting-style{.jkl-file__content__thumbnail:after{scale:0}}.jkl-file__content__thumbnail img{opacity:1;transition:opacity var(--transition-time) ease-in-out}.jkl-file__content__thumbnail img[src]{height:100%;object-fit:cover;width:100%}.jkl-file[class*=card]{--jkl-file-thumbnail-width:100%;--jkl-file-thumbnail-aspect-ratio:16/9}.jkl-file[class*=card] .jkl-file__content{grid-template-areas:"image image" "text button";grid-template-columns:1fr var(--jkl-file-button-width);grid-template-rows:var(--jkl-file-thumbnail-max-height) auto}.jkl-file:not([data-state*=loading]) .jkl-file__content__thumbnail:not(:has(img[src])):before{content:attr(data-filetype);font:var(--jkl-text-style-paragraph-small)}.jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail img{opacity:0}.jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail:after{display:block;scale:1}.jkl-file[data-state=error]{--bg:var(--jkl-color-error-background-container)}.jkl-file[data-state=error],.jkl-file[data-state=error] a,.jkl-file[data-state=error] a:hover,.jkl-file[data-state=error] button,.jkl-file[data-state=error] span{--text-color:var(--jkl-color-error-text-default);--link-color:var(--text-color);--jkl-color-border-strong:currentColor}@keyframes spin{0%{transform:rotate(0turn)}to{transform:rotate(1turn)}}}
@@ -9,7 +9,7 @@
9
9
  --jkl-file-gap: var(--jkl-unit-10) var(--jkl-unit-20);
10
10
  --jkl-file-button-width: var(--jkl-unit-50);
11
11
  --text-color: var(--jkl-color-text-default);
12
- --border: 1px solid var(--jkl-color-border-separator);
12
+ --border: 1px solid var(--jkl-color-border-subdued);
13
13
  --border-radius: 2px;
14
14
  --bg: transparent;
15
15
  --transition-time: #{jkl.$motion-timing-expressive};
@@ -63,7 +63,7 @@
63
63
  display: flex;
64
64
  align-items: center;
65
65
  justify-content: center;
66
- background: var(--jkl-color-background-container-low);
66
+ background: var(--jkl-color-background-page);
67
67
  border-radius: 2px;
68
68
  overflow: hidden;
69
69
  container-type: inline-size;
@@ -145,16 +145,16 @@
145
145
 
146
146
  // Error state
147
147
  &[data-state="error"] {
148
- --bg: var(--jkl-color-functional-error);
148
+ --bg: var(--jkl-color-error-background-container);
149
149
 
150
150
  &,
151
151
  a,
152
152
  a:hover,
153
153
  button,
154
154
  span {
155
- --text-color: var(--jkl-color-text-on-alert);
155
+ --text-color: var(--jkl-color-error-text-default);
156
156
  --link-color: var(--text-color);
157
- --jkl-color-border-action: currentColor;
157
+ --jkl-color-border-strong: currentColor;
158
158
  }
159
159
  }
160
160
  }