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

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 (350) 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/CODEMODS.md +133 -0
  106. package/codemods/__tests__/import-paths.test.mjs +648 -0
  107. package/codemods/import-paths.mjs +198 -0
  108. package/codemods/transforms/color-tokens.mjs +77 -0
  109. package/codemods/transforms/font-family.mjs +23 -0
  110. package/codemods/transforms/import-specifiers.mjs +230 -0
  111. package/codemods/transforms/warnings.mjs +41 -0
  112. package/codemods/utils.mjs +35 -0
  113. package/package.json +7 -1
  114. package/src/fonts/InterVariable-Italic.woff2 +0 -0
  115. package/src/fonts/InterVariable.woff2 +0 -0
  116. package/src/fonts/brands/dnb/DNB-Bold.woff2 +0 -0
  117. package/src/fonts/brands/dnb/DNB-Medium.woff2 +0 -0
  118. package/src/fonts/brands/dnb/DNB-Regular.woff2 +0 -0
  119. package/src/fonts/brands/dnb/DNBMono-Regular.woff2 +0 -0
  120. package/src/fonts/brands/eika/OpenSans-Bold.woff2 +0 -0
  121. package/src/fonts/brands/eika/OpenSans-Light.woff2 +0 -0
  122. package/src/fonts/brands/eika/OpenSans-Regular.woff2 +0 -0
  123. package/src/fonts/brands/eika/OpenSans-SemiBold.woff2 +0 -0
  124. package/src/fonts/brands/fremtind/Fremtind-Material-Symbols.woff2 +0 -0
  125. package/src/fonts/brands/fremtind/InterVariable-Italic.woff2 +0 -0
  126. package/src/fonts/brands/fremtind/InterVariable.woff2 +0 -0
  127. package/src/fonts/brands/sparebank1/SpareBank1-Medium-Web.woff2 +0 -0
  128. package/src/fonts/brands/sparebank1/SpareBank1-Regular-Web.woff2 +0 -0
  129. package/src/fonts/brands/sparebank1/SpareBank1-Title-Medium-Web.woff2 +0 -0
  130. package/styles/base.css +819 -218
  131. package/styles/base.min.css +1 -1
  132. package/styles/components/autosuggest/autosuggest.css +4 -4
  133. package/styles/components/autosuggest/autosuggest.min.css +1 -1
  134. package/styles/components/autosuggest/autosuggest.scss +4 -4
  135. package/styles/components/beta/description-list/description-list.css +1 -1
  136. package/styles/components/beta/description-list/description-list.min.css +1 -1
  137. package/styles/components/beta/description-list/description-list.scss +1 -1
  138. package/styles/components/beta/nav-link/navlink.css +4 -4
  139. package/styles/components/beta/nav-link/navlink.min.css +1 -1
  140. package/styles/components/beta/nav-link/navlink.scss +6 -4
  141. package/styles/components/beta/select/select.css +9 -9
  142. package/styles/components/beta/select/select.min.css +1 -1
  143. package/styles/components/beta/select/select.scss +8 -7
  144. package/styles/components/breadcrumb/breadcrumb.css +1 -1
  145. package/styles/components/breadcrumb/breadcrumb.min.css +1 -1
  146. package/styles/components/button/button.css +8 -4
  147. package/styles/components/button/button.min.css +1 -1
  148. package/styles/components/button/button.scss +14 -14
  149. package/styles/components/card/card.css +6 -11
  150. package/styles/components/card/card.min.css +1 -1
  151. package/styles/components/card/card.scss +5 -12
  152. package/styles/components/checkbox/checkbox.css +43 -15
  153. package/styles/components/checkbox/checkbox.min.css +1 -1
  154. package/styles/components/checkbox/checkbox.scss +35 -24
  155. package/styles/components/checkbox-panel/checkbox-panel.css +65 -32
  156. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  157. package/styles/components/checkbox-panel/checkbox-panel.scss +4 -0
  158. package/styles/components/checkbox-panel/development/styles.scss +1 -1
  159. package/styles/components/chip/chip.css +6 -6
  160. package/styles/components/chip/chip.min.css +1 -1
  161. package/styles/components/chip/chip.scss +6 -6
  162. package/styles/components/combobox/combobox.css +25 -23
  163. package/styles/components/combobox/combobox.min.css +1 -1
  164. package/styles/components/combobox/combobox.scss +15 -18
  165. package/styles/components/countdown/countdown.css +4 -4
  166. package/styles/components/countdown/countdown.min.css +1 -1
  167. package/styles/components/datepicker/_calendar-date-button.scss +11 -9
  168. package/styles/components/datepicker/_calendar-navigation-dropdown.scss +1 -1
  169. package/styles/components/datepicker/_calendar.scss +6 -7
  170. package/styles/components/datepicker/datepicker.css +20 -12
  171. package/styles/components/datepicker/datepicker.min.css +1 -1
  172. package/styles/components/description-list/description-list.css +1 -1
  173. package/styles/components/description-list/description-list.min.css +1 -1
  174. package/styles/components/description-list/description-list.scss +1 -1
  175. package/styles/components/expander/expandable.css +29 -27
  176. package/styles/components/expander/expandable.min.css +1 -1
  177. package/styles/components/expander/expandable.scss +29 -30
  178. package/styles/components/feedback/_index.scss +1 -1
  179. package/styles/components/feedback/feedback.css +6 -8
  180. package/styles/components/feedback/feedback.min.css +1 -1
  181. package/styles/components/feedback/feedback.scss +4 -9
  182. package/styles/components/file/file.css +5 -5
  183. package/styles/components/file/file.min.css +1 -1
  184. package/styles/components/file/file.scss +5 -5
  185. package/styles/components/file-input/file-input.css +29 -25
  186. package/styles/components/file-input/file-input.min.css +1 -1
  187. package/styles/components/file-input/file-input.scss +3 -3
  188. package/styles/components/help/help.css +2 -2
  189. package/styles/components/help/help.min.css +1 -1
  190. package/styles/components/help/help.scss +4 -4
  191. package/styles/components/icon/_base-styles.scss +12 -14
  192. package/styles/components/icon/icon.css +5 -5
  193. package/styles/components/icon/icon.min.css +1 -1
  194. package/styles/components/icon/icon.scss +73 -73
  195. package/styles/components/icon-button/icon-button.css +2 -2
  196. package/styles/components/icon-button/icon-button.min.css +1 -1
  197. package/styles/components/icon-button/icon-button.scss +1 -1
  198. package/styles/components/input-group/input-group.css +2 -2
  199. package/styles/components/input-group/input-group.min.css +1 -1
  200. package/styles/components/input-panel/input-panel.css +19 -17
  201. package/styles/components/input-panel/input-panel.min.css +1 -1
  202. package/styles/components/input-panel/input-panel.scss +21 -20
  203. package/styles/components/link/link.css +2 -2
  204. package/styles/components/link/link.min.css +1 -1
  205. package/styles/components/link-list/link-list.css +8 -4
  206. package/styles/components/link-list/link-list.min.css +1 -1
  207. package/styles/components/link-list/link-list.scss +7 -3
  208. package/styles/components/list/list.css +37 -21
  209. package/styles/components/list/list.min.css +1 -1
  210. package/styles/components/list/list.scss +27 -23
  211. package/styles/components/loader/loader.css +6 -6
  212. package/styles/components/loader/loader.min.css +1 -1
  213. package/styles/components/loader/skeleton-loader.css +4 -4
  214. package/styles/components/loader/skeleton-loader.min.css +1 -1
  215. package/styles/components/loader/skeleton-loader.scss +1 -1
  216. package/styles/components/menu/_menu-divider.scss +1 -1
  217. package/styles/components/menu/_menu-item.scss +2 -2
  218. package/styles/components/menu/menu.css +5 -5
  219. package/styles/components/menu/menu.min.css +1 -1
  220. package/styles/components/menu/menu.scss +2 -2
  221. package/styles/components/message/message.css +20 -10
  222. package/styles/components/message/message.min.css +1 -1
  223. package/styles/components/message/message.scss +19 -12
  224. package/styles/components/modal/_layout.scss +22 -0
  225. package/styles/components/modal/_modal-base.scss +32 -0
  226. package/styles/components/modal/_motion.scss +45 -0
  227. package/styles/components/modal/_overlay.scss +20 -0
  228. package/styles/components/modal/_parts.scss +33 -0
  229. package/styles/components/modal/_placement.scss +59 -0
  230. package/styles/components/modal/modal.css +118 -34
  231. package/styles/components/modal/modal.min.css +1 -1
  232. package/styles/components/modal/modal.scss +6 -95
  233. package/styles/components/nav-link/nav-link.css +1 -1
  234. package/styles/components/nav-link/nav-link.min.css +1 -1
  235. package/styles/components/pagination/development/styles.scss +1 -1
  236. package/styles/components/pagination/pagination.css +3 -3
  237. package/styles/components/pagination/pagination.min.css +1 -1
  238. package/styles/components/pagination/pagination.scss +2 -2
  239. package/styles/components/popover/popover.css +12 -1
  240. package/styles/components/popover/popover.min.css +1 -1
  241. package/styles/components/popover/popover.scss +15 -1
  242. package/styles/components/progress-bar/progress-bar.css +27 -3
  243. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  244. package/styles/components/progress-bar/progress-bar.scss +5 -0
  245. package/styles/components/radio-button/radio-button.css +43 -8
  246. package/styles/components/radio-button/radio-button.min.css +1 -1
  247. package/styles/components/radio-button/radio-button.scss +35 -16
  248. package/styles/components/radio-panel/development/styles.scss +1 -1
  249. package/styles/components/radio-panel/radio-panel.css +22 -17
  250. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  251. package/styles/components/radio-panel/radio-panel.scss +4 -0
  252. package/styles/components/search/search-with-submit-button.css +1 -1
  253. package/styles/components/search/search-with-submit-button.min.css +1 -1
  254. package/styles/components/search/search-with-submit-button.scss +1 -1
  255. package/styles/components/search/search.css +4 -4
  256. package/styles/components/search/search.min.css +1 -1
  257. package/styles/components/search/search.scss +3 -3
  258. package/styles/components/segmented-control/segmented-control.css +61 -26
  259. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  260. package/styles/components/segmented-control/segmented-control.scss +7 -7
  261. package/styles/components/select/select.css +17 -18
  262. package/styles/components/select/select.min.css +1 -1
  263. package/styles/components/select/select.scss +24 -29
  264. package/styles/components/summary-table/development/summary-table-example.scss +1 -1
  265. package/styles/components/summary-table/summary-table.css +2 -2
  266. package/styles/components/summary-table/summary-table.min.css +1 -1
  267. package/styles/components/summary-table/summary-table.scss +2 -2
  268. package/styles/components/system-message/system-message.css +23 -13
  269. package/styles/components/system-message/system-message.min.css +1 -1
  270. package/styles/components/system-message/system-message.scss +119 -108
  271. package/styles/components/table/_table-head.scss +1 -1
  272. package/styles/components/table/_table-row.scss +5 -3
  273. package/styles/components/table/table.css +6 -4
  274. package/styles/components/table/table.min.css +1 -1
  275. package/styles/components/table-of-contents/table-of-contents.css +2 -2
  276. package/styles/components/table-of-contents/table-of-contents.min.css +1 -1
  277. package/styles/components/table-of-contents/table-of-contents.scss +3 -3
  278. package/styles/components/tabs/tabs.css +5 -5
  279. package/styles/components/tabs/tabs.min.css +1 -1
  280. package/styles/components/tabs/tabs.scss +5 -6
  281. package/styles/components/tag/tag.css +16 -6
  282. package/styles/components/tag/tag.min.css +1 -1
  283. package/styles/components/tag/tag.scss +18 -7
  284. package/styles/components/text-area/text-area.css +12 -12
  285. package/styles/components/text-area/text-area.min.css +1 -1
  286. package/styles/components/text-input/text-input.css +12 -12
  287. package/styles/components/text-input/text-input.min.css +1 -1
  288. package/styles/components/toast/toast.css +20 -13
  289. package/styles/components/toast/toast.min.css +1 -1
  290. package/styles/components/toast/toast.scss +19 -18
  291. package/styles/components/toggle-switch/_toggle-slider.scss +4 -4
  292. package/styles/components/toggle-switch/toggle-switch.css +15 -25
  293. package/styles/components/toggle-switch/toggle-switch.min.css +1 -3
  294. package/styles/components/toggle-switch/toggle-switch.scss +10 -22
  295. package/styles/components/tooltip/tooltip.css +5 -5
  296. package/styles/components/tooltip/tooltip.min.css +1 -1
  297. package/styles/components/tooltip/tooltip.scss +5 -5
  298. package/styles/components/typography/_index.scss +2 -0
  299. package/styles/components/typography/text.css +38 -0
  300. package/styles/components/typography/text.min.css +1 -0
  301. package/styles/components/typography/text.scss +54 -0
  302. package/styles/components/typography/title.css +55 -0
  303. package/styles/components/typography/title.min.css +1 -0
  304. package/styles/components/typography/title.scss +59 -0
  305. package/styles/components.css +729 -395
  306. package/styles/components.min.css +1 -3
  307. package/styles/components.scss +53 -52
  308. package/styles/global/_base-class.scss +2 -2
  309. package/styles/global/_top-layer.scss +1 -1
  310. package/styles/hooks/stories/styles.scss +3 -3
  311. package/styles/jkl/_ornaments.scss +1 -1
  312. package/styles/jkl/_tokens.scss +140 -66
  313. package/styles/jkl/_typography.scss +13 -21
  314. package/styles/shared/input/shared-input-styles.scss +11 -15
  315. package/styles/shared/track/track.scss +2 -2
  316. package/styles/tailwind.css +106 -62
  317. package/styles/theme/_color-scheme.scss +107 -60
  318. package/styles/theme/_dynamic-spacing.scss +24 -18
  319. package/styles/theme/_fonts.scss +19 -78
  320. package/styles/theme/_index.scss +4 -0
  321. package/styles/theme/_size.scss +20 -20
  322. package/styles/theme/_tokens.scss +14 -14
  323. package/styles/theme/brands/dnb/_color-scheme.scss +121 -0
  324. package/styles/theme/brands/dnb/_fonts.scss +46 -0
  325. package/styles/theme/brands/dnb/_index.scss +2 -0
  326. package/styles/theme/brands/eika/_color-scheme.scss +121 -0
  327. package/styles/theme/brands/eika/_fonts.scss +46 -0
  328. package/styles/theme/brands/eika/_index.scss +2 -0
  329. package/styles/theme/brands/fremtind/_color-scheme.scss +121 -0
  330. package/styles/theme/brands/fremtind/_fonts.scss +30 -0
  331. package/styles/theme/brands/fremtind/_index.scss +2 -0
  332. package/styles/theme/brands/sparebank1/_color-scheme.scss +121 -0
  333. package/styles/theme/brands/sparebank1/_fonts.scss +38 -0
  334. package/styles/theme/brands/sparebank1/_index.scss +2 -0
  335. package/styles/utility/_headings.scss +1 -1
  336. package/styles/utility/_paragraphs.scss +2 -2
  337. package/styles/utility/_screen-reader.scss +1 -1
  338. package/styles/utility/_spacing.scss +2 -2
  339. package/src/fonts/FremtindGrotesk-Bold-Web.woff +0 -0
  340. package/src/fonts/FremtindGrotesk-Bold-Web.woff2 +0 -0
  341. package/src/fonts/FremtindGrotesk-BoldItalic-Web.woff +0 -0
  342. package/src/fonts/FremtindGrotesk-BoldItalic-Web.woff2 +0 -0
  343. package/src/fonts/FremtindGrotesk-Display-Web.woff +0 -0
  344. package/src/fonts/FremtindGrotesk-Display-Web.woff2 +0 -0
  345. package/src/fonts/FremtindGrotesk-Italic-Web.woff +0 -0
  346. package/src/fonts/FremtindGrotesk-Italic-Web.woff2 +0 -0
  347. package/src/fonts/FremtindGrotesk-Regular-Web.woff +0 -0
  348. package/src/fonts/FremtindGrotesk-Regular-Web.woff2 +0 -0
  349. package/src/fonts/FremtindGroteskMono-Regular-Web.woff +0 -0
  350. package/src/fonts/FremtindGroteskMono-Regular-Web.woff2 +0 -0
