@fremtind/jokul 5.0.0-next.1 → 5.0.0-next.10

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 (341) hide show
  1. package/README.md +41 -22
  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/index.d.cts +1 -1
  8. package/build/cjs/components/card/types.cjs +1 -1
  9. package/build/cjs/components/card/types.cjs.map +1 -1
  10. package/build/cjs/components/card/types.d.cts +3 -6
  11. package/build/cjs/components/checkbox/Checkbox.cjs +1 -1
  12. package/build/cjs/components/checkbox/Checkbox.cjs.map +1 -1
  13. package/build/cjs/components/cookie-consent/CookieConsent.cjs +1 -1
  14. package/build/cjs/components/cookie-consent/CookieConsent.cjs.map +1 -1
  15. package/build/cjs/components/cookie-consent/CookieConsent.d.cts +1 -1
  16. package/build/cjs/components/cookie-consent/types.d.cts +4 -0
  17. package/build/cjs/components/datepicker/DatePicker.cjs +1 -1
  18. package/build/cjs/components/datepicker/DatePicker.cjs.map +1 -1
  19. package/build/cjs/components/expander/ExpandablePanel.cjs +1 -1
  20. package/build/cjs/components/expander/ExpandablePanel.cjs.map +1 -1
  21. package/build/cjs/components/link/Link.cjs +1 -1
  22. package/build/cjs/components/link/Link.cjs.map +1 -1
  23. package/build/cjs/components/link/Link.d.cts +2 -2
  24. package/build/cjs/components/link/types.d.cts +1 -4
  25. package/build/cjs/components/modal/Modal.cjs +1 -1
  26. package/build/cjs/components/modal/Modal.cjs.map +1 -1
  27. package/build/cjs/components/modal/Modal.d.cts +2 -9
  28. package/build/cjs/components/modal/index.d.cts +1 -1
  29. package/build/cjs/components/modal/types.d.cts +18 -0
  30. package/build/cjs/components/popover/Popover.cjs +1 -1
  31. package/build/cjs/components/popover/Popover.cjs.map +1 -1
  32. package/build/cjs/components/radio-button/BaseRadioButton.cjs +1 -1
  33. package/build/cjs/components/radio-button/BaseRadioButton.cjs.map +1 -1
  34. package/build/cjs/components/text-area/BaseTextArea.cjs +1 -1
  35. package/build/cjs/components/text-area/BaseTextArea.cjs.map +1 -1
  36. package/build/cjs/components/text-area/counter.cjs +2 -0
  37. package/build/cjs/components/text-area/counter.cjs.map +1 -0
  38. package/build/cjs/components/text-area/counter.d.cts +2 -0
  39. package/build/cjs/components/text-area/types.d.cts +21 -1
  40. package/build/cjs/components/typography/Text.cjs +2 -0
  41. package/build/cjs/components/typography/Text.cjs.map +1 -0
  42. package/build/cjs/components/typography/Text.d.cts +5 -0
  43. package/build/cjs/components/typography/Title.cjs +2 -0
  44. package/build/cjs/components/typography/Title.cjs.map +1 -0
  45. package/build/cjs/components/typography/Title.d.cts +5 -0
  46. package/build/cjs/components/typography/index.cjs +2 -0
  47. package/build/cjs/components/typography/index.cjs.map +1 -0
  48. package/build/cjs/components/typography/index.d.cts +3 -0
  49. package/build/cjs/components/typography/types.cjs +2 -0
  50. package/build/cjs/components/typography/types.cjs.map +1 -0
  51. package/build/cjs/components/typography/types.d.cts +48 -0
  52. package/build/cjs/tokens.cjs +1 -1
  53. package/build/cjs/tokens.cjs.map +1 -1
  54. package/build/cjs/tokens.d.cts +90 -38
  55. package/build/es/components/card/Card.js +1 -1
  56. package/build/es/components/card/Card.js.map +1 -1
  57. package/build/es/components/card/index.d.ts +1 -1
  58. package/build/es/components/card/types.d.ts +3 -6
  59. package/build/es/components/card/types.js +1 -1
  60. package/build/es/components/card/types.js.map +1 -1
  61. package/build/es/components/checkbox/Checkbox.js +1 -1
  62. package/build/es/components/checkbox/Checkbox.js.map +1 -1
  63. package/build/es/components/cookie-consent/CookieConsent.d.ts +1 -1
  64. package/build/es/components/cookie-consent/CookieConsent.js +1 -1
  65. package/build/es/components/cookie-consent/CookieConsent.js.map +1 -1
  66. package/build/es/components/cookie-consent/types.d.ts +4 -0
  67. package/build/es/components/datepicker/DatePicker.js +1 -1
  68. package/build/es/components/datepicker/DatePicker.js.map +1 -1
  69. package/build/es/components/expander/ExpandablePanel.js +1 -1
  70. package/build/es/components/expander/ExpandablePanel.js.map +1 -1
  71. package/build/es/components/link/Link.d.ts +2 -2
  72. package/build/es/components/link/Link.js +1 -1
  73. package/build/es/components/link/Link.js.map +1 -1
  74. package/build/es/components/link/types.d.ts +1 -4
  75. package/build/es/components/modal/Modal.d.ts +2 -9
  76. package/build/es/components/modal/Modal.js +1 -1
  77. package/build/es/components/modal/Modal.js.map +1 -1
  78. package/build/es/components/modal/index.d.ts +1 -1
  79. package/build/es/components/modal/types.d.ts +18 -0
  80. package/build/es/components/popover/Popover.js +1 -1
  81. package/build/es/components/popover/Popover.js.map +1 -1
  82. package/build/es/components/radio-button/BaseRadioButton.js +1 -1
  83. package/build/es/components/radio-button/BaseRadioButton.js.map +1 -1
  84. package/build/es/components/text-area/BaseTextArea.js +1 -1
  85. package/build/es/components/text-area/BaseTextArea.js.map +1 -1
  86. package/build/es/components/text-area/counter.d.ts +2 -0
  87. package/build/es/components/text-area/counter.js +2 -0
  88. package/build/es/components/text-area/counter.js.map +1 -0
  89. package/build/es/components/text-area/types.d.ts +21 -1
  90. package/build/es/components/typography/Text.d.ts +5 -0
  91. package/build/es/components/typography/Text.js +2 -0
  92. package/build/es/components/typography/Text.js.map +1 -0
  93. package/build/es/components/typography/Title.d.ts +5 -0
  94. package/build/es/components/typography/Title.js +2 -0
  95. package/build/es/components/typography/Title.js.map +1 -0
  96. package/build/es/components/typography/index.d.ts +3 -0
  97. package/build/es/components/typography/index.js +2 -0
  98. package/build/es/components/typography/index.js.map +1 -0
  99. package/build/es/components/typography/types.d.ts +48 -0
  100. package/build/es/components/typography/types.js +2 -0
  101. package/build/es/components/typography/types.js.map +1 -0
  102. package/build/es/tokens.d.ts +90 -38
  103. package/build/es/tokens.js +1 -1
  104. package/build/es/tokens.js.map +1 -1
  105. package/codemods/__tests__/import-paths.test.mjs +273 -0
  106. package/codemods/import-paths.mjs +527 -0
  107. package/package.json +7 -1
  108. package/src/fonts/InterVariable-Italic.woff2 +0 -0
  109. package/src/fonts/InterVariable.woff2 +0 -0
  110. package/src/fonts/brands/dnb/DNB-Bold.woff2 +0 -0
  111. package/src/fonts/brands/dnb/DNB-Medium.woff2 +0 -0
  112. package/src/fonts/brands/dnb/DNB-Regular.woff2 +0 -0
  113. package/src/fonts/brands/dnb/DNBMono-Regular.woff2 +0 -0
  114. package/src/fonts/brands/eika/OpenSans-Bold.woff2 +0 -0
  115. package/src/fonts/brands/eika/OpenSans-Light.woff2 +0 -0
  116. package/src/fonts/brands/eika/OpenSans-Regular.woff2 +0 -0
  117. package/src/fonts/brands/eika/OpenSans-SemiBold.woff2 +0 -0
  118. package/src/fonts/brands/fremtind/Fremtind-Material-Symbols.woff2 +0 -0
  119. package/src/fonts/brands/fremtind/InterVariable-Italic.woff2 +0 -0
  120. package/src/fonts/brands/fremtind/InterVariable.woff2 +0 -0
  121. package/src/fonts/brands/sparebank1/SpareBank1-Medium-Web.woff2 +0 -0
  122. package/src/fonts/brands/sparebank1/SpareBank1-Regular-Web.woff2 +0 -0
  123. package/src/fonts/brands/sparebank1/SpareBank1-Title-Medium-Web.woff2 +0 -0
  124. package/styles/base.css +804 -185
  125. package/styles/base.min.css +1 -1
  126. package/styles/components/autosuggest/autosuggest.css +4 -4
  127. package/styles/components/autosuggest/autosuggest.min.css +1 -1
  128. package/styles/components/autosuggest/autosuggest.scss +4 -4
  129. package/styles/components/beta/description-list/description-list.css +1 -1
  130. package/styles/components/beta/description-list/description-list.min.css +1 -1
  131. package/styles/components/beta/description-list/description-list.scss +1 -1
  132. package/styles/components/beta/nav-link/navlink.css +4 -4
  133. package/styles/components/beta/nav-link/navlink.min.css +1 -1
  134. package/styles/components/beta/nav-link/navlink.scss +6 -4
  135. package/styles/components/beta/select/select.css +9 -9
  136. package/styles/components/beta/select/select.min.css +1 -1
  137. package/styles/components/beta/select/select.scss +8 -7
  138. package/styles/components/breadcrumb/breadcrumb.css +1 -1
  139. package/styles/components/breadcrumb/breadcrumb.min.css +1 -1
  140. package/styles/components/button/button.css +8 -4
  141. package/styles/components/button/button.min.css +1 -1
  142. package/styles/components/button/button.scss +14 -14
  143. package/styles/components/card/card.css +6 -11
  144. package/styles/components/card/card.min.css +1 -1
  145. package/styles/components/card/card.scss +5 -12
  146. package/styles/components/checkbox/checkbox.css +43 -15
  147. package/styles/components/checkbox/checkbox.min.css +1 -1
  148. package/styles/components/checkbox/checkbox.scss +35 -24
  149. package/styles/components/checkbox-panel/checkbox-panel.css +65 -32
  150. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  151. package/styles/components/checkbox-panel/checkbox-panel.scss +4 -0
  152. package/styles/components/checkbox-panel/development/styles.scss +1 -1
  153. package/styles/components/chip/chip.css +6 -6
  154. package/styles/components/chip/chip.min.css +1 -1
  155. package/styles/components/chip/chip.scss +6 -6
  156. package/styles/components/combobox/combobox.css +25 -23
  157. package/styles/components/combobox/combobox.min.css +1 -1
  158. package/styles/components/combobox/combobox.scss +15 -18
  159. package/styles/components/countdown/countdown.css +4 -4
  160. package/styles/components/countdown/countdown.min.css +1 -1
  161. package/styles/components/datepicker/_calendar-date-button.scss +11 -9
  162. package/styles/components/datepicker/_calendar-navigation-dropdown.scss +1 -1
  163. package/styles/components/datepicker/_calendar.scss +6 -7
  164. package/styles/components/datepicker/datepicker.css +20 -12
  165. package/styles/components/datepicker/datepicker.min.css +1 -1
  166. package/styles/components/description-list/description-list.css +1 -1
  167. package/styles/components/description-list/description-list.min.css +1 -1
  168. package/styles/components/description-list/description-list.scss +1 -1
  169. package/styles/components/expander/expandable.css +21 -18
  170. package/styles/components/expander/expandable.min.css +1 -1
  171. package/styles/components/expander/expandable.scss +20 -20
  172. package/styles/components/feedback/_index.scss +1 -1
  173. package/styles/components/feedback/feedback.css +6 -8
  174. package/styles/components/feedback/feedback.min.css +1 -1
  175. package/styles/components/feedback/feedback.scss +4 -9
  176. package/styles/components/file/file.css +5 -5
  177. package/styles/components/file/file.min.css +1 -1
  178. package/styles/components/file/file.scss +5 -5
  179. package/styles/components/file-input/file-input.css +29 -25
  180. package/styles/components/file-input/file-input.min.css +1 -1
  181. package/styles/components/file-input/file-input.scss +3 -3
  182. package/styles/components/help/help.css +2 -2
  183. package/styles/components/help/help.min.css +1 -1
  184. package/styles/components/help/help.scss +4 -4
  185. package/styles/components/icon/_base-styles.scss +12 -14
  186. package/styles/components/icon/icon.css +5 -5
  187. package/styles/components/icon/icon.min.css +1 -1
  188. package/styles/components/icon/icon.scss +73 -73
  189. package/styles/components/icon-button/icon-button.css +2 -2
  190. package/styles/components/icon-button/icon-button.min.css +1 -1
  191. package/styles/components/icon-button/icon-button.scss +1 -1
  192. package/styles/components/input-group/input-group.css +2 -2
  193. package/styles/components/input-group/input-group.min.css +1 -1
  194. package/styles/components/input-panel/input-panel.css +19 -17
  195. package/styles/components/input-panel/input-panel.min.css +1 -1
  196. package/styles/components/input-panel/input-panel.scss +21 -20
  197. package/styles/components/link/link.css +2 -2
  198. package/styles/components/link/link.min.css +1 -1
  199. package/styles/components/link-list/link-list.css +8 -4
  200. package/styles/components/link-list/link-list.min.css +1 -1
  201. package/styles/components/link-list/link-list.scss +7 -3
  202. package/styles/components/loader/loader.css +6 -6
  203. package/styles/components/loader/loader.min.css +1 -1
  204. package/styles/components/loader/skeleton-loader.css +4 -4
  205. package/styles/components/loader/skeleton-loader.min.css +1 -1
  206. package/styles/components/loader/skeleton-loader.scss +1 -1
  207. package/styles/components/menu/_menu-divider.scss +1 -1
  208. package/styles/components/menu/_menu-item.scss +2 -2
  209. package/styles/components/menu/menu.css +5 -5
  210. package/styles/components/menu/menu.min.css +1 -1
  211. package/styles/components/menu/menu.scss +2 -2
  212. package/styles/components/message/message.css +20 -10
  213. package/styles/components/message/message.min.css +1 -1
  214. package/styles/components/message/message.scss +19 -12
  215. package/styles/components/modal/_layout.scss +22 -0
  216. package/styles/components/modal/_modal-base.scss +32 -0
  217. package/styles/components/modal/_motion.scss +45 -0
  218. package/styles/components/modal/_overlay.scss +20 -0
  219. package/styles/components/modal/_parts.scss +33 -0
  220. package/styles/components/modal/_placement.scss +59 -0
  221. package/styles/components/modal/modal.css +118 -34
  222. package/styles/components/modal/modal.min.css +1 -1
  223. package/styles/components/modal/modal.scss +6 -95
  224. package/styles/components/nav-link/nav-link.css +1 -1
  225. package/styles/components/nav-link/nav-link.min.css +1 -1
  226. package/styles/components/pagination/development/styles.scss +1 -1
  227. package/styles/components/pagination/pagination.css +3 -3
  228. package/styles/components/pagination/pagination.min.css +1 -1
  229. package/styles/components/pagination/pagination.scss +2 -2
  230. package/styles/components/popover/popover.css +12 -1
  231. package/styles/components/popover/popover.min.css +1 -1
  232. package/styles/components/popover/popover.scss +15 -1
  233. package/styles/components/progress-bar/progress-bar.css +27 -3
  234. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  235. package/styles/components/progress-bar/progress-bar.scss +5 -0
  236. package/styles/components/radio-button/radio-button.css +43 -8
  237. package/styles/components/radio-button/radio-button.min.css +1 -1
  238. package/styles/components/radio-button/radio-button.scss +35 -16
  239. package/styles/components/radio-panel/development/styles.scss +1 -1
  240. package/styles/components/radio-panel/radio-panel.css +22 -17
  241. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  242. package/styles/components/radio-panel/radio-panel.scss +4 -0
  243. package/styles/components/search/search-with-submit-button.css +1 -1
  244. package/styles/components/search/search-with-submit-button.min.css +1 -1
  245. package/styles/components/search/search-with-submit-button.scss +1 -1
  246. package/styles/components/search/search.css +4 -4
  247. package/styles/components/search/search.min.css +1 -1
  248. package/styles/components/search/search.scss +3 -3
  249. package/styles/components/segmented-control/segmented-control.css +61 -26
  250. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  251. package/styles/components/segmented-control/segmented-control.scss +7 -7
  252. package/styles/components/select/select.css +17 -18
  253. package/styles/components/select/select.min.css +1 -1
  254. package/styles/components/select/select.scss +24 -29
  255. package/styles/components/summary-table/development/summary-table-example.scss +1 -1
  256. package/styles/components/summary-table/summary-table.css +2 -2
  257. package/styles/components/summary-table/summary-table.min.css +1 -1
  258. package/styles/components/summary-table/summary-table.scss +2 -2
  259. package/styles/components/system-message/system-message.css +23 -13
  260. package/styles/components/system-message/system-message.min.css +1 -1
  261. package/styles/components/system-message/system-message.scss +119 -108
  262. package/styles/components/table/_table-head.scss +1 -1
  263. package/styles/components/table/_table-row.scss +5 -3
  264. package/styles/components/table/table.css +6 -4
  265. package/styles/components/table/table.min.css +1 -1
  266. package/styles/components/table-of-contents/table-of-contents.css +2 -2
  267. package/styles/components/table-of-contents/table-of-contents.min.css +1 -1
  268. package/styles/components/table-of-contents/table-of-contents.scss +3 -3
  269. package/styles/components/tabs/tabs.css +5 -5
  270. package/styles/components/tabs/tabs.min.css +1 -1
  271. package/styles/components/tabs/tabs.scss +5 -6
  272. package/styles/components/tag/tag.css +16 -6
  273. package/styles/components/tag/tag.min.css +1 -1
  274. package/styles/components/tag/tag.scss +18 -7
  275. package/styles/components/text-area/text-area.css +12 -12
  276. package/styles/components/text-area/text-area.min.css +1 -1
  277. package/styles/components/text-input/text-input.css +12 -12
  278. package/styles/components/text-input/text-input.min.css +1 -1
  279. package/styles/components/toast/toast.css +20 -13
  280. package/styles/components/toast/toast.min.css +1 -1
  281. package/styles/components/toast/toast.scss +19 -18
  282. package/styles/components/toggle-switch/_toggle-slider.scss +4 -4
  283. package/styles/components/toggle-switch/toggle-switch.css +15 -25
  284. package/styles/components/toggle-switch/toggle-switch.min.css +1 -3
  285. package/styles/components/toggle-switch/toggle-switch.scss +10 -22
  286. package/styles/components/tooltip/tooltip.css +5 -5
  287. package/styles/components/tooltip/tooltip.min.css +1 -1
  288. package/styles/components/tooltip/tooltip.scss +5 -5
  289. package/styles/components/typography/_index.scss +2 -0
  290. package/styles/components/typography/text.css +38 -0
  291. package/styles/components/typography/text.min.css +1 -0
  292. package/styles/components/typography/text.scss +54 -0
  293. package/styles/components/typography/title.css +55 -0
  294. package/styles/components/typography/title.min.css +1 -0
  295. package/styles/components/typography/title.scss +59 -0
  296. package/styles/components.css +684 -365
  297. package/styles/components.min.css +1 -3
  298. package/styles/components.scss +53 -52
  299. package/styles/core/utility/_paragraphs.scss +39 -0
  300. package/styles/global/_base-class.scss +2 -2
  301. package/styles/global/_top-layer.scss +1 -1
  302. package/styles/hooks/stories/styles.scss +3 -3
  303. package/styles/jkl/_ornaments.scss +1 -1
  304. package/styles/jkl/_tokens.scss +140 -66
  305. package/styles/jkl/_typography.scss +13 -21
  306. package/styles/shared/input/shared-input-styles.scss +11 -15
  307. package/styles/shared/track/track.scss +2 -2
  308. package/styles/tailwind.css +104 -60
  309. package/styles/theme/_color-scheme.scss +107 -60
  310. package/styles/theme/_dynamic-spacing.scss +6 -6
  311. package/styles/theme/_fonts.scss +24 -74
  312. package/styles/theme/_index.scss +4 -0
  313. package/styles/theme/_tokens.scss +3 -3
  314. package/styles/theme/brands/dnb/_color-scheme.scss +121 -0
  315. package/styles/theme/brands/dnb/_fonts.scss +46 -0
  316. package/styles/theme/brands/dnb/_index.scss +2 -0
  317. package/styles/theme/brands/eika/_color-scheme.scss +121 -0
  318. package/styles/theme/brands/eika/_fonts.scss +46 -0
  319. package/styles/theme/brands/eika/_index.scss +2 -0
  320. package/styles/theme/brands/fremtind/_color-scheme.scss +121 -0
  321. package/styles/theme/brands/fremtind/_fonts.scss +30 -0
  322. package/styles/theme/brands/fremtind/_index.scss +2 -0
  323. package/styles/theme/brands/sparebank1/_color-scheme.scss +121 -0
  324. package/styles/theme/brands/sparebank1/_fonts.scss +38 -0
  325. package/styles/theme/brands/sparebank1/_index.scss +2 -0
  326. package/styles/utility/_headings.scss +1 -1
  327. package/styles/utility/_paragraphs.scss +2 -2
  328. package/styles/utility/_screen-reader.scss +1 -1
  329. package/styles/utility/_spacing.scss +2 -2
  330. package/src/fonts/FremtindGrotesk-Bold-Web.woff +0 -0
  331. package/src/fonts/FremtindGrotesk-Bold-Web.woff2 +0 -0
  332. package/src/fonts/FremtindGrotesk-BoldItalic-Web.woff +0 -0
  333. package/src/fonts/FremtindGrotesk-BoldItalic-Web.woff2 +0 -0
  334. package/src/fonts/FremtindGrotesk-Display-Web.woff +0 -0
  335. package/src/fonts/FremtindGrotesk-Display-Web.woff2 +0 -0
  336. package/src/fonts/FremtindGrotesk-Italic-Web.woff +0 -0
  337. package/src/fonts/FremtindGrotesk-Italic-Web.woff2 +0 -0
  338. package/src/fonts/FremtindGrotesk-Regular-Web.woff +0 -0
  339. package/src/fonts/FremtindGrotesk-Regular-Web.woff2 +0 -0
  340. package/src/fonts/FremtindGroteskMono-Regular-Web.woff +0 -0
  341. package/src/fonts/FremtindGroteskMono-Regular-Web.woff2 +0 -0
