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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/README.md +29 -6
  2. package/bin/jokul.mjs +10 -0
  3. package/bin/run-jokul-cli.mjs +63 -0
  4. package/build/build-stats.html +1 -1
  5. package/build/cjs/components/card/Card.cjs +1 -1
  6. package/build/cjs/components/card/Card.cjs.map +1 -1
  7. package/build/cjs/components/card/types.cjs +1 -1
  8. package/build/cjs/components/card/types.cjs.map +1 -1
  9. package/build/cjs/components/card/types.d.cts +2 -2
  10. package/build/cjs/components/checkbox/Checkbox.cjs +1 -1
  11. package/build/cjs/components/checkbox/Checkbox.cjs.map +1 -1
  12. package/build/cjs/components/cookie-consent/CookieConsent.cjs +1 -1
  13. package/build/cjs/components/cookie-consent/CookieConsent.cjs.map +1 -1
  14. package/build/cjs/components/cookie-consent/CookieConsent.d.cts +1 -1
  15. package/build/cjs/components/cookie-consent/types.d.cts +4 -0
  16. package/build/cjs/components/datepicker/DatePicker.cjs +1 -1
  17. package/build/cjs/components/datepicker/DatePicker.cjs.map +1 -1
  18. package/build/cjs/components/expander/ExpandablePanel.cjs +1 -1
  19. package/build/cjs/components/expander/ExpandablePanel.cjs.map +1 -1
  20. package/build/cjs/components/link/Link.cjs +1 -1
  21. package/build/cjs/components/link/Link.cjs.map +1 -1
  22. package/build/cjs/components/link/Link.d.cts +2 -2
  23. package/build/cjs/components/link/types.d.cts +1 -4
  24. package/build/cjs/components/modal/Modal.cjs +1 -1
  25. package/build/cjs/components/modal/Modal.cjs.map +1 -1
  26. package/build/cjs/components/modal/Modal.d.cts +2 -9
  27. package/build/cjs/components/modal/index.d.cts +1 -1
  28. package/build/cjs/components/modal/types.d.cts +18 -0
  29. package/build/cjs/components/popover/Popover.cjs +1 -1
  30. package/build/cjs/components/popover/Popover.cjs.map +1 -1
  31. package/build/cjs/components/radio-button/BaseRadioButton.cjs +1 -1
  32. package/build/cjs/components/radio-button/BaseRadioButton.cjs.map +1 -1
  33. package/build/cjs/core/tokens.cjs +2 -0
  34. package/build/cjs/core/tokens.cjs.map +1 -0
  35. package/build/cjs/core/tokens.d.cts +593 -0
  36. package/build/cjs/tailwind/colors.cjs +2 -0
  37. package/build/cjs/tailwind/colors.cjs.map +1 -0
  38. package/build/cjs/tailwind/colors.d.cts +39 -0
  39. package/build/cjs/tokens.cjs +1 -1
  40. package/build/cjs/tokens.cjs.map +1 -1
  41. package/build/cjs/tokens.d.cts +98 -39
  42. package/build/es/components/card/Card.js +1 -1
  43. package/build/es/components/card/Card.js.map +1 -1
  44. package/build/es/components/card/types.d.ts +2 -2
  45. package/build/es/components/card/types.js +1 -1
  46. package/build/es/components/card/types.js.map +1 -1
  47. package/build/es/components/checkbox/Checkbox.js +1 -1
  48. package/build/es/components/checkbox/Checkbox.js.map +1 -1
  49. package/build/es/components/cookie-consent/CookieConsent.d.ts +1 -1
  50. package/build/es/components/cookie-consent/CookieConsent.js +1 -1
  51. package/build/es/components/cookie-consent/CookieConsent.js.map +1 -1
  52. package/build/es/components/cookie-consent/types.d.ts +4 -0
  53. package/build/es/components/datepicker/DatePicker.js +1 -1
  54. package/build/es/components/datepicker/DatePicker.js.map +1 -1
  55. package/build/es/components/expander/ExpandablePanel.js +1 -1
  56. package/build/es/components/expander/ExpandablePanel.js.map +1 -1
  57. package/build/es/components/link/Link.d.ts +2 -2
  58. package/build/es/components/link/Link.js +1 -1
  59. package/build/es/components/link/Link.js.map +1 -1
  60. package/build/es/components/link/types.d.ts +1 -4
  61. package/build/es/components/modal/Modal.d.ts +2 -9
  62. package/build/es/components/modal/Modal.js +1 -1
  63. package/build/es/components/modal/Modal.js.map +1 -1
  64. package/build/es/components/modal/index.d.ts +1 -1
  65. package/build/es/components/modal/types.d.ts +18 -0
  66. package/build/es/components/popover/Popover.js +1 -1
  67. package/build/es/components/popover/Popover.js.map +1 -1
  68. package/build/es/components/radio-button/BaseRadioButton.js +1 -1
  69. package/build/es/components/radio-button/BaseRadioButton.js.map +1 -1
  70. package/build/es/core/tokens.d.ts +593 -0
  71. package/build/es/core/tokens.js +2 -0
  72. package/build/es/core/tokens.js.map +1 -0
  73. package/build/es/tailwind/colors.d.ts +39 -0
  74. package/build/es/tailwind/colors.js +2 -0
  75. package/build/es/tailwind/colors.js.map +1 -0
  76. package/build/es/tokens.d.ts +98 -39
  77. package/build/es/tokens.js +1 -1
  78. package/build/es/tokens.js.map +1 -1
  79. package/codemods/__tests__/import-paths.test.mjs +84 -0
  80. package/codemods/import-paths.mjs +393 -0
  81. package/package.json +6 -1
  82. package/styles/base.css +483 -66
  83. package/styles/base.min.css +1 -1
  84. package/styles/components/autosuggest/autosuggest.css +2 -2
  85. package/styles/components/autosuggest/autosuggest.min.css +1 -1
  86. package/styles/components/autosuggest/autosuggest.scss +2 -2
  87. package/styles/components/beta/description-list/description-list.css +1 -1
  88. package/styles/components/beta/description-list/description-list.min.css +1 -1
  89. package/styles/components/beta/description-list/description-list.scss +1 -1
  90. package/styles/components/beta/nav-link/navlink.css +2 -2
  91. package/styles/components/beta/nav-link/navlink.min.css +1 -1
  92. package/styles/components/beta/nav-link/navlink.scss +2 -2
  93. package/styles/components/beta/select/select.css +9 -9
  94. package/styles/components/beta/select/select.min.css +1 -1
  95. package/styles/components/beta/select/select.scss +8 -7
  96. package/styles/components/breadcrumb/breadcrumb.css +1 -1
  97. package/styles/components/breadcrumb/breadcrumb.min.css +1 -1
  98. package/styles/components/button/button.css +6 -2
  99. package/styles/components/button/button.min.css +1 -1
  100. package/styles/components/button/button.scss +12 -12
  101. package/styles/components/card/card.css +6 -9
  102. package/styles/components/card/card.min.css +1 -1
  103. package/styles/components/card/card.scss +6 -10
  104. package/styles/components/checkbox/checkbox.css +43 -9
  105. package/styles/components/checkbox/checkbox.min.css +1 -1
  106. package/styles/components/checkbox/checkbox.scss +38 -21
  107. package/styles/components/checkbox-panel/checkbox-panel.css +65 -26
  108. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  109. package/styles/components/checkbox-panel/checkbox-panel.scss +4 -0
  110. package/styles/components/chip/chip.css +2 -2
  111. package/styles/components/chip/chip.min.css +1 -1
  112. package/styles/components/chip/chip.scss +1 -1
  113. package/styles/components/combobox/combobox.css +18 -15
  114. package/styles/components/combobox/combobox.min.css +1 -1
  115. package/styles/components/combobox/combobox.scss +9 -6
  116. package/styles/components/countdown/countdown.css +4 -4
  117. package/styles/components/countdown/countdown.min.css +1 -1
  118. package/styles/components/datepicker/_calendar-date-button.scss +7 -7
  119. package/styles/components/datepicker/_calendar-navigation-dropdown.scss +1 -1
  120. package/styles/components/datepicker/_calendar.scss +6 -7
  121. package/styles/components/datepicker/datepicker.css +19 -11
  122. package/styles/components/datepicker/datepicker.min.css +1 -1
  123. package/styles/components/description-list/description-list.css +1 -1
  124. package/styles/components/description-list/description-list.min.css +1 -1
  125. package/styles/components/description-list/description-list.scss +1 -1
  126. package/styles/components/expander/expandable.css +17 -17
  127. package/styles/components/expander/expandable.min.css +1 -1
  128. package/styles/components/expander/expandable.scss +15 -19
  129. package/styles/components/feedback/feedback.css +6 -8
  130. package/styles/components/feedback/feedback.min.css +1 -1
  131. package/styles/components/feedback/feedback.scss +4 -9
  132. package/styles/components/file/file.css +5 -5
  133. package/styles/components/file/file.min.css +1 -1
  134. package/styles/components/file/file.scss +5 -5
  135. package/styles/components/file-input/file-input.css +26 -22
  136. package/styles/components/file-input/file-input.min.css +1 -1
  137. package/styles/components/file-input/file-input.scss +3 -3
  138. package/styles/components/help/help.css +2 -2
  139. package/styles/components/help/help.min.css +1 -1
  140. package/styles/components/help/help.scss +2 -2
  141. package/styles/components/icon/icon.css +4 -4
  142. package/styles/components/icon/icon.min.css +1 -1
  143. package/styles/components/icon/icon.scss +4 -4
  144. package/styles/components/icon-button/icon-button.css +1 -1
  145. package/styles/components/icon-button/icon-button.min.css +1 -1
  146. package/styles/components/input-group/input-group.css +2 -2
  147. package/styles/components/input-group/input-group.min.css +1 -1
  148. package/styles/components/input-panel/input-panel.css +19 -17
  149. package/styles/components/input-panel/input-panel.min.css +1 -1
  150. package/styles/components/input-panel/input-panel.scss +20 -18
  151. package/styles/components/link/link.css +1 -1
  152. package/styles/components/link/link.min.css +1 -1
  153. package/styles/components/link-list/link-list.css +6 -2
  154. package/styles/components/link-list/link-list.min.css +1 -1
  155. package/styles/components/link-list/link-list.scss +6 -2
  156. package/styles/components/loader/loader.css +6 -6
  157. package/styles/components/loader/loader.min.css +1 -1
  158. package/styles/components/loader/skeleton-loader.css +4 -4
  159. package/styles/components/loader/skeleton-loader.min.css +1 -1
  160. package/styles/components/loader/skeleton-loader.scss +1 -1
  161. package/styles/components/menu/_menu-divider.scss +1 -1
  162. package/styles/components/menu/menu.css +3 -3
  163. package/styles/components/menu/menu.min.css +1 -1
  164. package/styles/components/menu/menu.scss +2 -2
  165. package/styles/components/message/message.css +19 -9
  166. package/styles/components/message/message.min.css +1 -1
  167. package/styles/components/message/message.scss +16 -6
  168. package/styles/components/modal/_layout.scss +22 -0
  169. package/styles/components/modal/_modal-base.scss +32 -0
  170. package/styles/components/modal/_motion.scss +45 -0
  171. package/styles/components/modal/_overlay.scss +20 -0
  172. package/styles/components/modal/_parts.scss +33 -0
  173. package/styles/components/modal/_placement.scss +59 -0
  174. package/styles/components/modal/modal.css +118 -34
  175. package/styles/components/modal/modal.min.css +1 -1
  176. package/styles/components/modal/modal.scss +6 -95
  177. package/styles/components/nav-link/nav-link.css +1 -1
  178. package/styles/components/nav-link/nav-link.min.css +1 -1
  179. package/styles/components/pagination/pagination.css +1 -1
  180. package/styles/components/pagination/pagination.min.css +1 -1
  181. package/styles/components/popover/popover.css +12 -1
  182. package/styles/components/popover/popover.min.css +1 -1
  183. package/styles/components/popover/popover.scss +15 -1
  184. package/styles/components/progress-bar/progress-bar.css +27 -3
  185. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  186. package/styles/components/progress-bar/progress-bar.scss +5 -0
  187. package/styles/components/radio-button/radio-button.css +41 -6
  188. package/styles/components/radio-button/radio-button.min.css +1 -1
  189. package/styles/components/radio-button/radio-button.scss +35 -16
  190. package/styles/components/radio-panel/radio-panel.css +22 -17
  191. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  192. package/styles/components/radio-panel/radio-panel.scss +4 -0
  193. package/styles/components/search/search-with-submit-button.css +1 -1
  194. package/styles/components/search/search-with-submit-button.min.css +1 -1
  195. package/styles/components/search/search-with-submit-button.scss +1 -1
  196. package/styles/components/search/search.css +2 -2
  197. package/styles/components/search/search.min.css +1 -1
  198. package/styles/components/search/search.scss +1 -1
  199. package/styles/components/segmented-control/segmented-control.css +54 -19
  200. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  201. package/styles/components/segmented-control/segmented-control.scss +4 -4
  202. package/styles/components/select/select.css +15 -15
  203. package/styles/components/select/select.min.css +1 -1
  204. package/styles/components/select/select.scss +12 -12
  205. package/styles/components/summary-table/summary-table.css +2 -2
  206. package/styles/components/summary-table/summary-table.min.css +1 -1
  207. package/styles/components/summary-table/summary-table.scss +2 -2
  208. package/styles/components/system-message/system-message.css +20 -10
  209. package/styles/components/system-message/system-message.min.css +1 -1
  210. package/styles/components/system-message/system-message.scss +17 -7
  211. package/styles/components/table/_table-head.scss +1 -1
  212. package/styles/components/table/_table-row.scss +2 -2
  213. package/styles/components/table/table.css +3 -3
  214. package/styles/components/table/table.min.css +1 -1
  215. package/styles/components/table-of-contents/table-of-contents.css +1 -1
  216. package/styles/components/table-of-contents/table-of-contents.min.css +1 -1
  217. package/styles/components/table-of-contents/table-of-contents.scss +1 -1
  218. package/styles/components/tabs/tabs.css +3 -3
  219. package/styles/components/tabs/tabs.min.css +1 -1
  220. package/styles/components/tabs/tabs.scss +2 -2
  221. package/styles/components/tag/tag.css +16 -6
  222. package/styles/components/tag/tag.min.css +1 -1
  223. package/styles/components/tag/tag.scss +16 -6
  224. package/styles/components/text-area/text-area.css +8 -8
  225. package/styles/components/text-area/text-area.min.css +1 -1
  226. package/styles/components/text-input/text-input.css +8 -8
  227. package/styles/components/text-input/text-input.min.css +1 -1
  228. package/styles/components/toast/toast.css +19 -12
  229. package/styles/components/toast/toast.min.css +1 -1
  230. package/styles/components/toast/toast.scss +15 -12
  231. package/styles/components/toggle-switch/_toggle-slider.scss +4 -4
  232. package/styles/components/toggle-switch/toggle-switch.css +14 -19
  233. package/styles/components/toggle-switch/toggle-switch.min.css +2 -2
  234. package/styles/components/toggle-switch/toggle-switch.scss +9 -16
  235. package/styles/components/tooltip/tooltip.css +3 -3
  236. package/styles/components/tooltip/tooltip.min.css +1 -1
  237. package/styles/components/tooltip/tooltip.scss +3 -3
  238. package/styles/components.css +536 -294
  239. package/styles/components.min.css +2 -2
  240. package/styles/core/jkl/_tokens.scss +59 -0
  241. package/styles/core/jkl/legacy/_dynamic-colors.scss +40 -0
  242. package/styles/core/jkl/legacy/_tokens.scss +742 -0
  243. package/styles/core/theme/_color-tokens.scss +73 -0
  244. package/styles/core/theme/_legacy-color-tokens.scss +81 -0
  245. package/styles/core/theme/_legacy-tokens.scss +279 -0
  246. package/styles/core/theme/_spacing-tokens.scss +33 -0
  247. package/styles/core/theme/_tokens.scss +33 -0
  248. package/styles/hooks/stories/styles.scss +2 -2
  249. package/styles/jkl/_ornaments.scss +1 -1
  250. package/styles/jkl/_tokens.scss +151 -71
  251. package/styles/shared/input/shared-input-styles.scss +6 -6
  252. package/styles/shared/track/track.scss +2 -2
  253. package/styles/tailwind.css +108 -66
  254. package/styles/theme/_color-scheme.scss +135 -66
  255. package/styles/theme/_index.scss +3 -0
  256. package/styles/theme/brands/dnb/_color-scheme.scss +119 -0
  257. package/styles/theme/brands/eika/_color-scheme.scss +119 -0
  258. package/styles/theme/brands/sparebank1/_color-scheme.scss +119 -0
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-link-list{--border:1px solid var(--jkl-color-border-separator);--text-color:var(--jkl-color-text-default);font:var(--jkl-text-style-paragraph-medium)}.jkl-link-list .jkl-link-list-title{-webkit-margin-after:var(--jkl-unit-10);font:var(--jkl-text-style-paragraph-small);margin-block-end:var(--jkl-unit-10)}.jkl-link-list ul{background:var(--jkl-color-background-container-low);border-radius:var(--jkl-unit-05);display:flex;flex-direction:column;height:-webkit-min-content;height:min-content;margin:0;overflow:hidden;padding:0;width:100%}.jkl-link-list ul .jkl-link-list-link{align-items:center;box-sizing:border-box;color:var(--text-color);display:flex;font:var(--jkl-text-style-text-medium);gap:var(--jkl-unit-20);justify-content:space-between;padding:var(--jkl-unit-20);text-decoration:none;text-wrap:balance;transition-duration:var(--jkl-motion-timing-productive);transition-property:background;transition-timing-function:var(--jkl-motion-easing-standard);width:100%}.jkl-link-list ul .jkl-link-list-link:after{content:"arrow_forward"/"";display:inline-block;font-family:Fremtind Material Symbols,Fremtind Material Symbols Fallback,sans-serif;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:1.3em;font-variation-settings:"FILL" var(--jkl-icon-fill,0);font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;transition-duration:var(--jkl-motion-timing-energetic);transition-duration:var(--jkl-motion-timing-productive);transition-property:font-variation-settings,transform;transition-property:translate;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-link-list ul .jkl-link-list-link:is(:hover,:focus-visible){background:var(--jkl-color-background-interactive-selected)}.jkl-link-list ul .jkl-link-list-link:is(:hover,:focus-visible):after{translate:4px 0}.jkl-link-list .jkl-link-list-item{display:flex}.jkl-link-list .jkl-link-list-item:not(:last-of-type) .jkl-link-list-link{-webkit-border-after:var(--border);border-block-end:var(--border)}.jkl-link-list:has(ul) .jkl-link-list-title{-webkit-margin-start:var(--jkl-unit-05);margin-inline-start:var(--jkl-unit-05)}}
1
+ @layer jokul.components{.jkl-link-list{--border:1px solid var(--jkl-color-border-subdued);--text-color:var(--jkl-color-text-default);font:var(--jkl-text-style-paragraph-medium)}.jkl-link-list .jkl-link-list-title{-webkit-margin-after:var(--jkl-unit-10);font:var(--jkl-text-style-paragraph-small);margin-block-end:var(--jkl-unit-10)}.jkl-link-list ul{background:var(--jkl-color-background-page);border-radius:var(--jkl-unit-05);display:flex;flex-direction:column;height:-webkit-min-content;height:min-content;margin:0;overflow:hidden;padding:0;width:100%}.jkl-link-list ul .jkl-link-list-link{align-items:center;box-sizing:border-box;color:var(--text-color);display:flex;font:var(--jkl-text-style-text-medium);gap:var(--jkl-unit-20);justify-content:space-between;padding:var(--jkl-unit-20);text-decoration:none;text-wrap:balance;transition-duration:var(--jkl-motion-timing-productive);transition-property:background;transition-timing-function:var(--jkl-motion-easing-standard);width:100%}.jkl-link-list ul .jkl-link-list-link:after{content:"arrow_forward"/"";display:inline-block;font-family:Fremtind Material Symbols,Fremtind Material Symbols Fallback,sans-serif;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:1.3em;font-variation-settings:"FILL" var(--jkl-icon-fill,0);font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;transition-duration:var(--jkl-motion-timing-energetic);transition-duration:var(--jkl-motion-timing-productive);transition-property:font-variation-settings,transform;transition-property:translate;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-link-list ul .jkl-link-list-link:is(:hover,:focus-visible){background:var(--jkl-color-background-interactive-selected)}.jkl-link-list ul .jkl-link-list-link:is(:hover,:focus-visible):after{translate:4px 0}.jkl-link-list ul .jkl-link-list-link:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-link-list .jkl-link-list-item{display:flex}.jkl-link-list .jkl-link-list-item:not(:last-of-type) .jkl-link-list-link{-webkit-border-after:var(--border);border-block-end:var(--border)}.jkl-link-list:has(ul) .jkl-link-list-title{-webkit-margin-start:var(--jkl-unit-05);margin-inline-start:var(--jkl-unit-05)}}
@@ -3,7 +3,7 @@
3
3
 
4
4
  @layer jokul.components {
5
5
  .jkl-link-list {
6
- --border: 1px solid var(--jkl-color-border-separator);
6
+ --border: 1px solid var(--jkl-color-border-subdued);
7
7
  --text-color: var(--jkl-color-text-default);
8
8
 
9
9
  @include jkl.text-style("paragraph-medium");
@@ -23,7 +23,7 @@
23
23
  height: min-content;
24
24
  border-radius: var(--jkl-unit-05);
25
25
  overflow: hidden;
26
- background: var(--jkl-color-background-container-low);
26
+ background: var(--jkl-color-background-page);
27
27
 
28
28
  .jkl-link-list-link {
29
29
  display: flex;
@@ -56,6 +56,10 @@
56
56
  translate: 4px 0;
57
57
  }
58
58
  }
59
+
60
+ &:focus-visible {
61
+ @include jkl.focus-outline;
62
+ }
59
63
  }
60
64
  }
