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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/README.md +41 -22
  2. package/bin/jokul.mjs +10 -0
  3. package/bin/run-jokul-cli.mjs +63 -0
  4. package/build/build-stats.html +1 -1
  5. package/build/cjs/components/card/Card.cjs +1 -1
  6. package/build/cjs/components/card/Card.cjs.map +1 -1
  7. package/build/cjs/components/card/index.d.cts +1 -1
  8. package/build/cjs/components/card/types.cjs +1 -1
  9. package/build/cjs/components/card/types.cjs.map +1 -1
  10. package/build/cjs/components/card/types.d.cts +3 -6
  11. package/build/cjs/components/checkbox/Checkbox.cjs +1 -1
  12. package/build/cjs/components/checkbox/Checkbox.cjs.map +1 -1
  13. package/build/cjs/components/cookie-consent/CookieConsent.cjs +1 -1
  14. package/build/cjs/components/cookie-consent/CookieConsent.cjs.map +1 -1
  15. package/build/cjs/components/cookie-consent/CookieConsent.d.cts +1 -1
  16. package/build/cjs/components/cookie-consent/types.d.cts +4 -0
  17. package/build/cjs/components/datepicker/DatePicker.cjs +1 -1
  18. package/build/cjs/components/datepicker/DatePicker.cjs.map +1 -1
  19. package/build/cjs/components/expander/ExpandablePanel.cjs +1 -1
  20. package/build/cjs/components/expander/ExpandablePanel.cjs.map +1 -1
  21. package/build/cjs/components/link/Link.cjs +1 -1
  22. package/build/cjs/components/link/Link.cjs.map +1 -1
  23. package/build/cjs/components/link/Link.d.cts +2 -2
  24. package/build/cjs/components/link/types.d.cts +1 -4
  25. package/build/cjs/components/modal/Modal.cjs +1 -1
  26. package/build/cjs/components/modal/Modal.cjs.map +1 -1
  27. package/build/cjs/components/modal/Modal.d.cts +2 -9
  28. package/build/cjs/components/modal/index.d.cts +1 -1
  29. package/build/cjs/components/modal/types.d.cts +18 -0
  30. package/build/cjs/components/popover/Popover.cjs +1 -1
  31. package/build/cjs/components/popover/Popover.cjs.map +1 -1
  32. package/build/cjs/components/radio-button/BaseRadioButton.cjs +1 -1
  33. package/build/cjs/components/radio-button/BaseRadioButton.cjs.map +1 -1
  34. package/build/cjs/components/text-area/BaseTextArea.cjs +1 -1
  35. package/build/cjs/components/text-area/BaseTextArea.cjs.map +1 -1
  36. package/build/cjs/components/text-area/counter.cjs +2 -0
  37. package/build/cjs/components/text-area/counter.cjs.map +1 -0
  38. package/build/cjs/components/text-area/counter.d.cts +2 -0
  39. package/build/cjs/components/text-area/types.d.cts +21 -1
  40. package/build/cjs/components/typography/Text.cjs +2 -0
  41. package/build/cjs/components/typography/Text.cjs.map +1 -0
  42. package/build/cjs/components/typography/Text.d.cts +5 -0
  43. package/build/cjs/components/typography/Title.cjs +2 -0
  44. package/build/cjs/components/typography/Title.cjs.map +1 -0
  45. package/build/cjs/components/typography/Title.d.cts +5 -0
  46. package/build/cjs/components/typography/index.cjs +2 -0
  47. package/build/cjs/components/typography/index.cjs.map +1 -0
  48. package/build/cjs/components/typography/index.d.cts +3 -0
  49. package/build/cjs/components/typography/types.cjs +2 -0
  50. package/build/cjs/components/typography/types.cjs.map +1 -0
  51. package/build/cjs/components/typography/types.d.cts +48 -0
  52. package/build/cjs/tokens.cjs +1 -1
  53. package/build/cjs/tokens.cjs.map +1 -1
  54. package/build/cjs/tokens.d.cts +90 -38
  55. package/build/es/components/card/Card.js +1 -1
  56. package/build/es/components/card/Card.js.map +1 -1
  57. package/build/es/components/card/index.d.ts +1 -1
  58. package/build/es/components/card/types.d.ts +3 -6
  59. package/build/es/components/card/types.js +1 -1
  60. package/build/es/components/card/types.js.map +1 -1
  61. package/build/es/components/checkbox/Checkbox.js +1 -1
  62. package/build/es/components/checkbox/Checkbox.js.map +1 -1
  63. package/build/es/components/cookie-consent/CookieConsent.d.ts +1 -1
  64. package/build/es/components/cookie-consent/CookieConsent.js +1 -1
  65. package/build/es/components/cookie-consent/CookieConsent.js.map +1 -1
  66. package/build/es/components/cookie-consent/types.d.ts +4 -0
  67. package/build/es/components/datepicker/DatePicker.js +1 -1
  68. package/build/es/components/datepicker/DatePicker.js.map +1 -1
  69. package/build/es/components/expander/ExpandablePanel.js +1 -1
  70. package/build/es/components/expander/ExpandablePanel.js.map +1 -1
  71. package/build/es/components/link/Link.d.ts +2 -2
  72. package/build/es/components/link/Link.js +1 -1
  73. package/build/es/components/link/Link.js.map +1 -1
  74. package/build/es/components/link/types.d.ts +1 -4
  75. package/build/es/components/modal/Modal.d.ts +2 -9
  76. package/build/es/components/modal/Modal.js +1 -1
  77. package/build/es/components/modal/Modal.js.map +1 -1
  78. package/build/es/components/modal/index.d.ts +1 -1
  79. package/build/es/components/modal/types.d.ts +18 -0
  80. package/build/es/components/popover/Popover.js +1 -1
  81. package/build/es/components/popover/Popover.js.map +1 -1
  82. package/build/es/components/radio-button/BaseRadioButton.js +1 -1
  83. package/build/es/components/radio-button/BaseRadioButton.js.map +1 -1
  84. package/build/es/components/text-area/BaseTextArea.js +1 -1
  85. package/build/es/components/text-area/BaseTextArea.js.map +1 -1
  86. package/build/es/components/text-area/counter.d.ts +2 -0
  87. package/build/es/components/text-area/counter.js +2 -0
  88. package/build/es/components/text-area/counter.js.map +1 -0
  89. package/build/es/components/text-area/types.d.ts +21 -1
  90. package/build/es/components/typography/Text.d.ts +5 -0
  91. package/build/es/components/typography/Text.js +2 -0
  92. package/build/es/components/typography/Text.js.map +1 -0
  93. package/build/es/components/typography/Title.d.ts +5 -0
  94. package/build/es/components/typography/Title.js +2 -0
  95. package/build/es/components/typography/Title.js.map +1 -0
  96. package/build/es/components/typography/index.d.ts +3 -0
  97. package/build/es/components/typography/index.js +2 -0
  98. package/build/es/components/typography/index.js.map +1 -0
  99. package/build/es/components/typography/types.d.ts +48 -0
  100. package/build/es/components/typography/types.js +2 -0
  101. package/build/es/components/typography/types.js.map +1 -0
  102. package/build/es/tokens.d.ts +90 -38
  103. package/build/es/tokens.js +1 -1
  104. package/build/es/tokens.js.map +1 -1
  105. package/codemods/__tests__/import-paths.test.mjs +273 -0
  106. package/codemods/import-paths.mjs +527 -0
  107. package/package.json +7 -1
  108. package/src/fonts/InterVariable-Italic.woff2 +0 -0
  109. package/src/fonts/InterVariable.woff2 +0 -0
  110. package/src/fonts/brands/dnb/DNB-Bold.woff2 +0 -0
  111. package/src/fonts/brands/dnb/DNB-Medium.woff2 +0 -0
  112. package/src/fonts/brands/dnb/DNB-Regular.woff2 +0 -0
  113. package/src/fonts/brands/dnb/DNBMono-Regular.woff2 +0 -0
  114. package/src/fonts/brands/eika/OpenSans-Bold.woff2 +0 -0
  115. package/src/fonts/brands/eika/OpenSans-Light.woff2 +0 -0
  116. package/src/fonts/brands/eika/OpenSans-Regular.woff2 +0 -0
  117. package/src/fonts/brands/eika/OpenSans-SemiBold.woff2 +0 -0
  118. package/src/fonts/brands/fremtind/Fremtind-Material-Symbols.woff2 +0 -0
  119. package/src/fonts/brands/fremtind/InterVariable-Italic.woff2 +0 -0
  120. package/src/fonts/brands/fremtind/InterVariable.woff2 +0 -0
  121. package/src/fonts/brands/sparebank1/SpareBank1-Medium-Web.woff2 +0 -0
  122. package/src/fonts/brands/sparebank1/SpareBank1-Regular-Web.woff2 +0 -0
  123. package/src/fonts/brands/sparebank1/SpareBank1-Title-Medium-Web.woff2 +0 -0
  124. package/styles/base.css +804 -185
  125. package/styles/base.min.css +1 -1
  126. package/styles/components/autosuggest/autosuggest.css +4 -4
  127. package/styles/components/autosuggest/autosuggest.min.css +1 -1
  128. package/styles/components/autosuggest/autosuggest.scss +4 -4
  129. package/styles/components/beta/description-list/description-list.css +1 -1
  130. package/styles/components/beta/description-list/description-list.min.css +1 -1
  131. package/styles/components/beta/description-list/description-list.scss +1 -1
  132. package/styles/components/beta/nav-link/navlink.css +4 -4
  133. package/styles/components/beta/nav-link/navlink.min.css +1 -1
  134. package/styles/components/beta/nav-link/navlink.scss +6 -4
  135. package/styles/components/beta/select/select.css +9 -9
  136. package/styles/components/beta/select/select.min.css +1 -1
  137. package/styles/components/beta/select/select.scss +8 -7
  138. package/styles/components/breadcrumb/breadcrumb.css +1 -1
  139. package/styles/components/breadcrumb/breadcrumb.min.css +1 -1
  140. package/styles/components/button/button.css +8 -4
  141. package/styles/components/button/button.min.css +1 -1
  142. package/styles/components/button/button.scss +14 -14
  143. package/styles/components/card/card.css +6 -11
  144. package/styles/components/card/card.min.css +1 -1
  145. package/styles/components/card/card.scss +5 -12
  146. package/styles/components/checkbox/checkbox.css +43 -15
  147. package/styles/components/checkbox/checkbox.min.css +1 -1
  148. package/styles/components/checkbox/checkbox.scss +35 -24
  149. package/styles/components/checkbox-panel/checkbox-panel.css +65 -32
  150. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  151. package/styles/components/checkbox-panel/checkbox-panel.scss +4 -0
  152. package/styles/components/checkbox-panel/development/styles.scss +1 -1
  153. package/styles/components/chip/chip.css +6 -6
  154. package/styles/components/chip/chip.min.css +1 -1
  155. package/styles/components/chip/chip.scss +6 -6
  156. package/styles/components/combobox/combobox.css +25 -23
  157. package/styles/components/combobox/combobox.min.css +1 -1
  158. package/styles/components/combobox/combobox.scss +15 -18
  159. package/styles/components/countdown/countdown.css +4 -4
  160. package/styles/components/countdown/countdown.min.css +1 -1
  161. package/styles/components/datepicker/_calendar-date-button.scss +11 -9
  162. package/styles/components/datepicker/_calendar-navigation-dropdown.scss +1 -1
  163. package/styles/components/datepicker/_calendar.scss +6 -7
  164. package/styles/components/datepicker/datepicker.css +20 -12
  165. package/styles/components/datepicker/datepicker.min.css +1 -1
  166. package/styles/components/description-list/description-list.css +1 -1
  167. package/styles/components/description-list/description-list.min.css +1 -1
  168. package/styles/components/description-list/description-list.scss +1 -1
  169. package/styles/components/expander/expandable.css +21 -18
  170. package/styles/components/expander/expandable.min.css +1 -1
  171. package/styles/components/expander/expandable.scss +20 -20
  172. package/styles/components/feedback/_index.scss +1 -1
  173. package/styles/components/feedback/feedback.css +6 -8
  174. package/styles/components/feedback/feedback.min.css +1 -1
  175. package/styles/components/feedback/feedback.scss +4 -9
  176. package/styles/components/file/file.css +5 -5
  177. package/styles/components/file/file.min.css +1 -1
  178. package/styles/components/file/file.scss +5 -5
  179. package/styles/components/file-input/file-input.css +29 -25
  180. package/styles/components/file-input/file-input.min.css +1 -1
  181. package/styles/components/file-input/file-input.scss +3 -3
  182. package/styles/components/help/help.css +2 -2
  183. package/styles/components/help/help.min.css +1 -1
  184. package/styles/components/help/help.scss +4 -4
  185. package/styles/components/icon/_base-styles.scss +12 -14
  186. package/styles/components/icon/icon.css +5 -5
  187. package/styles/components/icon/icon.min.css +1 -1
  188. package/styles/components/icon/icon.scss +73 -73
  189. package/styles/components/icon-button/icon-button.css +2 -2
  190. package/styles/components/icon-button/icon-button.min.css +1 -1
  191. package/styles/components/icon-button/icon-button.scss +1 -1
  192. package/styles/components/input-group/input-group.css +2 -2
  193. package/styles/components/input-group/input-group.min.css +1 -1
  194. package/styles/components/input-panel/input-panel.css +19 -17
  195. package/styles/components/input-panel/input-panel.min.css +1 -1
  196. package/styles/components/input-panel/input-panel.scss +21 -20
  197. package/styles/components/link/link.css +2 -2
  198. package/styles/components/link/link.min.css +1 -1
  199. package/styles/components/link-list/link-list.css +8 -4
  200. package/styles/components/link-list/link-list.min.css +1 -1
  201. package/styles/components/link-list/link-list.scss +7 -3
  202. package/styles/components/loader/loader.css +6 -6
  203. package/styles/components/loader/loader.min.css +1 -1
  204. package/styles/components/loader/skeleton-loader.css +4 -4
  205. package/styles/components/loader/skeleton-loader.min.css +1 -1
  206. package/styles/components/loader/skeleton-loader.scss +1 -1
  207. package/styles/components/menu/_menu-divider.scss +1 -1
  208. package/styles/components/menu/_menu-item.scss +2 -2
  209. package/styles/components/menu/menu.css +5 -5
  210. package/styles/components/menu/menu.min.css +1 -1
  211. package/styles/components/menu/menu.scss +2 -2
  212. package/styles/components/message/message.css +20 -10
  213. package/styles/components/message/message.min.css +1 -1
  214. package/styles/components/message/message.scss +19 -12
  215. package/styles/components/modal/_layout.scss +22 -0
  216. package/styles/components/modal/_modal-base.scss +32 -0
  217. package/styles/components/modal/_motion.scss +45 -0
  218. package/styles/components/modal/_overlay.scss +20 -0
  219. package/styles/components/modal/_parts.scss +33 -0
  220. package/styles/components/modal/_placement.scss +59 -0
  221. package/styles/components/modal/modal.css +118 -34
  222. package/styles/components/modal/modal.min.css +1 -1
  223. package/styles/components/modal/modal.scss +6 -95
  224. package/styles/components/nav-link/nav-link.css +1 -1
  225. package/styles/components/nav-link/nav-link.min.css +1 -1
  226. package/styles/components/pagination/development/styles.scss +1 -1
  227. package/styles/components/pagination/pagination.css +3 -3
  228. package/styles/components/pagination/pagination.min.css +1 -1
  229. package/styles/components/pagination/pagination.scss +2 -2
  230. package/styles/components/popover/popover.css +12 -1
  231. package/styles/components/popover/popover.min.css +1 -1
  232. package/styles/components/popover/popover.scss +15 -1
  233. package/styles/components/progress-bar/progress-bar.css +27 -3
  234. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  235. package/styles/components/progress-bar/progress-bar.scss +5 -0
  236. package/styles/components/radio-button/radio-button.css +43 -8
  237. package/styles/components/radio-button/radio-button.min.css +1 -1
  238. package/styles/components/radio-button/radio-button.scss +35 -16
  239. package/styles/components/radio-panel/development/styles.scss +1 -1
  240. package/styles/components/radio-panel/radio-panel.css +22 -17
  241. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  242. package/styles/components/radio-panel/radio-panel.scss +4 -0
  243. package/styles/components/search/search-with-submit-button.css +1 -1
  244. package/styles/components/search/search-with-submit-button.min.css +1 -1
  245. package/styles/components/search/search-with-submit-button.scss +1 -1
  246. package/styles/components/search/search.css +4 -4
  247. package/styles/components/search/search.min.css +1 -1
  248. package/styles/components/search/search.scss +3 -3
  249. package/styles/components/segmented-control/segmented-control.css +61 -26
  250. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  251. package/styles/components/segmented-control/segmented-control.scss +7 -7
  252. package/styles/components/select/select.css +17 -18
  253. package/styles/components/select/select.min.css +1 -1
  254. package/styles/components/select/select.scss +24 -29
  255. package/styles/components/summary-table/development/summary-table-example.scss +1 -1
  256. package/styles/components/summary-table/summary-table.css +2 -2
  257. package/styles/components/summary-table/summary-table.min.css +1 -1
  258. package/styles/components/summary-table/summary-table.scss +2 -2
  259. package/styles/components/system-message/system-message.css +23 -13
  260. package/styles/components/system-message/system-message.min.css +1 -1
  261. package/styles/components/system-message/system-message.scss +119 -108
  262. package/styles/components/table/_table-head.scss +1 -1
  263. package/styles/components/table/_table-row.scss +5 -3
  264. package/styles/components/table/table.css +6 -4
  265. package/styles/components/table/table.min.css +1 -1
  266. package/styles/components/table-of-contents/table-of-contents.css +2 -2
  267. package/styles/components/table-of-contents/table-of-contents.min.css +1 -1
  268. package/styles/components/table-of-contents/table-of-contents.scss +3 -3
  269. package/styles/components/tabs/tabs.css +5 -5
  270. package/styles/components/tabs/tabs.min.css +1 -1
  271. package/styles/components/tabs/tabs.scss +5 -6
  272. package/styles/components/tag/tag.css +16 -6
  273. package/styles/components/tag/tag.min.css +1 -1
  274. package/styles/components/tag/tag.scss +18 -7
  275. package/styles/components/text-area/text-area.css +12 -12
  276. package/styles/components/text-area/text-area.min.css +1 -1
  277. package/styles/components/text-input/text-input.css +12 -12
  278. package/styles/components/text-input/text-input.min.css +1 -1
  279. package/styles/components/toast/toast.css +20 -13
  280. package/styles/components/toast/toast.min.css +1 -1
  281. package/styles/components/toast/toast.scss +19 -18
  282. package/styles/components/toggle-switch/_toggle-slider.scss +4 -4
  283. package/styles/components/toggle-switch/toggle-switch.css +15 -25
  284. package/styles/components/toggle-switch/toggle-switch.min.css +1 -3
  285. package/styles/components/toggle-switch/toggle-switch.scss +10 -22
  286. package/styles/components/tooltip/tooltip.css +5 -5
  287. package/styles/components/tooltip/tooltip.min.css +1 -1
  288. package/styles/components/tooltip/tooltip.scss +5 -5
  289. package/styles/components/typography/_index.scss +2 -0
  290. package/styles/components/typography/text.css +38 -0
  291. package/styles/components/typography/text.min.css +1 -0
  292. package/styles/components/typography/text.scss +54 -0
  293. package/styles/components/typography/title.css +55 -0
  294. package/styles/components/typography/title.min.css +1 -0
  295. package/styles/components/typography/title.scss +59 -0
  296. package/styles/components.css +684 -365
  297. package/styles/components.min.css +1 -3
  298. package/styles/components.scss +53 -52
  299. package/styles/core/utility/_paragraphs.scss +39 -0
  300. package/styles/global/_base-class.scss +2 -2
  301. package/styles/global/_top-layer.scss +1 -1
  302. package/styles/hooks/stories/styles.scss +3 -3
  303. package/styles/jkl/_ornaments.scss +1 -1
  304. package/styles/jkl/_tokens.scss +140 -66
  305. package/styles/jkl/_typography.scss +13 -21
  306. package/styles/shared/input/shared-input-styles.scss +11 -15
  307. package/styles/shared/track/track.scss +2 -2
  308. package/styles/tailwind.css +104 -60
  309. package/styles/theme/_color-scheme.scss +107 -60
  310. package/styles/theme/_dynamic-spacing.scss +6 -6
  311. package/styles/theme/_fonts.scss +24 -74
  312. package/styles/theme/_index.scss +4 -0
  313. package/styles/theme/_tokens.scss +3 -3
  314. package/styles/theme/brands/dnb/_color-scheme.scss +121 -0
  315. package/styles/theme/brands/dnb/_fonts.scss +46 -0
  316. package/styles/theme/brands/dnb/_index.scss +2 -0
  317. package/styles/theme/brands/eika/_color-scheme.scss +121 -0
  318. package/styles/theme/brands/eika/_fonts.scss +46 -0
  319. package/styles/theme/brands/eika/_index.scss +2 -0
  320. package/styles/theme/brands/fremtind/_color-scheme.scss +121 -0
  321. package/styles/theme/brands/fremtind/_fonts.scss +30 -0
  322. package/styles/theme/brands/fremtind/_index.scss +2 -0
  323. package/styles/theme/brands/sparebank1/_color-scheme.scss +121 -0
  324. package/styles/theme/brands/sparebank1/_fonts.scss +38 -0
  325. package/styles/theme/brands/sparebank1/_index.scss +2 -0
  326. package/styles/utility/_headings.scss +1 -1
  327. package/styles/utility/_paragraphs.scss +2 -2
  328. package/styles/utility/_screen-reader.scss +1 -1
  329. package/styles/utility/_spacing.scss +2 -2
  330. package/src/fonts/FremtindGrotesk-Bold-Web.woff +0 -0
  331. package/src/fonts/FremtindGrotesk-Bold-Web.woff2 +0 -0
  332. package/src/fonts/FremtindGrotesk-BoldItalic-Web.woff +0 -0
  333. package/src/fonts/FremtindGrotesk-BoldItalic-Web.woff2 +0 -0
  334. package/src/fonts/FremtindGrotesk-Display-Web.woff +0 -0
  335. package/src/fonts/FremtindGrotesk-Display-Web.woff2 +0 -0
  336. package/src/fonts/FremtindGrotesk-Italic-Web.woff +0 -0
  337. package/src/fonts/FremtindGrotesk-Italic-Web.woff2 +0 -0
  338. package/src/fonts/FremtindGrotesk-Regular-Web.woff +0 -0
  339. package/src/fonts/FremtindGrotesk-Regular-Web.woff2 +0 -0
  340. package/src/fonts/FremtindGroteskMono-Regular-Web.woff +0 -0
  341. package/src/fonts/FremtindGroteskMono-Regular-Web.woff2 +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  @layer jokul.components {
4
4
  .jkl-expandable {
5
- background-color: var(--jkl-color-background-container-low);
5
+ background-color: var(--jkl-color-background-container);
6
6
  // A transparent border will be visible in forced colors mode and replace
7
7
  // the role of the background-color in separating the component from other content
8
8
  border: 1px solid transparent;
@@ -28,7 +28,7 @@
28
28
  }
29
29
 
30
30
  &--stroke {
31
- border-color: var(--jkl-color-border-separator);
31
+ border-color: var(--jkl-color-border-subdued);
32
32
  background-color: transparent;
33
33
 
34
34
  border-radius: 0;
@@ -38,14 +38,18 @@
38
38
  &__wrapper {
39
39
  --border-radius: #{jkl.rem(4px)};
40
40
  --outline-offset: 3px;
41
- --border-top-left-radius: 0;
42
- --border-top-right-radius: 0;
43
- --border-bottom-left-radius: 0;
44
- --border-bottom-right-radius: 0;
41
+ --stroke-outline-offset: 3px;
42
+ --border-top-left-radius: var(--border-radius);
43
+ --border-top-right-radius: var(--border-radius);
44
+ --border-bottom-left-radius: var(--border-radius);
45
+ --border-bottom-right-radius: var(--border-radius);
45
46
 
46
47
  position: relative;
47
48
 
48
49
  & + & {
50
+ --border-top-left-radius: 0;
51
+ --border-top-right-radius: 0;
52
+ --stroke-outline-offset: -1px;
49
53
 
50
54
  // Matches every expandable that follows directly after another
51
55
  .jkl-expandable--stroke {
@@ -53,19 +57,15 @@
53
57
  }
54
58
  }
55
59
 
56
- &:first-child {
57
- --border-top-left-radius: var(--border-radius);
58
- --border-top-right-radius: var(--border-radius);
59
- }
60
-
61
- &:last-child {
62
- --border-bottom-left-radius: var(--border-radius);
63
- --border-bottom-right-radius: var(--border-radius);
60
+ &:has(+ &) {
61
+ --border-bottom-left-radius: 0;
62
+ --border-bottom-right-radius: 0;
63
+ --stroke-outline-offset: -1px;
64
64
  }
65
65
 
66
66
  &:has(.jkl-expander:focus-visible) {
67
67
  &:has(.jkl-expandable--stroke) {
68
- --outline-offset: -1px;
68
+ --outline-offset: var(--stroke-outline-offset);
69
69
  }
70
70
 
71
71
  .jkl-expandable__focus-container {
@@ -73,10 +73,6 @@
73
73
  outline-offset: var(--outline-offset);
74
74
  }
75
75
  }
76
-
77
- &:has(:focus-visible):first-child:last-child {
78
- --outline-offset: 3px;
79
- }
80
76
  }
81
77
 
82
78
  &__focus-container {
@@ -87,6 +83,10 @@
87
83
  }
88
84
 
89
85
  .jkl-expander {
86
+ --hover-background-color: color-mix(in srgb,
87
+ currentColor 15%,
88
+ transparent);
89
+
90
90
  box-sizing: border-box;
91
91
  background: none;
92
92
  appearance: none;
@@ -133,7 +133,7 @@
133
133
 
134
134
  @media (hover: hover) {
135
135
  &:hover {
136
- background-color: var(--jkl-color-background-interactive-selected);
136
+ background-color: var(--hover-background-color);
137
137
  }
138
138
  }
139
139
 
@@ -7,4 +7,4 @@
7
7
  @use "../message" as message;
8
8
  @use "../radio-button" as radio-button;
9
9
  @use "../text-input" as text-input;
10
- @use "../text-area/" as text-area;
10
+ @use "../text-area" as text-area;
@@ -20,12 +20,12 @@
20
20
  font: var(--jkl-text-style-paragraph-small);
21
21
  }
22
22
  .jkl-feedback__fade-in {
23
- animation: jkl-show-upcr25a 0.25s ease-out;
23
+ animation: jkl-show-upoad0m 0.25s ease-out;
24
24
  }
25
25
  .jkl-feedback__buttons {
26
26
  display: flex;
27
27
  }
28
- @keyframes jkl-show-upcr25a {
28
+ @keyframes jkl-show-upoad0m {
29
29
  from {
30
30
  transform: translate3d(0, 0.5rem, 0);
31
31
  opacity: 0;
@@ -71,10 +71,6 @@
71
71
  transition-duration: var(--jkl-motion-timing-productive);
72
72
  transition-property: opacity;
73
73
  }
74
- .jkl-feedback-smiley-option::after {
75
- inset: -0.125rem -0.125rem -0.125rem -0.125rem;
76
- box-shadow: 0 0 0 0.125rem currentColor;
77
- }
78
74
  .jkl-feedback-smiley-option::before {
79
75
  inset: 0;
80
76
  box-shadow: 0 0.125rem 1.875rem rgba(0, 0, 0, 0.1);
@@ -89,7 +85,9 @@
89
85
  input:checked + .jkl-feedback-smiley-option::before {
90
86
  opacity: 1;
91
87
  }
92
- html:not([data-mousenavigation]):not([data-touchnavigation]) input:focus + .jkl-feedback-smiley-option::after {
93
- opacity: 1;
88
+ input:focus-visible + .jkl-feedback-smiley-option {
89
+ border-radius: var(--jkl-border-radius-full);
90
+ outline: 3px solid var(--jkl-color-border-strong);
91
+ outline-offset: 3px;
94
92
  }
95
93
  }
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-feedback{max-width:34.375rem}.jkl-feedback__submit-wrapper{transition-duration:var(--jkl-motion-timing-expressive);transition-property:height;transition-timing-function:var(--jkl-motion-easing-standard);width:100%}.jkl-feedback__submit-wrapper--hidden{display:none}.jkl-feedback__step-counter{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-paragraph-small);margin-bottom:var(--jkl-unit-20)}.jkl-feedback__fade-in{animation:jkl-show-upcr25a .25s ease-out}.jkl-feedback__buttons{display:flex}@keyframes jkl-show-upcr25a{0%{opacity:0;transform:translate3d(0,.5rem,0)}}.jkl-feedback-smileys{display:flex;flex-wrap:nowrap;gap:var(--jkl-spacing-12);justify-content:space-between;margin-top:var(--jkl-unit-10);max-width:22.5rem;width:100%}.jkl-feedback-smiley-option{color:var(--jkl-color-text-subdued);cursor:pointer;display:inline-block;height:2.5rem;position:relative;transform:translateZ(0);transition-duration:var(--jkl-motion-timing-productive);transition-property:transform,color;transition-timing-function:var(--jkl-motion-easing-standard);width:2.5rem}@media screen and (forced-colors:active){.jkl-feedback-smiley-option,.jkl-feedback-smiley-option path,.jkl-feedback-smiley-option svg{fill:ButtonText;stroke:ButtonFace}}.jkl-feedback-smiley-option:after,.jkl-feedback-smiley-option:before{border-radius:50%;content:"";opacity:0;position:absolute;transition-duration:var(--jkl-motion-timing-productive);transition-property:opacity;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-feedback-smiley-option:after{box-shadow:0 0 0 .125rem currentColor;inset:-.125rem -.125rem -.125rem -.125rem}.jkl-feedback-smiley-option:before{box-shadow:0 .125rem 1.875rem rgba(0,0,0,.1);inset:0}.jkl-feedback-smiley-option:hover{color:var(--jkl-color-text-default)}input:checked+.jkl-feedback-smiley-option{color:var(--jkl-color-text-default);transform:translate3d(0,-20%,0)}input:checked+.jkl-feedback-smiley-option:before{opacity:1}html:not([data-mousenavigation]):not([data-touchnavigation]) input:focus+.jkl-feedback-smiley-option:after{opacity:1}}
1
+ @layer jokul.components{.jkl-feedback{max-width:34.375rem}.jkl-feedback__submit-wrapper{transition-duration:var(--jkl-motion-timing-expressive);transition-property:height;transition-timing-function:var(--jkl-motion-easing-standard);width:100%}.jkl-feedback__submit-wrapper--hidden{display:none}.jkl-feedback__step-counter{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-paragraph-small);margin-bottom:var(--jkl-unit-20)}.jkl-feedback__fade-in{animation:jkl-show-upoad0m .25s ease-out}.jkl-feedback__buttons{display:flex}@keyframes jkl-show-upoad0m{0%{opacity:0;transform:translate3d(0,.5rem,0)}}.jkl-feedback-smileys{display:flex;flex-wrap:nowrap;gap:var(--jkl-spacing-12);justify-content:space-between;margin-top:var(--jkl-unit-10);max-width:22.5rem;width:100%}.jkl-feedback-smiley-option{color:var(--jkl-color-text-subdued);cursor:pointer;display:inline-block;height:2.5rem;position:relative;transform:translateZ(0);transition-duration:var(--jkl-motion-timing-productive);transition-property:transform,color;transition-timing-function:var(--jkl-motion-easing-standard);width:2.5rem}@media screen and (forced-colors:active){.jkl-feedback-smiley-option,.jkl-feedback-smiley-option path,.jkl-feedback-smiley-option svg{fill:ButtonText;stroke:ButtonFace}}.jkl-feedback-smiley-option:after,.jkl-feedback-smiley-option:before{border-radius:50%;content:"";opacity:0;position:absolute;transition-duration:var(--jkl-motion-timing-productive);transition-property:opacity;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-feedback-smiley-option:before{box-shadow:0 .125rem 1.875rem rgba(0,0,0,.1);inset:0}.jkl-feedback-smiley-option:hover{color:var(--jkl-color-text-default)}input:checked+.jkl-feedback-smiley-option{color:var(--jkl-color-text-default);transform:translate3d(0,-20%,0)}input:checked+.jkl-feedback-smiley-option:before{opacity:1}input:focus-visible+.jkl-feedback-smiley-option{border-radius:var(--jkl-border-radius-full);outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}}
@@ -82,11 +82,6 @@ $_show-animation-name: jkl-show-#{string.unique-id()};
82
82
  transition-property: opacity;
83
83
  }
84
84
 
85
- &::after {
86
- inset: jkl.rem(-2px) jkl.rem(-2px) jkl.rem(-2px) jkl.rem(-2px);
87
- box-shadow: 0 0 0 jkl.rem(2px) currentColor;
88
- }
89
-
90
85
  &::before {
91
86
  inset: 0;
92
87
  box-shadow: 0 jkl.rem(2px) jkl.rem(30px) rgb(0 0 0 / 10%);
@@ -105,10 +100,10 @@ $_show-animation-name: jkl-show-#{string.unique-id()};
105
100
  }
106
101
  }
107
102
 
108
- input:focus + &::after {
109
- @include jkl.keyboard-navigation {
110
- opacity: 1;
111
- }
103
+ input:focus-visible + & {
104
+ border-radius: var(--jkl-border-radius-full);
105
+
106
+ @include jkl.focus-outline;
112
107
  }
113
108
  }
114
109
  }
@@ -10,7 +10,7 @@
10
10
  --jkl-file-gap: var(--jkl-unit-10) var(--jkl-unit-20);
11
11
  --jkl-file-button-width: var(--jkl-unit-50);
12
12
  --text-color: var(--jkl-color-text-default);
13
- --border: 1px solid var(--jkl-color-border-separator);
13
+ --border: 1px solid var(--jkl-color-border-subdued);
14
14
  --border-radius: 2px;
15
15
  --bg: transparent;
16
16
  --transition-time: var(--jkl-motion-timing-expressive);
@@ -54,7 +54,7 @@
54
54
  display: flex;
55
55
  align-items: center;
56
56
  justify-content: center;
57
- background: var(--jkl-color-background-container-low);
57
+ background: var(--jkl-color-background-page);
58
58
  border-radius: 2px;
59
59
  overflow: hidden;
60
60
  container-type: inline-size;
@@ -113,16 +113,16 @@
113
113
  scale: 1;
114
114
  }
115
115
  .jkl-file[data-state=error] {
116
- --bg: var(--jkl-color-functional-error);
116
+ --bg: var(--jkl-color-error-background-container);
117
117
  }
118
118
  .jkl-file[data-state=error],
119
119
  .jkl-file[data-state=error] a,
120
120
  .jkl-file[data-state=error] a:hover,
121
121
  .jkl-file[data-state=error] button,
122
122
  .jkl-file[data-state=error] span {
123
- --text-color: var(--jkl-color-text-on-alert);
123
+ --text-color: var(--jkl-color-error-text-default);
124
124
  --link-color: var(--text-color);
125
- --jkl-color-border-action: currentColor;
125
+ --jkl-color-border-strong: currentColor;
126
126
  }
127
127
  @keyframes spin {
128
128
  from {
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-file{--jkl-file-padding:var(--jkl-unit-10);--jkl-file-thumbnail-width:var(--jkl-unit-70);--jkl-file-thumbnail-max-height:var(--jkl-unit-90);--jkl-file-thumbnail-aspect-ratio:1;--jkl-file-gap:var(--jkl-unit-10) var(--jkl-unit-20);--jkl-file-button-width:var(--jkl-unit-50);--text-color:var(--jkl-color-text-default);--border:1px solid var(--jkl-color-border-separator);--border-radius:2px;--bg:transparent;--transition-time:var(--jkl-motion-timing-expressive)}.jkl-file__content{align-items:center;background:var(--bg);border:var(--border);border-radius:var(--border-radius);color:var(--jkl-color-text-default);display:grid;gap:var(--jkl-file-gap);grid-template-areas:"image text button";grid-template-columns:var(--jkl-file-thumbnail-width) 1fr var(--jkl-file-button-width);height:-webkit-fit-content;height:fit-content;padding:var(--jkl-file-padding);transition-duration:var(--jkl-motion-timing-snappy);transition-property:background-color,border-color,color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-file__content__name{font:var(--jkl-text-style-paragraph-small);grid-area:text;word-break:break-word}.jkl-file__content__name__size{word-break:keep-all}.jkl-file__content__delete{aspect-ratio:1;grid-area:button}.jkl-file__content__thumbnail{align-items:center;anchor-name:--thumb;aspect-ratio:var(--jkl-file-thumbnail-aspect-ratio);background:var(--jkl-color-background-container-low);border-radius:2px;container-type:inline-size;display:flex;grid-area:image;justify-content:center;max-height:var(--jkl-file-thumbnail-max-height);object-fit:cover;overflow:hidden;position:relative;width:100%;anchor-scope:all;outline:1px solid color-mix(in srgb,currentColor 3%,transparent)}.jkl-file__content__thumbnail:after,.jkl-file__content__thumbnail:before{position:absolute;z-index:1}.jkl-file__content__thumbnail:after{animation:spin 5s linear infinite forwards;aspect-ratio:1;background:var(--text-color);border-radius:1px;content:""/"Laster opp";height:25%;position-anchor:--thumb;position-area:center;scale:0;transition:display var(--transition-time) allow-discrete ease-in,scale var(--transition-time) ease-in}@starting-style{.jkl-file__content__thumbnail:after{scale:0}}.jkl-file__content__thumbnail img{opacity:1;transition:opacity var(--transition-time) ease-in-out}.jkl-file__content__thumbnail img[src]{height:100%;object-fit:cover;width:100%}.jkl-file[class*=card]{--jkl-file-thumbnail-width:100%;--jkl-file-thumbnail-aspect-ratio:16/9}.jkl-file[class*=card] .jkl-file__content{grid-template-areas:"image image" "text button";grid-template-columns:1fr var(--jkl-file-button-width);grid-template-rows:var(--jkl-file-thumbnail-max-height) auto}.jkl-file:not([data-state*=loading]) .jkl-file__content__thumbnail:not(:has(img[src])):before{content:attr(data-filetype);font:var(--jkl-text-style-paragraph-small)}.jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail img{opacity:0}.jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail:after{display:block;scale:1}.jkl-file[data-state=error]{--bg:var(--jkl-color-functional-error)}.jkl-file[data-state=error],.jkl-file[data-state=error] a,.jkl-file[data-state=error] a:hover,.jkl-file[data-state=error] button,.jkl-file[data-state=error] span{--text-color:var(--jkl-color-text-on-alert);--link-color:var(--text-color);--jkl-color-border-action:currentColor}@keyframes spin{0%{transform:rotate(0turn)}to{transform:rotate(1turn)}}}
1
+ @layer jokul.components{.jkl-file{--jkl-file-padding:var(--jkl-unit-10);--jkl-file-thumbnail-width:var(--jkl-unit-70);--jkl-file-thumbnail-max-height:var(--jkl-unit-90);--jkl-file-thumbnail-aspect-ratio:1;--jkl-file-gap:var(--jkl-unit-10) var(--jkl-unit-20);--jkl-file-button-width:var(--jkl-unit-50);--text-color:var(--jkl-color-text-default);--border:1px solid var(--jkl-color-border-subdued);--border-radius:2px;--bg:transparent;--transition-time:var(--jkl-motion-timing-expressive)}.jkl-file__content{align-items:center;background:var(--bg);border:var(--border);border-radius:var(--border-radius);color:var(--jkl-color-text-default);display:grid;gap:var(--jkl-file-gap);grid-template-areas:"image text button";grid-template-columns:var(--jkl-file-thumbnail-width) 1fr var(--jkl-file-button-width);height:-webkit-fit-content;height:fit-content;padding:var(--jkl-file-padding);transition-duration:var(--jkl-motion-timing-snappy);transition-property:background-color,border-color,color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-file__content__name{font:var(--jkl-text-style-paragraph-small);grid-area:text;word-break:break-word}.jkl-file__content__name__size{word-break:keep-all}.jkl-file__content__delete{aspect-ratio:1;grid-area:button}.jkl-file__content__thumbnail{align-items:center;anchor-name:--thumb;aspect-ratio:var(--jkl-file-thumbnail-aspect-ratio);background:var(--jkl-color-background-page);border-radius:2px;container-type:inline-size;display:flex;grid-area:image;justify-content:center;max-height:var(--jkl-file-thumbnail-max-height);object-fit:cover;overflow:hidden;position:relative;width:100%;anchor-scope:all;outline:1px solid color-mix(in srgb,currentColor 3%,transparent)}.jkl-file__content__thumbnail:after,.jkl-file__content__thumbnail:before{position:absolute;z-index:1}.jkl-file__content__thumbnail:after{animation:spin 5s linear infinite forwards;aspect-ratio:1;background:var(--text-color);border-radius:1px;content:""/"Laster opp";height:25%;position-anchor:--thumb;position-area:center;scale:0;transition:display var(--transition-time) allow-discrete ease-in,scale var(--transition-time) ease-in}@starting-style{.jkl-file__content__thumbnail:after{scale:0}}.jkl-file__content__thumbnail img{opacity:1;transition:opacity var(--transition-time) ease-in-out}.jkl-file__content__thumbnail img[src]{height:100%;object-fit:cover;width:100%}.jkl-file[class*=card]{--jkl-file-thumbnail-width:100%;--jkl-file-thumbnail-aspect-ratio:16/9}.jkl-file[class*=card] .jkl-file__content{grid-template-areas:"image image" "text button";grid-template-columns:1fr var(--jkl-file-button-width);grid-template-rows:var(--jkl-file-thumbnail-max-height) auto}.jkl-file:not([data-state*=loading]) .jkl-file__content__thumbnail:not(:has(img[src])):before{content:attr(data-filetype);font:var(--jkl-text-style-paragraph-small)}.jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail img{opacity:0}.jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail:after{display:block;scale:1}.jkl-file[data-state=error]{--bg:var(--jkl-color-error-background-container)}.jkl-file[data-state=error],.jkl-file[data-state=error] a,.jkl-file[data-state=error] a:hover,.jkl-file[data-state=error] button,.jkl-file[data-state=error] span{--text-color:var(--jkl-color-error-text-default);--link-color:var(--text-color);--jkl-color-border-strong:currentColor}@keyframes spin{0%{transform:rotate(0turn)}to{transform:rotate(1turn)}}}
@@ -9,7 +9,7 @@
9
9
  --jkl-file-gap: var(--jkl-unit-10) var(--jkl-unit-20);
10
10
  --jkl-file-button-width: var(--jkl-unit-50);
11
11
  --text-color: var(--jkl-color-text-default);
12
- --border: 1px solid var(--jkl-color-border-separator);
12
+ --border: 1px solid var(--jkl-color-border-subdued);
13
13
  --border-radius: 2px;
14
14
  --bg: transparent;
15
15
  --transition-time: #{jkl.$motion-timing-expressive};
@@ -63,7 +63,7 @@
63
63
  display: flex;
64
64
  align-items: center;
65
65
  justify-content: center;
66
- background: var(--jkl-color-background-container-low);
66
+ background: var(--jkl-color-background-page);
67
67
  border-radius: 2px;
68
68
  overflow: hidden;
69
69
  container-type: inline-size;
@@ -145,16 +145,16 @@
145
145
 
146
146
  // Error state
147
147
  &[data-state="error"] {
148
- --bg: var(--jkl-color-functional-error);
148
+ --bg: var(--jkl-color-error-background-container);
149
149
 
150
150
  &,
151
151
  a,
152
152
  a:hover,
153
153
  button,
154
154
  span {
155
- --text-color: var(--jkl-color-text-on-alert);
155
+ --text-color: var(--jkl-color-error-text-default);
156
156
  --link-color: var(--text-color);
157
- --jkl-color-border-action: currentColor;
157
+ --jkl-color-border-strong: currentColor;
158
158
  }
159
159
  }
160
160
  }
@@ -11,7 +11,7 @@
11
11
  --jkl-file-gap: var(--jkl-unit-10) var(--jkl-unit-20);
12
12
  --jkl-file-button-width: var(--jkl-unit-50);
13
13
  --text-color: var(--jkl-color-text-default);
14
- --border: 1px solid var(--jkl-color-border-separator);
14
+ --border: 1px solid var(--jkl-color-border-subdued);
15
15
  --border-radius: 2px;
16
16
  --bg: transparent;
17
17
  --transition-time: var(--jkl-motion-timing-expressive);
@@ -55,7 +55,7 @@
55
55
  display: flex;
56
56
  align-items: center;
57
57
  justify-content: center;
58
- background: var(--jkl-color-background-container-low);
58
+ background: var(--jkl-color-background-page);
59
59
  border-radius: 2px;
60
60
  overflow: hidden;
61
61
  container-type: inline-size;
@@ -114,16 +114,16 @@
114
114
  scale: 1;
115
115
  }
116
116
  .jkl-file[data-state=error] {
117
- --bg: var(--jkl-color-functional-error);
117
+ --bg: var(--jkl-color-error-background-container);
118
118
  }
119
119
  .jkl-file[data-state=error],
120
120
  .jkl-file[data-state=error] a,
121
121
  .jkl-file[data-state=error] a:hover,
122
122
  .jkl-file[data-state=error] button,
123
123
  .jkl-file[data-state=error] span {
124
- --text-color: var(--jkl-color-text-on-alert);
124
+ --text-color: var(--jkl-color-error-text-default);
125
125
  --link-color: var(--text-color);
126
- --jkl-color-border-action: currentColor;
126
+ --jkl-color-border-strong: currentColor;
127
127
  }
128
128
  @keyframes spin {
129
129
  from {
@@ -162,7 +162,7 @@
162
162
  margin-block-start: -0.1em;
163
163
  padding-inline-start: 0.2em;
164
164
  vertical-align: middle;
165
- font-family: "Fremtind Material Symbols", "Fremtind Material Symbols Fallback", sans-serif;
165
+ font-family: "Jokul Icons", "Jokul Icons Fallback", sans-serif;
166
166
  font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
167
167
  font-feature-settings: "liga";
168
168
  -webkit-font-feature-settings: "liga";
@@ -183,7 +183,7 @@
183
183
  --link-color: var(--jkl-color-text-subdued);
184
184
  }
185
185
  .jkl-link:focus-visible {
186
- outline: 3px solid var(--jkl-color-border-action);
186
+ outline: 3px solid var(--jkl-color-border-strong);
187
187
  outline-offset: 0;
188
188
  }
189
189
  @media screen and (forced-colors: active) {
@@ -201,6 +201,7 @@
201
201
  --jkl-button-padding-icon: var(--jkl-unit-20);
202
202
  --jkl-button-padding-icon-button: var(--jkl-unit-10);
203
203
  --jkl-button-tertiary-padding-icon: var(--jkl-unit-05);
204
+ --jkl-button-text-ink-offset: 0.1em;
204
205
  --jkl-icon-weight: var(--jkl-icon-weight-bold);
205
206
  --text-color: var(--jkl-color-text-default);
206
207
  --background-color: transparent;
@@ -262,8 +263,11 @@
262
263
  pointer-events: none;
263
264
  }
264
265
  .jkl-button__text {
266
+ display: block;
265
267
  width: 100%;
266
268
  max-width: 100%;
269
+ padding-block-start: var(--jkl-button-text-ink-offset);
270
+ margin-block-start: calc(var(--jkl-button-text-ink-offset) * -1);
267
271
  overflow: hidden;
268
272
  white-space: nowrap;
269
273
  text-overflow: ellipsis;
@@ -276,7 +280,7 @@
276
280
  opacity: 1;
277
281
  }
278
282
  .jkl-button:focus-visible {
279
- outline: 3px solid var(--jkl-color-border-action);
283
+ outline: 3px solid var(--jkl-color-border-strong);
280
284
  outline-offset: 3px;
281
285
  }
282
286
  .jkl-button:hover {
@@ -284,7 +288,7 @@
284
288
  }
285
289
  @media (forced-colors: active) {
286
290
  .jkl-button:hover {
287
- outline: 3px solid var(--jkl-color-border-action);
291
+ outline: 3px solid var(--jkl-color-border-strong);
288
292
  outline-offset: 3px;
289
293
  }
290
294
  }
@@ -292,8 +296,8 @@
292
296
  --border-radius: 999px;
293
297
  }
294
298
  .jkl-button--primary {
295
- --background-color: var(--jkl-color-background-action);
296
- --text-color: var(--jkl-color-text-on-action);
299
+ --background-color: var(--jkl-color-background-contrast);
300
+ --text-color: var(--jkl-color-text-on-contrast);
297
301
  }
298
302
  @media (forced-colors: active) {
299
303
  .jkl-button--primary {
@@ -332,22 +336,22 @@
332
336
  animation: 2500ms linear infinite;
333
337
  }
334
338
  .jkl-loader__dot--left {
335
- animation-name: jkl-loader-left-spin-uhium62;
339
+ animation-name: jkl-loader-left-spin-ubwr8zc;
336
340
  margin-right: calc(var(--jkl-loader-spacing) * 0.9);
337
341
  }
338
342
  .jkl-loader__dot--middle {
339
- animation-name: jkl-loader-middle-spin-uhium6s;
343
+ animation-name: jkl-loader-middle-spin-ubwr8zl;
340
344
  margin-right: var(--jkl-loader-spacing);
341
345
  }
342
346
  .jkl-loader__dot--right {
343
- animation-name: jkl-loader-right-spin-uhium7b;
347
+ animation-name: jkl-loader-right-spin-ubwr908;
344
348
  }
345
349
  @media screen and (forced-colors: active) {
346
350
  .jkl-loader__dot {
347
351
  background-color: CanvasText;
348
352
  }
349
353
  }
350
- @keyframes jkl-loader-left-spin-uhium62 {
354
+ @keyframes jkl-loader-left-spin-ubwr8zc {
351
355
  0% {
352
356
  transform: rotate(0) scale(0);
353
357
  }
@@ -361,7 +365,7 @@
361
365
  transform: rotate(180deg) scale(0);
362
366
  }
363
367
  }
364
- @keyframes jkl-loader-middle-spin-uhium6s {
368
+ @keyframes jkl-loader-middle-spin-ubwr8zl {
365
369
  0% {
366
370
  transform: rotate(20deg) scale(0);
367
371
  }
@@ -378,7 +382,7 @@
378
382
  transform: rotate(200deg) scale(0);
379
383
  }
380
384
  }
381
- @keyframes jkl-loader-right-spin-uhium7b {
385
+ @keyframes jkl-loader-right-spin-ubwr908 {
382
386
  0% {
383
387
  transform: rotate(40deg) scale(0);
384
388
  }
@@ -400,7 +404,7 @@
400
404
  inherits: true;
401
405
  }
402
406
  .jkl-skeleton-animation {
403
- --jkl-skeleton-element-color: var(--jkl-color-background-container-low);
407
+ --jkl-skeleton-element-color: var(--jkl-color-background-page);
404
408
  --jkl-skeleton-sweep-duration: 4500ms;
405
409
  --jkl-skeleton-sweeper-width: 40%;
406
410
  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));
@@ -418,7 +422,7 @@
418
422
  @media screen and (forced-colors: active) {
419
423
  .jkl-skeleton-element {
420
424
  border: 1px solid CanvasText;
421
- animation: 2s ease infinite jkl-blink-uhium7z;
425
+ animation: 2s ease infinite jkl-blink-ubwr914;
422
426
  }
423
427
  }
424
428
  .jkl-skeleton-input {
@@ -466,10 +470,10 @@
466
470
  }
467
471
  @media screen and (forced-colors: active) {
468
472
  .jkl-skeleton-table {
469
- animation: 2s ease-in-out infinite jkl-blink-uhium7z;
473
+ animation: 2s ease-in-out infinite jkl-blink-ubwr914;
470
474
  }
471
475
  }
472
- @keyframes jkl-blink-uhium7z {
476
+ @keyframes jkl-blink-ubwr914 {
473
477
  0% {
474
478
  opacity: 1;
475
479
  }
@@ -498,7 +502,7 @@
498
502
  --jkl-file-list-gap: var(--jkl-unit-10);
499
503
  }
500
504
  .jkl-file-input__dropzone {
501
- --border-color: var(--jkl-color-border-input);
505
+ --border-color: var(--jkl-color-border-default);
502
506
  --background-color: transparent;
503
507
  border: var(--border-color) 1px dashed;
504
508
  border-radius: 0.25rem;
@@ -515,8 +519,8 @@
515
519
  background-color: var(--background-color);
516
520
  }
517
521
  .jkl-file-input__dropzone--enter {
518
- --border-color: var(--jkl-color-border-input-focus);
519
- --background-color: var(--jkl-color-background-container-high);
522
+ --border-color: var(--jkl-color-border-strong);
523
+ --background-color: var(--jkl-color-background-container);
520
524
  border-style: solid;
521
525
  }
522
526
  .jkl-file-input__dropzone__drag-text {
@@ -536,7 +540,7 @@
536
540
  }
537
541
  .jkl-file-input__call-to-action:has(:focus-visible) .jkl-button {
538
542
  transform: scale(1.05);
539
- outline: 3px solid var(--jkl-color-border-action);
543
+ outline: 3px solid var(--jkl-color-border-strong);
540
544
  outline-offset: 3px;
541
545
  }
542
546
  .jkl-file-input__call-to-action:has(:focus-visible) .jkl-button:active {
@@ -1 +1 @@
1
- @charset "UTF-8";@layer jokul.components{.jkl-file{--jkl-file-padding:var(--jkl-unit-10);--jkl-file-thumbnail-width:var(--jkl-unit-70);--jkl-file-thumbnail-max-height:var(--jkl-unit-90);--jkl-file-thumbnail-aspect-ratio:1;--jkl-file-gap:var(--jkl-unit-10) var(--jkl-unit-20);--jkl-file-button-width:var(--jkl-unit-50);--text-color:var(--jkl-color-text-default);--border:1px solid var(--jkl-color-border-separator);--border-radius:2px;--bg:transparent;--transition-time:var(--jkl-motion-timing-expressive)}.jkl-file__content{align-items:center;background:var(--bg);border:var(--border);border-radius:var(--border-radius);color:var(--jkl-color-text-default);display:grid;gap:var(--jkl-file-gap);grid-template-areas:"image text button";grid-template-columns:var(--jkl-file-thumbnail-width) 1fr var(--jkl-file-button-width);height:-webkit-fit-content;height:fit-content;padding:var(--jkl-file-padding);transition-duration:var(--jkl-motion-timing-snappy);transition-property:background-color,border-color,color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-file__content__name{font:var(--jkl-text-style-paragraph-small);grid-area:text;word-break:break-word}.jkl-file__content__name__size{word-break:keep-all}.jkl-file__content__delete{aspect-ratio:1;grid-area:button}.jkl-file__content__thumbnail{align-items:center;anchor-name:--thumb;aspect-ratio:var(--jkl-file-thumbnail-aspect-ratio);background:var(--jkl-color-background-container-low);border-radius:2px;container-type:inline-size;display:flex;grid-area:image;justify-content:center;max-height:var(--jkl-file-thumbnail-max-height);object-fit:cover;overflow:hidden;position:relative;width:100%;anchor-scope:all;outline:1px solid color-mix(in srgb,currentColor 3%,transparent)}.jkl-file__content__thumbnail:after,.jkl-file__content__thumbnail:before{position:absolute;z-index:1}.jkl-file__content__thumbnail:after{animation:spin 5s linear infinite forwards;aspect-ratio:1;background:var(--text-color);border-radius:1px;content:""/"Laster opp";height:25%;position-anchor:--thumb;position-area:center;scale:0;transition:display var(--transition-time) allow-discrete ease-in,scale var(--transition-time) ease-in}@starting-style{.jkl-file__content__thumbnail:after{scale:0}}.jkl-file__content__thumbnail img{opacity:1;transition:opacity var(--transition-time) ease-in-out}.jkl-file__content__thumbnail img[src]{height:100%;object-fit:cover;width:100%}.jkl-file[class*=card]{--jkl-file-thumbnail-width:100%;--jkl-file-thumbnail-aspect-ratio:16/9}.jkl-file[class*=card] .jkl-file__content{grid-template-areas:"image image" "text button";grid-template-columns:1fr var(--jkl-file-button-width);grid-template-rows:var(--jkl-file-thumbnail-max-height) auto}.jkl-file:not([data-state*=loading]) .jkl-file__content__thumbnail:not(:has(img[src])):before{content:attr(data-filetype);font:var(--jkl-text-style-paragraph-small)}.jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail img{opacity:0}.jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail:after{display:block;scale:1}.jkl-file[data-state=error]{--bg:var(--jkl-color-functional-error)}.jkl-file[data-state=error],.jkl-file[data-state=error] a,.jkl-file[data-state=error] a:hover,.jkl-file[data-state=error] button,.jkl-file[data-state=error] span{--text-color:var(--jkl-color-text-on-alert);--link-color:var(--text-color);--jkl-color-border-action:currentColor}@keyframes spin{0%{transform:rotate(0turn)}to{transform:rotate(1turn)}}}@layer jokul.components{.jkl-link{--link-color:var(--jkl-color-text-default);color:inherit;outline:none;text-decoration:none;transition-duration:var(--jkl-motion-timing-energetic);transition-property:color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-link__content{text-decoration:underline;-webkit-text-decoration-color:rgb(from currentColor r g b/70%);text-decoration-color:rgb(from currentColor r g b/70%);text-decoration-thickness:.05em;text-underline-offset:.08lh}.jkl-link__icon{-webkit-margin-start:.2em;margin-inline-start:.2em;-webkit-margin-before:-.1em;margin-block-start:-.1em;vertical-align:middle}.jkl-link--external:after,.jkl-link[download]:after,.jkl-link[target=_blank]:after{--jkl-icon-fill:0;--jkl-icon-size:1em;content:"\e89e"/"(Åpnes i ny fane)";-webkit-margin-before:-.1em;margin-block-start:-.1em;-webkit-padding-start:.2em;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;padding-inline-start:.2em;vertical-align:middle;-webkit-font-smoothing:antialiased;display:inline;transition-duration:var(--jkl-motion-timing-energetic);transition-property:font-variation-settings,transform;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-link[download]:after{content:"\f090"/"(Last ned fil)"}.jkl-link:hover:not(:focus){--link-color:var(--jkl-color-text-subdued)}.jkl-link:focus-visible{outline:3px solid var(--jkl-color-border-action);outline-offset:0}@media screen and (forced-colors:active){.jkl-link:hover:not(:focus){--link-color:HighLight}}}@layer jokul.components{.jkl-button{--jkl-button-font-size:var(--jkl-typography-body-base-font-size);--jkl-button-line-height:var(--jkl-typography-body-base-line-height);--jkl-button-padding-block:var(--jkl-unit-10);--jkl-button-padding-text:var(--jkl-unit-30);--jkl-button-padding-icon:var(--jkl-unit-20);--jkl-button-padding-icon-button:var(--jkl-unit-10);--jkl-button-tertiary-padding-icon:var(--jkl-unit-05);--jkl-icon-weight:var(--jkl-icon-weight-bold);--text-color:var(--jkl-color-text-default);--background-color:transparent;--border-radius:0;--border-width:0.0625rem;background:var(--background-color);border:unset;color:var(--text-color);cursor:pointer;display:inline-block;font:var(--jkl-text-style-text-medium);font-weight:var(--jkl-font-weight-bold);text-decoration:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;animation:a .3s linear;border-radius:var(--border-radius);max-width:100%;overflow:hidden;padding-block:var(--jkl-button-padding-block);padding-inline:var(--jkl-button-padding-text);position:relative;transition-duration:var(--jkl-motion-timing-productive);transition-property:background-color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-button:has(.jkl-button__text){min-width:9.5ch}.jkl-button:has(.jkl-icon:first-child){-webkit-padding-start:var(--jkl-button-padding-icon);padding-inline-start:var(--jkl-button-padding-icon)}.jkl-button:has(.jkl-icon:last-child){-webkit-padding-end:var(--jkl-button-padding-icon);padding-inline-end:var(--jkl-button-padding-icon)}.jkl-button:has(.jkl-icon:first-child):has(.jkl-icon:last-child){padding-inline:var(--jkl-button-padding-icon-button)}.jkl-button__label{align-items:center;display:flex;flex-direction:row;gap:var(--jkl-unit-02);pointer-events:none;transition-duration:var(--jkl-motion-timing-expressive);transition-property:translate;transition-timing-function:var(--jkl-motion-easing-standard);width:100%}.jkl-button__loader{left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transition-duration:var(--jkl-motion-timing-expressive);transition-property:opacity,translate;transition-timing-function:var(--jkl-motion-easing-standard);translate:-50% 350%}.jkl-button__text{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.jkl-button[data-loading=true] .jkl-button__label{translate:0 -120%}.jkl-button[data-loading=true] .jkl-button__loader{opacity:1;translate:-50% -50%}.jkl-button:focus-visible{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-button:hover{background-color:color-mix(in srgb,var(--background-color),var(--text-color) 15%)}@media (forced-colors:active){.jkl-button:hover{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}}.jkl-button--ghost,.jkl-button--primary,.jkl-button--secondary{--border-radius:999px}.jkl-button--primary{--background-color:var(--jkl-color-background-action);--text-color:var(--jkl-color-text-on-action)}@media (forced-colors:active){.jkl-button--primary{border:calc(var(--border-width)*2) solid Highlight}}.jkl-button--secondary{border:var(--border-width) solid var(--text-color)}.jkl-button--tertiary{border-bottom:var(--border-width) solid var(--text-color);padding-inline:var(--jkl-button-tertiary-padding-icon)}.jkl-button--tertiary:has(.jkl-icon:first-child){padding-inline:var(--jkl-button-tertiary-padding-icon) calc(var(--jkl-button-tertiary-padding-icon)*2)}.jkl-button--tertiary:has(.jkl-icon:last-child){padding-inline:calc(var(--jkl-button-tertiary-padding-icon)*2) var(--jkl-button-tertiary-padding-icon)}}@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-uhium62;margin-right:calc(var(--jkl-loader-spacing)*.9)}.jkl-loader__dot--middle{animation-name:jkl-loader-middle-spin-uhium6s;margin-right:var(--jkl-loader-spacing)}.jkl-loader__dot--right{animation-name:jkl-loader-right-spin-uhium7b}@media screen and (forced-colors:active){.jkl-loader__dot{background-color:CanvasText}}@keyframes jkl-loader-left-spin-uhium62{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-uhium6s{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-uhium7b{0%{transform:rotate(40deg) scale(0)}20%{transform:rotate(40deg) scale(0)}50%{transform:rotate(130deg) scale(1)}to{transform:rotate(220deg) scale(0)}}}@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-uhium7z 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-uhium7z 2s ease-in-out infinite}}@keyframes jkl-blink-uhium7z{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))}}}@layer jokul.components{.jkl-file-input{--jkl-file-input-dropzone-padding:var(--jkl-unit-30);--jkl-file-input-dropzone-gap:var(--jkl-unit-30);--jkl-file-cta-gap:var(--jkl-unit-30);--jkl-file-cta-with-files-gap:var(--jkl-unit-15);--jkl-file-list-gap:var(--jkl-unit-10)}.jkl-file-input__dropzone{--border-color:var(--jkl-color-border-input);--background-color:transparent;align-items:center;background-color:var(--background-color);border:1px dashed var(--border-color);border-radius:.25rem;display:flex;flex-direction:column;flex-wrap:nowrap;gap:var(--jkl-file-input-dropzone-gap);justify-content:center;padding:var(--jkl-file-input-dropzone-padding);transition-duration:var(--jkl-motion-timing-productive);transition-property:background-color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-file-input__dropzone--enter{--border-color:var(--jkl-color-border-input-focus);--background-color:var(--jkl-color-background-container-high);border-style:solid}.jkl-file-input__dropzone__drag-text{font:var(--jkl-text-style-paragraph-small)}@media (width >= 0) and (max-width:679px){.jkl-file-input__dropzone__drag-text{display:none}}.jkl-file-input__call-to-action{align-items:center;display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:center}.jkl-file-input__call-to-action:has(:focus-visible) .jkl-button{outline:3px solid var(--jkl-color-border-action);outline-offset:3px;transform:scale(1.05)}.jkl-file-input__call-to-action:has(:focus-visible) .jkl-button:active{transform:scale(1)}.jkl-file-input__dropzone-hint{margin-top:var(--jkl-unit-30)}.jkl-file-input--has-files .jkl-file-input__dropzone-hint{display:none}.jkl-file-input__max-size-text{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-text-small);margin-top:var(--jkl-unit-30)}.jkl-file-input__files{display:flex;flex-direction:column;gap:var(--jkl-file-list-gap);list-style:none;margin:0;padding:0}.jkl-file-input--small .jkl-file-input__dropzone-hint{display:block;margin:0}.jkl-file-input--small .jkl-file-input__dropzone{flex-direction:row;gap:var(--jkl-unit-20);justify-content:flex-start;margin-bottom:var(--jkl-unit-20);max-width:-webkit-fit-content;max-width:fit-content;padding:var(--jkl-unit-20)}.jkl-file-input--small .jkl-file-input__call-to-action{flex-direction:row;font:var(--jkl-text-style-text-small);gap:var(--jkl-unit-15);justify-content:flex-start}.jkl-file-input--small .jkl-file-input__max-size-text{margin-bottom:var(--jkl-unit-20);margin-top:calc(var(--jkl-unit-15)*-1)}}
1
+ @charset "UTF-8";@layer jokul.components{.jkl-file{--jkl-file-padding:var(--jkl-unit-10);--jkl-file-thumbnail-width:var(--jkl-unit-70);--jkl-file-thumbnail-max-height:var(--jkl-unit-90);--jkl-file-thumbnail-aspect-ratio:1;--jkl-file-gap:var(--jkl-unit-10) var(--jkl-unit-20);--jkl-file-button-width:var(--jkl-unit-50);--text-color:var(--jkl-color-text-default);--border:1px solid var(--jkl-color-border-subdued);--border-radius:2px;--bg:transparent;--transition-time:var(--jkl-motion-timing-expressive)}.jkl-file__content{align-items:center;background:var(--bg);border:var(--border);border-radius:var(--border-radius);color:var(--jkl-color-text-default);display:grid;gap:var(--jkl-file-gap);grid-template-areas:"image text button";grid-template-columns:var(--jkl-file-thumbnail-width) 1fr var(--jkl-file-button-width);height:-webkit-fit-content;height:fit-content;padding:var(--jkl-file-padding);transition-duration:var(--jkl-motion-timing-snappy);transition-property:background-color,border-color,color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-file__content__name{font:var(--jkl-text-style-paragraph-small);grid-area:text;word-break:break-word}.jkl-file__content__name__size{word-break:keep-all}.jkl-file__content__delete{aspect-ratio:1;grid-area:button}.jkl-file__content__thumbnail{align-items:center;anchor-name:--thumb;aspect-ratio:var(--jkl-file-thumbnail-aspect-ratio);background:var(--jkl-color-background-page);border-radius:2px;container-type:inline-size;display:flex;grid-area:image;justify-content:center;max-height:var(--jkl-file-thumbnail-max-height);object-fit:cover;overflow:hidden;position:relative;width:100%;anchor-scope:all;outline:1px solid color-mix(in srgb,currentColor 3%,transparent)}.jkl-file__content__thumbnail:after,.jkl-file__content__thumbnail:before{position:absolute;z-index:1}.jkl-file__content__thumbnail:after{animation:spin 5s linear infinite forwards;aspect-ratio:1;background:var(--text-color);border-radius:1px;content:""/"Laster opp";height:25%;position-anchor:--thumb;position-area:center;scale:0;transition:display var(--transition-time) allow-discrete ease-in,scale var(--transition-time) ease-in}@starting-style{.jkl-file__content__thumbnail:after{scale:0}}.jkl-file__content__thumbnail img{opacity:1;transition:opacity var(--transition-time) ease-in-out}.jkl-file__content__thumbnail img[src]{height:100%;object-fit:cover;width:100%}.jkl-file[class*=card]{--jkl-file-thumbnail-width:100%;--jkl-file-thumbnail-aspect-ratio:16/9}.jkl-file[class*=card] .jkl-file__content{grid-template-areas:"image image" "text button";grid-template-columns:1fr var(--jkl-file-button-width);grid-template-rows:var(--jkl-file-thumbnail-max-height) auto}.jkl-file:not([data-state*=loading]) .jkl-file__content__thumbnail:not(:has(img[src])):before{content:attr(data-filetype);font:var(--jkl-text-style-paragraph-small)}.jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail img{opacity:0}.jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail:after{display:block;scale:1}.jkl-file[data-state=error]{--bg:var(--jkl-color-error-background-container)}.jkl-file[data-state=error],.jkl-file[data-state=error] a,.jkl-file[data-state=error] a:hover,.jkl-file[data-state=error] button,.jkl-file[data-state=error] span{--text-color:var(--jkl-color-error-text-default);--link-color:var(--text-color);--jkl-color-border-strong:currentColor}@keyframes spin{0%{transform:rotate(0turn)}to{transform:rotate(1turn)}}}@layer jokul.components{.jkl-link{--link-color:var(--jkl-color-text-default);color:inherit;outline:none;text-decoration:none;transition-duration:var(--jkl-motion-timing-energetic);transition-property:color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-link__content{text-decoration:underline;-webkit-text-decoration-color:rgb(from currentColor r g b/70%);text-decoration-color:rgb(from currentColor r g b/70%);text-decoration-thickness:.05em;text-underline-offset:.08lh}.jkl-link__icon{-webkit-margin-start:.2em;margin-inline-start:.2em;-webkit-margin-before:-.1em;margin-block-start:-.1em;vertical-align:middle}.jkl-link--external:after,.jkl-link[download]:after,.jkl-link[target=_blank]:after{--jkl-icon-fill:0;--jkl-icon-size:1em;content:"\e89e"/"(Åpnes i ny fane)";-webkit-margin-before:-.1em;margin-block-start:-.1em;-webkit-padding-start:.2em;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;line-height:1;padding-inline-start:.2em;vertical-align:middle;-webkit-font-smoothing:antialiased;display:inline;transition-duration:var(--jkl-motion-timing-energetic);transition-property:font-variation-settings,transform;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-link[download]:after{content:"\f090"/"(Last ned fil)"}.jkl-link:hover:not(:focus){--link-color:var(--jkl-color-text-subdued)}.jkl-link:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:0}@media screen and (forced-colors:active){.jkl-link:hover:not(:focus){--link-color:HighLight}}}@layer jokul.components{.jkl-button{--jkl-button-font-size:var(--jkl-typography-body-base-font-size);--jkl-button-line-height:var(--jkl-typography-body-base-line-height);--jkl-button-padding-block:var(--jkl-unit-10);--jkl-button-padding-text:var(--jkl-unit-30);--jkl-button-padding-icon:var(--jkl-unit-20);--jkl-button-padding-icon-button:var(--jkl-unit-10);--jkl-button-tertiary-padding-icon:var(--jkl-unit-05);--jkl-button-text-ink-offset:0.1em;--jkl-icon-weight:var(--jkl-icon-weight-bold);--text-color:var(--jkl-color-text-default);--background-color:transparent;--border-radius:0;--border-width:0.0625rem;background:var(--background-color);border:unset;color:var(--text-color);cursor:pointer;display:inline-block;font:var(--jkl-text-style-text-medium);font-weight:var(--jkl-font-weight-bold);text-decoration:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;animation:a .3s linear;border-radius:var(--border-radius);max-width:100%;overflow:hidden;padding-block:var(--jkl-button-padding-block);padding-inline:var(--jkl-button-padding-text);position:relative;transition-duration:var(--jkl-motion-timing-productive);transition-property:background-color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-button:has(.jkl-button__text){min-width:9.5ch}.jkl-button:has(.jkl-icon:first-child){-webkit-padding-start:var(--jkl-button-padding-icon);padding-inline-start:var(--jkl-button-padding-icon)}.jkl-button:has(.jkl-icon:last-child){-webkit-padding-end:var(--jkl-button-padding-icon);padding-inline-end:var(--jkl-button-padding-icon)}.jkl-button:has(.jkl-icon:first-child):has(.jkl-icon:last-child){padding-inline:var(--jkl-button-padding-icon-button)}.jkl-button__label{align-items:center;display:flex;flex-direction:row;gap:var(--jkl-unit-02);pointer-events:none;transition-duration:var(--jkl-motion-timing-expressive);transition-property:translate;transition-timing-function:var(--jkl-motion-easing-standard);width:100%}.jkl-button__loader{left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transition-duration:var(--jkl-motion-timing-expressive);transition-property:opacity,translate;transition-timing-function:var(--jkl-motion-easing-standard);translate:-50% 350%}.jkl-button__text{display:block;max-width:100%;width:100%;-webkit-padding-before:var(--jkl-button-text-ink-offset);padding-block-start:var(--jkl-button-text-ink-offset);-webkit-margin-before:calc(var(--jkl-button-text-ink-offset)*-1);margin-block-start:calc(var(--jkl-button-text-ink-offset)*-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jkl-button[data-loading=true] .jkl-button__label{translate:0 -120%}.jkl-button[data-loading=true] .jkl-button__loader{opacity:1;translate:-50% -50%}.jkl-button:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-button:hover{background-color:color-mix(in srgb,var(--background-color),var(--text-color) 15%)}@media (forced-colors:active){.jkl-button:hover{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}}.jkl-button--ghost,.jkl-button--primary,.jkl-button--secondary{--border-radius:999px}.jkl-button--primary{--background-color:var(--jkl-color-background-contrast);--text-color:var(--jkl-color-text-on-contrast)}@media (forced-colors:active){.jkl-button--primary{border:calc(var(--border-width)*2) solid Highlight}}.jkl-button--secondary{border:var(--border-width) solid var(--text-color)}.jkl-button--tertiary{border-bottom:var(--border-width) solid var(--text-color);padding-inline:var(--jkl-button-tertiary-padding-icon)}.jkl-button--tertiary:has(.jkl-icon:first-child){padding-inline:var(--jkl-button-tertiary-padding-icon) calc(var(--jkl-button-tertiary-padding-icon)*2)}.jkl-button--tertiary:has(.jkl-icon:last-child){padding-inline:calc(var(--jkl-button-tertiary-padding-icon)*2) var(--jkl-button-tertiary-padding-icon)}}@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-ubwr8zc;margin-right:calc(var(--jkl-loader-spacing)*.9)}.jkl-loader__dot--middle{animation-name:jkl-loader-middle-spin-ubwr8zl;margin-right:var(--jkl-loader-spacing)}.jkl-loader__dot--right{animation-name:jkl-loader-right-spin-ubwr908}@media screen and (forced-colors:active){.jkl-loader__dot{background-color:CanvasText}}@keyframes jkl-loader-left-spin-ubwr8zc{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-ubwr8zl{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-ubwr908{0%{transform:rotate(40deg) scale(0)}20%{transform:rotate(40deg) scale(0)}50%{transform:rotate(130deg) scale(1)}to{transform:rotate(220deg) scale(0)}}}@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-ubwr914 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-ubwr914 2s ease-in-out infinite}}@keyframes jkl-blink-ubwr914{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))}}}@layer jokul.components{.jkl-file-input{--jkl-file-input-dropzone-padding:var(--jkl-unit-30);--jkl-file-input-dropzone-gap:var(--jkl-unit-30);--jkl-file-cta-gap:var(--jkl-unit-30);--jkl-file-cta-with-files-gap:var(--jkl-unit-15);--jkl-file-list-gap:var(--jkl-unit-10)}.jkl-file-input__dropzone{--border-color:var(--jkl-color-border-default);--background-color:transparent;align-items:center;background-color:var(--background-color);border:1px dashed var(--border-color);border-radius:.25rem;display:flex;flex-direction:column;flex-wrap:nowrap;gap:var(--jkl-file-input-dropzone-gap);justify-content:center;padding:var(--jkl-file-input-dropzone-padding);transition-duration:var(--jkl-motion-timing-productive);transition-property:background-color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-file-input__dropzone--enter{--border-color:var(--jkl-color-border-strong);--background-color:var(--jkl-color-background-container);border-style:solid}.jkl-file-input__dropzone__drag-text{font:var(--jkl-text-style-paragraph-small)}@media (width >= 0) and (max-width:679px){.jkl-file-input__dropzone__drag-text{display:none}}.jkl-file-input__call-to-action{align-items:center;display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:center}.jkl-file-input__call-to-action:has(:focus-visible) .jkl-button{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px;transform:scale(1.05)}.jkl-file-input__call-to-action:has(:focus-visible) .jkl-button:active{transform:scale(1)}.jkl-file-input__dropzone-hint{margin-top:var(--jkl-unit-30)}.jkl-file-input--has-files .jkl-file-input__dropzone-hint{display:none}.jkl-file-input__max-size-text{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-text-small);margin-top:var(--jkl-unit-30)}.jkl-file-input__files{display:flex;flex-direction:column;gap:var(--jkl-file-list-gap);list-style:none;margin:0;padding:0}.jkl-file-input--small .jkl-file-input__dropzone-hint{display:block;margin:0}.jkl-file-input--small .jkl-file-input__dropzone{flex-direction:row;gap:var(--jkl-unit-20);justify-content:flex-start;margin-bottom:var(--jkl-unit-20);max-width:-webkit-fit-content;max-width:fit-content;padding:var(--jkl-unit-20)}.jkl-file-input--small .jkl-file-input__call-to-action{flex-direction:row;font:var(--jkl-text-style-text-small);gap:var(--jkl-unit-15);justify-content:flex-start}.jkl-file-input--small .jkl-file-input__max-size-text{margin-bottom:var(--jkl-unit-20);margin-top:calc(var(--jkl-unit-15)*-1)}}
@@ -10,7 +10,7 @@
10
10
  --jkl-file-list-gap: var(--jkl-unit-10);
11
11
 
12
12
  &__dropzone {
13
- --border-color: var(--jkl-color-border-input);
13
+ --border-color: var(--jkl-color-border-default);
14
14
  --background-color: transparent;
15
15
 
16
16
  border: var(--border-color) 1px dashed;
@@ -28,8 +28,8 @@
28
28
  background-color: var(--background-color);
29
29
 
30
30
  &--enter {
31
- --border-color: var(--jkl-color-border-input-focus);
32
- --background-color: var(--jkl-color-background-container-high);
31
+ --border-color: var(--jkl-color-border-strong);
32
+ --background-color: var(--jkl-color-background-container);
33
33
  border-style: solid;
34
34
  }
35
35
 
@@ -28,8 +28,8 @@
28
28
  padding: var(--jkl-unit-30);
29
29
  margin: var(--jkl-unit-05);
30
30
  position-anchor: --trigger;
31
- background-color: var(--jkl-color-background-container-inverted);
32
- color: var(--jkl-color-text-inverted);
31
+ background-color: var(--jkl-color-background-contrast);
32
+ color: var(--jkl-color-text-on-contrast);
33
33
  anchor-name: --help-box;
34
34
  }
35
35
  .jkl-help-popover[data-position=top] {
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-help{anchor-scope:all;display:inline}.jkl-help-trigger{anchor-name:--trigger;height:-webkit-fit-content;height:fit-content;overflow:visible!important;padding:0!important;vertical-align:middle;width:-webkit-fit-content;width:fit-content}.jkl-help-trigger:after{content:"";display:block;inset-block:-20%;inset-inline:-50%;position:absolute;z-index:0}.jkl-help-popover{anchor-name:--help-box;background-color:var(--jkl-color-background-container-inverted);color:var(--jkl-color-text-inverted);margin:var(--jkl-unit-05);max-width:min(40ch,80vw);padding:var(--jkl-unit-30);position-anchor:--trigger;width:-webkit-max-content;width:max-content}.jkl-help-popover[data-position=top]{position-area:top center;position-try:top,bottom,right,left}.jkl-help-popover[data-position=bottom]{position-area:bottom center;position-try:bottom,top,right,left}.jkl-help-popover[data-position=left]{position-area:left center;position-try:left,right,top,bottom}.jkl-help-popover[data-position=right]{position-area:right center;position-try:right,left,top,bottom}}
1
+ @layer jokul.components{.jkl-help{anchor-scope:all;display:inline}.jkl-help-trigger{anchor-name:--trigger;height:-webkit-fit-content;height:fit-content;overflow:visible!important;padding:0!important;vertical-align:middle;width:-webkit-fit-content;width:fit-content}.jkl-help-trigger:after{content:"";display:block;inset-block:-20%;inset-inline:-50%;position:absolute;z-index:0}.jkl-help-popover{anchor-name:--help-box;background-color:var(--jkl-color-background-contrast);color:var(--jkl-color-text-on-contrast);margin:var(--jkl-unit-05);max-width:min(40ch,80vw);padding:var(--jkl-unit-30);position-anchor:--trigger;width:-webkit-max-content;width:max-content}.jkl-help-popover[data-position=top]{position-area:top center;position-try:top,bottom,right,left}.jkl-help-popover[data-position=bottom]{position-area:bottom center;position-try:bottom,top,right,left}.jkl-help-popover[data-position=left]{position-area:left center;position-try:left,right,top,bottom}.jkl-help-popover[data-position=right]{position-area:right center;position-try:right,left,top,bottom}}
@@ -10,8 +10,8 @@
10
10
  vertical-align: middle;
11
11
  width: fit-content;
12
12
  height: fit-content;
13
- padding: 0!important;
14
- overflow: visible!important;
13
+ padding: 0 !important;
14
+ overflow: visible !important;
15
15
  anchor-name: --trigger;
16
16
 
17
17
  &::after {
@@ -30,8 +30,8 @@
30
30
  padding: var(--jkl-unit-30);
31
31
  margin: var(--jkl-unit-05);
32
32
  position-anchor: --trigger;
33
- background-color: var(--jkl-color-background-container-inverted);
34
- color: var(--jkl-color-text-inverted);
33
+ background-color: var(--jkl-color-background-contrast);
34
+ color: var(--jkl-color-text-on-contrast);
35
35
  anchor-name: --help-box;
36
36
 
37
37
  &[data-position="top"] {
@@ -5,19 +5,17 @@
5
5
  /// av ikoner også der man ikke kan bruke jkl-icon-klassen.
6
6
  /// @output Basestiler for Jøkul-ikoner
7
7
  @mixin base-styles {
8
- font-family:
9
- "Fremtind Material Symbols", "Fremtind Material Symbols Fallback",
10
- sans-serif;
11
- font-variation-settings:
12
- "FILL" var(--jkl-icon-fill, 0);
13
- font-feature-settings: "liga";
14
- -webkit-font-feature-settings: "liga";
15
- font-size: 1.3em;
16
- font-weight: 400;
17
- line-height: 1;
18
- display: inline-block;
19
- -webkit-font-smoothing: antialiased;
8
+ font-family:
9
+ "Jokul Icons", "Jokul Icons Fallback", sans-serif;
10
+ font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
11
+ font-feature-settings: "liga";
12
+ -webkit-font-feature-settings: "liga";
13
+ font-size: 1.3em;
14
+ font-weight: 400;
15
+ line-height: 1;
16
+ display: inline-block;
17
+ -webkit-font-smoothing: antialiased;
20
18
 
21
- @include jkl.motion("standard", "energetic");
22
- transition-property: font-variation-settings, transform;
19
+ @include jkl.motion("standard", "energetic");
20
+ transition-property: font-variation-settings, transform;
23
21
  }