@@ -25,8 +25,8 @@
25
25
  color: var(--jkl-color-text-subdued);
26
26
  }
27
27
  .jkl-autosuggest__menu {
28
- background-color: var(--jkl-color-background-container-high);
29
- border: 0.125rem solid var(--jkl-color-border-input-focus);
28
+ background-color: var(--jkl-color-background-container);
29
+ border: 0.125rem solid var(--jkl-color-border-strong);
30
30
  border-top: none;
31
31
  border-radius: 0 0 var(--border-radius) var(--border-radius);
32
32
  box-sizing: border-box;
@@ -51,7 +51,7 @@
51
51
  display: flex;
52
52
  align-items: center;
53
53
  border: 0;
54
- background-color: var(--jkl-color-background-interactive);
54
+ background-color: transparent;
55
55
  min-height: var(--jkl-autosuggest-option-height);
56
56
  text-align: left;
57
57
  transition-timing-function: var(--jkl-motion-easing-standard);
@@ -63,13 +63,12 @@
63
63
  }
64
64
  .jkl-autosuggest__item:focus, .jkl-autosuggest__item--active, .jkl-autosuggest__item:hover {
65
65
  color: var(--jkl-color-text-default);
66
- background-color: var(--jkl-color-background-interactive-hover);
66
+ background-color: color-mix(in srgb, currentColor 10%, transparent);
67
67
  }
68
68
  }
69
69
  @layer jokul.components {
70
70
  .jkl-text-input-wrapper {
71
- --jkl-text-input-padding: var(--jkl-text-input-vertical-padding)
72
- var(--jkl-text-input-horizontal-padding);
71
+ --jkl-text-input-padding: var(--jkl-text-input-vertical-padding) var(--jkl-text-input-horizontal-padding);
73
72
  --jkl-text-input-vertical-padding: var(--jkl-unit-15);
74
73
  --jkl-text-input-horizontal-padding: var(--jkl-unit-15);
75
74
  --jkl-text-input-action-button-size: var(--jkl-unit-60);
@@ -77,8 +76,8 @@
77
76
  --jkl-text-input-action-button-padding: var(--jkl-unit-10) 0;
78
77
  --jkl-text-input-action-button-focus-position: var(--jkl-unit-05);
79
78
  --text-color: var(--jkl-color-text-default);
80
- --background-color: var(--jkl-color-background-input-base);
81
- --border-color: var(--jkl-color-border-input);
79
+ --background-color: transparent;
80
+ --border-color: var(--jkl-color-border-default);
82
81
  --placeholder-color: var(--jkl-color-text-subdued);
83
82
  border-radius: var(--jkl-border-radius-s);
84
83
  box-sizing: border-box;
@@ -95,15 +94,16 @@
95
94
  box-shadow: inset 0 0 0 0.0625rem var(--border-color), 0 0 0 0.0625rem transparent;
96
95
  }
97
96
  .jkl-text-input-wrapper:focus-within, .jkl-text-input-wrapper:has([data-focused=true]) {
98
- --background-color: var(--jkl-color-background-input-focus);
97
+ --background-color: var(--jkl-color-background-container);
99
98
  }
100
99
  .jkl-text-input-wrapper[data-invalid=true]:not(:focus-within):not(:has([data-focused=true])) {
101
- --background-color: var(--jkl-color-background-alert-error);
102
- --text-color: var(--jkl-color-text-on-alert);
103
- --placeholder-color: color(from currentColor sRGB r g b / 75%);
100
+ --background-color: var(--jkl-color-error-background-container);
101
+ --text-color: var(--jkl-color-error-text-default);
102
+ --border-color: var(--jkl-color-error-border-default);
103
+ --placeholder-color: var(--jkl-color-error-text-subdued);
104
104
  }
105
105
  .jkl-text-input-wrapper:hover, .jkl-text-input-wrapper:focus-within, .jkl-text-input-wrapper:has([data-focused=true]) {
106
- --border-color: var(--jkl-color-border-input-focus);
106
+ --border-color: var(--jkl-color-border-strong);
107
107
  box-shadow: inset 0 0 0 0.0625rem var(--border-color), 0 0 0 0.0625rem var(--border-color);
108
108
  }
109
109
  @media screen and (forced-colors: active) {
@@ -112,11 +112,11 @@
112
112
  }
113
113
  }
114
114
  html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-input-wrapper:has(.jkl-text-input__input:focus-visible), html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-input-wrapper:has(.jkl-text-area__text-area:focus-visible) {
115
- outline: 3px solid var(--jkl-color-border-action);
115
+ outline: 3px solid var(--jkl-color-border-strong);
116
116
  outline-offset: 3px;
117
117
  }
118
118
  .jkl-text-input-wrapper > .jkl-icon-button:focus-visible {
119
- outline: 3px solid var(--jkl-color-border-action);
119
+ outline: 3px solid var(--jkl-color-border-strong);
120
120
  outline-offset: -8px;
121
121
  }
122
122
  @media screen and (forced-colors: active) {
@@ -140,7 +140,7 @@
140
140
  width: var(--jkl-text-input-action-button-icon-size);
141
141
  }
142
142
  .jkl-text-input-wrapper > .jkl-text-input-action-button:hover {
143
- color: var(--jkl-color-text-interactive-hover);
143
+ color: var(--jkl-color-text-subdued);
144
144
  }