61
65
 
@@ -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-ud7sd0k;
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-ud7sd0o;
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-ud7sd0w;
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-ud7sd0k {
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-ud7sd0o {
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-ud7sd0w {
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-ud7sd0k;margin-right:calc(var(--jkl-loader-spacing)*.9)}.jkl-loader__dot--middle{animation-name:jkl-loader-middle-spin-ud7sd0o;margin-right:var(--jkl-loader-spacing)}.jkl-loader__dot--right{animation-name:jkl-loader-right-spin-ud7sd0w}@media screen and (forced-colors:active){.jkl-loader__dot{background-color:CanvasText}}@keyframes jkl-loader-left-spin-ud7sd0k{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-ud7sd0o{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-ud7sd0w{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-u2n5j8w;
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-u2n5j8w;
78
78
  }
79
79
  }
80
- @keyframes jkl-blink-ub52xk2 {
80
+ @keyframes jkl-blink-u2n5j8w {
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-u2n5j8w 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-u2n5j8w 2s ease-in-out infinite}}@keyframes jkl-blink-u2n5j8w{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
  }
@@ -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: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-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;
@@ -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-ulh9kwh 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-ulh9kwh {
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-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-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-ulh9kwh 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-ulh9kwh{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
 
@@ -114,19 +116,27 @@ $_message-width--compact: jkl.rem(440px);
114
116
  }
115
117
 
116
118
  &--info {
117
- --background-color: var(--jkl-color-background-alert-info);
119
+ --background-color: var(--jkl-color-info-background-container);
120
+ --text-color: var(--jkl-color-info-text-default);
121
+ --border-color: var(--jkl-color-info-border-subdued);
118
122
  }
119
123
 
120
124
  &--warning {
121
- --background-color: var(--jkl-color-background-alert-warning);
125
+ --background-color: var(--jkl-color-warning-background-container);
126
+ --text-color: var(--jkl-color-warning-text-default);
127
+ --border-color: var(--jkl-color-warning-border-subdued);
122
128
  }
123
129
 
124
130
  &--error {
125
- --background-color: var(--jkl-color-background-alert-error);
131
+ --background-color: var(--jkl-color-error-background-container);
132
+ --text-color: var(--jkl-color-error-text-default);
133
+ --border-color: var(--jkl-color-error-border-subdued);
126
134
  }
127
135
 
128
136
  &--success {
129
- --background-color: var(--jkl-color-background-alert-success);
137
+ --background-color: var(--jkl-color-success-background-container);
138
+ --text-color: var(--jkl-color-success-text-default);
139
+ --border-color: var(--jkl-color-success-border-subdued);
130
140
  }
131
141
 
132
142
  &--dismissed {
@@ -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
+ }
@@ -0,0 +1,45 @@
1
+ @use "../../jkl";
2
+
3
+ @layer jokul.components {
4
+ .jkl-modal-container--slide-in {
5
+ --jkl-modal-slide-x: 0px;
6
+ --jkl-modal-slide-y: 12px;
7
+
8
+ @include jkl.motion("exit", "expressive", visibility);
9
+ transition-duration: 0ms;
10
+
11
+ &[aria-hidden="true"] {
12
+ display: flex;
13
+ visibility: hidden;
14
+ pointer-events: none;
15
+ transition-delay: jkl.timing("expressive");
16
+ }
17
+
18
+ &:not([aria-hidden="true"]) {
19
+ visibility: visible;
20
+ transition-delay: 0ms;
21
+ }
22
+ }
23
+
24
+ .jkl-modal-container--slide-in .jkl-modal {
25
+ @include jkl.motion("entrance", "expressive", transform, opacity);
26
+
27
+ transform: translate(
28
+ var(--jkl-modal-slide-x),
29
+ var(--jkl-modal-slide-y)
30
+ );
31
+ opacity: 0;
32
+ will-change: transform, opacity;
33
+ }
34
+
35
+ .jkl-modal-container--slide-in:not([aria-hidden="true"]) .jkl-modal {
36
+ transform: translate(0, 0);
37
+ opacity: 1;
38
+ }
39
+
40
+ @media (prefers-reduced-motion: reduce) {
41
+ .jkl-modal-container--slide-in .jkl-modal {
42
+ transition-duration: 0ms;
43
+ }
44
+ }
45
+ }
@@ -0,0 +1,20 @@
1
+ @use "../../jkl";
2
+
3
+ @layer jokul.components {
4
+ .jkl-modal-overlay {
5
+ background-color: rgb(27 25 23 / 80%);
6
+ opacity: 0;
7
+
8
+ @include jkl.motion("entrance", "expressive", opacity);
9
+ }
10
+
11
+ .jkl-modal-container:not([aria-hidden="true"]) .jkl-modal-overlay {
12
+ opacity: 1;
13
+ }
14
+
15
+ @media (prefers-reduced-motion: reduce) {
16
+ .jkl-modal-overlay {
17
+ transition-duration: 0ms;
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,33 @@
1
+ @use "../../jkl";
2
+
3
+ @layer jokul.components {
4
+ .jkl-modal-header {
5
+ --jkl-modal-header-margin: 0 0 var(--jkl-unit-20);
6
+
7
+ display: flex;
8
+ flex-direction: row;
9
+ justify-content: space-between;
10
+ align-items: center;
11
+ margin: var(--jkl-modal-header-margin);
12
+ }
13
+
14
+ .jkl-modal-body {
15
+ @include jkl.text-style("paragraph-medium");
16
+ }
17
+
18
+ .jkl-modal-title {
19
+ @include jkl.text-style("heading-3");
20
+ }
21
+
22
+ .jkl-modal-actions {
23
+ margin-block-start: var(--jkl-unit-50);
24
+ display: flex;
25
+ flex-direction: column;
26
+ gap: var(--jkl-unit-15) var(--jkl-unit-20);
27
+
28
+ @container (width > 35ch /* ~380px ved vanlig zoom/size */) {
29
+ flex-direction: row-reverse;
30
+ align-self: flex-end;
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,59 @@
1
+ @use "../../jkl";
2
+
3
+ @layer jokul.components {
4
+ /* Placement: bottom */
5
+ .jkl-modal-container--placement-bottom {
6
+ align-items: flex-end;
7
+
8
+ &.jkl-modal-container--slide-in {
9
+ --jkl-modal-slide-x: 0px;
10
+ --jkl-modal-slide-y: 24px;
11
+ }
12
+
13
+ .jkl-modal {
14
+ --margin: 0px;
15
+
16
+ width: min(100vw, var(--modal-width, 100vw));
17
+ border-bottom-left-radius: 0;
18
+ border-bottom-right-radius: 0;
19
+ }
20
+ }
21
+
22
+ /* Placement: left */
23
+ .jkl-modal-container--placement-left {
24
+ justify-content: flex-start;
25
+
26
+ &.jkl-modal-container--slide-in {
27
+ --jkl-modal-slide-x: -24px;
28
+ --jkl-modal-slide-y: 0px;
29
+ }
30
+
31
+ .jkl-modal {
32
+ height: 100%;
33
+ max-height: 100%;
34
+ margin-block: 0;
35
+ margin-inline-start: 0;
36
+ border-top-left-radius: 0;
37
+ border-bottom-left-radius: 0;
38
+ }
39
+ }
40
+
41
+ /* Placement: right */
42
+ .jkl-modal-container--placement-right {
43
+ justify-content: flex-end;
44
+
45
+ &.jkl-modal-container--slide-in {
46
+ --jkl-modal-slide-x: 24px;
47
+ --jkl-modal-slide-y: 0px;
48
+ }
49
+
50
+ .jkl-modal {
51
+ height: 100%;
52
+ max-height: 100%;
53
+ margin-block: 0;
54
+ margin-inline-end: 0;
55
+ border-top-right-radius: 0;
56
+ border-bottom-right-radius: 0;
57
+ }
58
+ }
59
+ }