@@ -2,14 +2,12 @@
2
2
  /**
3
3
  * Do not edit directly, this file was auto-generated.
4
4
  */
5
+ /*
6
+ * NOTE: These markers should stay visually aligned with GreenCheckIcon and
7
+ * RedCrossIcon in the icon package.
8
+ */
5
9
  @layer jokul.components {
6
10
  .jkl-list {
7
- /* stylelint-disable declaration-block-no-duplicate-custom-properties -- fallback for browsers without light-dark() support */
8
- --jkl-list-marker-cross: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23F6B3B3'/%3E%3Cpath fill='%231B1917' d='M5.54 12.68l7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231B1917' d='M12.67 13.47l-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E%0A");
9
- --jkl-list-marker-cross: light-dark(url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23F6B3B3'/%3E%3Cpath fill='%231B1917' d='M5.54 12.68l7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231B1917' d='M12.67 13.47l-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E%0A"), url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23DE9E9E'/%3E%3Cpath fill='%231B1917' d='M5.54 12.68l7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231B1917' d='M12.67 13.47l-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E%0A"));
10
- --jkl-list-marker-check: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%23ACD3B5'/%3E%3Cpath d='M4.75 11l2.35 2.36 7.84-7.84' stroke='%231B1917' stroke-width='1.5'/%3E%3C/svg%3E%0A");
11
- --jkl-list-marker-check: light-dark(url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%23ACD3B5'/%3E%3Cpath d='M4.75 11l2.35 2.36 7.84-7.84' stroke='%231B1917' stroke-width='1.5'/%3E%3C/svg%3E%0A"), url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%2394B79B'/%3E%3Cpath d='M4.75 11l2.35 2.36 7.84-7.84' stroke='%231B1917' stroke-width='1.5'/%3E%3C/svg%3E%0A"));
12
- /* stylelint-enable declaration-block-no-duplicate-custom-properties */
13
11
  --list-text-color: var(--jkl-color-text-default);
14
12
  list-style-type: "•";
15
13
  padding-left: var(--jkl-unit-20);
@@ -45,32 +43,50 @@
45
43
  padding-left: 0;
46
44
  }
47
45
  .jkl-list__item--iconed::before {
48
- text-indent: -9999px;
49
- background-size: contain;
50
- width: 1em;
51
- height: 1em;
46
+ font-family: "Jokul Icons", "Jokul Icons Fallback", sans-serif;
47
+ font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
48
+ font-feature-settings: "liga";
49
+ -webkit-font-feature-settings: "liga";
50
+ font-size: 1.3em;
51
+ font-weight: 400;
52
+ line-height: 1;
53
+ display: inline-block;
54
+ -webkit-font-smoothing: antialiased;
55
+ transition-timing-function: var(--jkl-motion-easing-standard);
56
+ transition-duration: var(--jkl-motion-timing-energetic);
57
+ transition-property: font-variation-settings, transform;
58
+ display: inline-grid;
59
+ place-items: center;
60
+ width: 1.1875em;
61
+ height: 1.1875em;
62
+ box-sizing: border-box;
52
63
  flex-shrink: 0;
53
64
  margin-right: 0.5em;
54
65
  margin-top: 0.2em;
66
+ font-size: 1em;
67
+ line-height: 1;
68
+ border-radius: 999px;
69
+ --jkl-icon-weight: var(--jkl-icon-weight-bold);
55
70
  }
56
71
  .jkl-list__item--check::before {
57
- content: "";
58
- content: ""/"";
72
+ content: "\e5ca";
73
+ content: "\e5ca"/"";
59
74
  alt: " ";
60
- background-image: var(--jkl-list-marker-check);
75
+ color: var(--jkl-color-success-text-on-contrast);
76
+ background-color: var(--jkl-color-success-background-contrast);
61
77
  }
62
78
  .jkl-list__item--cross::before {
63
- content: "";
64
- content: ""/"";
79
+ content: "\e5cd";
80
+ content: "\e5cd"/"";
65
81
  alt: " ";
66
- background-image: var(--jkl-list-marker-cross);
82
+ color: var(--jkl-color-error-text-on-contrast);
83
+ background-color: var(--jkl-color-error-background-contrast);
67
84
  }
68
85
  @media screen and (forced-colors: active) {
69
- .jkl-list .jkl-list__item--check::before {
70
- background-image: _check(CanvasText, Canvas);
71
- }
72
- .jkl-list .jkl-list__item--cross::before {
73
- background-image: _cross(CanvasText, Canvas);
86
+ .jkl-list .jkl-list__item--check::before, .jkl-list .jkl-list__item--cross::before {
87
+ background-color: Canvas;
88
+ color: CanvasText;
89
+ border: 1px solid CanvasText;
74
90
  }
75
91
  }
76
92
  }
@@ -1 +1 @@
1
- @charset "UTF-8";@layer jokul.components{.jkl-list{--jkl-list-marker-cross:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23f6b3b3'/%3E%3Cpath fill='%231b1917' d='m5.54 12.68 7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231b1917' d='m12.67 13.47-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E");--jkl-list-marker-cross:light-dark(url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23f6b3b3'/%3E%3Cpath fill='%231b1917' d='m5.54 12.68 7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231b1917' d='m12.67 13.47-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E"),url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23de9e9e'/%3E%3Cpath fill='%231b1917' d='m5.54 12.68 7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231b1917' d='m12.67 13.47-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E"));--jkl-list-marker-check:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%23acd3b5'/%3E%3Cpath stroke='%231b1917' stroke-width='1.5' d='m4.75 11 2.35 2.36 7.84-7.84'/%3E%3C/svg%3E");--jkl-list-marker-check:light-dark(url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%23acd3b5'/%3E%3Cpath stroke='%231b1917' stroke-width='1.5' d='m4.75 11 2.35 2.36 7.84-7.84'/%3E%3C/svg%3E"),url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%2394b79b'/%3E%3Cpath stroke='%231b1917' stroke-width='1.5' d='m4.75 11 2.35 2.36 7.84-7.84'/%3E%3C/svg%3E"));--list-text-color:var(--jkl-color-text-default);list-style-type:"•";margin:0;padding-left:var(--jkl-unit-20)}.jkl-list>.jkl-list__item>.jkl-list{margin:var(--jkl-unit-10) 0}.jkl-list:has(.jkl-list__item--iconed){padding:0}.jkl-list--ordered{padding-left:revert}.jkl-list--ordered>.jkl-list__item{list-style:decimal;padding-left:revert}.jkl-list--ordered .jkl-list--ordered>.jkl-list__item{list-style:lower-alpha}.jkl-list__item{color:var(--jkl-list-text-color);padding-left:var(--jkl-unit-15)}.jkl-list__item::marker{color:var(--jkl-list-text-color)}.jkl-list__item--iconed{display:flex;list-style:none;padding-left:0;position:relative}.jkl-list__item--iconed:before{background-size:contain;flex-shrink:0;height:1em;margin-right:.5em;margin-top:.2em;text-indent:-9999px;width:1em}.jkl-list__item--check:before{content:"";content:""/"";alt:" ";background-image:var(--jkl-list-marker-check)}.jkl-list__item--cross:before{content:"";content:""/"";alt:" ";background-image:var(--jkl-list-marker-cross)}@media screen and (forced-colors:active){.jkl-list .jkl-list__item--check:before{background-image:_check(CanvasText,Canvas)}.jkl-list .jkl-list__item--cross:before{background-image:_cross(CanvasText,Canvas)}}}
1
+ @charset "UTF-8";@layer jokul.components{.jkl-list{--list-text-color:var(--jkl-color-text-default);list-style-type:"•";margin:0;padding-left:var(--jkl-unit-20)}.jkl-list>.jkl-list__item>.jkl-list{margin:var(--jkl-unit-10) 0}.jkl-list:has(.jkl-list__item--iconed){padding:0}.jkl-list--ordered{padding-left:revert}.jkl-list--ordered>.jkl-list__item{list-style:decimal;padding-left:revert}.jkl-list--ordered .jkl-list--ordered>.jkl-list__item{list-style:lower-alpha}.jkl-list__item{color:var(--jkl-list-text-color);padding-left:var(--jkl-unit-15)}.jkl-list__item::marker{color:var(--jkl-list-text-color)}.jkl-list__item--iconed{display:flex;list-style:none;padding-left:0;position:relative}.jkl-list__item--iconed:before{display:inline-block;font-family:Jokul Icons,Jokul Icons Fallback,sans-serif;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:1.3em;font-variation-settings:"FILL" var(--jkl-icon-fill,0);font-weight:400;-webkit-font-smoothing:antialiased;border-radius:999px;box-sizing:border-box;display:inline-grid;flex-shrink:0;font-size:1em;height:1.1875em;line-height:1;margin-right:.5em;margin-top:.2em;place-items:center;transition-duration:var(--jkl-motion-timing-energetic);transition-property:font-variation-settings,transform;transition-timing-function:var(--jkl-motion-easing-standard);width:1.1875em;--jkl-icon-weight:var(--jkl-icon-weight-bold)}.jkl-list__item--check:before{content:"\e5ca";content:"\e5ca"/"";alt:" ";background-color:var(--jkl-color-success-background-contrast);color:var(--jkl-color-success-text-on-contrast)}.jkl-list__item--cross:before{content:"\e5cd";content:"\e5cd"/"";alt:" ";background-color:var(--jkl-color-error-background-contrast);color:var(--jkl-color-error-text-on-contrast)}@media screen and (forced-colors:active){.jkl-list .jkl-list__item--check:before,.jkl-list .jkl-list__item--cross:before{background-color:Canvas;border:1px solid CanvasText;color:CanvasText}}}
@@ -1,19 +1,14 @@
1
1
  @charset "UTF-8";
2
2
  @use "../../jkl";
3
+ @use "../icon/base-styles" as icon;
3
4
 
4
- $_cross-light: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23F6B3B3'/%3E%3Cpath fill='%231B1917' d='M5.54 12.68l7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231B1917' d='M12.67 13.47l-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E%0A");
5
- $_cross-dark: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23DE9E9E'/%3E%3Cpath fill='%231B1917' d='M5.54 12.68l7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231B1917' d='M12.67 13.47l-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E%0A");
6
- $_check-light: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%23ACD3B5'/%3E%3Cpath d='M4.75 11l2.35 2.36 7.84-7.84' stroke='%231B1917' stroke-width='1.5'/%3E%3C/svg%3E%0A");
7
- $_check-dark: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%2394B79B'/%3E%3Cpath d='M4.75 11l2.35 2.36 7.84-7.84' stroke='%231B1917' stroke-width='1.5'/%3E%3C/svg%3E%0A");
5
+ /*
6
+ * NOTE: These markers should stay visually aligned with GreenCheckIcon and
7
+ * RedCrossIcon in the icon package.
8
+ */
8
9
 
9
10
  @layer jokul.components {
10
11
  .jkl-list {
11
- /* stylelint-disable declaration-block-no-duplicate-custom-properties -- fallback for browsers without light-dark() support */
12
- --jkl-list-marker-cross: #{$_cross-light};
13
- --jkl-list-marker-cross: light-dark(#{$_cross-light}, #{$_cross-dark});
14
- --jkl-list-marker-check: #{$_check-light};
15
- --jkl-list-marker-check: light-dark(#{$_check-light}, #{$_check-dark});
16
- /* stylelint-enable declaration-block-no-duplicate-custom-properties */
17
12
  --list-text-color: var(--jkl-color-text-default);
18
13
 
19
14
  list-style-type: "\2022";
@@ -58,35 +53,44 @@ $_check-dark: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none'
58
53
  padding-left: 0;
59
54
 
60
55
  &::before {
61
- text-indent: -9999px;
62
- background-size: contain;
63
- width: 1em;
64
- height: 1em;
56
+ @include icon.base-styles;
57
+
58
+ display: inline-grid;
59
+ place-items: center;
60
+ width: 1.1875em;
61
+ height: 1.1875em;
62
+ box-sizing: border-box;
65
63
  flex-shrink: 0;
66
64
  margin-right: 0.5em;
67
65
  margin-top: 0.2em; // Vertical offset (using em for font-size scaling) to align icon properly with the first line.
66
+ font-size: 1em;
67
+ line-height: 1;
68
+ border-radius: 999px;
69
+
70
+ --jkl-icon-weight: var(--jkl-icon-weight-bold);
68
71
  }
69
72
  }
70
73
 
71
74
  &--check::before {
72
- @include jkl.decorative($content: "\2713");
73
- background-image: var(--jkl-list-marker-check);
75
+ @include jkl.decorative($content: "\e5ca");
76
+ color: var(--jkl-color-success-text-on-contrast);
77
+ background-color: var(--jkl-color-success-background-contrast);
74
78
  }
75
79
 
76
80
  &--cross::before {
77
- @include jkl.decorative($content: "\274C");
78
- background-image: var(--jkl-list-marker-cross);
81
+ @include jkl.decorative($content: "\e5cd");
82
+ color: var(--jkl-color-error-text-on-contrast);
83
+ background-color: var(--jkl-color-error-background-contrast);
79
84
  }
80
85
  }
81
86
 
82
87
  @include jkl.forced-colors-mode {
83
88
  & .jkl-list__item {
84
- &--check::before {
85
- background-image: _check(CanvasText, Canvas);
86
- }
87
-
89
+ &--check::before,
88
90
  &--cross::before {
89
- background-image: _cross(CanvasText, Canvas);
91
+ background-color: Canvas;
92
+ color: CanvasText;
93
+ border: 1px solid CanvasText;
90
94
  }
91
95
  }
92
96
  }
@@ -19,22 +19,22 @@
19
19
  animation: 2500ms linear infinite;
20
20
  }
21
21
  .jkl-loader__dot--left {
22
- animation-name: jkl-loader-left-spin-unevkq4;
22
+ animation-name: jkl-loader-left-spin-uyaakl6;
23
23
  margin-right: calc(var(--jkl-loader-spacing) * 0.9);
24
24
  }
25
25
  .jkl-loader__dot--middle {
26
- animation-name: jkl-loader-middle-spin-unevkqt;
26
+ animation-name: jkl-loader-middle-spin-uyaaklr;
27
27
  margin-right: var(--jkl-loader-spacing);
28
28
  }
29
29
  .jkl-loader__dot--right {
30
- animation-name: jkl-loader-right-spin-unevkrp;
30
+ animation-name: jkl-loader-right-spin-uyaakm6;
31
31
  }
32
32
  @media screen and (forced-colors: active) {
33
33
  .jkl-loader__dot {
34
34
  background-color: CanvasText;
35
35
  }
36
36
  }
37
- @keyframes jkl-loader-left-spin-unevkq4 {
37
+ @keyframes jkl-loader-left-spin-uyaakl6 {
38
38
  0% {
39
39
  transform: rotate(0) scale(0);
40
40
  }
@@ -48,7 +48,7 @@
48
48
  transform: rotate(180deg) scale(0);
49
49
  }
50
50
  }
51
- @keyframes jkl-loader-middle-spin-unevkqt {
51
+ @keyframes jkl-loader-middle-spin-uyaaklr {
52
52
  0% {
53
53
  transform: rotate(20deg) scale(0);
54
54
  }
@@ -65,7 +65,7 @@
65
65
  transform: rotate(200deg) scale(0);
66
66
  }
67
67
  }
68
- @keyframes jkl-loader-right-spin-unevkrp {
68
+ @keyframes jkl-loader-right-spin-uyaakm6 {
69
69
  0% {
70
70
  transform: rotate(40deg) scale(0);
71
71
  }
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-loader{--jkl-loader-dot-size:var(--jkl-unit-10);--jkl-loader-spacing:var(--jkl-unit-20);display:flex}.jkl-loader--inline{display:inline-flex}.jkl-loader__dot{animation:2.5s linear infinite;background-color:currentColor;display:block;height:var(--jkl-loader-dot-size);transform-origin:center;width:var(--jkl-loader-dot-size)}.jkl-loader__dot--left{animation-name:jkl-loader-left-spin-unevkq4;margin-right:calc(var(--jkl-loader-spacing)*.9)}.jkl-loader__dot--middle{animation-name:jkl-loader-middle-spin-unevkqt;margin-right:var(--jkl-loader-spacing)}.jkl-loader__dot--right{animation-name:jkl-loader-right-spin-unevkrp}@media screen and (forced-colors:active){.jkl-loader__dot{background-color:CanvasText}}@keyframes jkl-loader-left-spin-unevkq4{0%{transform:rotate(0) scale(0)}30%{transform:rotate(90deg) scale(1)}70%{transform:rotate(180deg) scale(0)}to{transform:rotate(180deg) scale(0)}}@keyframes jkl-loader-middle-spin-unevkqt{0%{transform:rotate(20deg) scale(0)}10%{transform:rotate(20deg) scale(0)}40%{transform:rotate(110deg) scale(1.4)}85%{transform:rotate(200deg) scale(0)}to{transform:rotate(200deg) scale(0)}}@keyframes jkl-loader-right-spin-unevkrp{0%{transform:rotate(40deg) scale(0)}20%{transform:rotate(40deg) scale(0)}50%{transform:rotate(130deg) scale(1)}to{transform:rotate(220deg) scale(0)}}}
1
+ @layer jokul.components{.jkl-loader{--jkl-loader-dot-size:var(--jkl-unit-10);--jkl-loader-spacing:var(--jkl-unit-20);display:flex}.jkl-loader--inline{display:inline-flex}.jkl-loader__dot{animation:2.5s linear infinite;background-color:currentColor;display:block;height:var(--jkl-loader-dot-size);transform-origin:center;width:var(--jkl-loader-dot-size)}.jkl-loader__dot--left{animation-name:jkl-loader-left-spin-uyaakl6;margin-right:calc(var(--jkl-loader-spacing)*.9)}.jkl-loader__dot--middle{animation-name:jkl-loader-middle-spin-uyaaklr;margin-right:var(--jkl-loader-spacing)}.jkl-loader__dot--right{animation-name:jkl-loader-right-spin-uyaakm6}@media screen and (forced-colors:active){.jkl-loader__dot{background-color:CanvasText}}@keyframes jkl-loader-left-spin-uyaakl6{0%{transform:rotate(0) scale(0)}30%{transform:rotate(90deg) scale(1)}70%{transform:rotate(180deg) scale(0)}to{transform:rotate(180deg) scale(0)}}@keyframes jkl-loader-middle-spin-uyaaklr{0%{transform:rotate(20deg) scale(0)}10%{transform:rotate(20deg) scale(0)}40%{transform:rotate(110deg) scale(1.4)}85%{transform:rotate(200deg) scale(0)}to{transform:rotate(200deg) scale(0)}}@keyframes jkl-loader-right-spin-uyaakm6{0%{transform:rotate(40deg) scale(0)}20%{transform:rotate(40deg) scale(0)}50%{transform:rotate(130deg) scale(1)}to{transform:rotate(220deg) scale(0)}}}
@@ -8,7 +8,7 @@
8
8
  inherits: true;
9
9
  }
10
10
  .jkl-skeleton-animation {
11
- --jkl-skeleton-element-color: var(--jkl-color-background-container-low);
11
+ --jkl-skeleton-element-color: var(--jkl-color-background-page);
12
12
  --jkl-skeleton-sweep-duration: 4500ms;
13
13
  --jkl-skeleton-sweeper-width: 40%;
14
14
  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));
@@ -26,7 +26,7 @@
26
26
  @media screen and (forced-colors: active) {
27
27
  .jkl-skeleton-element {
28
28
  border: 1px solid CanvasText;
29
- animation: 2s ease infinite jkl-blink-ub52xk2;
29
+ animation: 2s ease infinite jkl-blink-ud0ah3q;
30
30
  }
31
31
  }
32
32
  .jkl-skeleton-input {
@@ -74,10 +74,10 @@
74
74
  }
75
75
  @media screen and (forced-colors: active) {
76
76
  .jkl-skeleton-table {
77
- animation: 2s ease-in-out infinite jkl-blink-ub52xk2;
77
+ animation: 2s ease-in-out infinite jkl-blink-ud0ah3q;
78
78
  }
79
79
  }
80
- @keyframes jkl-blink-ub52xk2 {
80
+ @keyframes jkl-blink-ud0ah3q {
81
81
  0% {
82
82
  opacity: 1;
83
83
  }
@@ -1 +1 @@
1
- @layer jokul.components{@property --jkl-skeleton-sweeper-position{syntax:"<percentage>";initial-value:0%;inherits:true}.jkl-skeleton-animation{--jkl-skeleton-element-color:var(--jkl-color-background-container-low);--jkl-skeleton-sweep-duration:4500ms;--jkl-skeleton-sweeper-width:40%;animation:var(--jkl-skeleton-sweep-duration) ease-in-out infinite --jkl-skeleton-sweep;-webkit-mask-image:linear-gradient(to right,#000 calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)),transparent calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)/2),#000 var(--jkl-skeleton-sweeper-position));mask-image:linear-gradient(to right,#000 calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)),transparent calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)/2),#000 var(--jkl-skeleton-sweeper-position));-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100dvi 100dvb;mask-size:100dvi 100dvb}.jkl-skeleton-element{background-color:var(--jkl-skeleton-element-color);border-radius:.125rem}.jkl-skeleton-element--circle{border-radius:50%}@media screen and (forced-colors:active){.jkl-skeleton-element{animation:jkl-blink-ub52xk2 2s ease infinite;border:1px solid CanvasText}}.jkl-skeleton-input{display:flex;flex-direction:column;gap:var(--jkl-spacing-12)}.jkl-skeleton-input__checkbox{display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--jkl-spacing-8)}@media (width >= 0) and (max-width:679px){.jkl-skeleton-input{gap:var(--jkl-spacing-8)}}.jkl-skeleton-input--compact:after{gap:var(--jkl-spacing-8)}.jkl-skeleton-table{display:flex;flex-direction:column}.jkl-skeleton-table__header,.jkl-skeleton-table__row{border-bottom:1px solid var(--jkl-skeleton-element-color);display:flex;flex-direction:row;justify-content:space-between}.jkl-skeleton-table__header,.jkl-skeleton-table__row{padding:var(--jkl-unit-20) var(--jkl-unit-10)}@media (width >= 0) and (max-width:679px){.jkl-skeleton-table__header{padding:var(--jkl-unit-10) var(--jkl-unit-05)}.jkl-skeleton-table__row{padding:var(--jkl-unit-20) var(--jkl-unit-05)}}@media screen and (forced-colors:active){.jkl-skeleton-table{animation:jkl-blink-ub52xk2 2s ease-in-out infinite}}@keyframes jkl-blink-ub52xk2{0%{opacity:1}40%,50%{opacity:.3}70%,to{opacity:1}}@keyframes --jkl-skeleton-sweep{0%,67%{--jkl-skeleton-sweeper-position:0%}to{--jkl-skeleton-sweeper-position:calc(100% + var(--jkl-skeleton-sweeper-width))}}}
1
+ @layer jokul.components{@property --jkl-skeleton-sweeper-position{syntax:"<percentage>";initial-value:0%;inherits:true}.jkl-skeleton-animation{--jkl-skeleton-element-color:var(--jkl-color-background-page);--jkl-skeleton-sweep-duration:4500ms;--jkl-skeleton-sweeper-width:40%;animation:var(--jkl-skeleton-sweep-duration) ease-in-out infinite --jkl-skeleton-sweep;-webkit-mask-image:linear-gradient(to right,#000 calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)),transparent calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)/2),#000 var(--jkl-skeleton-sweeper-position));mask-image:linear-gradient(to right,#000 calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)),transparent calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)/2),#000 var(--jkl-skeleton-sweeper-position));-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100dvi 100dvb;mask-size:100dvi 100dvb}.jkl-skeleton-element{background-color:var(--jkl-skeleton-element-color);border-radius:.125rem}.jkl-skeleton-element--circle{border-radius:50%}@media screen and (forced-colors:active){.jkl-skeleton-element{animation:jkl-blink-ud0ah3q 2s ease infinite;border:1px solid CanvasText}}.jkl-skeleton-input{display:flex;flex-direction:column;gap:var(--jkl-spacing-12)}.jkl-skeleton-input__checkbox{display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--jkl-spacing-8)}@media (width >= 0) and (max-width:679px){.jkl-skeleton-input{gap:var(--jkl-spacing-8)}}.jkl-skeleton-input--compact:after{gap:var(--jkl-spacing-8)}.jkl-skeleton-table{display:flex;flex-direction:column}.jkl-skeleton-table__header,.jkl-skeleton-table__row{border-bottom:1px solid var(--jkl-skeleton-element-color);display:flex;flex-direction:row;justify-content:space-between}.jkl-skeleton-table__header,.jkl-skeleton-table__row{padding:var(--jkl-unit-20) var(--jkl-unit-10)}@media (width >= 0) and (max-width:679px){.jkl-skeleton-table__header{padding:var(--jkl-unit-10) var(--jkl-unit-05)}.jkl-skeleton-table__row{padding:var(--jkl-unit-20) var(--jkl-unit-05)}}@media screen and (forced-colors:active){.jkl-skeleton-table{animation:jkl-blink-ud0ah3q 2s ease-in-out infinite}}@keyframes jkl-blink-ud0ah3q{0%{opacity:1}40%,50%{opacity:.3}70%,to{opacity:1}}@keyframes --jkl-skeleton-sweep{0%,67%{--jkl-skeleton-sweeper-position:0%}to{--jkl-skeleton-sweeper-position:calc(100% + var(--jkl-skeleton-sweeper-width))}}}
@@ -12,7 +12,7 @@ $_blink-animation-name: jkl-blink-#{string.unique-id()};
12
12
  }
13
13
 
14
14
  .jkl-skeleton-animation {
15
- --jkl-skeleton-element-color: var(--jkl-color-background-container-low);
15
+ --jkl-skeleton-element-color: var(--jkl-color-background-page);
16
16
  --jkl-skeleton-sweep-duration: 4500ms;
17
17
  --jkl-skeleton-sweeper-width: 40%;
18
18
 
@@ -5,6 +5,6 @@
5
5
  width: 100%;
6
6
  margin-block: 0;
7
7
  border: none;
8
- border-bottom: jkl.rem(1px) solid var(--jkl-color-border-separator);
8
+ border-bottom: jkl.rem(1px) solid var(--jkl-color-border-subdued);
9
9
  }
10
10
  }
@@ -4,7 +4,7 @@
4
4
  .jkl-menu-item {
5
5
  --jkl-menu-item-height: var(--jkl-unit-60);
6
6
  --jkl-menu-item-padding: var(--jkl-unit-15) var(--jkl-unit-30);
7
- --background-color: var(--jkl-color-background-interactive);
7
+ --background-color: transparent;
8
8
 
9
9
  background-color: var(--background-color);
10
10
  color: var(--jkl-color-text-default);
@@ -53,7 +53,7 @@
53
53
 
54
54
  &:hover,
55
55
  &:focus-visible {
56
- --background-color: var(--jkl-color-background-interactive-hover);
56
+ --background-color: color-mix(in srgb, currentColor 18%, transparent);
57
57
  }
58
58
  }
59
59
  }
@@ -5,7 +5,7 @@
5
5
  .jkl-menu-item {
6
6
  --jkl-menu-item-height: var(--jkl-unit-60);
7
7
  --jkl-menu-item-padding: var(--jkl-unit-15) var(--jkl-unit-30);
8
- --background-color: var(--jkl-color-background-interactive);
8
+ --background-color: transparent;
9
9
  background-color: var(--background-color);
10
10
  color: var(--jkl-color-text-default);
11
11
  text-decoration: none;
@@ -64,7 +64,7 @@
64
64
  flex-shrink: 0;
65
65
  }
66
66
  .jkl-menu-item:hover, .jkl-menu-item:focus-visible {
67
- --background-color: var(--jkl-color-background-interactive-hover);
67
+ --background-color: color-mix(in srgb, currentColor 18%, transparent);
68
68
  }
69
69
  }
70
70
  @layer jokul.components {
@@ -72,16 +72,16 @@
72
72
  width: 100%;
73
73
  margin-block: 0;
74
74
  border: none;
75
- border-bottom: 0.0625rem solid var(--jkl-color-border-separator);
75
+ border-bottom: 0.0625rem solid var(--jkl-color-border-subdued);
76
76
  }
77
77
  }
78
78
  @layer jokul.components {
79
79
  .jkl-menu {
80
80
  /* stylelint-disable declaration-block-no-duplicate-custom-properties -- fallback for browsers without light-dark() support */
81
81
  --border-color: transparent;
82
- --border-color: light-dark(transparent, var(--jkl-color-border-input-focus));
82
+ --border-color: light-dark(transparent, var(--jkl-color-border-strong));
83
83
  /* stylelint-enable declaration-block-no-duplicate-custom-properties */
84
- background-color: var(--jkl-color-background-container-high);
84
+ background-color: var(--jkl-color-background-container);
85
85
  width: 100%;
86
86
  max-width: 21rem;
87
87
  display: flex;
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-menu-item{--jkl-menu-item-height:var(--jkl-unit-60);--jkl-menu-item-padding:var(--jkl-unit-15) var(--jkl-unit-30);--background-color:var(--jkl-color-background-interactive);align-items:center;background-color:var(--background-color);border-style:none;box-sizing:border-box;color:var(--jkl-color-text-default);cursor:pointer;display:flex;font:var(--jkl-text-style-text-medium);gap:var(--jkl-unit-10);height:var(--jkl-menu-item-height);outline:0;outline-style:none;padding:var(--jkl-menu-item-padding);text-decoration:none;-webkit-user-select:none;user-select:none;width:100%}.jkl-menu-item:active,.jkl-menu-item:focus,.jkl-menu-item:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-menu-item{border-style:revert;outline:revert;outline-style:revert}.jkl-menu-item:active,.jkl-menu-item:focus,.jkl-menu-item:hover{outline:revert;outline-style:revert}}.jkl-menu-item__content{display:flex;flex-grow:1;flex-shrink:1;gap:var(--jkl-unit-05);justify-content:flex-start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jkl-menu-item__icon{flex-shrink:0}.jkl-menu-item__arrow,.jkl-menu-item__icon{align-items:center;display:flex}.jkl-menu-item__chevron{flex-shrink:0}.jkl-menu-item:focus-visible,.jkl-menu-item:hover{--background-color:var(--jkl-color-background-interactive-hover)}}@layer jokul.components{.jkl-menu-divider{border:none;border-bottom:.0625rem solid var(--jkl-color-border-separator);margin-block:0;width:100%}.jkl-menu{--border-color:transparent;--border-color:light-dark(transparent,var(--jkl-color-border-input-focus));align-items:flex-start;background-color:var(--jkl-color-background-container-high);border:2px solid var(--border-color);border-radius:.125rem;box-shadow:0 .25rem 1.25rem rgba(49,48,48,.2);display:flex;flex-direction:column;flex-wrap:nowrap;max-width:21rem;width:100%;z-index:7000}}@layer jokul.components{.jkl-menu:focus-visible{outline:none}.jkl-menu .jkl-menu[data-placement=bottom-start]{box-shadow:0 -1px 2px 0 rgba(0,0,0,.2),-1px 2px 2px 0 rgba(0,0,0,.14),3px 1px 5px 0 rgba(0,0,0,.12)}}
1
+ @layer jokul.components{.jkl-menu-item{--jkl-menu-item-height:var(--jkl-unit-60);--jkl-menu-item-padding:var(--jkl-unit-15) var(--jkl-unit-30);--background-color:transparent;align-items:center;background-color:var(--background-color);border-style:none;box-sizing:border-box;color:var(--jkl-color-text-default);cursor:pointer;display:flex;font:var(--jkl-text-style-text-medium);gap:var(--jkl-unit-10);height:var(--jkl-menu-item-height);outline:0;outline-style:none;padding:var(--jkl-menu-item-padding);text-decoration:none;-webkit-user-select:none;user-select:none;width:100%}.jkl-menu-item:active,.jkl-menu-item:focus,.jkl-menu-item:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-menu-item{border-style:revert;outline:revert;outline-style:revert}.jkl-menu-item:active,.jkl-menu-item:focus,.jkl-menu-item:hover{outline:revert;outline-style:revert}}.jkl-menu-item__content{display:flex;flex-grow:1;flex-shrink:1;gap:var(--jkl-unit-05);justify-content:flex-start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jkl-menu-item__icon{flex-shrink:0}.jkl-menu-item__arrow,.jkl-menu-item__icon{align-items:center;display:flex}.jkl-menu-item__chevron{flex-shrink:0}.jkl-menu-item:focus-visible,.jkl-menu-item:hover{--background-color:color-mix(in srgb,currentColor 18%,transparent)}}@layer jokul.components{.jkl-menu-divider{border:none;border-bottom:.0625rem solid var(--jkl-color-border-subdued);margin-block:0;width:100%}.jkl-menu{--border-color:transparent;--border-color:light-dark(transparent,var(--jkl-color-border-strong));align-items:flex-start;background-color:var(--jkl-color-background-container);border:2px solid var(--border-color);border-radius:.125rem;box-shadow:0 .25rem 1.25rem rgba(49,48,48,.2);display:flex;flex-direction:column;flex-wrap:nowrap;max-width:21rem;width:100%;z-index:7000}}@layer jokul.components{.jkl-menu:focus-visible{outline:none}.jkl-menu .jkl-menu[data-placement=bottom-start]{box-shadow:0 -1px 2px 0 rgba(0,0,0,.2),-1px 2px 2px 0 rgba(0,0,0,.14),3px 1px 5px 0 rgba(0,0,0,.12)}}
@@ -7,9 +7,9 @@
7
7
  .jkl-menu {
8
8
  /* stylelint-disable declaration-block-no-duplicate-custom-properties -- fallback for browsers without light-dark() support */
9
9
  --border-color: transparent;
10
- --border-color: light-dark(transparent, var(--jkl-color-border-input-focus));
10
+ --border-color: light-dark(transparent, var(--jkl-color-border-strong));
11
11
  /* stylelint-enable declaration-block-no-duplicate-custom-properties */
12
- background-color: var(--jkl-color-background-container-high);
12
+ background-color: var(--jkl-color-background-container);
13
13
 
14
14
  width: 100%;
15
15
  max-width: jkl.rem(336px);
@@ -9,13 +9,15 @@
9
9
  --jkl-message-dismiss-button-size: var(--jkl-unit-50);
10
10
  --jkl-message-gap: var(--jkl-unit-20);
11
11
  --jkl-message-padding: var(--jkl-unit-25) var(--jkl-unit-15);
12
- --background-color: var(--jkl-color-background-alert-neutral);
13
- --text-color: var(--jkl-color-text-on-alert);
12
+ --background-color: var(--jkl-color-background-container);
13
+ --text-color: var(--jkl-color-text-default);
14
+ --border-color: var(--jkl-color-border-subdued);
14
15
  width: 100%;
15
16
  max-width: 35rem;
16
17
  padding: var(--jkl-message-padding);
17
18
  background-color: var(--background-color);
18
19
  color: var(--text-color);
20
+ border: 1px solid var(--border-color);
19
21
  border-radius: 0.25rem;
20
22
  box-sizing: border-box;
21
23
  display: grid;
@@ -108,7 +110,7 @@
108
110
  transform: translate(-50%, -50%);
109
111
  }
110
112
  .jkl-message__dismiss-button:hover {
111
- color: var(--jkl-color-text-interactive-hover);
113
+ color: var(--jkl-color-text-subdued);
112
114
  }
113
115
  @media screen and (forced-colors: active) {
114
116
  .jkl-message__dismiss-button:hover {
@@ -119,26 +121,34 @@
119
121
  }
120
122
  }
121
123
  .jkl-message__dismiss-button:focus-visible {
122
- outline: 3px solid var(--jkl-color-border-action);
124
+ outline: 3px solid var(--jkl-color-border-strong);
123
125
  outline-offset: 3px;
124
126
  }
125
127
  .jkl-message--full {
126
128
  max-width: 100%;
127
129
  }
128
130
  .jkl-message--info {
129
- --background-color: var(--jkl-color-background-alert-info);
131
+ --background-color: var(--jkl-color-info-background-container);
132
+ --text-color: var(--jkl-color-info-text-default);
133
+ --border-color: var(--jkl-color-info-border-subdued);
130
134
  }
131
135
  .jkl-message--warning {
132
- --background-color: var(--jkl-color-background-alert-warning);
136
+ --background-color: var(--jkl-color-warning-background-container);
137
+ --text-color: var(--jkl-color-warning-text-default);
138
+ --border-color: var(--jkl-color-warning-border-subdued);
133
139
  }
134
140
  .jkl-message--error {
135
- --background-color: var(--jkl-color-background-alert-error);
141
+ --background-color: var(--jkl-color-error-background-container);
142
+ --text-color: var(--jkl-color-error-text-default);
143
+ --border-color: var(--jkl-color-error-border-subdued);
136
144
  }
137
145
  .jkl-message--success {
138
- --background-color: var(--jkl-color-background-alert-success);
146
+ --background-color: var(--jkl-color-success-background-container);
147
+ --text-color: var(--jkl-color-success-text-default);
148
+ --border-color: var(--jkl-color-success-border-subdued);
139
149
  }
140
150
  .jkl-message--dismissed {
141
- animation: jkl-dismiss-uet1tjr var(--jkl-motion-timing-lazy) ease-in-out forwards;
151
+ animation: jkl-dismiss-umhn67r var(--jkl-motion-timing-lazy) ease-in-out forwards;
142
152
  transition: visibility 0ms var(--jkl-motion-timing-lazy);
143
153
  visibility: hidden;
144
154
  }
@@ -160,7 +170,7 @@
160
170
  .jkl-form-error-message {
161
171
  padding-bottom: var(--jkl-unit-50);
162
172
  }
163
- @keyframes jkl-dismiss-uet1tjr {
173
+ @keyframes jkl-dismiss-umhn67r {
164
174
  from {
165
175
  opacity: 1;
166
176
  transform: translate3d(0, 0, 0);
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-message{--jkl-message-icon-left:var(--jkl-unit-20);--jkl-message-icon-top:var(--jkl-unit-30);--jkl-message-title-margin:0 0 var(--jkl-unit-05) 0;--jkl-message-dismiss-button-size:var(--jkl-unit-50);--jkl-message-gap:var(--jkl-unit-20);--jkl-message-padding:var(--jkl-unit-25) var(--jkl-unit-15);--background-color:var(--jkl-color-background-alert-neutral);--text-color:var(--jkl-color-text-on-alert);align-items:start;background-color:var(--background-color);border-radius:.25rem;box-sizing:border-box;color:var(--text-color);display:grid;font:var(--jkl-text-style-paragraph-medium);grid-template-areas:"icon content dismiss";grid-template-columns:auto 1fr auto;max-width:35rem;padding:var(--jkl-message-padding);width:100%}.jkl-message:has(.jkl-message__title){font:var(--jkl-text-style-heading-5)}.jkl-message__icon{grid-area:icon;margin-right:var(--jkl-message-gap)}@media screen and (forced-colors:active){.jkl-message__icon,.jkl-message__icon path,.jkl-message__icon svg{stroke:CanvasText}}.jkl-message__content{grid-area:content}.jkl-message__message{font:var(--jkl-text-style-paragraph-medium);margin-top:-.125rem}.jkl-message__title{font:var(--jkl-text-style-heading-5);margin:var(--jkl-message-title-margin)}.jkl-message__title~.jkl-message__message{margin-top:0}.jkl-message__dismiss-button{background-color:transparent;border-style:none;color:inherit;cursor:pointer;display:grid;grid-area:dismiss;justify-self:end;outline:0;outline-style:none;padding:0;place-content:center;position:relative}.jkl-message__dismiss-button:active,.jkl-message__dismiss-button:focus,.jkl-message__dismiss-button:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-message__dismiss-button{border-style:revert;outline:revert;outline-style:revert}.jkl-message__dismiss-button:active,.jkl-message__dismiss-button:focus,.jkl-message__dismiss-button:hover{outline:revert;outline-style:revert}}@media screen and (forced-colors:active){.jkl-message__dismiss-button,.jkl-message__dismiss-button path,.jkl-message__dismiss-button svg{stroke:ButtonText}.jkl-message__dismiss-button{background-color:ButtonFace}}.jkl-message__dismiss-button:after{content:"";display:block;height:var(--jkl-message-dismiss-button-size);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:var(--jkl-message-dismiss-button-size)}.jkl-message__dismiss-button:hover{color:var(--jkl-color-text-interactive-hover)}@media screen and (forced-colors:active){.jkl-message__dismiss-button:hover{stroke:ButtonText}.jkl-message__dismiss-button:hover path,.jkl-message__dismiss-button:hover svg{stroke:ButtonText}}.jkl-message__dismiss-button:focus-visible{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-message--full{max-width:100%}.jkl-message--info{--background-color:var(--jkl-color-background-alert-info)}.jkl-message--warning{--background-color:var(--jkl-color-background-alert-warning)}.jkl-message--error{--background-color:var(--jkl-color-background-alert-error)}.jkl-message--success{--background-color:var(--jkl-color-background-alert-success)}.jkl-message--dismissed{animation:jkl-dismiss-uet1tjr var(--jkl-motion-timing-lazy) ease-in-out forwards;transition:visibility 0s var(--jkl-motion-timing-lazy);visibility:hidden}@media screen and (forced-colors:active){.jkl-message{border:2px solid CanvasText}.jkl-message--info{border-style:dotted}.jkl-message--warning{border-style:dashed}.jkl-message--error{border-style:double;border-width:4px}}.jkl-form-error-message{padding-bottom:var(--jkl-unit-50)}@keyframes jkl-dismiss-uet1tjr{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-50%,0)}}}
1
+ @layer jokul.components{.jkl-message{--jkl-message-icon-left:var(--jkl-unit-20);--jkl-message-icon-top:var(--jkl-unit-30);--jkl-message-title-margin:0 0 var(--jkl-unit-05) 0;--jkl-message-dismiss-button-size:var(--jkl-unit-50);--jkl-message-gap:var(--jkl-unit-20);--jkl-message-padding:var(--jkl-unit-25) var(--jkl-unit-15);--background-color:var(--jkl-color-background-container);--text-color:var(--jkl-color-text-default);--border-color:var(--jkl-color-border-subdued);align-items:start;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:.25rem;box-sizing:border-box;color:var(--text-color);display:grid;font:var(--jkl-text-style-paragraph-medium);grid-template-areas:"icon content dismiss";grid-template-columns:auto 1fr auto;max-width:35rem;padding:var(--jkl-message-padding);width:100%}.jkl-message:has(.jkl-message__title){font:var(--jkl-text-style-heading-5)}.jkl-message__icon{grid-area:icon;margin-right:var(--jkl-message-gap)}@media screen and (forced-colors:active){.jkl-message__icon,.jkl-message__icon path,.jkl-message__icon svg{stroke:CanvasText}}.jkl-message__content{grid-area:content}.jkl-message__message{font:var(--jkl-text-style-paragraph-medium);margin-top:-.125rem}.jkl-message__title{font:var(--jkl-text-style-heading-5);margin:var(--jkl-message-title-margin)}.jkl-message__title~.jkl-message__message{margin-top:0}.jkl-message__dismiss-button{background-color:transparent;border-style:none;color:inherit;cursor:pointer;display:grid;grid-area:dismiss;justify-self:end;outline:0;outline-style:none;padding:0;place-content:center;position:relative}.jkl-message__dismiss-button:active,.jkl-message__dismiss-button:focus,.jkl-message__dismiss-button:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-message__dismiss-button{border-style:revert;outline:revert;outline-style:revert}.jkl-message__dismiss-button:active,.jkl-message__dismiss-button:focus,.jkl-message__dismiss-button:hover{outline:revert;outline-style:revert}}@media screen and (forced-colors:active){.jkl-message__dismiss-button,.jkl-message__dismiss-button path,.jkl-message__dismiss-button svg{stroke:ButtonText}.jkl-message__dismiss-button{background-color:ButtonFace}}.jkl-message__dismiss-button:after{content:"";display:block;height:var(--jkl-message-dismiss-button-size);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:var(--jkl-message-dismiss-button-size)}.jkl-message__dismiss-button:hover{color:var(--jkl-color-text-subdued)}@media screen and (forced-colors:active){.jkl-message__dismiss-button:hover{stroke:ButtonText}.jkl-message__dismiss-button:hover path,.jkl-message__dismiss-button:hover svg{stroke:ButtonText}}.jkl-message__dismiss-button:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-message--full{max-width:100%}.jkl-message--info{--background-color:var(--jkl-color-info-background-container);--text-color:var(--jkl-color-info-text-default);--border-color:var(--jkl-color-info-border-subdued)}.jkl-message--warning{--background-color:var(--jkl-color-warning-background-container);--text-color:var(--jkl-color-warning-text-default);--border-color:var(--jkl-color-warning-border-subdued)}.jkl-message--error{--background-color:var(--jkl-color-error-background-container);--text-color:var(--jkl-color-error-text-default);--border-color:var(--jkl-color-error-border-subdued)}.jkl-message--success{--background-color:var(--jkl-color-success-background-container);--text-color:var(--jkl-color-success-text-default);--border-color:var(--jkl-color-success-border-subdued)}.jkl-message--dismissed{animation:jkl-dismiss-umhn67r var(--jkl-motion-timing-lazy) ease-in-out forwards;transition:visibility 0s var(--jkl-motion-timing-lazy);visibility:hidden}@media screen and (forced-colors:active){.jkl-message{border:2px solid CanvasText}.jkl-message--info{border-style:dotted}.jkl-message--warning{border-style:dashed}.jkl-message--error{border-style:double;border-width:4px}}.jkl-form-error-message{padding-bottom:var(--jkl-unit-50)}@keyframes jkl-dismiss-umhn67r{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-50%,0)}}}
@@ -15,14 +15,16 @@ $_message-width--compact: jkl.rem(440px);
15
15
  --jkl-message-dismiss-button-size: var(--jkl-unit-50);
16
16
  --jkl-message-gap: var(--jkl-unit-20);
17
17
  --jkl-message-padding: var(--jkl-unit-25) var(--jkl-unit-15);
18
- --background-color: var(--jkl-color-background-alert-neutral);
19
- --text-color: var(--jkl-color-text-on-alert);
18
+ --background-color: var(--jkl-color-background-container);
19
+ --text-color: var(--jkl-color-text-default);
20
+ --border-color: var(--jkl-color-border-subdued);
20
21
 
21
22
  width: 100%;
22
23
  max-width: $_message-width;
23
24
  padding: var(--jkl-message-padding);
24
25
  background-color: var(--background-color);
25
26
  color: var(--text-color);
27
+ border: 1px solid var(--border-color);
26
28
  border-radius: jkl.rem(4px);
27
29
  box-sizing: border-box;
28
30
 
@@ -51,9 +53,7 @@ $_message-width--compact: jkl.rem(440px);
51
53
  &__message {
52
54
  @include jkl.text-style("paragraph-medium");
53
55
 
54
- margin-top: jkl.rem(
55
- -2px
56
- ); // Offset for å aligne med ikon hvis uten tittel.
56
+ margin-top: jkl.rem(-2px); // Offset for å aligne med ikon hvis uten tittel.
57
57
  }
58
58
 
59
59
  &__title {
@@ -99,7 +99,7 @@ $_message-width--compact: jkl.rem(440px);
99
99
  }
100
100
 
101
101
  &:hover {
102
- color: var(--jkl-color-text-interactive-hover);
102
+ color: var(--jkl-color-text-subdued);
103
103
 
104
104
  @include jkl.forced-colors-svg-fallback($stroke: ButtonText);
105
105
  }
@@ -114,24 +114,31 @@ $_message-width--compact: jkl.rem(440px);
114
114
  }
115
115
 
116
116
  &--info {
117
- --background-color: var(--jkl-color-background-alert-info);
117
+ --background-color: var(--jkl-color-info-background-container);
118
+ --text-color: var(--jkl-color-info-text-default);
119
+ --border-color: var(--jkl-color-info-border-subdued);
118
120
  }
119
121
 
120
122
  &--warning {
121
- --background-color: var(--jkl-color-background-alert-warning);
123
+ --background-color: var(--jkl-color-warning-background-container);
124
+ --text-color: var(--jkl-color-warning-text-default);
125
+ --border-color: var(--jkl-color-warning-border-subdued);
122
126
  }
123
127
 
124
128
  &--error {
125
- --background-color: var(--jkl-color-background-alert-error);
129
+ --background-color: var(--jkl-color-error-background-container);
130
+ --text-color: var(--jkl-color-error-text-default);
131
+ --border-color: var(--jkl-color-error-border-subdued);
126
132
  }
127
133
 
128
134
  &--success {
129
- --background-color: var(--jkl-color-background-alert-success);
135
+ --background-color: var(--jkl-color-success-background-container);
136
+ --text-color: var(--jkl-color-success-text-default);
137
+ --border-color: var(--jkl-color-success-border-subdued);
130
138
  }
131
139
 
132
140
  &--dismissed {
133
- animation: $_dismiss-animation-name $_dismiss-animation-duration
134
- ease-in-out forwards;
141
+ animation: $_dismiss-animation-name $_dismiss-animation-duration ease-in-out forwards;
135
142
  transition: visibility 0ms $_dismiss-animation-duration;
136
143
  visibility: hidden;
137
144
  }
@@ -0,0 +1,22 @@
1
+ @use "../../jkl";
2
+
3
+ @layer jokul.components {
4
+ /* Base layout */
5
+ .jkl-modal-container,
6
+ .jkl-modal-overlay {
7
+ position: fixed;
8
+ inset: 0;
9
+ }
10
+
11
+ .jkl-modal-container {
12
+ z-index: jkl.$z-index--modal;
13
+ display: flex;
14
+ align-items: center;
15
+ justify-content: center;
16
+
17
+ &[aria-hidden="true"] {
18
+ visibility: hidden;
19
+ pointer-events: none;
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,32 @@
1
+ @use "../../jkl";
2
+
3
+ @layer jokul.components {
4
+ .jkl-modal {
5
+ --margin: var(--jkl-spacing-m);
6
+
7
+ container-type: inline-size;
8
+ box-sizing: border-box;
9
+ margin: var(--margin);
10
+ padding: var(--modal-padding, var(--jkl-unit-40));
11
+ z-index: jkl.$z-index--modal;
12
+
13
+ background-color: var(--jkl-color-background-container);
14
+ border-radius: var(--jkl-border-radius-l);
15
+ box-shadow: jkl.$shadow-task-card;
16
+
17
+ width: min(
18
+ calc(100vw - 2 * var(--margin)),
19
+ var(--modal-width, 60ch /* ~650px ved vanlig zoom/size */)
20
+ );
21
+ max-width: none;
22
+ max-height: 90vh;
23
+ overflow: auto;
24
+
25
+ display: flex;
26
+ flex-direction: column;
27
+
28
+ @include jkl.forced-colors-mode {
29
+ border-color: CanvasText;
30
+ }
31
+ }
32
+ }