145
145
  @media screen and (forced-colors: active) {
146
146
  .jkl-text-input-wrapper > .jkl-text-input-action-button:hover {
@@ -224,7 +224,7 @@
224
224
  @layer jokul.components {
225
225
  .jkl-icon {
226
226
  --jkl-icon-fill: 0;
227
- font-family: "Fremtind Material Symbols", "Fremtind Material Symbols Fallback", sans-serif;
227
+ font-family: "Jokul Icons", "Jokul Icons Fallback", sans-serif;
228
228
  font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
229
229
  font-feature-settings: "liga";
230
230
  -webkit-font-feature-settings: "liga";
@@ -244,8 +244,8 @@
244
244
  display: block;
245
245
  }
246
246
  .jkl-icon-red-cross {
247
- --red-cross-circle: var(--jkl-color-background-alert-error);
248
- --red-cross-path: var(--jkl-color-text-on-alert);
247
+ --red-cross-circle: var(--jkl-color-error-background-contrast);
248
+ --red-cross-path: var(--jkl-color-error-text-on-contrast);
249
249
  width: 1.3em;
250
250
  height: 1.3em;
251
251
  }
@@ -256,8 +256,8 @@
256
256
  fill: var(--red-cross-circle);
257
257
  }
258
258
  .jkl-icon-green-check {
259
- --green-check-circle: var(--jkl-color-background-alert-success);
260
- --green-check-path: var(--jkl-color-text-on-alert);
259
+ --green-check-circle: var(--jkl-color-success-background-contrast);
260
+ --green-check-path: var(--jkl-color-success-text-on-contrast);
261
261
  width: 1.3em;
262
262
  height: 1.3em;
263
263
  }
@@ -357,11 +357,11 @@
357
357
  display: revert;
358
358
  }
359
359
  .jkl-icon-button:focus-visible {
360
- outline: 3px solid var(--jkl-color-border-action);
360
+ outline: 3px solid var(--jkl-color-border-strong);
361
361
  outline-offset: 3px;
362
362
  }
363
363
  .jkl-icon-button:hover {
364
- color: var(--jkl-color-text-interactive-hover);
364
+ color: var(--jkl-color-text-subdued);
365
365
  }
366
366
  @media screen and (forced-colors: active) {
367
367
  .jkl-icon-button {
@@ -431,7 +431,7 @@
431
431
  --color: var(--jkl-color-text-default);
432
432
  }
433
433
  .jkl-form-support-label--error .jkl-form-support-label__icon, .jkl-form-support-label--warning .jkl-form-support-label__icon, .jkl-form-support-label--success .jkl-form-support-label__icon {
434
- animation: var(--jkl-motion-timing-lazy) cubic-bezier(0, 0, 0.3, 1) var(--jkl-motion-timing-expressive) jkl-support-icon-entrance-udz455c forwards;
434
+ animation: var(--jkl-motion-timing-lazy) cubic-bezier(0, 0, 0.3, 1) var(--jkl-motion-timing-expressive) jkl-support-icon-entrance-ujgb841 forwards;
435
435
  }
436
436
  .jkl-form-support-label--sr-only {
437
437
  border: 0 !important;
@@ -485,7 +485,7 @@
485
485
  .jkl-label:has(+ .jkl-input-group-description) {
486
486
  margin-block-end: var(--jkl-spacing-4);
487
487
  }
488
- @keyframes jkl-support-icon-entrance-udz455c {
488
+ @keyframes jkl-support-icon-entrance-ujgb841 {
489
489
  0% {
490
490
  margin-right: 0;
491
491
  opacity: 0;
@@ -533,10 +533,10 @@
533
533
  }
534
534
  .jkl-tooltip-content {
535
535
  --content-padding: var(--jkl-unit-15);
536
- --background-color: var(--jkl-color-background-container-inverted);
536
+ --background-color: var(--jkl-color-background-contrast);
537
537
  font: var(--jkl-text-style-paragraph-small);
538
538
  background-color: var(--background-color);
539
- color: var(--jkl-color-text-inverted);
539
+ color: var(--jkl-color-text-on-contrast);
540
540
  display: inline-block;
541
541
  min-width: min-content;
542
542
  max-width: min(19.375rem, 100%);
@@ -559,7 +559,7 @@
559
559
  padding: 0;
560
560
  display: inline-flex;
561
561
  align-items: baseline;
562
- color: var(--jkl-color-text-interactive);
562
+ color: var(--jkl-color-text-default);
563
563
  transform: translateY(min(0.25em, 0.375rem));
564
564
  border-radius: 9999px;
565
565
  }
@@ -584,10 +584,10 @@
584
584
  }
585
585
  }
586
586
  .jkl-tooltip-question-button:hover {
587
- --button-color: var(--jkl-color-text-interactive-hover);
587
+ color: var(--jkl-color-text-subdued);
588
588
  }
589
589
  .jkl-tooltip-question-button:focus-visible {
590
- outline: 3px solid var(--jkl-color-border-action);
590
+ outline: 3px solid var(--jkl-color-border-strong);
591
591
  outline-offset: 0;
592
592
  }
593
593
  .jkl-tooltip-question-button::after {
@@ -611,7 +611,7 @@
611
611
  background-image: none;
612
612
  }
613
613
  .jkl-breadcrumb a:focus-visible {
614
- outline: 3px solid var(--jkl-color-border-action);
614
+ outline: 3px solid var(--jkl-color-border-strong);
615
615
  outline-offset: 3px;
616
616
  }
617
617
  .jkl-breadcrumb__list {
@@ -659,7 +659,7 @@
659
659
  margin-block-start: -0.1em;
660
660
  padding-inline-start: 0.2em;
661
661
  vertical-align: middle;
662
- font-family: "Fremtind Material Symbols", "Fremtind Material Symbols Fallback", sans-serif;
662
+ font-family: "Jokul Icons", "Jokul Icons Fallback", sans-serif;
663
663
  font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
664
664
  font-feature-settings: "liga";
665
665
  -webkit-font-feature-settings: "liga";
@@ -680,7 +680,7 @@
680
680
  --link-color: var(--jkl-color-text-subdued);
681
681
  }
682
682
  .jkl-link:focus-visible {
683
- outline: 3px solid var(--jkl-color-border-action);
683
+ outline: 3px solid var(--jkl-color-border-strong);
684
684
  outline-offset: 0;
685
685
  }
686
686
  @media screen and (forced-colors: active) {
@@ -698,6 +698,7 @@
698
698
  --jkl-button-padding-icon: var(--jkl-unit-20);
699
699
  --jkl-button-padding-icon-button: var(--jkl-unit-10);
700
700
  --jkl-button-tertiary-padding-icon: var(--jkl-unit-05);
701
+ --jkl-button-text-ink-offset: 0.1em;
701
702
  --jkl-icon-weight: var(--jkl-icon-weight-bold);
702
703
  --text-color: var(--jkl-color-text-default);
703
704
  --background-color: transparent;
@@ -759,8 +760,11 @@
759
760
  pointer-events: none;
760
761
  }
761
762
  .jkl-button__text {
763
+ display: block;
762
764
  width: 100%;
763
765
  max-width: 100%;
766
+ padding-block-start: var(--jkl-button-text-ink-offset);
767
+ margin-block-start: calc(var(--jkl-button-text-ink-offset) * -1);
764
768
  overflow: hidden;
765
769
  white-space: nowrap;
766
770
  text-overflow: ellipsis;
@@ -773,7 +777,7 @@
773
777
  opacity: 1;
774
778
  }
775
779
  .jkl-button:focus-visible {
776
- outline: 3px solid var(--jkl-color-border-action);
780
+ outline: 3px solid var(--jkl-color-border-strong);
777
781
  outline-offset: 3px;
778
782
  }
779
783
  .jkl-button:hover {
@@ -781,7 +785,7 @@
781
785
  }
782
786
  @media (forced-colors: active) {
783
787
  .jkl-button:hover {
784
- outline: 3px solid var(--jkl-color-border-action);
788
+ outline: 3px solid var(--jkl-color-border-strong);
785
789
  outline-offset: 3px;
786
790
  }
787
791
  }
@@ -789,8 +793,8 @@
789
793
  --border-radius: 999px;
790
794
  }
791
795
  .jkl-button--primary {
792
- --background-color: var(--jkl-color-background-action);
793
- --text-color: var(--jkl-color-text-on-action);
796
+ --background-color: var(--jkl-color-background-contrast);
797
+ --text-color: var(--jkl-color-text-on-contrast);
794
798
  }
795
799
  @media (forced-colors: active) {
796
800
  .jkl-button--primary {
@@ -829,22 +833,22 @@
829
833
  animation: 2500ms linear infinite;
830
834
  }
831
835
  .jkl-loader__dot--left {
832
- animation-name: jkl-loader-left-spin-udz455l;
836
+ animation-name: jkl-loader-left-spin-ujgb84l;
833
837
  margin-right: calc(var(--jkl-loader-spacing) * 0.9);
834
838
  }
835
839
  .jkl-loader__dot--middle {
836
- animation-name: jkl-loader-middle-spin-udz4564;
840
+ animation-name: jkl-loader-middle-spin-ujgb84q;
837
841
  margin-right: var(--jkl-loader-spacing);
838
842
  }
839
843
  .jkl-loader__dot--right {
840
- animation-name: jkl-loader-right-spin-udz456e;
844
+ animation-name: jkl-loader-right-spin-ujgb85q;
841
845
  }
842
846
  @media screen and (forced-colors: active) {
843
847
  .jkl-loader__dot {
844
848
  background-color: CanvasText;
845
849
  }
846
850
  }
847
- @keyframes jkl-loader-left-spin-udz455l {
851
+ @keyframes jkl-loader-left-spin-ujgb84l {
848
852
  0% {
849
853
  transform: rotate(0) scale(0);
850
854
  }
@@ -858,7 +862,7 @@
858
862
  transform: rotate(180deg) scale(0);
859
863
  }
860
864
  }
861
- @keyframes jkl-loader-middle-spin-udz4564 {
865
+ @keyframes jkl-loader-middle-spin-ujgb84q {
862
866
  0% {
863
867
  transform: rotate(20deg) scale(0);
864
868
  }
@@ -875,7 +879,7 @@
875
879
  transform: rotate(200deg) scale(0);
876
880
  }
877
881
  }
878
- @keyframes jkl-loader-right-spin-udz456e {
882
+ @keyframes jkl-loader-right-spin-ujgb85q {
879
883
  0% {
880
884
  transform: rotate(40deg) scale(0);
881
885
  }
@@ -897,7 +901,7 @@
897
901
  inherits: true;
898
902
  }
899
903
  .jkl-skeleton-animation {
900
- --jkl-skeleton-element-color: var(--jkl-color-background-container-low);
904
+ --jkl-skeleton-element-color: var(--jkl-color-background-page);
901
905
  --jkl-skeleton-sweep-duration: 4500ms;
902
906
  --jkl-skeleton-sweeper-width: 40%;
903
907
  mask-image: linear-gradient(to right, #000 calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)), transparent calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width) / 2), #000 var(--jkl-skeleton-sweeper-position));
@@ -915,7 +919,7 @@
915
919
  @media screen and (forced-colors: active) {
916
920
  .jkl-skeleton-element {
917
921
  border: 1px solid CanvasText;
918
- animation: 2s ease infinite jkl-blink-udz456m;
922
+ animation: 2s ease infinite jkl-blink-ujgb86l;
919
923
  }
920
924
  }
921
925
  .jkl-skeleton-input {
@@ -963,10 +967,10 @@
963
967
  }
964
968
  @media screen and (forced-colors: active) {
965
969
  .jkl-skeleton-table {
966
- animation: 2s ease-in-out infinite jkl-blink-udz456m;
970
+ animation: 2s ease-in-out infinite jkl-blink-ujgb86l;
967
971
  }
968
972
  }
969
- @keyframes jkl-blink-udz456m {
973
+ @keyframes jkl-blink-ujgb86l {
970
974
  0% {
971
975
  opacity: 1;
972
976
  }
@@ -992,10 +996,10 @@
992
996
  --padding-m: var(--jkl-unit-15);
993
997
  --padding-l: var(--jkl-unit-20);
994
998
  --padding-xl: var(--jkl-unit-30);
995
- --border-radius: 0.25rem;
999
+ --border-radius: var(--jkl-border-radius-m);
996
1000
  --border-color: transparent;
997
1001
  --border-width: 0.0625rem;
998
- --background-color: transparent;
1002
+ --background-color: var(--jkl-color-background-container);
999
1003
  position: relative;
1000
1004
  overflow: hidden;
1001
1005
  display: block;
@@ -1037,24 +1041,19 @@
1037
1041
  .jkl-card[data-padding=xl] {
1038
1042
  --padding: var(--padding-xl);
1039
1043
  }
1040
- .jkl-card--high {
1041
- --background-color: var(--jkl-color-background-container-high);
1042
- }
1043
- .jkl-card--low {
1044
- --background-color: var(--jkl-color-background-container-low);
1045
- }
1046
1044
  .jkl-card--outlined {
1047
- --border-color: var(--jkl-color-border-separator);
1045
+ --border-color: var(--jkl-color-border-subdued);
1046
+ --background-color: transparent;
1048
1047
  }
1049
1048
  .jkl-card[data-clickable=true] {
1050
1049
  cursor: pointer;
1051
1050
  }
1052
1051
  .jkl-card[data-clickable=true]:hover {
1053
- --border-color: var(--jkl-color-border-separator-hover);
1052
+ --border-color: var(--jkl-color-border-strong);
1054
1053
  --border-width: 0.125rem;
1055
1054
  }
1056
1055
  .jkl-card[data-clickable=true]:focus-visible {
1057
- outline: 3px solid var(--jkl-color-border-action);
1056
+ outline: 3px solid var(--jkl-color-border-strong);
1058
1057
  outline-offset: 3px;
1059
1058
  }
1060
1059
  .jkl-card-image {
@@ -1105,12 +1104,14 @@
1105
1104
  .jkl-tag {
1106
1105
  --padding: var(--jkl-unit-02) var(--jkl-unit-10);
1107
1106
  --gap: var(--jkl-unit-05);
1108
- --background-color: var(--jkl-color-background-alert-neutral);
1109
- --text-color: var(--jkl-color-text-on-alert);
1107
+ --background-color: var(--jkl-color-background-container);
1108
+ --text-color: var(--jkl-color-text-default);
1109
+ --border-color: var(--jkl-color-border-subdued);
1110
1110
  font: var(--jkl-text-style-text-small);
1111
1111
  font-weight: var(--jkl-font-weight-bold);
1112
1112
  background-color: var(--background-color);
1113
1113
  color: var(--text-color);
1114
+ border: 1px solid var(--border-color);
1114
1115
  border-radius: 0.25rem;
1115
1116
  display: inline-flex;
1116
1117
  align-items: center;
@@ -1119,16 +1120,24 @@
1119
1120
  gap: var(--gap);
1120
1121
  }
1121
1122
  .jkl-tag--info {
1122
- --background-color: var(--jkl-color-background-alert-info);
1123
+ --background-color: var(--jkl-color-info-background-container);
1124
+ --text-color: var(--jkl-color-info-text-default);
1125
+ --border-color: var(--jkl-color-info-border-subdued);
1123
1126
  }
1124
1127
  .jkl-tag--warning {
1125
- --background-color: var(--jkl-color-background-alert-warning);
1128
+ --background-color: var(--jkl-color-warning-background-container);
1129
+ --text-color: var(--jkl-color-warning-text-default);
1130
+ --border-color: var(--jkl-color-warning-border-subdued);
1126
1131
  }
1127
1132
  .jkl-tag--error {
1128
- --background-color: var(--jkl-color-background-alert-error);
1133
+ --background-color: var(--jkl-color-error-background-container);
1134
+ --text-color: var(--jkl-color-error-text-default);
1135
+ --border-color: var(--jkl-color-error-border-subdued);
1129
1136
  }
1130
1137
  .jkl-tag--success {
1131
- --background-color: var(--jkl-color-background-alert-success);
1138
+ --background-color: var(--jkl-color-success-background-container);
1139
+ --text-color: var(--jkl-color-success-text-default);
1140
+ --border-color: var(--jkl-color-success-border-subdued);
1132
1141
  }
1133
1142
  @media screen and (forced-colors: active) {
1134
1143
  .jkl-tag {
@@ -1152,12 +1161,6 @@
1152
1161
 
1153
1162
  @layer jokul.components {
1154
1163
  .jkl-checkbox {
1155
- /* stylelint-disable declaration-block-no-duplicate-custom-properties -- fallback for browsers without light-dark() support */
1156
- --jkl-checkbox-error-color: #ab2e43;
1157
- --jkl-checkbox-error-color: light-dark(#ab2e43, #d79ba5);
1158
- /* stylelint-enable declaration-block-no-duplicate-custom-properties */
1159
- --box-color: var(--jkl-color-border-action);
1160
- --check-color: var(--jkl-color-border-action);
1161
1164
  --text-color: var(--jkl-color-text-default);
1162
1165
  --background-color: transparent;
1163
1166
  font: var(--jkl-text-style-text-medium);
@@ -1168,10 +1171,37 @@
1168
1171
  }
1169
1172
  .jkl-checkbox__input {
1170
1173
  position: absolute;
1171
- opacity: 0;
1172
- pointer-events: none;
1173
- inset: 0 auto 0 0;
1174
- width: 1lh;
1174
+ inset-block-start: 0;
1175
+ inset-inline-start: 0;
1176
+ block-size: 1lh;
1177
+ inline-size: 1lh;
1178
+ margin: 0;
1179
+ padding: 0;
1180
+ cursor: pointer;
1181
+ z-index: 1;
1182
+ appearance: none;
1183
+ background: transparent;
1184
+ border: 0;
1185
+ }
1186
+ .jkl-checkbox__input {
1187
+ outline: 0;
1188
+ border-style: none;
1189
+ outline-style: none;
1190
+ }
1191
+ .jkl-checkbox__input:active, .jkl-checkbox__input:hover, .jkl-checkbox__input:focus {
1192
+ outline: 0;
1193
+ outline-style: none;
1194
+ }
1195
+ @media screen and (forced-colors: active) {
1196
+ .jkl-checkbox__input {
1197
+ outline: revert;
1198
+ border-style: revert;
1199
+ outline-style: revert;
1200
+ }
1201
+ .jkl-checkbox__input:active, .jkl-checkbox__input:hover, .jkl-checkbox__input:focus {
1202
+ outline: revert;
1203
+ outline-style: revert;
1204
+ }
1175
1205
  }
1176
1206
  .jkl-checkbox__label {
1177
1207
  cursor: pointer;
@@ -1184,7 +1214,7 @@
1184
1214
  .jkl-checkbox__label::before {
1185
1215
  content: "check_box_outline_blank";
1186
1216
  margin-inline-end: 0.25em;
1187
- font-family: "Fremtind Material Symbols", "Fremtind Material Symbols Fallback", sans-serif;
1217
+ font-family: "Jokul Icons", "Jokul Icons Fallback", sans-serif;
1188
1218
  font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
1189
1219
  font-feature-settings: "liga";
1190
1220
  -webkit-font-feature-settings: "liga";
@@ -1197,16 +1227,23 @@
1197
1227
  transition-duration: var(--jkl-motion-timing-energetic);
1198
1228
  transition-property: font-variation-settings, transform;
1199
1229
  }
1200
- .jkl-checkbox__label:has(+ :checked)::before {
1230
+ .jkl-checkbox__input:focus-visible + .jkl-checkbox__label::before {
1231
+ outline: 3px solid var(--jkl-color-border-strong);
1232
+ outline-offset: 3px;
1233
+ }
1234
+ .jkl-checkbox__input:is(:hover, :active) + .jkl-checkbox__label, .jkl-checkbox__label:hover, .jkl-checkbox__label:active {
1235
+ --jkl-icon-weight: var(--jkl-font-weight-bold);
1236
+ }
1237
+ .jkl-checkbox__input:checked + .jkl-checkbox__label::before {
1201
1238
  content: "check_box";
1202
1239
  --jkl-icon-fill: 1;
1203
1240
  }
1204
- .jkl-checkbox__label:has(+ :indeterminate:not(:checked))::before {
1241
+ .jkl-checkbox__input:indeterminate:not(:checked) + .jkl-checkbox__label::before {
1205
1242
  content: "indeterminate_check_box";
1206
1243
  --jkl-icon-fill: 1;
1207
1244
  }
1208
- .jkl-checkbox__label:has(+ [aria-invalid=true])::before {
1209
- color: var(--jkl-checkbox-error-color);
1245
+ .jkl-checkbox__input[aria-invalid=true] + .jkl-checkbox__label::before {
1246
+ color: var(--jkl-color-error-background-contrast);
1210
1247
  }
1211
1248
  .jkl-checkbox + .jkl-checkbox {
1212
1249
  margin-top: 0.75em;
@@ -1220,7 +1257,7 @@
1220
1257
  }
1221
1258
  @layer jokul.components {
1222
1259
  .jkl-input-panel {
1223
- --outer-border-color: var(--jkl-color-border-input);
1260
+ --outer-border-color: var(--jkl-color-border-default);
1224
1261
  --outer-border-thickness: 0.0625rem;
1225
1262
  --background-color: transparent;
1226
1263
  --padding-inline: var(--jkl-unit-25);
@@ -1243,26 +1280,28 @@
1243
1280
  position: relative;
1244
1281
  padding: var(--jkl-unit-20) var(--padding-inline);
1245
1282
  }
1283
+ .jkl-input-panel__header .jkl-radio-button,
1284
+ .jkl-input-panel__header .jkl-checkbox {
1285
+ grid-column: 1/-1;
1286
+ grid-row: 1;
1287
+ inline-size: 100%;
1288
+ }
1289
+ .jkl-input-panel__header label {
1290
+ inline-size: 100%;
1291
+ }
1246
1292
  .jkl-input-panel__header__amount {
1247
1293
  display: flex;
1248
1294
  height: 100%;
1249
1295
  align-items: center;
1296
+ grid-column: 2;
1297
+ grid-row: 1;
1298
+ justify-self: end;
1299
+ pointer-events: none;
1300
+ position: relative;
1301
+ z-index: 1;
1250
1302
  font: var(--jkl-text-style-text-medium);
1251
1303
  font-weight: var(--jkl-font-weight-bold);
1252
1304
  }
1253
- .jkl-input-panel__header label,
1254
- .jkl-input-panel__header .jkl-radio-button,
1255
- .jkl-input-panel__header .jkl-checkbox {
1256
- position: unset;
1257
- }
1258
- .jkl-input-panel__header label::after {
1259
- content: "";
1260
- position: absolute;
1261
- top: 0;
1262
- left: 0;
1263
- inline-size: 100%;
1264
- block-size: 100%;
1265
- }
1266
1305
  .jkl-input-panel__description {
1267
1306
  height: 0;
1268
1307
  overflow: hidden;
@@ -1275,18 +1314,18 @@
1275
1314
  transition-property: height;
1276
1315
  }
1277
1316
  .jkl-input-panel:has(:focus-visible) {
1278
- outline: 3px solid var(--jkl-color-border-action);
1317
+ outline: 3px solid var(--jkl-color-border-strong);
1279
1318
  outline-offset: 3px;
1280
1319
  }
1281
1320
  .jkl-input-panel:has(:checked), .jkl-input-panel[data-always-open=true], .jkl-input-panel:not([data-always-open]) {
1282
- --background-color: var(--jkl-color-background-container-high);
1321
+ --background-color: var(--jkl-color-background-container);
1283
1322
  }
1284
1323
  .jkl-input-panel:has(:checked) .jkl-input-panel__description, .jkl-input-panel[data-always-open=true] .jkl-input-panel__description, .jkl-input-panel:not([data-always-open]) .jkl-input-panel__description {
1285
1324
  height: auto;
1286
1325
  padding-block-end: var(--jkl-unit-20);
1287
1326
  }
1288
1327
  .jkl-input-panel:has(input:hover) {
1289
- --outer-border-color: var(--jkl-color-border-separator-hover);
1328
+ --outer-border-color: var(--jkl-color-border-strong);
1290
1329
  --outer-border-thickness: 0.125rem;
1291
1330
  cursor: pointer;
1292
1331
  }
@@ -1296,6 +1335,9 @@
1296
1335
  /* Visuell justering ettersom ikonet ikke fyller bounding box helt */
1297
1336
  margin-inline-start: -0.1em;
1298
1337
  }
1338
+ .jkl-checkbox-panel .jkl-checkbox__input:focus-visible + .jkl-checkbox__label::before {
1339
+ outline: none;
1340
+ }
1299
1341
  }
1300
1342
  .jkl-chip {
1301
1343
  --padding-inline: var(--jkl-unit-15);
@@ -1303,8 +1345,8 @@
1303
1345
  --height: var(--jkl-unit-40);
1304
1346
  --gap: var(--jkl-unit-05);
1305
1347
  --text-color: var(--jkl-color-text-default);
1306
- --border-color: var(--jkl-color-border-separator);
1307
- --background-color: transparent;
1348
+ --border-color: var(--jkl-color-border-subdued);
1349
+ --background-color: var(--jkl-color-background-container);
1308
1350
  --border-width: 0.0625rem;
1309
1351
  font: var(--jkl-text-style-text-small);
1310
1352
  font-weight: var(--jkl-font-weight-bold);
@@ -1340,16 +1382,16 @@
1340
1382
  transition-property: opacity;
1341
1383
  }
1342
1384
  .jkl-chip:focus-visible {
1343
- outline: 3px solid var(--jkl-color-border-action);
1385
+ outline: 3px solid var(--jkl-color-border-strong);
1344
1386
  outline-offset: 3px;
1345
1387
  }
1346
1388
  .jkl-chip:hover::after {
1347
1389
  opacity: 0.15;
1348
1390
  }
1349
1391
  .jkl-chip--filter[aria-pressed=true] {
1350
- --background-color: var(--jkl-color-background-action);
1351
- --text-color: var(--jkl-color-text-on-action);
1352
- --border-color: var(--text-color);
1392
+ --background-color: var(--jkl-color-background-contrast);
1393
+ --text-color: var(--jkl-color-text-on-contrast);
1394
+ --border-color: var(--jkl-color-border-strong);
1353
1395
  }
1354
1396
  @media screen and (forced-colors: active) {
1355
1397
  .jkl-chip--filter[aria-pressed=true] {
@@ -1365,8 +1407,7 @@
1365
1407
  @layer jokul.components {
1366
1408
  .jkl-combobox {
1367
1409
  --jkl-combobox-button-padding: var(--jkl-unit-10);
1368
- --jkl-combobox-button-active-value-padding: var(--jkl-unit-10)
1369
- var(--jkl-unit-05) var(--jkl-unit-5) var(--jkl-unit-10);
1410
+ --jkl-combobox-button-active-value-padding: var(--jkl-unit-10) var(--jkl-unit-05) var(--jkl-unit-5) var(--jkl-unit-10);
1370
1411
  --jkl-combobox-input-height: 3rem;
1371
1412
  --jkl-combobox-actions-right: var(--jkl-unit-10);
1372
1413
  --jkl-combobox-actions-top: var(--jkl-unit-05);
@@ -1414,8 +1455,7 @@
1414
1455
  display: flex;
1415
1456
  gap: 1ch;
1416
1457
  cursor: pointer;
1417
- --jkl-text-input-padding: var(--jkl-text-input-vertical-padding)
1418
- var(--jkl-text-input-horizontal-padding);
1458
+ --jkl-text-input-padding: var(--jkl-text-input-vertical-padding) var(--jkl-text-input-horizontal-padding);
1419
1459
  --jkl-text-input-vertical-padding: var(--jkl-unit-15);
1420
1460
  --jkl-text-input-horizontal-padding: var(--jkl-unit-15);
1421
1461
  --jkl-text-input-action-button-size: var(--jkl-unit-60);
@@ -1423,8 +1463,8 @@
1423
1463
  --jkl-text-input-action-button-padding: var(--jkl-unit-10) 0;
1424
1464
  --jkl-text-input-action-button-focus-position: var(--jkl-unit-05);
1425
1465
  --text-color: var(--jkl-color-text-default);
1426
- --background-color: var(--jkl-color-background-input-base);
1427
- --border-color: var(--jkl-color-border-input);
1466
+ --background-color: transparent;
1467
+ --border-color: var(--jkl-color-border-default);
1428
1468
  --placeholder-color: var(--jkl-color-text-subdued);
1429
1469
  border-radius: var(--jkl-border-radius-s);
1430
1470
  box-sizing: border-box;
@@ -1441,15 +1481,16 @@
1441
1481
  box-shadow: inset 0 0 0 0.0625rem var(--border-color), 0 0 0 0.0625rem transparent;
1442
1482
  }
1443
1483
  .jkl-combobox__wrapper:focus-within, .jkl-combobox__wrapper:has([data-focused=true]) {
1444
- --background-color: var(--jkl-color-background-input-focus);
1484
+ --background-color: var(--jkl-color-background-container);
1445
1485
  }
1446
1486
  .jkl-combobox__wrapper[data-invalid=true]:not(:focus-within):not(:has([data-focused=true])) {
1447
- --background-color: var(--jkl-color-background-alert-error);
1448
- --text-color: var(--jkl-color-text-on-alert);
1449
- --placeholder-color: color(from currentColor sRGB r g b / 75%);
1487
+ --background-color: var(--jkl-color-error-background-container);
1488
+ --text-color: var(--jkl-color-error-text-default);
1489
+ --border-color: var(--jkl-color-error-border-default);
1490
+ --placeholder-color: var(--jkl-color-error-text-subdued);
1450
1491
  }
1451
1492
  .jkl-combobox__wrapper:hover, .jkl-combobox__wrapper:focus-within, .jkl-combobox__wrapper:has([data-focused=true]) {
1452
- --border-color: var(--jkl-color-border-input-focus);
1493
+ --border-color: var(--jkl-color-border-strong);
1453
1494
  box-shadow: inset 0 0 0 0.0625rem var(--border-color), 0 0 0 0.0625rem var(--border-color);
1454
1495
  }
1455
1496
  @media screen and (forced-colors: active) {
@@ -1458,11 +1499,11 @@
1458
1499
  }
1459
1500
  }
1460
1501
  html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-combobox__wrapper:has(.jkl-text-input__input:focus-visible), html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-combobox__wrapper:has(.jkl-text-area__text-area:focus-visible) {
1461
- outline: 3px solid var(--jkl-color-border-action);
1502
+ outline: 3px solid var(--jkl-color-border-strong);
1462
1503
  outline-offset: 3px;
1463
1504
  }
1464
1505
  .jkl-combobox__wrapper > .jkl-icon-button:focus-visible {
1465
- outline: 3px solid var(--jkl-color-border-action);
1506
+ outline: 3px solid var(--jkl-color-border-strong);
1466
1507
  outline-offset: -8px;
1467
1508
  }
1468
1509
  @media screen and (forced-colors: active) {
@@ -1486,7 +1527,7 @@
1486
1527
  width: var(--jkl-text-input-action-button-icon-size);
1487
1528
  }
1488
1529
  .jkl-combobox__wrapper > .jkl-text-input-action-button:hover {
1489
- color: var(--jkl-color-text-interactive-hover);
1530
+ color: var(--jkl-color-text-subdued);
1490
1531
  }
1491
1532
  @media screen and (forced-colors: active) {
1492
1533
  .jkl-combobox__wrapper > .jkl-text-input-action-button:hover {
@@ -1505,9 +1546,9 @@
1505
1546
  padding: 0.46875rem;
1506
1547
  }
1507
1548
  html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-combobox__wrapper:has(:focus-visible) {
1508
- outline: 3px solid var(--jkl-color-border-action);
1549
+ outline: 3px solid var(--jkl-color-border-strong);
1509
1550
  outline-offset: 3px;
1510
- background-color: var(--jkl-color-background-input-focus);
1551
+ background-color: var(--jkl-color-background-container);
1511
1552
  }
1512
1553
  .jkl-combobox__wrapper:has(.jkl-icon-button:focus-visible) {
1513
1554
  outline: none;
@@ -1520,6 +1561,7 @@
1520
1561
  outline: none;
1521
1562
  padding: 0;
1522
1563
  flex: 1 1 1ch;
1564
+ min-width: 0;
1523
1565
  max-height: var(--jkl-combobox-search-input-height);
1524
1566
  background: none;
1525
1567
  -webkit-appearance: none;
@@ -1593,8 +1635,8 @@
1593
1635
  z-index: 7000;
1594
1636
  left: -0.0625rem;
1595
1637
  right: -0.0625rem;
1596
- background-color: var(--jkl-color-background-container-high);
1597
- border: 0.125rem solid var(--jkl-color-border-input-focus);
1638
+ background-color: var(--jkl-color-background-container);
1639
+ border: 0.125rem solid var(--jkl-color-border-strong);
1598
1640
  border-radius: 0 0 0.1875rem 0.1875rem;
1599
1641
  box-sizing: border-box;
1600
1642
  max-height: calc((var(--jkl-combobox-max-shown-options, 5) + 0.5) * var(--jkl-combobox-input-height));
@@ -1607,7 +1649,7 @@
1607
1649
  align-items: center;
1608
1650
  border: 0;
1609
1651
  color: var(--jkl-color-text-default);
1610
- background-color: var(--jkl-color-background-interactive);
1652
+ background-color: transparent;
1611
1653
  transition-property: color, background-color;
1612
1654
  cursor: pointer;
1613
1655
  padding: var(--jkl-combobox-option-padding);
@@ -1616,7 +1658,7 @@
1616
1658
  line-height: var(--jkl-combobox-option-line-height);
1617
1659
  }
1618
1660
  .jkl-combobox__option:focus, .jkl-combobox__option:hover {
1619
- background-color: var(--jkl-color-background-interactive-hover);
1661
+ background-color: color-mix(in srgb, currentColor 10%, transparent);
1620
1662
  }
1621
1663
  .jkl-combobox__option-description {
1622
1664
  font: var(--jkl-text-style-text-small);
@@ -1632,10 +1674,12 @@
1632
1674
  }
1633
1675
  .jkl-combobox__chips {
1634
1676
  display: flex;
1677
+ flex: 1 1 auto;
1635
1678
  flex-wrap: wrap;
1636
1679
  align-items: center;
1637
1680
  gap: var(--jkl-combobox-chips-gap);
1638
- width: 100%;
1681
+ min-width: 0;
1682
+ box-sizing: border-box;
1639
1683
  padding: var(--jkl-text-input-padding);
1640
1684
  }
1641
1685
  .jkl-combobox__chips .jkl-chip {
@@ -1646,12 +1690,12 @@
1646
1690
  }
1647
1691
  .jkl-combobox--invalid .jkl-combobox__search-input,
1648
1692
  .jkl-combobox--invalid .jkl-combobox__wrapper {
1649
- background-color: var(--jkl-color-background-alert-error);
1693
+ background-color: var(--jkl-color-error-background-container);
1650
1694
  }
1651
1695
  .jkl-combobox--invalid .jkl-combobox__search-input,
1652
1696
  .jkl-combobox--invalid .jkl-combobox__button,
1653
1697
  .jkl-combobox--invalid .jkl-combobox__wrapper {
1654
- color: var(--jkl-color-text-on-alert);
1698
+ color: var(--jkl-color-error-text-default);
1655
1699
  }
1656
1700
  .jkl-combobox--menu-closed .jkl-combobox__search-input {
1657
1701
  position: absolute;
@@ -1765,6 +1809,7 @@
1765
1809
  }
1766
1810
  }
1767
1811
  @layer jokul.components {
1812
+ /* Base layout */
1768
1813
  .jkl-modal-container,
1769
1814
  .jkl-modal-overlay {
1770
1815
  position: fixed;
@@ -1773,29 +1818,46 @@
1773
1818
  .jkl-modal-container {
1774
1819
  z-index: 9000;
1775
1820
  display: flex;
1821
+ align-items: center;
1822
+ justify-content: center;
1776
1823
  }
1777
1824
  .jkl-modal-container[aria-hidden=true] {
1778
- display: none;
1825
+ visibility: hidden;
1826
+ pointer-events: none;
1779
1827
  }
1828
+ }
1829
+ @layer jokul.components {
1780
1830
  .jkl-modal-overlay {
1781
1831
  background-color: rgba(27, 25, 23, 0.8);
1832
+ opacity: 0;
1833
+ transition-timing-function: var(--jkl-motion-easing-entrance);
1834
+ transition-duration: var(--jkl-motion-timing-expressive);
1835
+ transition-property: opacity;
1836
+ }
1837
+ .jkl-modal-container:not([aria-hidden=true]) .jkl-modal-overlay {
1838
+ opacity: 1;
1839
+ }
1840
+ @media (prefers-reduced-motion: reduce) {
1841
+ .jkl-modal-overlay {
1842
+ transition-duration: 0ms;
1843
+ }
1782
1844
  }
1845
+ }
1846
+ @layer jokul.components {
1783
1847
  .jkl-modal {
1784
- --jkl-modal-padding: var(--jkl-unit-50);
1785
- --jkl-modal-min-width: 13.75rem;
1786
- --jkl-modal-max-width: 41.25rem;
1787
- margin: auto;
1848
+ --margin: var(--jkl-spacing-m);
1849
+ container-type: inline-size;
1850
+ box-sizing: border-box;
1851
+ margin: var(--margin);
1852
+ padding: var(--modal-padding, var(--jkl-unit-40));
1788
1853
  z-index: 9000;
1789
- position: relative;
1790
- background-color: var(--jkl-color-background-container-high);
1791
- border-radius: 0.125rem;
1854
+ background-color: var(--jkl-color-background-container);
1855
+ border-radius: var(--jkl-border-radius-l);
1792
1856
  box-shadow: 0 0.25rem 0.75rem rgba(37, 42, 49, 0.03);
1793
- width: 100%;
1794
- min-width: var(--jkl-modal-min-width);
1795
- max-width: var(--jkl-modal-max-width);
1857
+ width: min(100vw - 2 * var(--margin), var(--modal-width, 60ch));
1858
+ max-width: none;
1796
1859
  max-height: 90vh;
1797
1860
  overflow: auto;
1798
- padding: var(--jkl-modal-padding);
1799
1861
  display: flex;
1800
1862
  flex-direction: column;
1801
1863
  }
@@ -1804,26 +1866,100 @@
1804
1866
  border-color: CanvasText;
1805
1867
  }
1806
1868
  }
1807
- @media (width >= 0) and (max-width: 679px) {
1808
- .jkl-modal {
1809
- margin: auto var(--jkl-unit-30);
1810
- }
1869
+ }
1870
+ @layer jokul.components {
1871
+ .jkl-modal-container--slide-in {
1872
+ --jkl-modal-slide-x: 0px;
1873
+ --jkl-modal-slide-y: 12px;
1874
+ transition-timing-function: var(--jkl-motion-easing-exit);
1875
+ transition-duration: var(--jkl-motion-timing-expressive);
1876
+ transition-property: visibility;
1877
+ transition-duration: 0ms;
1811
1878
  }
1812
- .jkl-modal-header {
1813
- --jkl-modal-header-margin: 0 0 var(--jkl-unit-20);
1879
+ .jkl-modal-container--slide-in[aria-hidden=true] {
1880
+ display: flex;
1881
+ visibility: hidden;
1882
+ pointer-events: none;
1883
+ transition-delay: var(--jkl-motion-timing-expressive);
1814
1884
  }
1815
- @media (width >= 0) and (max-width: 679px) {
1816
- .jkl-modal-header {
1817
- --jkl-modal-header-margin: 0 0 var(--jkl-unit-15);
1885
+ .jkl-modal-container--slide-in:not([aria-hidden=true]) {
1886
+ visibility: visible;
1887
+ transition-delay: 0ms;
1888
+ }
1889
+ .jkl-modal-container--slide-in .jkl-modal {
1890
+ transition-timing-function: var(--jkl-motion-easing-entrance);
1891
+ transition-duration: var(--jkl-motion-timing-expressive);
1892
+ transition-property: transform, opacity;
1893
+ transform: translate(var(--jkl-modal-slide-x), var(--jkl-modal-slide-y));
1894
+ opacity: 0;
1895
+ will-change: transform, opacity;
1896
+ }
1897
+ .jkl-modal-container--slide-in:not([aria-hidden=true]) .jkl-modal {
1898
+ transform: translate(0, 0);
1899
+ opacity: 1;
1900
+ }
1901
+ @media (prefers-reduced-motion: reduce) {
1902
+ .jkl-modal-container--slide-in .jkl-modal {
1903
+ transition-duration: 0ms;
1818
1904
  }
1819
1905
  }
1906
+ }
1907
+ @layer jokul.components {
1908
+ /* Placement: bottom */
1909
+ .jkl-modal-container--placement-bottom {
1910
+ align-items: flex-end;
1911
+ }
1912
+ .jkl-modal-container--placement-bottom.jkl-modal-container--slide-in {
1913
+ --jkl-modal-slide-x: 0px;
1914
+ --jkl-modal-slide-y: 24px;
1915
+ }
1916
+ .jkl-modal-container--placement-bottom .jkl-modal {
1917
+ --margin: 0px;
1918
+ width: min(100vw, var(--modal-width, 100vw));
1919
+ border-bottom-left-radius: 0;
1920
+ border-bottom-right-radius: 0;
1921
+ }
1922
+ /* Placement: left */
1923
+ .jkl-modal-container--placement-left {
1924
+ justify-content: flex-start;
1925
+ }
1926
+ .jkl-modal-container--placement-left.jkl-modal-container--slide-in {
1927
+ --jkl-modal-slide-x: -24px;
1928
+ --jkl-modal-slide-y: 0px;
1929
+ }
1930
+ .jkl-modal-container--placement-left .jkl-modal {
1931
+ height: 100%;
1932
+ max-height: 100%;
1933
+ margin-block: 0;
1934
+ margin-inline-start: 0;
1935
+ border-top-left-radius: 0;
1936
+ border-bottom-left-radius: 0;
1937
+ }
1938
+ /* Placement: right */
1939
+ .jkl-modal-container--placement-right {
1940
+ justify-content: flex-end;
1941
+ }
1942
+ .jkl-modal-container--placement-right.jkl-modal-container--slide-in {
1943
+ --jkl-modal-slide-x: 24px;
1944
+ --jkl-modal-slide-y: 0px;
1945
+ }
1946
+ .jkl-modal-container--placement-right .jkl-modal {
1947
+ height: 100%;
1948
+ max-height: 100%;
1949
+ margin-block: 0;
1950
+ margin-inline-end: 0;
1951
+ border-top-right-radius: 0;
1952
+ border-bottom-right-radius: 0;
1953
+ }
1954
+ }
1955
+ @layer jokul.components {
1820
1956
  .jkl-modal-header {
1957
+ --jkl-modal-header-margin: 0 0 var(--jkl-unit-20);
1821
1958
  display: flex;
1822
1959
  flex-direction: row;
1823
1960
  justify-content: space-between;
1824
1961
  align-items: center;
1825
1962
  margin: var(--jkl-modal-header-margin);
1826
- gap: var(--jkl-modal-gap);
1827
1963
  }
1828
1964
  .jkl-modal-body {
1829
1965
  font: var(--jkl-text-style-paragraph-medium);
@@ -1832,20 +1968,12 @@
1832
1968
  font: var(--jkl-text-style-heading-3);
1833
1969
  }
1834
1970
  .jkl-modal-actions {
1835
- --jkl-modal-actions-margin: var(--jkl-unit-50) 0 0 0;
1836
- }
1837
- @media (width >= 0) and (max-width: 679px) {
1838
- .jkl-modal-actions {
1839
- --jkl-modal-actions-margin: var(--jkl-unit-40) 0 0 0;
1840
- }
1841
- }
1842
- .jkl-modal-actions {
1843
- margin: var(--jkl-modal-actions-margin);
1971
+ margin-block-start: var(--jkl-unit-50);
1844
1972
  display: flex;
1845
1973
  flex-direction: column;
1846
- gap: var(--jkl-unit-20);
1974
+ gap: var(--jkl-unit-15) var(--jkl-unit-20);
1847
1975
  }
1848
- @media (min-width: 60ch) {
1976
+ @container (width > 35ch /* ~380px ved vanlig zoom/size */) {
1849
1977
  .jkl-modal-actions {
1850
1978
  flex-direction: row-reverse;
1851
1979
  align-self: flex-end;
@@ -1854,8 +1982,8 @@
1854
1982
  }
1855
1983
  @layer jokul.components {
1856
1984
  .jkl-countdown {
1857
- --track-color: var(--jkl-color-border-separator);
1858
- --bar-color: var(--jkl-color-border-input-focus);
1985
+ --track-color: var(--jkl-color-border-subdued);
1986
+ --bar-color: var(--jkl-color-border-strong);
1859
1987
  --bar-height: 0.25rem;
1860
1988
  background-color: var(--track-color);
1861
1989
  border-radius: 6.25rem;
@@ -1877,10 +2005,10 @@
1877
2005
  }
1878
2006
  }
1879
2007
  .jkl-countdown__tracker {
1880
- animation: jkl-downcount-udz458g var(--duration) linear forwards;
2008
+ animation: jkl-downcount-ujgb884 var(--duration) linear forwards;
1881
2009
  animation-play-state: var(--play-state, running);
1882
2010
  }
1883
- @keyframes jkl-downcount-udz458g {
2011
+ @keyframes jkl-downcount-ujgb884 {
1884
2012
  from {
1885
2013
  width: 100%;
1886
2014
  }
@@ -1890,14 +2018,18 @@
1890
2018
  }
1891
2019
  }
1892
2020
  @layer jokul.components {
1893
- @media (width >= 0) and (max-width: 374px) {
1894
- --jkl-calendar-padding: var(--jkl-unit-05) var(--jkl-unit-10) var(--jkl-unit-20);
1895
- }
1896
2021
  .jkl-calendar {
1897
2022
  --jkl-calendar-padding: var(--jkl-unit-15) var(--jkl-unit-20) var(--jkl-unit-20);
1898
2023
  --jkl-calendar-gap: var(--jkl-unit-15);
2024
+ }
2025
+ @media (width >= 0) and (max-width: 374px) {
2026
+ .jkl-calendar {
2027
+ --jkl-calendar-padding: var(--jkl-unit-05) var(--jkl-unit-10) var(--jkl-unit-20);
2028
+ }
2029
+ }
2030
+ .jkl-calendar {
1899
2031
  display: block;
1900
- background-color: var(--jkl-color-background-container-high);
2032
+ background-color: var(--jkl-color-background-container);
1901
2033
  color: var(--jkl-color);
1902
2034
  }
1903
2035
  .jkl-calendar__padding {
@@ -1970,11 +2102,11 @@
1970
2102
  }
1971
2103
  .jkl-calendar-navigation-dropdown__select option {
1972
2104
  color: var(--jkl-color-text-default);
1973
- background-color: var(--jkl-color-background-container-high);
2105
+ background-color: var(--jkl-color-background-container);
1974
2106
  text-align: left;
1975
2107
  }
1976
2108
  .jkl-calendar-navigation-dropdown__select:focus-visible {
1977
- outline: 3px solid var(--jkl-color-border-action);
2109
+ outline: 3px solid var(--jkl-color-border-strong);
1978
2110
  outline-offset: 3px;
1979
2111
  }
1980
2112
  .jkl-calendar-navigation-dropdown__chevron {
@@ -2002,11 +2134,15 @@
2002
2134
  }
2003
2135
  }
2004
2136
  @layer jokul.components {
2137
+ .jkl-calendar-date-button {
2138
+ --jkl-calendar-date-size: var(--jkl-unit-50);
2139
+ }
2005
2140
  @media (width >= 0) and (max-width: 374px) {
2006
- --jkl-calendar-date-size: var(--jkl-unit-40);
2141
+ .jkl-calendar-date-button {
2142
+ --jkl-calendar-date-size: var(--jkl-unit-40);
2143
+ }
2007
2144
  }
2008
2145
  .jkl-calendar-date-button {
2009
- --jkl-calendar-date-size: var(--jkl-unit-50);
2010
2146
  font: var(--jkl-text-style-text-small);
2011
2147
  appearance: none;
2012
2148
  position: relative;
@@ -2055,12 +2191,12 @@
2055
2191
  font-weight: var(--jkl-font-weight-bold);
2056
2192
  }
2057
2193
  .jkl-calendar-date-button:hover:not(:disabled) {
2058
- background-color: var(--jkl-color-background-interactive-hover);
2194
+ background-color: color-mix(in srgb, currentColor 10%, transparent);
2059
2195
  cursor: pointer;
2060
2196
  }
2061
2197
  .jkl-calendar-date-button[aria-pressed=true] {
2062
- background-color: var(--jkl-color-background-container-inverted);
2063
- color: var(--jkl-color-text-inverted);
2198
+ background-color: var(--jkl-color-background-contrast);
2199
+ color: var(--jkl-color-text-on-contrast);
2064
2200
  cursor: pointer;
2065
2201
  }
2066
2202
  .jkl-calendar-date-button[aria-pressed=true]:hover {
@@ -2070,7 +2206,7 @@
2070
2206
  color: color(from var(--jkl-color-text-subdued) srgb r g b/70%);
2071
2207
  }
2072
2208
  .jkl-calendar-date-button:focus-visible {
2073
- outline: 3px solid var(--jkl-color-border-action);
2209
+ outline: 3px solid var(--jkl-color-border-strong);
2074
2210
  outline-offset: 3px;
2075
2211
  }
2076
2212
  }
@@ -2135,9 +2271,20 @@
2135
2271
  padding: var(--popover-padding, 0);
2136
2272
  z-index: 10000;
2137
2273
  box-shadow: 0 4px 20px 0 var(--shadow-color);
2138
- background-color: var(--jkl-color-background-container-high);
2274
+ background-color: var(--jkl-color-background-container);
2139
2275
  border-radius: var(--jkl-border-radius-s);
2140
2276
  }
2277
+ .jkl-popover:focus-visible {
2278
+ outline: 3px solid var(--jkl-color-border-strong);
2279
+ outline-offset: 3px;
2280
+ }
2281
+ .jkl-popover-trigger:focus {
2282
+ outline: 0;
2283
+ }
2284
+ .jkl-popover-trigger:focus-visible {
2285
+ outline: 3px solid var(--jkl-color-border-strong);
2286
+ outline-offset: 3px;
2287
+ }
2141
2288
  }
2142
2289
  @layer jokul.components {
2143
2290
  .jkl-description-list {
@@ -2196,12 +2343,12 @@
2196
2343
  }
2197
2344
  .jkl-description-list[data-separators=true] .seperator:not(:first-of-type) {
2198
2345
  margin-block: var(--jkl-unit-15);
2199
- border-top: 1px solid var(--jkl-color-border-separator);
2346
+ border-top: 1px solid var(--jkl-color-border-subdued);
2200
2347
  }
2201
2348
  }
2202
2349
  @layer jokul.components {
2203
2350
  .jkl-expandable {
2204
- background-color: var(--jkl-color-background-container-low);
2351
+ background-color: var(--jkl-color-background-container);
2205
2352
  border: 1px solid transparent;
2206
2353
  border-radius: var(--border-radius);
2207
2354
  box-sizing: border-box;
@@ -2221,7 +2368,7 @@
2221
2368
  padding: var(--jkl-unit-20);
2222
2369
  }
2223
2370
  .jkl-expandable--stroke {
2224
- border-color: var(--jkl-color-border-separator);
2371
+ border-color: var(--jkl-color-border-subdued);
2225
2372
  background-color: transparent;
2226
2373
  border-radius: 0;
2227
2374
  border-radius: var(--border-top-left-radius) var(--border-top-right-radius) var(--border-bottom-right-radius) var(--border-bottom-left-radius);
@@ -2229,40 +2376,43 @@
2229
2376
  .jkl-expandable__wrapper {
2230
2377
  --border-radius: 0.25rem;
2231
2378
  --outline-offset: 3px;
2379
+ --stroke-outline-offset: 3px;
2380
+ --border-top-left-radius: var(--border-radius);
2381
+ --border-top-right-radius: var(--border-radius);
2382
+ --border-bottom-left-radius: var(--border-radius);
2383
+ --border-bottom-right-radius: var(--border-radius);
2384
+ position: relative;
2385
+ }
2386
+ .jkl-expandable__wrapper + .jkl-expandable__wrapper {
2232
2387
  --border-top-left-radius: 0;
2233
2388
  --border-top-right-radius: 0;
2234
- --border-bottom-left-radius: 0;
2235
- --border-bottom-right-radius: 0;
2236
- position: relative;
2389
+ --stroke-outline-offset: -1px;
2237
2390
  }
2238
2391
  .jkl-expandable__wrapper + .jkl-expandable__wrapper .jkl-expandable--stroke {
2239
2392
  border-top: none;
2240
2393
  }
2241
- .jkl-expandable__wrapper:first-child {
2242
- --border-top-left-radius: var(--border-radius);
2243
- --border-top-right-radius: var(--border-radius);
2244
- }
2245
- .jkl-expandable__wrapper:last-child {
2246
- --border-bottom-left-radius: var(--border-radius);
2247
- --border-bottom-right-radius: var(--border-radius);
2394
+ .jkl-expandable__wrapper:has(+ .jkl-expandable__wrapper) {
2395
+ --border-bottom-left-radius: 0;
2396
+ --border-bottom-right-radius: 0;
2397
+ --stroke-outline-offset: -1px;
2248
2398
  }
2249
2399
  .jkl-expandable__wrapper:has(.jkl-expander:focus-visible):has(.jkl-expandable--stroke) {
2250
- --outline-offset: -1px;
2400
+ --outline-offset: var(--stroke-outline-offset);
2251
2401
  }
2252
2402
  .jkl-expandable__wrapper:has(.jkl-expander:focus-visible) .jkl-expandable__focus-container {
2253
- outline: 3px solid var(--jkl-color-border-action);
2403
+ outline: 3px solid var(--jkl-color-border-strong);
2254
2404
  outline-offset: 3px;
2255
2405
  outline-offset: var(--outline-offset);
2256
2406
  }
2257
- .jkl-expandable__wrapper:has(:focus-visible):first-child:last-child {
2258
- --outline-offset: 3px;
2259
- }
2260
2407
  .jkl-expandable__focus-container {
2261
2408
  border-radius: var(--border-radius);
2262
2409
  position: absolute;
2263
2410
  inset: 0;
2264
2411
  }
2265
2412
  .jkl-expander {
2413
+ --hover-background-color: color-mix(in srgb,
2414
+ currentColor 15%,
2415
+ transparent);
2266
2416
  box-sizing: border-box;
2267
2417
  background: none;
2268
2418
  appearance: none;
@@ -2302,7 +2452,7 @@
2302
2452
  }
2303
2453
  @media (hover: hover) {
2304
2454
  .jkl-expander:hover {
2305
- background-color: var(--jkl-color-background-interactive-selected);
2455
+ background-color: var(--hover-background-color);
2306
2456
  }
2307
2457
  }
2308
2458
  .jkl-expander {
@@ -2345,12 +2495,12 @@
2345
2495
  font: var(--jkl-text-style-paragraph-small);
2346
2496
  }
2347
2497
  .jkl-feedback__fade-in {
2348
- animation: jkl-show-udz4593 0.25s ease-out;
2498
+ animation: jkl-show-ujgb88p 0.25s ease-out;
2349
2499
  }
2350
2500
  .jkl-feedback__buttons {
2351
2501
  display: flex;
2352
2502
  }
2353
- @keyframes jkl-show-udz4593 {
2503
+ @keyframes jkl-show-ujgb88p {
2354
2504
  from {
2355
2505
  transform: translate3d(0, 0.5rem, 0);
2356
2506
  opacity: 0;
@@ -2396,10 +2546,6 @@
2396
2546
  transition-duration: var(--jkl-motion-timing-productive);
2397
2547
  transition-property: opacity;
2398
2548
  }
2399
- .jkl-feedback-smiley-option::after {
2400
- inset: -0.125rem -0.125rem -0.125rem -0.125rem;
2401
- box-shadow: 0 0 0 0.125rem currentColor;
2402
- }
2403
2549
  .jkl-feedback-smiley-option::before {
2404
2550
  inset: 0;
2405
2551
  box-shadow: 0 0.125rem 1.875rem rgba(0, 0, 0, 0.1);
@@ -2414,8 +2560,10 @@
2414
2560
  input:checked + .jkl-feedback-smiley-option::before {
2415
2561
  opacity: 1;
2416
2562
  }
2417
- html:not([data-mousenavigation]):not([data-touchnavigation]) input:focus + .jkl-feedback-smiley-option::after {
2418
- opacity: 1;
2563
+ input:focus-visible + .jkl-feedback-smiley-option {
2564
+ border-radius: var(--jkl-border-radius-full);
2565
+ outline: 3px solid var(--jkl-color-border-strong);
2566
+ outline-offset: 3px;
2419
2567
  }
2420
2568
  }
2421
2569
  @layer jokul.components {
@@ -2426,13 +2574,15 @@
2426
2574
  --jkl-message-dismiss-button-size: var(--jkl-unit-50);
2427
2575
  --jkl-message-gap: var(--jkl-unit-20);
2428
2576
  --jkl-message-padding: var(--jkl-unit-25) var(--jkl-unit-15);
2429
- --background-color: var(--jkl-color-background-alert-neutral);
2430
- --text-color: var(--jkl-color-text-on-alert);
2577
+ --background-color: var(--jkl-color-background-container);
2578
+ --text-color: var(--jkl-color-text-default);
2579
+ --border-color: var(--jkl-color-border-subdued);
2431
2580
  width: 100%;
2432
2581
  max-width: 35rem;
2433
2582
  padding: var(--jkl-message-padding);
2434
2583
  background-color: var(--background-color);
2435
2584
  color: var(--text-color);
2585
+ border: 1px solid var(--border-color);
2436
2586
  border-radius: 0.25rem;
2437
2587
  box-sizing: border-box;
2438
2588
  display: grid;
@@ -2525,7 +2675,7 @@
2525
2675
  transform: translate(-50%, -50%);
2526
2676
  }
2527
2677
  .jkl-message__dismiss-button:hover {
2528
- color: var(--jkl-color-text-interactive-hover);
2678
+ color: var(--jkl-color-text-subdued);
2529
2679
  }
2530
2680
  @media screen and (forced-colors: active) {
2531
2681
  .jkl-message__dismiss-button:hover {
@@ -2536,26 +2686,34 @@
2536
2686
  }
2537
2687
  }
2538
2688
  .jkl-message__dismiss-button:focus-visible {
2539
- outline: 3px solid var(--jkl-color-border-action);
2689
+ outline: 3px solid var(--jkl-color-border-strong);
2540
2690
  outline-offset: 3px;
2541
2691
  }
2542
2692
  .jkl-message--full {
2543
2693
  max-width: 100%;
2544
2694
  }
2545
2695
  .jkl-message--info {
2546
- --background-color: var(--jkl-color-background-alert-info);
2696
+ --background-color: var(--jkl-color-info-background-container);
2697
+ --text-color: var(--jkl-color-info-text-default);
2698
+ --border-color: var(--jkl-color-info-border-subdued);
2547
2699
  }
2548
2700
  .jkl-message--warning {
2549
- --background-color: var(--jkl-color-background-alert-warning);
2701
+ --background-color: var(--jkl-color-warning-background-container);
2702
+ --text-color: var(--jkl-color-warning-text-default);
2703
+ --border-color: var(--jkl-color-warning-border-subdued);
2550
2704
  }
2551
2705
  .jkl-message--error {
2552
- --background-color: var(--jkl-color-background-alert-error);
2706
+ --background-color: var(--jkl-color-error-background-container);
2707
+ --text-color: var(--jkl-color-error-text-default);
2708
+ --border-color: var(--jkl-color-error-border-subdued);
2553
2709
  }
2554
2710
  .jkl-message--success {
2555
- --background-color: var(--jkl-color-background-alert-success);
2711
+ --background-color: var(--jkl-color-success-background-container);
2712
+ --text-color: var(--jkl-color-success-text-default);
2713
+ --border-color: var(--jkl-color-success-border-subdued);
2556
2714
  }
2557
2715
  .jkl-message--dismissed {
2558
- animation: jkl-dismiss-udz45a1 var(--jkl-motion-timing-lazy) ease-in-out forwards;
2716
+ animation: jkl-dismiss-ujgb893 var(--jkl-motion-timing-lazy) ease-in-out forwards;
2559
2717
  transition: visibility 0ms var(--jkl-motion-timing-lazy);
2560
2718
  visibility: hidden;
2561
2719
  }
@@ -2577,7 +2735,7 @@
2577
2735
  .jkl-form-error-message {
2578
2736
  padding-bottom: var(--jkl-unit-50);
2579
2737
  }
2580
- @keyframes jkl-dismiss-udz45a1 {
2738
+ @keyframes jkl-dismiss-ujgb893 {
2581
2739
  from {
2582
2740
  opacity: 1;
2583
2741
  transform: translate3d(0, 0, 0);
@@ -2619,10 +2777,37 @@
2619
2777
  }
2620
2778
  .jkl-radio-button__input {
2621
2779
  position: absolute;
2622
- opacity: 0;
2623
- pointer-events: none;
2624
- inset: 0 auto 0 0;
2625
- width: 1lh;
2780
+ inset-block-start: 0;
2781
+ inset-inline-start: 0;
2782
+ block-size: 1lh;
2783
+ inline-size: 1lh;
2784
+ margin: 0;
2785
+ padding: 0;
2786
+ cursor: pointer;
2787
+ z-index: 1;
2788
+ appearance: none;
2789
+ background: transparent;
2790
+ border: 0;
2791
+ }
2792
+ .jkl-radio-button__input {
2793
+ outline: 0;
2794
+ border-style: none;
2795
+ outline-style: none;
2796
+ }
2797
+ .jkl-radio-button__input:active, .jkl-radio-button__input:hover, .jkl-radio-button__input:focus {
2798
+ outline: 0;
2799
+ outline-style: none;
2800
+ }
2801
+ @media screen and (forced-colors: active) {
2802
+ .jkl-radio-button__input {
2803
+ outline: revert;
2804
+ border-style: revert;
2805
+ outline-style: revert;
2806
+ }
2807
+ .jkl-radio-button__input:active, .jkl-radio-button__input:hover, .jkl-radio-button__input:focus {
2808
+ outline: revert;
2809
+ outline-style: revert;
2810
+ }
2626
2811
  }
2627
2812
  .jkl-radio-button__label {
2628
2813
  cursor: pointer;
@@ -2635,7 +2820,7 @@
2635
2820
  .jkl-radio-button__label::before {
2636
2821
  content: "radio_button_unchecked";
2637
2822
  margin-inline-end: 0.25em;
2638
- font-family: "Fremtind Material Symbols", "Fremtind Material Symbols Fallback", sans-serif;
2823
+ font-family: "Jokul Icons", "Jokul Icons Fallback", sans-serif;
2639
2824
  font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
2640
2825
  font-feature-settings: "liga";
2641
2826
  -webkit-font-feature-settings: "liga";
@@ -2648,11 +2833,19 @@
2648
2833
  transition-duration: var(--jkl-motion-timing-energetic);
2649
2834
  transition-property: font-variation-settings, transform;
2650
2835
  }
2651
- .jkl-radio-button__label:has(+ :checked)::before {
2836
+ .jkl-radio-button__input:focus-visible + .jkl-radio-button__label::before {
2837
+ border-radius: var(--jkl-border-radius-full);
2838
+ outline: 3px solid var(--jkl-color-border-strong);
2839
+ outline-offset: 3px;
2840
+ }
2841
+ .jkl-radio-button__input:is(:hover, :active) + .jkl-radio-button__label, .jkl-radio-button__label:hover, .jkl-radio-button__label:active {
2842
+ --jkl-icon-weight: var(--jkl-font-weight-bold);
2843
+ }
2844
+ .jkl-radio-button__input:checked + .jkl-radio-button__label::before {
2652
2845
  content: "radio_button_checked";
2653
2846
  }
2654
- .jkl-radio-button__label:has(+ [aria-invalid=true])::before {
2655
- color: var(--jkl-radio-button-error-color);
2847
+ .jkl-radio-button__input[aria-invalid=true] + .jkl-radio-button__label::before {
2848
+ color: var(--jkl-color-error-text-default);
2656
2849
  }
2657
2850
  .jkl-radio-button + .jkl-radio-button, .jkl-dormant-form-support-label + .jkl-radio-button, .jkl-form-support-label + .jkl-radio-button {
2658
2851
  margin-top: 0.75lh;
@@ -2673,8 +2866,7 @@
2673
2866
  @layer jokul.components {
2674
2867
  .jkl-text-area-wrapper {
2675
2868
  overflow: hidden;
2676
- --jkl-text-input-padding: var(--jkl-text-input-vertical-padding)
2677
- var(--jkl-text-input-horizontal-padding);
2869
+ --jkl-text-input-padding: var(--jkl-text-input-vertical-padding) var(--jkl-text-input-horizontal-padding);
2678
2870
  --jkl-text-input-vertical-padding: var(--jkl-unit-15);
2679
2871
  --jkl-text-input-horizontal-padding: var(--jkl-unit-15);
2680
2872
  --jkl-text-input-action-button-size: var(--jkl-unit-60);
@@ -2682,8 +2874,8 @@
2682
2874
  --jkl-text-input-action-button-padding: var(--jkl-unit-10) 0;
2683
2875
  --jkl-text-input-action-button-focus-position: var(--jkl-unit-05);
2684
2876
  --text-color: var(--jkl-color-text-default);
2685
- --background-color: var(--jkl-color-background-input-base);
2686
- --border-color: var(--jkl-color-border-input);
2877
+ --background-color: transparent;
2878
+ --border-color: var(--jkl-color-border-default);
2687
2879
  --placeholder-color: var(--jkl-color-text-subdued);
2688
2880
  border-radius: var(--jkl-border-radius-s);
2689
2881
  box-sizing: border-box;
@@ -2700,15 +2892,16 @@
2700
2892
  box-shadow: inset 0 0 0 0.0625rem var(--border-color), 0 0 0 0.0625rem transparent;
2701
2893
  }
2702
2894
  .jkl-text-area-wrapper:focus-within, .jkl-text-area-wrapper:has([data-focused=true]) {
2703
- --background-color: var(--jkl-color-background-input-focus);
2895
+ --background-color: var(--jkl-color-background-container);
2704
2896
  }
2705
2897
  .jkl-text-area-wrapper[data-invalid=true]:not(:focus-within):not(:has([data-focused=true])) {
2706
- --background-color: var(--jkl-color-background-alert-error);
2707
- --text-color: var(--jkl-color-text-on-alert);
2708
- --placeholder-color: color(from currentColor sRGB r g b / 75%);
2898
+ --background-color: var(--jkl-color-error-background-container);
2899
+ --text-color: var(--jkl-color-error-text-default);
2900
+ --border-color: var(--jkl-color-error-border-default);
2901
+ --placeholder-color: var(--jkl-color-error-text-subdued);
2709
2902
  }
2710
2903
  .jkl-text-area-wrapper:hover, .jkl-text-area-wrapper:focus-within, .jkl-text-area-wrapper:has([data-focused=true]) {
2711
- --border-color: var(--jkl-color-border-input-focus);
2904
+ --border-color: var(--jkl-color-border-strong);
2712
2905
  box-shadow: inset 0 0 0 0.0625rem var(--border-color), 0 0 0 0.0625rem var(--border-color);
2713
2906
  }
2714
2907
  @media screen and (forced-colors: active) {
@@ -2717,11 +2910,11 @@
2717
2910
  }
2718
2911
  }
2719
2912
  html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-area-wrapper:has(.jkl-text-input__input:focus-visible), html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-area-wrapper:has(.jkl-text-area__text-area:focus-visible) {
2720
- outline: 3px solid var(--jkl-color-border-action);
2913
+ outline: 3px solid var(--jkl-color-border-strong);
2721
2914
  outline-offset: 3px;
2722
2915
  }
2723
2916
  .jkl-text-area-wrapper > .jkl-icon-button:focus-visible {
2724
- outline: 3px solid var(--jkl-color-border-action);
2917
+ outline: 3px solid var(--jkl-color-border-strong);
2725
2918
  outline-offset: -8px;
2726
2919
  }
2727
2920
  @media screen and (forced-colors: active) {
@@ -2745,7 +2938,7 @@
2745
2938
  width: var(--jkl-text-input-action-button-icon-size);
2746
2939
  }
2747
2940
  .jkl-text-area-wrapper > .jkl-text-input-action-button:hover {
2748
- color: var(--jkl-color-text-interactive-hover);
2941
+ color: var(--jkl-color-text-subdued);
2749
2942
  }
2750
2943
  @media screen and (forced-colors: active) {
2751
2944
  .jkl-text-area-wrapper > .jkl-text-input-action-button:hover {
@@ -2944,7 +3137,7 @@
2944
3137
  --jkl-file-gap: var(--jkl-unit-10) var(--jkl-unit-20);
2945
3138
  --jkl-file-button-width: var(--jkl-unit-50);
2946
3139
  --text-color: var(--jkl-color-text-default);
2947
- --border: 1px solid var(--jkl-color-border-separator);
3140
+ --border: 1px solid var(--jkl-color-border-subdued);
2948
3141
  --border-radius: 2px;
2949
3142
  --bg: transparent;
2950
3143
  --transition-time: var(--jkl-motion-timing-expressive);
@@ -2988,7 +3181,7 @@
2988
3181
  display: flex;
2989
3182
  align-items: center;
2990
3183
  justify-content: center;
2991
- background: var(--jkl-color-background-container-low);
3184
+ background: var(--jkl-color-background-page);
2992
3185
  border-radius: 2px;
2993
3186
  overflow: hidden;
2994
3187
  container-type: inline-size;
@@ -3047,16 +3240,16 @@
3047
3240
  scale: 1;
3048
3241
  }
3049
3242
  .jkl-file[data-state=error] {
3050
- --bg: var(--jkl-color-functional-error);
3243
+ --bg: var(--jkl-color-error-background-container);
3051
3244
  }
3052
3245
  .jkl-file[data-state=error],
3053
3246
  .jkl-file[data-state=error] a,
3054
3247
  .jkl-file[data-state=error] a:hover,
3055
3248
  .jkl-file[data-state=error] button,
3056
3249
  .jkl-file[data-state=error] span {
3057
- --text-color: var(--jkl-color-text-on-alert);
3250
+ --text-color: var(--jkl-color-error-text-default);
3058
3251
  --link-color: var(--text-color);
3059
- --jkl-color-border-action: currentColor;
3252
+ --jkl-color-border-strong: currentColor;
3060
3253
  }
3061
3254
  @keyframes spin {
3062
3255
  from {
@@ -3076,7 +3269,7 @@
3076
3269
  --jkl-file-list-gap: var(--jkl-unit-10);
3077
3270
  }
3078
3271
  .jkl-file-input__dropzone {
3079
- --border-color: var(--jkl-color-border-input);
3272
+ --border-color: var(--jkl-color-border-default);
3080
3273
  --background-color: transparent;
3081
3274
  border: var(--border-color) 1px dashed;
3082
3275
  border-radius: 0.25rem;
@@ -3093,8 +3286,8 @@
3093
3286
  background-color: var(--background-color);
3094
3287
  }
3095
3288
  .jkl-file-input__dropzone--enter {
3096
- --border-color: var(--jkl-color-border-input-focus);
3097
- --background-color: var(--jkl-color-background-container-high);
3289
+ --border-color: var(--jkl-color-border-strong);
3290
+ --background-color: var(--jkl-color-background-container);
3098
3291
  border-style: solid;
3099
3292
  }
3100
3293
  .jkl-file-input__dropzone__drag-text {
@@ -3114,7 +3307,7 @@
3114
3307
  }
3115
3308
  .jkl-file-input__call-to-action:has(:focus-visible) .jkl-button {
3116
3309
  transform: scale(1.05);
3117
- outline: 3px solid var(--jkl-color-border-action);
3310
+ outline: 3px solid var(--jkl-color-border-strong);
3118
3311
  outline-offset: 3px;
3119
3312
  }
3120
3313
  .jkl-file-input__call-to-action:has(:focus-visible) .jkl-button:active {
@@ -3164,7 +3357,7 @@
3164
3357
  }
3165
3358
  @layer jokul.components {
3166
3359
  .jkl-link-list {
3167
- --border: 1px solid var(--jkl-color-border-separator);
3360
+ --border: 1px solid var(--jkl-color-border-subdued);
3168
3361
  --text-color: var(--jkl-color-text-default);
3169
3362
  font: var(--jkl-text-style-paragraph-medium);
3170
3363
  }
@@ -3181,7 +3374,7 @@
3181
3374
  height: min-content;
3182
3375
  border-radius: var(--jkl-unit-05);
3183
3376
  overflow: hidden;
3184
- background: var(--jkl-color-background-container-low);
3377
+ background-color: var(--jkl-color-background-container);
3185
3378
  }
3186
3379
  .jkl-link-list ul .jkl-link-list-link {
3187
3380
  display: flex;
@@ -3201,7 +3394,7 @@
3201
3394
  }
3202
3395
  .jkl-link-list ul .jkl-link-list-link::after {
3203
3396
  content: "arrow_forward"/"";
3204
- font-family: "Fremtind Material Symbols", "Fremtind Material Symbols Fallback", sans-serif;
3397
+ font-family: "Jokul Icons", "Jokul Icons Fallback", sans-serif;
3205
3398
  font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
3206
3399
  font-feature-settings: "liga";
3207
3400
  -webkit-font-feature-settings: "liga";
@@ -3218,11 +3411,15 @@
3218
3411
  transition-property: translate;
3219
3412
  }
3220
3413
  .jkl-link-list ul .jkl-link-list-link:is(:hover, :focus-visible) {
3221
- background: var(--jkl-color-background-interactive-selected);
3414
+ background-color: color-mix(in srgb, var(--text-color) 15%);
3222
3415
  }
3223
3416
  .jkl-link-list ul .jkl-link-list-link:is(:hover, :focus-visible)::after {
3224
3417
  translate: 4px 0;
3225
3418
  }
3419
+ .jkl-link-list ul .jkl-link-list-link:focus-visible {
3420
+ outline: 3px solid var(--jkl-color-border-strong);
3421
+ outline-offset: 3px;
3422
+ }
3226
3423
  .jkl-link-list .jkl-link-list-item {
3227
3424
  display: flex;
3228
3425
  }
@@ -3309,7 +3506,7 @@
3309
3506
  .jkl-menu-item {
3310
3507
  --jkl-menu-item-height: var(--jkl-unit-60);
3311
3508
  --jkl-menu-item-padding: var(--jkl-unit-15) var(--jkl-unit-30);
3312
- --background-color: var(--jkl-color-background-interactive);
3509
+ --background-color: transparent;
3313
3510
  background-color: var(--background-color);
3314
3511
  color: var(--jkl-color-text-default);
3315
3512
  text-decoration: none;
@@ -3368,7 +3565,7 @@
3368
3565
  flex-shrink: 0;
3369
3566
  }
3370
3567
  .jkl-menu-item:hover, .jkl-menu-item:focus-visible {
3371
- --background-color: var(--jkl-color-background-interactive-hover);
3568
+ --background-color: color-mix(in srgb, currentColor 18%, transparent);
3372
3569
  }
3373
3570
  }
3374
3571
  @layer jokul.components {
@@ -3376,16 +3573,16 @@
3376
3573
  width: 100%;
3377
3574
  margin-block: 0;
3378
3575
  border: none;
3379
- border-bottom: 0.0625rem solid var(--jkl-color-border-separator);
3576
+ border-bottom: 0.0625rem solid var(--jkl-color-border-subdued);
3380
3577
  }
3381
3578
  }
3382
3579
  @layer jokul.components {
3383
3580
  .jkl-menu {
3384
3581
  /* stylelint-disable declaration-block-no-duplicate-custom-properties -- fallback for browsers without light-dark() support */
3385
3582
  --border-color: transparent;
3386
- --border-color: light-dark(transparent, var(--jkl-color-border-input-focus));
3583
+ --border-color: light-dark(transparent, var(--jkl-color-border-strong));
3387
3584
  /* stylelint-enable declaration-block-no-duplicate-custom-properties */
3388
- background-color: var(--jkl-color-background-container-high);
3585
+ background-color: var(--jkl-color-background-container);
3389
3586
  width: 100%;
3390
3587
  max-width: 21rem;
3391
3588
  display: flex;
@@ -3438,7 +3635,7 @@
3438
3635
  color: var(--jkl-color-text-subdued);
3439
3636
  }
3440
3637
  .jkl-nav-link:focus-visible {
3441
- outline: 3px solid var(--jkl-color-border-action);
3638
+ outline: 3px solid var(--jkl-color-border-strong);
3442
3639
  outline-offset: 0;
3443
3640
  }
3444
3641
  .jkl-nav-link:focus-visible .jkl-nav-link__icon, .jkl-nav-link:hover:not(:focus) .jkl-nav-link__icon {
@@ -3473,14 +3670,14 @@
3473
3670
  }
3474
3671
  .jkl-navlink--beta {
3475
3672
  --border-radius: 4px;
3476
- --separator: 1px solid var(--jkl-color-border-separator);
3673
+ --separator: 1px solid var(--jkl-color-border-subdued);
3477
3674
  display: grid;
3478
3675
  grid-template-columns: 1fr auto;
3479
3676
  align-items: center;
3480
3677
  column-gap: 2em;
3481
3678
  color: inherit;
3482
3679
  text-decoration: none;
3483
- background-color: var(--jkl-color-background-container-low);
3680
+ background-color: var(--jkl-color-background-page);
3484
3681
  padding: var(--jkl-spacing-s);
3485
3682
  border-radius: 0;
3486
3683
  font: var(--jkl-text-style-paragraph-medium);
@@ -3500,7 +3697,7 @@
3500
3697
  grid-column: 2;
3501
3698
  grid-row: 1/span 999;
3502
3699
  translate: 0;
3503
- font-family: "Fremtind Material Symbols", "Fremtind Material Symbols Fallback", sans-serif;
3700
+ font-family: "Jokul Icons", "Jokul Icons Fallback", sans-serif;
3504
3701
  font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
3505
3702
  font-feature-settings: "liga";
3506
3703
  -webkit-font-feature-settings: "liga";
@@ -3517,7 +3714,7 @@
3517
3714
  transition-property: translate;
3518
3715
  }
3519
3716
  .jkl-navlink--beta:hover, .jkl-navlink--beta:focus-visible {
3520
- background-color: var(--jkl-color-background-interactive-selected);
3717
+ background-color: color-mix(in srgb, currentColor 15%, transparent);
3521
3718
  }
3522
3719
  .jkl-navlink--beta:hover::after, .jkl-navlink--beta:focus-visible::after {
3523
3720
  translate: 4px 0;
@@ -3558,13 +3755,13 @@
3558
3755
  cursor: pointer;
3559
3756
  user-select: none;
3560
3757
  border-radius: 0.1875rem;
3561
- color: var(--jkl-color-text-interactive);
3758
+ color: var(--jkl-color-text-default);
3562
3759
  }
3563
3760
  .jkl-pagination-button:hover:not(:focus) {
3564
- color: var(--jkl-color-text-interactive-hover);
3761
+ color: var(--jkl-color-text-subdued);
3565
3762
  }
3566
3763
  .jkl-pagination-button:focus-visible {
3567
- outline: 3px solid var(--jkl-color-border-action);
3764
+ outline: 3px solid var(--jkl-color-border-strong);
3568
3765
  outline-offset: 3px;
3569
3766
  }
3570
3767
  .jkl-pagination-button--current {
@@ -3587,8 +3784,7 @@
3587
3784
  --border-radius: var(--jkl-border-radius-s);
3588
3785
  --min-option-height: min(var(--jkl-unit-60), 3rem);
3589
3786
  /* Vi må trekke fra bredden til rammen for å få riktig høyde */
3590
- --button-padding: calc(var(--jkl-unit-15) - var(--border-width))
3591
- calc(0.75em - var(--border-width));
3787
+ --button-padding: calc(var(--jkl-unit-15) - var(--border-width)) calc(0.75em - var(--border-width));
3592
3788
  --option-padding: var(--jkl-unit-05) 0.75em;
3593
3789
  display: block;
3594
3790
  position: relative;
@@ -3617,7 +3813,7 @@
3617
3813
  outline: none;
3618
3814
  }
3619
3815
  .jkl-select .jkl-tooltip-question-button:focus {
3620
- outline: 3px solid var(--jkl-color-border-action);
3816
+ outline: 3px solid var(--jkl-color-border-strong);
3621
3817
  outline-offset: 0;
3622
3818
  }
3623
3819
  .jkl-select select {
@@ -3631,7 +3827,7 @@
3631
3827
  font-weight: normal;
3632
3828
  font-family: sans-serif;
3633
3829
  color: var(--jkl-color-text-subdued);
3634
- background-color: var(--jkl-color-background-container-high);
3830
+ background-color: var(--jkl-color-background-container);
3635
3831
  }
3636
3832
  .jkl-select__outer-wrapper {
3637
3833
  position: relative;
@@ -3652,7 +3848,7 @@
3652
3848
  cursor: pointer;
3653
3849
  height: var(--jkl-select-input-height);
3654
3850
  border-radius: var(--border-radius);
3655
- border: var(--border-width) solid var(--jkl-color-border-input);
3851
+ border: var(--border-width) solid var(--jkl-color-border-default);
3656
3852
  box-shadow: 0 0 0 0.0625rem transparent;
3657
3853
  text-align: left;
3658
3854
  width: 100%;
@@ -3668,8 +3864,8 @@
3668
3864
  color: var(--jkl-color-text-default);
3669
3865
  }
3670
3866
  .jkl-select__search-input:hover, .jkl-select__button:hover {
3671
- border-color: var(--jkl-color-border-input-focus);
3672
- box-shadow: 0 0 0 0.0625rem var(--jkl-color-border-input-focus);
3867
+ border-color: var(--jkl-color-border-strong);
3868
+ box-shadow: 0 0 0 0.0625rem var(--jkl-color-border-strong);
3673
3869
  }
3674
3870
  .jkl-select__search-input:hover ~ .jkl-select__arrow, .jkl-select__button:hover ~ .jkl-select__arrow {
3675
3871
  transform: translateY(calc(-50% + 0.1875rem));
@@ -3678,12 +3874,12 @@
3678
3874
  outline: none;
3679
3875
  }
3680
3876
  html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__search-input:focus-visible, html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__search-input:has(:focus-visible), html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__button:focus-visible, html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__button:has(:focus-visible) {
3681
- outline: 3px solid var(--jkl-color-border-action);
3877
+ outline: 3px solid var(--jkl-color-border-strong);
3682
3878
  outline-offset: 3px;
3683
3879
  }
3684
3880
  html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select:has(:focus-visible) .jkl-select__button,
3685
3881
  html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select:has(:focus-visible) .jkl-select__search-input {
3686
- outline: 3px solid var(--jkl-color-border-action);
3882
+ outline: 3px solid var(--jkl-color-border-strong);
3687
3883
  outline-offset: 3px;
3688
3884
  }
3689
3885
  .jkl-select__arrow {
@@ -3708,7 +3904,7 @@
3708
3904
  }
3709
3905
  }
3710
3906
  .jkl-select:has([aria-invalid=true]) .jkl-select__arrow {
3711
- color: var(--jkl-color-text-on-alert);
3907
+ color: var(--jkl-color-error-text-default);
3712
3908
  }
3713
3909
  .jkl-select__options-menu {
3714
3910
  position: absolute;
@@ -3716,8 +3912,8 @@
3716
3912
  right: -0.0625rem;
3717
3913
  top: 100%;
3718
3914
  z-index: 7000;
3719
- background-color: var(--jkl-color-background-container-high);
3720
- border: 0.125rem solid var(--jkl-color-border-input-focus);
3915
+ background-color: var(--jkl-color-background-container);
3916
+ border: 0.125rem solid var(--jkl-color-border-strong);
3721
3917
  border-top: none;
3722
3918
  border-radius: 0 0 var(--border-radius) var(--border-radius);
3723
3919
  box-sizing: border-box;
@@ -3753,7 +3949,7 @@
3753
3949
  }
3754
3950
  .jkl-select__option:focus, :not([data-focus=controlled]) > .jkl-select__option:hover {
3755
3951
  color: var(--jkl-color-text-default);
3756
- background-color: var(--jkl-color-background-interactive-hover);
3952
+ background-color: color-mix(in srgb, currentColor 10%, transparent);
3757
3953
  }
3758
3954
  .jkl-select__option-description {
3759
3955
  color: var(--jkl-color-text-subdued);
@@ -3774,9 +3970,9 @@
3774
3970
  .jkl-select--open .jkl-select__button {
3775
3971
  border-bottom-left-radius: 0;
3776
3972
  border-bottom-right-radius: 0;
3777
- border-color: var(--jkl-color-border-input-focus);
3778
- background-color: var(--jkl-color-background-container-high);
3779
- box-shadow: 0 0 0 0.0625rem var(--jkl-color-border-input-focus);
3973
+ border-color: var(--jkl-color-border-strong);
3974
+ background-color: var(--jkl-color-background-container);
3975
+ box-shadow: 0 0 0 0.0625rem var(--jkl-color-border-strong);
3780
3976
  }
3781
3977
  .jkl-select--open .jkl-select__search-input:hover ~ .jkl-select__arrow,
3782
3978
  .jkl-select--open .jkl-select__button:hover ~ .jkl-select__arrow {
@@ -3784,8 +3980,8 @@
3784
3980
  }
3785
3981
  .jkl-select--invalid .jkl-select__search-input,
3786
3982
  .jkl-select--invalid .jkl-select__button {
3787
- background-color: var(--jkl-color-background-alert-error);
3788
- color: var(--jkl-color-text-on-alert-subdued);
3983
+ background-color: var(--jkl-color-error-background-container);
3984
+ color: var(--jkl-color-error-text-subdued);
3789
3985
  }
3790
3986
  .jkl-select--invalid .jkl-select__search-input--active-value,
3791
3987
  .jkl-select--invalid .jkl-select__button--active-value {
@@ -3817,8 +4013,8 @@
3817
4013
  }
3818
4014
  @layer jokul.components {
3819
4015
  .jkl-progress-bar {
3820
- --track-color: var(--jkl-color-border-separator);
3821
- --bar-color: var(--jkl-color-border-input-focus);
4016
+ --track-color: var(--jkl-color-border-subdued);
4017
+ --bar-color: var(--jkl-color-border-strong);
3822
4018
  --bar-height: 0.25rem;
3823
4019
  background-color: var(--track-color);
3824
4020
  border-radius: 6.25rem;
@@ -3839,12 +4035,36 @@
3839
4035
  background-color: CanvasText;
3840
4036
  }
3841
4037
  }
4038
+ .jkl-progress-bar {
4039
+ outline: 0;
4040
+ border-style: none;
4041
+ outline-style: none;
4042
+ }
4043
+ .jkl-progress-bar:active, .jkl-progress-bar:hover, .jkl-progress-bar:focus {
4044
+ outline: 0;
4045
+ outline-style: none;
4046
+ }
4047
+ @media screen and (forced-colors: active) {
4048
+ .jkl-progress-bar {
4049
+ outline: revert;
4050
+ border-style: revert;
4051
+ outline-style: revert;
4052
+ }
4053
+ .jkl-progress-bar:active, .jkl-progress-bar:hover, .jkl-progress-bar:focus {
4054
+ outline: revert;
4055
+ outline-style: revert;
4056
+ }
4057
+ }
4058
+ .jkl-progress-bar:focus-visible {
4059
+ outline: 3px solid var(--jkl-color-border-strong);
4060
+ outline-offset: 3px;
4061
+ }
3842
4062
  .jkl-progress-bar__tracker {
3843
4063
  transition-property: width;
3844
4064
  transition-timing-function: var(--jkl-motion-easing-standard);
3845
4065
  transition-duration: var(--jkl-motion-timing-productive);
3846
4066
  }
3847
- @keyframes jkl-downcount-udz45ax {
4067
+ @keyframes jkl-downcount-ujgb89n {
3848
4068
  from {
3849
4069
  width: 100%;
3850
4070
  }
@@ -3858,10 +4078,13 @@
3858
4078
  /* Visuell justering pga. rundt ikon */
3859
4079
  margin-inline-start: -0.15em;
3860
4080
  }
4081
+ .jkl-radio-panel .jkl-radio-button__input:focus-visible + .jkl-radio-button__label::before {
4082
+ outline: none;
4083
+ }
3861
4084
  }
3862
4085
  .jkl-select--beta {
3863
- --border-color: var(--jkl-color-border-input);
3864
- --background-color: var(transparent);
4086
+ --border-color: var(--jkl-color-border-default);
4087
+ --background-color: transparent;
3865
4088
  --color: var(--jkl-color-text-default);
3866
4089
  --box-shadow: 0 0 0 jkl.rem(1px) transparent;
3867
4090
  --border-width: 0.0625rem;
@@ -3894,7 +4117,7 @@
3894
4117
  outline: none;
3895
4118
  }
3896
4119
  .jkl-select--beta .jkl-tooltip-question-button:focus {
3897
- outline: 3px solid var(--jkl-color-border-action);
4120
+ outline: 3px solid var(--jkl-color-border-strong);
3898
4121
  outline-offset: 0;
3899
4122
  }
3900
4123
  .jkl-select--beta-wrapper {
@@ -3928,12 +4151,12 @@
3928
4151
  --color: var(--jkl-color-text-subdued);
3929
4152
  }
3930
4153
  .jkl-select--beta select:hover {
3931
- --border-color: var(--jkl-color-border-input-focus);
3932
- --box-shadow: 0 0 0 jkl.rem(1px) var(--jkl-color-border-input-focus);
4154
+ --border-color: var(--jkl-color-border-strong);
4155
+ --box-shadow: 0 0 0 jkl.rem(1px) var(--jkl-color-border-strong);
3933
4156
  }
3934
4157
  .jkl-select--beta select:invalid {
3935
- --background-color: var(--jkl-color-background-alert-error);
3936
- --color: var(--jkl-color-text-on-alert-subdued);
4158
+ --background-color: var(--jkl-color-error-background-container);
4159
+ --color: var(--jkl-color-error-text-subdued);
3937
4160
  }
3938
4161
  .jkl-select--beta select:focus-visible {
3939
4162
  outline: none;
@@ -3944,11 +4167,11 @@
3944
4167
  font: var(--jkl-text-style-text-medium);
3945
4168
  }
3946
4169
  html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta select:focus-visible, html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta select:has(:focus-visible) {
3947
- outline: 3px solid var(--jkl-color-border-action);
4170
+ outline: 3px solid var(--jkl-color-border-strong);
3948
4171
  outline-offset: 3px;
3949
4172
  }
3950
4173
  html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta select:has(:focus-visible) select {
3951
- outline: 3px solid var(--jkl-color-border-action);
4174
+ outline: 3px solid var(--jkl-color-border-strong);
3952
4175
  outline-offset: 3px;
3953
4176
  }
3954
4177
 
@@ -3962,7 +4185,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
3962
4185
  --icon-size: var(--jkl-text-input-height);
3963
4186
  --border-radius: var(--jkl-border-radius-s);
3964
4187
  --border-width: 1px;
3965
- --border: var(--border-width) solid var(--jkl-color-border-input);
4188
+ --border: var(--border-width) solid var(--jkl-color-border-default);
3966
4189
  width: 100%;
3967
4190
  font: var(--jkl-text-style-text-medium);
3968
4191
  }
@@ -4017,7 +4240,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4017
4240
  justify-content: center;
4018
4241
  height: 100%;
4019
4242
  grid-column: 1;
4020
- font-family: "Fremtind Material Symbols", "Fremtind Material Symbols Fallback", monospace;
4243
+ font-family: "Jokul Icons", "Jokul Icons Fallback", monospace;
4021
4244
  }
4022
4245
  .jkl-search .input-wrapper:has(.clear-button) {
4023
4246
  grid-template-columns: 1.3em 1fr 1.3em;
@@ -4047,7 +4270,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4047
4270
  grid-row: 1;
4048
4271
  grid-column: 1;
4049
4272
  z-index: 1;
4050
- font-family: "Fremtind Material Symbols", "Fremtind Material Symbols Fallback", sans-serif;
4273
+ font-family: "Jokul Icons", "Jokul Icons Fallback", sans-serif;
4051
4274
  font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
4052
4275
  font-feature-settings: "liga";
4053
4276
  -webkit-font-feature-settings: "liga";
@@ -4076,7 +4299,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4076
4299
  opacity: 0.15;
4077
4300
  }
4078
4301
  .jkl-search .clear-button:focus-visible {
4079
- outline: 3px solid var(--jkl-color-border-action);
4302
+ outline: 3px solid var(--jkl-color-border-strong);
4080
4303
  outline-offset: 3px;
4081
4304
  }
4082
4305
 
@@ -4105,7 +4328,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4105
4328
  width: 1px;
4106
4329
  inset: 0;
4107
4330
  inset-block: 20%;
4108
- background-color: var(--jkl-color-border-separator);
4331
+ background-color: var(--jkl-color-border-subdued);
4109
4332
  transition-timing-function: var(--jkl-motion-easing-standard);
4110
4333
  transition-duration: var(--jkl-motion-timing-productive);
4111
4334
  transition-property: inset;
@@ -4129,8 +4352,8 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4129
4352
  position: relative;
4130
4353
  display: inline-flex;
4131
4354
  align-items: center;
4132
- background-color: var(--jkl-color-background-interactive);
4133
- border: var(--jkl-segmented-control-border-width) solid var(--jkl-color-border-separator);
4355
+ background-color: transparent;
4356
+ border: var(--jkl-segmented-control-border-width) solid var(--jkl-color-border-subdued);
4134
4357
  border-radius: 0;
4135
4358
  margin-inline-end: calc(var(--jkl-segmented-control-border-width) * -1);
4136
4359
  margin-block-end: 0.5lh;
@@ -4143,13 +4366,13 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4143
4366
  padding: var(--jkl-segmented-controls-padding);
4144
4367
  }
4145
4368
  .jkl-segmented-control .jkl-segmented-control-item:hover {
4146
- background-color: var(--jkl-color-background-interactive-hover);
4147
- border-color: var(--jkl-color-border-separator-hover);
4369
+ background-color: color-mix(in srgb, currentColor 6%, transparent);
4370
+ border-color: var(--jkl-color-border-default);
4148
4371
  z-index: 2;
4149
4372
  }
4150
4373
  .jkl-segmented-control .jkl-segmented-control-item:has(input:checked) {
4151
- background-color: var(--jkl-color-background-container-high);
4152
- border-color: var(--jkl-color-border-separator);
4374
+ background-color: var(--jkl-color-background-container);
4375
+ border-color: var(--jkl-color-border-subdued);
4153
4376
  z-index: 1;
4154
4377
  }
4155
4378
  .jkl-segmented-control .jkl-segmented-control-item:has(input[data-separated=true]) {
@@ -4208,8 +4431,8 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4208
4431
  font-weight: var(--jkl-font-weight-normal);
4209
4432
  }
4210
4433
  .jkl-summary-table > tfoot {
4211
- border-top: 0.0625rem solid var(--jkl-color-border-separator-strong);
4212
- border-bottom: 0.0625rem solid var(--jkl-color-border-separator-strong);
4434
+ border-top: 0.0625rem solid var(--jkl-color-border-strong);
4435
+ border-bottom: 0.0625rem solid var(--jkl-color-border-strong);
4213
4436
  padding-top: var(--jkl-unit-10);
4214
4437
  }
4215
4438
  .jkl-summary-table > tfoot th,
@@ -4223,14 +4446,16 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4223
4446
  --jkl-system-message-icon-padding: 0.1875rem 0 0 0;
4224
4447
  --jkl-system-message-content-padding: var(--jkl-unit-30);
4225
4448
  --jkl-system-message-dismiss-button-size: var(--jkl-unit-40);
4226
- --jkl-system-message-dismiss-button-margin: -0.40625rem -1.125rem -0.40625rem
4227
- auto;
4228
- --jkl-system-message-message-margin: 0 var(--jkl-spacing-20);
4229
- --background-color: var(--jkl-color-background-alert-neutral);
4230
- --text-color: var(--jkl-color-text-on-alert);
4449
+ --jkl-system-message-dismiss-button-margin: -0.40625rem
4450
+ -1.125rem -0.40625rem auto;
4451
+ --jkl-system-message-message-margin: 0 var(--jkl-unit-20);
4452
+ --background-color: var(--jkl-color-background-container);
4453
+ --text-color: var(--jkl-color-text-default);
4454
+ --border-color: var(--jkl-color-border-subdued);
4231
4455
  width: 100%;
4232
4456
  background-color: var(--background-color);
4233
4457
  color: var(--text-color);
4458
+ border: 1px solid var(--border-color);
4234
4459
  transition-behavior: allow-discrete;
4235
4460
  box-sizing: border-box;
4236
4461
  }
@@ -4315,7 +4540,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4315
4540
  }
4316
4541
  }
4317
4542
  .jkl-system-message__dismiss-button:hover {
4318
- color: var(--jkl-color-text-interactive-hover);
4543
+ color: var(--jkl-color-text-subdued);
4319
4544
  }
4320
4545
  @media screen and (forced-colors: active) {
4321
4546
  .jkl-system-message__dismiss-button:hover {
@@ -4326,7 +4551,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4326
4551
  }
4327
4552
  }
4328
4553
  .jkl-system-message__dismiss-button:focus-visible {
4329
- outline: 3px solid var(--jkl-color-border-action);
4554
+ outline: 3px solid var(--jkl-color-border-strong);
4330
4555
  outline-offset: 3px;
4331
4556
  }
4332
4557
  @media screen and (forced-colors: active) {
@@ -4339,20 +4564,28 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4339
4564
  margin-bottom: 0;
4340
4565
  }
4341
4566
  .jkl-system-message--dismissed {
4342
- animation: jkl-dismiss-udz45ci var(--jkl-motion-timing-lazy) forwards;
4567
+ animation: jkl-dismiss-ujgb8aj var(--jkl-motion-timing-lazy) forwards;
4343
4568
  transition: block var(--jkl-motion-timing-lazy) var(--jkl-motion-timing-lazy);
4344
4569
  }
4345
4570
  .jkl-system-message--info {
4346
- --background-color: var(--jkl-color-background-alert-info);
4571
+ --background-color: var(--jkl-color-info-background-container);
4572
+ --text-color: var(--jkl-color-info-text-default);
4573
+ --border-color: var(--jkl-color-info-border-subdued);
4347
4574
  }
4348
4575
  .jkl-system-message--warning {
4349
- --background-color: var(--jkl-color-background-alert-warning);
4576
+ --background-color: var(--jkl-color-warning-background-container);
4577
+ --text-color: var(--jkl-color-warning-text-default);
4578
+ --border-color: var(--jkl-color-warning-border-subdued);
4350
4579
  }
4351
4580
  .jkl-system-message--error {
4352
- --background-color: var(--jkl-color-background-alert-error);
4581
+ --background-color: var(--jkl-color-error-background-container);
4582
+ --text-color: var(--jkl-color-error-text-default);
4583
+ --border-color: var(--jkl-color-error-border-subdued);
4353
4584
  }
4354
4585
  .jkl-system-message--success {
4355
- --background-color: var(--jkl-color-background-alert-success);
4586
+ --background-color: var(--jkl-color-success-background-container);
4587
+ --text-color: var(--jkl-color-success-text-default);
4588
+ --border-color: var(--jkl-color-success-border-subdued);
4356
4589
  }
4357
4590
  @media screen and (forced-colors: active) {
4358
4591
  .jkl-system-message {
@@ -4369,7 +4602,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4369
4602
  border-width: 4px;
4370
4603
  }
4371
4604
  }
4372
- @keyframes jkl-dismiss-udz45ci {
4605
+ @keyframes jkl-dismiss-ujgb8aj {
4373
4606
  from {
4374
4607
  opacity: 1;
4375
4608
  transform: translateY(0);
@@ -4485,7 +4718,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4485
4718
  z-index: 1;
4486
4719
  background-color: var(--jkl-table-head-sticky-color, var(--jkl-color-background-page));
4487
4720
  border-bottom: none;
4488
- box-shadow: inset 0 0 0 #000, inset 0 var(--jkl-border-width-1) 0 var(--jkl-color-border-separator-strong);
4721
+ box-shadow: inset 0 0 0 #000, inset 0 var(--jkl-border-width-1) 0 var(--jkl-color-border-strong);
4489
4722
  background-clip: padding-box;
4490
4723
  vertical-align: bottom;
4491
4724
  height: 2.3em;
@@ -4655,10 +4888,12 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4655
4888
  }
4656
4889
  @layer jokul.components {
4657
4890
  .jkl-table-row {
4658
- --jkl-table-row-border-color: var(--jkl-color-border-separator);
4891
+ --jkl-table-row-border-color: var(--jkl-color-border-subdued);
4659
4892
  --jkl-table-row-border-none-color: transparent;
4660
- --jkl-table-row-hover-border-color: var(--jkl-color-border-separator-strong);
4661
- --jkl-table-row-highlight-color: var(--jkl-color-background-interactive-selected);
4893
+ --jkl-table-row-hover-border-color: var(--jkl-color-border-strong);
4894
+ --jkl-table-row-highlight-color: color-mix(in srgb,
4895
+ currentColor 15%,
4896
+ transparent);
4662
4897
  border-bottom: solid 0.0625rem var(--jkl-table-row-border-color);
4663
4898
  }
4664
4899
  .jkl-table-head > .jkl-table-row {
@@ -4862,7 +5097,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4862
5097
  @layer jokul.components {
4863
5098
  .jkl-table-of-contents {
4864
5099
  --ordered-item-padding: var(--jkl-unit-10);
4865
- --border: 1px solid var(--jkl-color-border-separator);
5100
+ --border: 1px solid var(--jkl-color-border-subdued);
4866
5101
  --text-color: var(--jkl-color-text-default);
4867
5102
  }
4868
5103
  .jkl-table-of-contents .jkl-table-of-contents-title {
@@ -4925,7 +5160,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4925
5160
  }
4926
5161
  .jkl-table-of-contents ol .jkl-table-of-contents-link::before {
4927
5162
  content: counter(table-of-contents, decimal-leading-zero);
4928
- font-family: "Fremtind Grotesk Mono", "Adjusted Courier New Fallback", -apple-system, BlinkMacSystemFont, monospace;
5163
+ font-family: var(--jkl-font-family-mono);
4929
5164
  color: inherit;
4930
5165
  font-size: var(--jkl-small-font-size);
4931
5166
  }
@@ -4936,9 +5171,9 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4936
5171
  }
4937
5172
  .jkl-tablist {
4938
5173
  --padding-inline-end: var(--jkl-unit-50);
4939
- --text-color: var(--jkl-color-text-interactive);
4940
- --line-color: var(--jkl-color-border-separator);
4941
- --indicator-color: var(--jkl-color-border-separator-hover);
5174
+ --text-color: var(--jkl-color-text-default);
5175
+ --line-color: var(--jkl-color-border-subdued);
5176
+ --indicator-color: var(--jkl-color-border-default);
4942
5177
  scroll-snap-type: x proximity;
4943
5178
  overflow: scroll hidden;
4944
5179
  scrollbar-width: none;
@@ -5008,10 +5243,10 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5008
5243
  }
5009
5244
  }
5010
5245
  .jkl-tab:hover {
5011
- --text-color: var(--jkl-color-text-interactive-hover);
5246
+ --text-color: var(--jkl-color-text-subdued);
5012
5247
  }
5013
5248
  .jkl-tab:focus-visible {
5014
- outline: 3px solid var(--jkl-color-border-action);
5249
+ outline: 3px solid var(--jkl-color-border-strong);
5015
5250
  outline-offset: -2px;
5016
5251
  }
5017
5252
  .jkl-tab[aria-selected=true] {
@@ -5063,11 +5298,13 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5063
5298
  left: var(--jkl-unit-30);
5064
5299
  }
5065
5300
  .jkl-toast {
5066
- --background-color: var(--jkl-color-background-container-high);
5301
+ --background-color: var(--jkl-color-background-container);
5067
5302
  --text-color: var(--jkl-color-text-default);
5303
+ --border-color: transparent;
5068
5304
  --jkl-toast-padding: var(--jkl-unit-20);
5069
5305
  color: var(--text-color);
5070
5306
  background-color: var(--background-color);
5307
+ border: 1px solid var(--border-color);
5071
5308
  border-radius: 4px;
5072
5309
  box-sizing: border-box;
5073
5310
  align-items: start;
@@ -5078,7 +5315,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5078
5315
  font: var(--jkl-text-style-paragraph-medium);
5079
5316
  }
5080
5317
  .jkl-toast__progress {
5081
- --bar-color: var(--text-color);
5318
+ --bar-color: var(--jkl-color-background-contrast);
5082
5319
  --track-color: transparent;
5083
5320
  border-radius: 0;
5084
5321
  position: absolute;
@@ -5133,20 +5370,25 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5133
5370
  position: absolute;
5134
5371
  inset: calc((var(--tap-size) - 100%) / 2 * -1);
5135
5372
  }
5136
- .jkl-toast--info, .jkl-toast--warning, .jkl-toast--error, .jkl-toast--success {
5137
- --text-color: var(--jkl-color-text-on-alert);
5138
- }
5139
5373
  .jkl-toast--info {
5140
- --background-color: var(--jkl-color-background-alert-info);
5374
+ --background-color: var(--jkl-color-info-background-container);
5375
+ --text-color: var(--jkl-color-info-text-default);
5376
+ --border-color: var(--jkl-color-info-border-subdued);
5141
5377
  }
5142
5378
  .jkl-toast--warning {
5143
- --background-color: var(--jkl-color-background-alert-warning);
5379
+ --background-color: var(--jkl-color-warning-background-container);
5380
+ --text-color: var(--jkl-color-warning-text-default);
5381
+ --border-color: var(--jkl-color-warning-border-subdued);
5144
5382
  }
5145
5383
  .jkl-toast--error {
5146
- --background-color: var(--jkl-color-background-alert-error);
5384
+ --background-color: var(--jkl-color-error-background-container);
5385
+ --text-color: var(--jkl-color-error-text-default);
5386
+ --border-color: var(--jkl-color-error-border-subdued);
5147
5387
  }
5148
5388
  .jkl-toast--success {
5149
- --background-color: var(--jkl-color-background-alert-success);
5389
+ --background-color: var(--jkl-color-success-background-container);
5390
+ --text-color: var(--jkl-color-success-text-default);
5391
+ --border-color: var(--jkl-color-success-border-subdued);
5150
5392
  }
5151
5393
  @media screen and (forced-colors: active) {
5152
5394
  .jkl-toast {
@@ -5165,12 +5407,12 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5165
5407
  }
5166
5408
  .jkl-toast[data-animation=entering],
5167
5409
  .jkl-toast[data-animation=queued] {
5168
- animation: jkl-entering-udz45ct var(--jkl-motion-timing-polite) var(--jkl-motion-easing-entrance) forwards;
5410
+ animation: jkl-entering-ujgb8ay var(--jkl-motion-timing-polite) var(--jkl-motion-easing-entrance) forwards;
5169
5411
  }
5170
5412
  .jkl-toast[data-animation=exiting] {
5171
- animation: jkl-exiting-udz45db var(--jkl-motion-timing-productive) var(--jkl-motion-easing-exit) forwards;
5413
+ animation: jkl-exiting-ujgb8bf var(--jkl-motion-timing-productive) var(--jkl-motion-easing-exit) forwards;
5172
5414
  }
5173
- @keyframes jkl-entering-udz45ct {
5415
+ @keyframes jkl-entering-ujgb8ay {
5174
5416
  from {
5175
5417
  opacity: 0;
5176
5418
  transform: translate3d(0, 50%, 0);
@@ -5180,7 +5422,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5180
5422
  transform: translate3d(0, 0, 0);
5181
5423
  }
5182
5424
  }
5183
- @keyframes jkl-exiting-udz45db {
5425
+ @keyframes jkl-exiting-ujgb8bf {
5184
5426
  from {
5185
5427
  opacity: 1;
5186
5428
  transform: translate3d(0, 0, 0);
@@ -6540,12 +6782,12 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
6540
6782
  }
6541
6783
  }
6542
6784
  .jkl-toggle-slider {
6543
- --jkl-slider-bg: var(--jkl-color-background-container-low);
6544
- --jkl-slider-pill: var(--jkl-color-background-container-high);
6785
+ --jkl-slider-bg: var(--jkl-color-background-page);
6786
+ --jkl-slider-pill: var(--jkl-color-background-container);
6545
6787
  --jkl-slider-text: var(--jkl-color-text-default);
6546
6788
  --jkl-slider-text--active: var(--jkl-color-text-default);
6547
- --jkl-slider-focus-color: var(--jkl-color-border-action);
6548
- --jkl-slider-hover-color: var(--jkl-color-border-action);
6789
+ --jkl-slider-focus-color: var(--jkl-color-border-strong);
6790
+ --jkl-slider-hover-color: var(--jkl-color-border-strong);
6549
6791
  font-size: var(--jkl-slider-font-size);
6550
6792
  line-height: var(--jkl-slider-line-height);
6551
6793
  font-weight: var(--jkl-slider-font-weight);
@@ -6644,14 +6886,14 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
6644
6886
  --jkl-toggle-switch-width: var(--jkl-unit-60);
6645
6887
  --jkl-toggle-switch-knob-size: var(--jkl-unit-30);
6646
6888
  --border-width: 0.0625rem;
6647
- --switch-padding: 0.25rem;
6889
+ --switch-padding: var(--jkl-unit-05);
6648
6890
  --knob-position: 0;
6649
- --switch-border-color: var(--jkl-color-border-action);
6650
- --indicator-color: var(--jkl-color-background-container-high);
6651
- --knob-border-color: var(--jkl-color-border-action);
6652
- --knob-color: var(--jkl-color-background-container-high);
6891
+ --switch-border-color: var(--jkl-color-border-strong);
6892
+ --indicator-color: var(--jkl-color-background-container);
6893
+ --knob-border-color: var(--jkl-color-border-strong);
6894
+ --knob-color: var(--jkl-color-background-container);
6653
6895
  --text-color: var(--jkl-color-text-default);
6654
- --icon-color: var(--jkl-color-text-inverted);
6896
+ --icon-color: var(--jkl-color-text-on-contrast);
6655
6897
  background: transparent;
6656
6898
  color: var(--text-color);
6657
6899
  padding: 0;
@@ -6691,14 +6933,9 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
6691
6933
  }
6692
6934
  }
6693
6935
  .jkl-toggle-switch[aria-pressed=true], [aria-checked=true] > .jkl-toggle-switch {
6694
- --indicator-color: var(--jkl-color-background-container-inverted);
6695
- --knob-color: var(--jkl-color-text-inverted);
6696
- --knob-position: calc(
6697
- var(--jkl-toggle-switch-width) - var(
6698
- --jkl-toggle-switch-knob-size
6699
- ) - var(--switch-padding) *
6700
- 2
6701
- );
6936
+ --indicator-color: var(--jkl-color-background-contrast);
6937
+ --knob-color: var(--jkl-color-text-on-contrast);
6938
+ --knob-position: calc(var(--jkl-toggle-switch-width) - var(--jkl-toggle-switch-knob-size) - var(--switch-padding) * 2);
6702
6939
  }
6703
6940
  .jkl-toggle-switch[disabled] {
6704
6941
  cursor: revert;
@@ -6714,7 +6951,6 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
6714
6951
  --jkl-toggle-switch-height: var(--jkl-unit-40);
6715
6952
  --jkl-toggle-switch-width: var(--jkl-unit-60);
6716
6953
  --jkl-toggle-switch-knob-size: var(--jkl-unit-30);
6717
- --jkl-toggle-switch-indicator-spacing: 0;
6718
6954
  position: relative;
6719
6955
  box-sizing: border-box;
6720
6956
  display: flex;
@@ -6736,7 +6972,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
6736
6972
  }
6737
6973
  }
6738
6974
  .jkl-toggle-switch:focus-visible .jkl-toggle-switch-widget {
6739
- outline: 3px solid var(--jkl-color-border-action);
6975
+ outline: 3px solid var(--jkl-color-border-strong);
6740
6976
  outline-offset: 3px;
6741
6977
  }
6742
6978
  .jkl-toggle-switch-widget__slider {
@@ -6762,14 +6998,97 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
6762
6998
  position: absolute;
6763
6999
  top: 50%;
6764
7000
  right: 100%;
6765
- margin-right: var(--jkl-toggle-switch-indicator-spacing);
7001
+ font-size: var(--jkl-unit-20);
6766
7002
  transform: translate(0, -50%);
6767
7003
  }
6768
- .jkl-toggle-switch-widget__indicator > .jkl-icon__icon {
6769
- position: absolute;
6770
- inset: 0;
6771
- }
6772
7004
 
7005
+ @layer jokul.components {
7006
+ :where(.jkl-text) {
7007
+ font-weight: var(--jkl-typography-weight-normal);
7008
+ line-height: var(--jkl-line-height-relaxed);
7009
+ }
7010
+ .jkl-text[data-text-size] {
7011
+ margin-block: 0;
7012
+ }
7013
+ .jkl-text[data-text-size=xs] {
7014
+ font: var(--jkl-text-style-text-micro);
7015
+ }
7016
+ .jkl-text[data-text-size=s] {
7017
+ font: var(--jkl-text-style-paragraph-small);
7018
+ }
7019
+ .jkl-text[data-text-size=m] {
7020
+ font: var(--jkl-text-style-paragraph-medium);
7021
+ }
7022
+ .jkl-text[data-text-size=l] {
7023
+ font: var(--jkl-text-style-paragraph-large);
7024
+ }
7025
+ .jkl-text[data-bold],
7026
+ strong.jkl-text[data-text-size] {
7027
+ font-weight: var(--jkl-typography-weight-bold);
7028
+ }
7029
+ .jkl-text[data-short] {
7030
+ line-height: var(--jkl-line-height-tight);
7031
+ }
7032
+ :is(code, kbd, samp, var).jkl-text {
7033
+ font-family: var(--jkl-font-family-mono);
7034
+ }
7035
+ label.jkl-text {
7036
+ display: block;
7037
+ margin-block-end: var(--jkl-spacing-8);
7038
+ }
7039
+ }
7040
+ @layer jokul.components {
7041
+ :where(.jkl-title) {
7042
+ font-weight: var(--jkl-typography-weight-normal);
7043
+ line-height: var(--jkl-line-height-tight);
7044
+ }
7045
+ .jkl-title[data-text-size] {
7046
+ margin-block: 0;
7047
+ }
7048
+ .jkl-title[data-text-size=xs],
7049
+ .jkl-heading-xs {
7050
+ font: var(--jkl-text-style-heading-5);
7051
+ }
7052
+ :where(.jkl-heading-xs) {
7053
+ margin-block: 0;
7054
+ }
7055
+ .jkl-title[data-text-size=s],
7056
+ .jkl-heading-s {
7057
+ font: var(--jkl-text-style-heading-4);
7058
+ }
7059
+ :where(.jkl-heading-s) {
7060
+ margin-block: 0;
7061
+ }
7062
+ .jkl-title[data-text-size=m],
7063
+ .jkl-heading-m {
7064
+ font: var(--jkl-text-style-heading-3);
7065
+ }
7066
+ :where(.jkl-heading-m) {
7067
+ margin-block: 0;
7068
+ }
7069
+ .jkl-title[data-text-size=l],
7070
+ .jkl-heading-l {
7071
+ font: var(--jkl-text-style-heading-2);
7072
+ }
7073
+ :where(.jkl-heading-l) {
7074
+ margin-block: 0;
7075
+ }
7076
+ .jkl-title[data-text-size=xl],
7077
+ .jkl-heading-xl {
7078
+ font: var(--jkl-text-style-heading-1);
7079
+ }
7080
+ :where(.jkl-heading-xl) {
7081
+ margin-block: 0;
7082
+ }
7083
+ :is(label, legend).jkl-title[data-text-size] {
7084
+ font-weight: var(--jkl-typography-weight-normal);
7085
+ line-height: var(--jkl-line-height-relaxed);
7086
+ }
7087
+ label.jkl-title[data-text-size] {
7088
+ display: block;
7089
+ margin-block-end: var(--jkl-spacing-8);
7090
+ }
7091
+ }
6773
7092
  @layer jokul.components {
6774
7093
  .jkl-help {
6775
7094
  anchor-scope: all;
@@ -6797,8 +7116,8 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
6797
7116
  padding: var(--jkl-unit-30);
6798
7117
  margin: var(--jkl-unit-05);
6799
7118
  position-anchor: --trigger;
6800
- background-color: var(--jkl-color-background-container-inverted);
6801
- color: var(--jkl-color-text-inverted);
7119
+ background-color: var(--jkl-color-background-contrast);
7120
+ color: var(--jkl-color-text-on-contrast);
6802
7121
  anchor-name: --help-box;
6803
7122
  }
6804
7123
  .jkl-help-popover[data-position=top] {