@fremtind/jokul 4.3.0 → 5.0.0-next.1

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 (609) hide show
  1. package/README.md +1 -1
  2. package/build/build-stats.html +1 -1
  3. package/build/cjs/components/beta/description-list/DescriptionList.cjs +2 -0
  4. package/build/cjs/components/beta/description-list/DescriptionList.cjs.map +1 -0
  5. package/build/cjs/components/beta/description-list/DescriptionListItem.cjs +2 -0
  6. package/build/cjs/components/beta/description-list/DescriptionListItem.cjs.map +1 -0
  7. package/build/cjs/{components-beta → components/beta}/description-list/index.d.cts +2 -2
  8. package/build/cjs/components/beta/nav-link/NavLink.cjs +2 -0
  9. package/build/cjs/components/beta/nav-link/NavLink.cjs.map +1 -0
  10. package/build/cjs/components/beta/nav-link/index.d.cts +1 -0
  11. package/build/cjs/{components-beta → components/beta}/nav-link/types.d.cts +1 -1
  12. package/build/cjs/components/beta/select/Select.cjs +2 -0
  13. package/build/cjs/components/beta/select/Select.cjs.map +1 -0
  14. package/build/cjs/components/beta/select/index.d.cts +2 -0
  15. package/build/cjs/{components-beta → components/beta}/select/types.d.cts +1 -1
  16. package/build/cjs/components/breadcrumb/types.d.cts +1 -1
  17. package/build/cjs/components/checkbox/types.d.cts +1 -1
  18. package/build/cjs/components/cookie-consent/types.d.cts +1 -1
  19. package/build/cjs/components/datepicker/types.d.cts +1 -1
  20. package/build/cjs/components/description-list/index.cjs +1 -1
  21. package/build/cjs/components/description-list/index.d.cts +3 -3
  22. package/build/cjs/components/description-list/types.d.cts +1 -1
  23. package/build/cjs/components/feedback/feedbackContext.cjs.map +1 -1
  24. package/build/cjs/components/feedback/feedbackContext.d.cts +1 -1
  25. package/build/cjs/components/feedback/followup/followupContext.cjs.map +1 -1
  26. package/build/cjs/components/feedback/followup/followupContext.d.cts +1 -1
  27. package/build/cjs/components/feedback/main-question/mainQuestionContext.cjs.map +1 -1
  28. package/build/cjs/components/feedback/main-question/mainQuestionContext.d.cts +1 -1
  29. package/build/cjs/components/feedback/questions/smileyUtils.cjs.map +1 -1
  30. package/build/cjs/components/file-input/internal/Dropzone.cjs.map +1 -1
  31. package/build/cjs/components/file-input/internal/Dropzone.d.cts +1 -1
  32. package/build/cjs/components/file-input/internal/fileInputContext.cjs.map +1 -1
  33. package/build/cjs/components/file-input/internal/fileInputContext.d.cts +1 -1
  34. package/build/cjs/components/icon/development/internal/IconsExampleGrid.d.cts +1 -1
  35. package/build/cjs/components/input-group/InputGroup.d.cts +2 -2
  36. package/build/cjs/components/input-group/types.d.cts +1 -1
  37. package/build/cjs/components/link/Link.cjs +1 -1
  38. package/build/cjs/components/link/Link.cjs.map +1 -1
  39. package/build/cjs/components/link/Link.d.cts +2 -2
  40. package/build/cjs/components/link/types.d.cts +4 -1
  41. package/build/cjs/components/link-list/LinkList.d.cts +1 -1
  42. package/build/cjs/components/list/ListItem.cjs.map +1 -1
  43. package/build/cjs/components/list/ListItem.d.cts +1 -1
  44. package/build/cjs/components/logo/types.d.cts +1 -1
  45. package/build/cjs/components/menu/types.d.cts +1 -1
  46. package/build/cjs/components/modal/Modal.cjs +1 -1
  47. package/build/cjs/components/modal/Modal.cjs.map +1 -1
  48. package/build/cjs/components/modal/Modal.d.cts +9 -2
  49. package/build/cjs/components/modal/index.d.cts +1 -1
  50. package/build/cjs/components/modal/types.d.cts +1 -19
  51. package/build/cjs/components/nav-link/index.cjs +1 -1
  52. package/build/cjs/components/nav-link/index.d.cts +2 -2
  53. package/build/cjs/components/radio-button/radioGroupContext.cjs.map +1 -1
  54. package/build/cjs/components/radio-button/radioGroupContext.d.cts +1 -1
  55. package/build/cjs/components/screen-reader-only/types.d.cts +1 -1
  56. package/build/cjs/components/select/index.cjs +1 -1
  57. package/build/cjs/components/select/index.d.cts +2 -2
  58. package/build/cjs/components/select/types.d.cts +1 -1
  59. package/build/cjs/components/system-message/types.d.cts +1 -1
  60. package/build/cjs/components/table/types.d.cts +1 -1
  61. package/build/cjs/components/table-of-contents/TableOfContents.d.cts +1 -1
  62. package/build/cjs/components/tabs/types.d.cts +1 -1
  63. package/build/cjs/components/toast/types.d.cts +1 -1
  64. package/build/cjs/components/toggle-switch/types.d.cts +1 -1
  65. package/build/cjs/components/tooltip/Tooltip.cjs.map +1 -1
  66. package/build/cjs/components/tooltip/Tooltip.d.cts +1 -1
  67. package/build/cjs/hooks/useAnimatedHeight/types.d.cts +1 -1
  68. package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeight.cjs +1 -1
  69. package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeight.cjs.map +1 -1
  70. package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeightBetween.cjs +1 -1
  71. package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeightBetween.cjs.map +1 -1
  72. package/build/cjs/hooks/useAnimatedHeight/useAutoAnimateHeight.cjs +1 -1
  73. package/build/cjs/hooks/useAnimatedHeight/useAutoAnimateHeight.cjs.map +1 -1
  74. package/build/cjs/hooks/useAnimatedHeight/useAutoAnimateHeight.d.cts +1 -1
  75. package/build/cjs/hooks/useAriaLiveRegion/useAriaLiveRegion.d.cts +1 -1
  76. package/build/cjs/hooks/useBrowserPreferences/useBrowserPreferences.cjs.map +1 -1
  77. package/build/cjs/hooks/useBrowserPreferences/useBrowserPreferences.d.cts +1 -1
  78. package/build/cjs/hooks/useScreen/useScreen.cjs +1 -1
  79. package/build/cjs/hooks/useScreen/useScreen.cjs.map +1 -1
  80. package/build/cjs/tailwind/plugins/jokulTypographyPlugin.cjs +1 -1
  81. package/build/cjs/tailwind/plugins/jokulTypographyPlugin.cjs.map +1 -1
  82. package/build/cjs/tailwind/tailwindPreset.cjs +1 -1
  83. package/build/cjs/tailwind/tailwindPreset.cjs.map +1 -1
  84. package/build/cjs/tokens.cjs +2 -0
  85. package/build/cjs/tokens.cjs.map +1 -0
  86. package/build/cjs/tokens.d.cts +176 -0
  87. package/build/cjs/utilities/getThemeAndSize.cjs +1 -1
  88. package/build/cjs/utilities/getThemeAndSize.cjs.map +1 -1
  89. package/build/cjs/utilities/getThemeAndSize.d.cts +1 -1
  90. package/build/cjs/utilities/index.d.cts +1 -0
  91. package/build/cjs/{core → utilities}/types.d.cts +1 -1
  92. package/build/es/components/beta/description-list/DescriptionList.js +2 -0
  93. package/build/es/components/beta/description-list/DescriptionList.js.map +1 -0
  94. package/build/es/components/beta/description-list/DescriptionListItem.js +2 -0
  95. package/build/es/components/beta/description-list/DescriptionListItem.js.map +1 -0
  96. package/build/es/{components-beta → components/beta}/description-list/index.d.ts +2 -2
  97. package/build/es/components/beta/nav-link/NavLink.js +2 -0
  98. package/build/es/components/beta/nav-link/NavLink.js.map +1 -0
  99. package/build/es/components/beta/nav-link/index.d.ts +1 -0
  100. package/build/es/{components-beta → components/beta}/nav-link/types.d.ts +1 -1
  101. package/build/es/components/beta/select/Select.js +2 -0
  102. package/build/es/components/beta/select/Select.js.map +1 -0
  103. package/build/es/components/beta/select/index.d.ts +2 -0
  104. package/build/es/{components-beta → components/beta}/select/types.d.ts +1 -1
  105. package/build/es/components/breadcrumb/types.d.ts +1 -1
  106. package/build/es/components/checkbox/types.d.ts +1 -1
  107. package/build/es/components/cookie-consent/types.d.ts +1 -1
  108. package/build/es/components/datepicker/types.d.ts +1 -1
  109. package/build/es/components/description-list/index.d.ts +3 -3
  110. package/build/es/components/description-list/index.js +1 -1
  111. package/build/es/components/description-list/types.d.ts +1 -1
  112. package/build/es/components/feedback/feedbackContext.d.ts +1 -1
  113. package/build/es/components/feedback/feedbackContext.js.map +1 -1
  114. package/build/es/components/feedback/followup/followupContext.d.ts +1 -1
  115. package/build/es/components/feedback/followup/followupContext.js.map +1 -1
  116. package/build/es/components/feedback/main-question/mainQuestionContext.d.ts +1 -1
  117. package/build/es/components/feedback/main-question/mainQuestionContext.js.map +1 -1
  118. package/build/es/components/feedback/questions/smileyUtils.js.map +1 -1
  119. package/build/es/components/file-input/internal/Dropzone.d.ts +1 -1
  120. package/build/es/components/file-input/internal/Dropzone.js.map +1 -1
  121. package/build/es/components/file-input/internal/fileInputContext.d.ts +1 -1
  122. package/build/es/components/file-input/internal/fileInputContext.js.map +1 -1
  123. package/build/es/components/icon/development/internal/IconsExampleGrid.d.ts +1 -1
  124. package/build/es/components/input-group/InputGroup.d.ts +2 -2
  125. package/build/es/components/input-group/types.d.ts +1 -1
  126. package/build/es/components/link/Link.d.ts +2 -2
  127. package/build/es/components/link/Link.js +1 -1
  128. package/build/es/components/link/Link.js.map +1 -1
  129. package/build/es/components/link/types.d.ts +4 -1
  130. package/build/es/components/link-list/LinkList.d.ts +1 -1
  131. package/build/es/components/list/ListItem.d.ts +1 -1
  132. package/build/es/components/list/ListItem.js.map +1 -1
  133. package/build/es/components/logo/types.d.ts +1 -1
  134. package/build/es/components/menu/types.d.ts +1 -1
  135. package/build/es/components/modal/Modal.d.ts +9 -2
  136. package/build/es/components/modal/Modal.js +1 -1
  137. package/build/es/components/modal/Modal.js.map +1 -1
  138. package/build/es/components/modal/index.d.ts +1 -1
  139. package/build/es/components/modal/types.d.ts +1 -19
  140. package/build/es/components/nav-link/index.d.ts +2 -2
  141. package/build/es/components/nav-link/index.js +1 -1
  142. package/build/es/components/radio-button/radioGroupContext.d.ts +1 -1
  143. package/build/es/components/radio-button/radioGroupContext.js.map +1 -1
  144. package/build/es/components/screen-reader-only/types.d.ts +1 -1
  145. package/build/es/components/select/index.d.ts +2 -2
  146. package/build/es/components/select/index.js +1 -1
  147. package/build/es/components/select/types.d.ts +1 -1
  148. package/build/es/components/system-message/types.d.ts +1 -1
  149. package/build/es/components/table/types.d.ts +1 -1
  150. package/build/es/components/table-of-contents/TableOfContents.d.ts +1 -1
  151. package/build/es/components/tabs/types.d.ts +1 -1
  152. package/build/es/components/toast/types.d.ts +1 -1
  153. package/build/es/components/toggle-switch/types.d.ts +1 -1
  154. package/build/es/components/tooltip/Tooltip.d.ts +1 -1
  155. package/build/es/components/tooltip/Tooltip.js.map +1 -1
  156. package/build/es/hooks/useAnimatedHeight/types.d.ts +1 -1
  157. package/build/es/hooks/useAnimatedHeight/useAnimatedHeight.js +1 -1
  158. package/build/es/hooks/useAnimatedHeight/useAnimatedHeight.js.map +1 -1
  159. package/build/es/hooks/useAnimatedHeight/useAnimatedHeightBetween.js +1 -1
  160. package/build/es/hooks/useAnimatedHeight/useAnimatedHeightBetween.js.map +1 -1
  161. package/build/es/hooks/useAnimatedHeight/useAutoAnimateHeight.d.ts +1 -1
  162. package/build/es/hooks/useAnimatedHeight/useAutoAnimateHeight.js +1 -1
  163. package/build/es/hooks/useAnimatedHeight/useAutoAnimateHeight.js.map +1 -1
  164. package/build/es/hooks/useAriaLiveRegion/useAriaLiveRegion.d.ts +1 -1
  165. package/build/es/hooks/useBrowserPreferences/useBrowserPreferences.d.ts +1 -1
  166. package/build/es/hooks/useBrowserPreferences/useBrowserPreferences.js.map +1 -1
  167. package/build/es/hooks/useScreen/useScreen.js +1 -1
  168. package/build/es/hooks/useScreen/useScreen.js.map +1 -1
  169. package/build/es/tailwind/plugins/jokulTypographyPlugin.js +1 -1
  170. package/build/es/tailwind/plugins/jokulTypographyPlugin.js.map +1 -1
  171. package/build/es/tailwind/tailwindPreset.js +1 -1
  172. package/build/es/tailwind/tailwindPreset.js.map +1 -1
  173. package/build/es/tokens.d.ts +176 -0
  174. package/build/es/tokens.js +2 -0
  175. package/build/es/tokens.js.map +1 -0
  176. package/build/es/utilities/getThemeAndSize.d.ts +1 -1
  177. package/build/es/utilities/getThemeAndSize.js +1 -1
  178. package/build/es/utilities/getThemeAndSize.js.map +1 -1
  179. package/build/es/utilities/index.d.ts +1 -0
  180. package/build/es/{core → utilities}/types.d.ts +1 -1
  181. package/package.json +7 -585
  182. package/styles/base.css +1405 -0
  183. package/styles/base.min.css +2 -0
  184. package/styles/components/autosuggest/autosuggest.css +4 -10
  185. package/styles/components/autosuggest/autosuggest.min.css +1 -1
  186. package/styles/components/autosuggest/autosuggest.scss +1 -1
  187. package/styles/{components-beta → components/beta}/description-list/description-list.scss +1 -1
  188. package/styles/{components-beta → components/beta}/nav-link/navlink.css +9 -12
  189. package/styles/components/beta/nav-link/navlink.min.css +1 -0
  190. package/styles/{components-beta → components/beta}/nav-link/navlink.scss +2 -2
  191. package/styles/components/beta/select/_index.scss +3 -0
  192. package/styles/{components-beta → components/beta}/select/select.css +5 -8
  193. package/styles/components/beta/select/select.min.css +1 -0
  194. package/styles/{components-beta → components/beta}/select/select.scss +2 -3
  195. package/styles/components/breadcrumb/breadcrumb.scss +1 -1
  196. package/styles/components/button/button.css +9 -12
  197. package/styles/components/button/button.min.css +1 -1
  198. package/styles/components/button/button.scss +2 -2
  199. package/styles/components/card/card.css +2 -2
  200. package/styles/components/card/card.min.css +1 -1
  201. package/styles/components/card/card.scss +1 -1
  202. package/styles/components/checkbox/checkbox.css +12 -33
  203. package/styles/components/checkbox/checkbox.min.css +1 -1
  204. package/styles/components/checkbox/checkbox.scss +5 -15
  205. package/styles/components/checkbox-panel/checkbox-panel.css +19 -46
  206. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  207. package/styles/components/checkbox-panel/checkbox-panel.scss +1 -1
  208. package/styles/components/checkbox-panel/development/styles.scss +1 -1
  209. package/styles/components/chip/chip.css +4 -7
  210. package/styles/components/chip/chip.min.css +1 -1
  211. package/styles/components/chip/chip.scss +2 -2
  212. package/styles/components/combobox/combobox.css +12 -24
  213. package/styles/components/combobox/combobox.min.css +1 -1
  214. package/styles/components/combobox/combobox.scss +1 -2
  215. package/styles/components/cookie-consent/cookie-consent.css +1 -5
  216. package/styles/components/cookie-consent/cookie-consent.min.css +1 -1
  217. package/styles/components/cookie-consent/cookie-consent.scss +1 -1
  218. package/styles/components/countdown/countdown.css +2 -2
  219. package/styles/components/countdown/countdown.min.css +1 -1
  220. package/styles/components/datepicker/_calendar-date-button.scss +7 -7
  221. package/styles/components/datepicker/_calendar-navigation-dropdown.scss +2 -2
  222. package/styles/components/datepicker/_calendar-navigation.scss +1 -1
  223. package/styles/components/datepicker/_calendar-table.scss +1 -1
  224. package/styles/components/datepicker/_calendar.scss +7 -6
  225. package/styles/components/datepicker/datepicker.css +13 -33
  226. package/styles/components/datepicker/datepicker.min.css +1 -1
  227. package/styles/components/datepicker/datepicker.scss +1 -1
  228. package/styles/components/description-list/description-list.css +1 -1
  229. package/styles/components/description-list/description-list.min.css +1 -1
  230. package/styles/components/description-list/description-list.scss +2 -2
  231. package/styles/components/expander/expandable.css +3 -3
  232. package/styles/components/expander/expandable.min.css +1 -1
  233. package/styles/components/expander/expandable.scss +1 -1
  234. package/styles/components/feedback/feedback.css +10 -14
  235. package/styles/components/feedback/feedback.min.css +1 -1
  236. package/styles/components/feedback/feedback.scss +1 -1
  237. package/styles/components/file/file.css +5 -13
  238. package/styles/components/file/file.min.css +1 -1
  239. package/styles/components/file/file.scss +2 -2
  240. package/styles/components/file-input/file-input.css +35 -57
  241. package/styles/components/file-input/file-input.min.css +1 -1
  242. package/styles/components/file-input/file-input.scss +1 -1
  243. package/styles/components/help/help.scss +1 -1
  244. package/styles/components/icon/_base-styles.scss +3 -5
  245. package/styles/components/icon/icon.css +9 -30
  246. package/styles/components/icon/icon.min.css +1 -1
  247. package/styles/components/icon/icon.scss +1 -15
  248. package/styles/components/icon-button/icon-button.css +2 -2
  249. package/styles/components/icon-button/icon-button.min.css +1 -1
  250. package/styles/components/icon-button/icon-button.scss +1 -1
  251. package/styles/components/image/image.css +2 -2
  252. package/styles/components/image/image.min.css +1 -1
  253. package/styles/components/image/image.scss +1 -1
  254. package/styles/components/input-group/_field-group.scss +1 -1
  255. package/styles/components/input-group/_labels.scss +1 -1
  256. package/styles/components/input-group/input-group.css +12 -27
  257. package/styles/components/input-group/input-group.min.css +1 -1
  258. package/styles/components/input-group/input-group.scss +1 -1
  259. package/styles/components/input-panel/input-panel.css +7 -13
  260. package/styles/components/input-panel/input-panel.min.css +1 -1
  261. package/styles/components/input-panel/input-panel.scss +2 -2
  262. package/styles/components/link/link.css +6 -7
  263. package/styles/components/link/link.min.css +1 -1
  264. package/styles/components/link/link.scss +1 -2
  265. package/styles/components/link-list/link-list.css +11 -21
  266. package/styles/components/link-list/link-list.min.css +1 -1
  267. package/styles/components/link-list/link-list.scss +1 -1
  268. package/styles/components/list/list.css +6 -27
  269. package/styles/components/list/list.min.css +1 -1
  270. package/styles/components/list/list.scss +11 -15
  271. package/styles/components/loader/loader.css +6 -6
  272. package/styles/components/loader/loader.min.css +1 -1
  273. package/styles/components/loader/loader.scss +1 -1
  274. package/styles/components/loader/skeleton-loader.css +3 -3
  275. package/styles/components/loader/skeleton-loader.min.css +1 -1
  276. package/styles/components/loader/skeleton-loader.scss +1 -1
  277. package/styles/components/logo/logo.css +4 -4
  278. package/styles/components/logo/logo.min.css +1 -1
  279. package/styles/components/logo/logo.scss +1 -1
  280. package/styles/components/menu/_menu-divider.scss +1 -1
  281. package/styles/components/menu/_menu-item.scss +1 -1
  282. package/styles/components/menu/menu.css +6 -21
  283. package/styles/components/menu/menu.min.css +1 -1
  284. package/styles/components/menu/menu.scss +7 -11
  285. package/styles/components/message/message.css +8 -20
  286. package/styles/components/message/message.min.css +1 -1
  287. package/styles/components/message/message.scss +1 -1
  288. package/styles/components/modal/modal.css +35 -125
  289. package/styles/components/modal/modal.min.css +1 -1
  290. package/styles/components/modal/modal.scss +95 -6
  291. package/styles/components/nav-link/nav-link.css +4 -4
  292. package/styles/components/nav-link/nav-link.min.css +1 -1
  293. package/styles/components/nav-link/nav-link.scss +2 -2
  294. package/styles/components/pagination/development/styles.scss +1 -1
  295. package/styles/components/pagination/pagination.css +1 -1
  296. package/styles/components/pagination/pagination.min.css +1 -1
  297. package/styles/components/pagination/pagination.scss +1 -1
  298. package/styles/components/popover/popover.css +5 -17
  299. package/styles/components/popover/popover.min.css +1 -1
  300. package/styles/components/popover/popover.scss +6 -10
  301. package/styles/components/progress-bar/progress-bar.css +3 -3
  302. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  303. package/styles/components/progress-bar/progress-bar.scss +1 -1
  304. package/styles/components/radio-button/radio-button.css +12 -30
  305. package/styles/components/radio-button/radio-button.min.css +1 -1
  306. package/styles/components/radio-button/radio-button.scss +5 -15
  307. package/styles/components/radio-panel/development/styles.scss +1 -1
  308. package/styles/components/radio-panel/radio-panel.css +7 -13
  309. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  310. package/styles/components/radio-panel/radio-panel.scss +1 -1
  311. package/styles/components/search/search-with-submit-button.css +2 -2
  312. package/styles/components/search/search-with-submit-button.min.css +1 -1
  313. package/styles/components/search/search-with-submit-button.scss +1 -1
  314. package/styles/components/search/search.css +8 -14
  315. package/styles/components/search/search.min.css +1 -1
  316. package/styles/components/search/search.scss +1 -1
  317. package/styles/components/segmented-control/segmented-control.css +39 -97
  318. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  319. package/styles/components/segmented-control/segmented-control.scss +1 -1
  320. package/styles/components/select/select.css +12 -21
  321. package/styles/components/select/select.min.css +1 -1
  322. package/styles/components/select/select.scss +1 -2
  323. package/styles/components/summary-table/development/summary-table-example.scss +1 -1
  324. package/styles/components/summary-table/summary-table.css +3 -6
  325. package/styles/components/summary-table/summary-table.min.css +1 -1
  326. package/styles/components/summary-table/summary-table.scss +3 -3
  327. package/styles/components/system-message/system-message.css +4 -7
  328. package/styles/components/system-message/system-message.min.css +1 -1
  329. package/styles/components/system-message/system-message.scss +1 -2
  330. package/styles/components/table/_table-caption.scss +1 -1
  331. package/styles/components/table/_table-cell.scss +1 -1
  332. package/styles/components/table/_table-head.scss +3 -13
  333. package/styles/components/table/_table-header.scss +4 -4
  334. package/styles/components/table/_table-pagination.scss +1 -1
  335. package/styles/components/table/_table-row.scss +1 -1
  336. package/styles/components/table/table.css +18 -46
  337. package/styles/components/table/table.min.css +1 -1
  338. package/styles/components/table/table.scss +1 -1
  339. package/styles/components/table-of-contents/table-of-contents.css +3 -7
  340. package/styles/components/table-of-contents/table-of-contents.min.css +1 -1
  341. package/styles/components/table-of-contents/table-of-contents.scss +1 -1
  342. package/styles/components/tabs/tabs.css +6 -9
  343. package/styles/components/tabs/tabs.min.css +1 -1
  344. package/styles/components/tabs/tabs.scss +1 -1
  345. package/styles/components/tag/tag.css +2 -5
  346. package/styles/components/tag/tag.min.css +1 -1
  347. package/styles/components/tag/tag.scss +2 -2
  348. package/styles/components/text-area/text-area.css +9 -18
  349. package/styles/components/text-area/text-area.min.css +1 -1
  350. package/styles/components/text-area/text-area.scss +1 -1
  351. package/styles/components/text-input/text-input.css +4 -10
  352. package/styles/components/text-input/text-input.min.css +1 -1
  353. package/styles/components/text-input/text-input.scss +2 -3
  354. package/styles/components/toast/toast.css +6 -12
  355. package/styles/components/toast/toast.min.css +1 -1
  356. package/styles/components/toast/toast.scss +1 -2
  357. package/styles/components/toggle-switch/_toggle-slider.scss +1 -1
  358. package/styles/components/toggle-switch/toggle-switch.css +7 -10
  359. package/styles/components/toggle-switch/toggle-switch.min.css +2 -2
  360. package/styles/components/toggle-switch/toggle-switch.scss +1 -1
  361. package/styles/components/tooltip/tooltip.css +4 -8
  362. package/styles/components/tooltip/tooltip.min.css +1 -1
  363. package/styles/components/tooltip/tooltip.scss +1 -1
  364. package/styles/{styles.css → components.css} +329 -734
  365. package/styles/components.min.css +3 -0
  366. package/styles/{styles.scss → components.scss} +2 -2
  367. package/styles/{core/global → global}/_base-class.scss +6 -4
  368. package/styles/{core/global → global}/_top-layer.scss +1 -1
  369. package/styles/hooks/stories/styles.scss +5 -7
  370. package/styles/{core/jkl/_theme.scss → jkl/_forced-colors.scss} +0 -49
  371. package/styles/{core/jkl → jkl}/_index.scss +3 -6
  372. package/styles/{core/jkl → jkl}/_motion.scss +8 -26
  373. package/styles/{core/jkl → jkl}/_reset.scss +2 -2
  374. package/styles/{core/jkl → jkl}/_spacing.scss +1 -6
  375. package/styles/jkl/_tokens.scss +306 -0
  376. package/styles/{core/jkl → jkl}/_typography.scss +5 -98
  377. package/styles/shared/input/shared-input-styles.scss +1 -1
  378. package/styles/shared/track/track.scss +1 -1
  379. package/styles/tailwind.css +171 -0
  380. package/styles/theme/_color-scheme.scss +84 -0
  381. package/styles/{core/theme → theme}/_dynamic-spacing.scss +9 -5
  382. package/styles/theme/_fonts.scss +147 -0
  383. package/styles/theme/_index.scss +5 -0
  384. package/styles/theme/_size.scss +53 -0
  385. package/styles/theme/_tokens.scss +94 -0
  386. package/styles/{core/utility → utility}/_headings.scss +1 -1
  387. package/styles/utility/_paragraphs.scss +24 -0
  388. package/styles/{core/utility → utility}/_screen-reader.scss +1 -1
  389. package/styles/{core/utility → utility}/_spacing.scss +4 -3
  390. package/build/cjs/components-beta/description-list/DescriptionList.cjs +0 -2
  391. package/build/cjs/components-beta/description-list/DescriptionList.cjs.map +0 -1
  392. package/build/cjs/components-beta/description-list/DescriptionListItem.cjs +0 -2
  393. package/build/cjs/components-beta/description-list/DescriptionListItem.cjs.map +0 -1
  394. package/build/cjs/components-beta/nav-link/NavLink.cjs +0 -2
  395. package/build/cjs/components-beta/nav-link/NavLink.cjs.map +0 -1
  396. package/build/cjs/components-beta/nav-link/index.d.cts +0 -1
  397. package/build/cjs/components-beta/select/Select.cjs +0 -2
  398. package/build/cjs/components-beta/select/Select.cjs.map +0 -1
  399. package/build/cjs/components-beta/select/index.d.cts +0 -2
  400. package/build/cjs/core/index.cjs +0 -2
  401. package/build/cjs/core/index.cjs.map +0 -1
  402. package/build/cjs/core/index.d.cts +0 -2
  403. package/build/cjs/core/tokens/build-tailwind-4.cjs +0 -2
  404. package/build/cjs/core/tokens/build-tailwind-4.cjs.map +0 -1
  405. package/build/cjs/core/tokens/build-tailwind-4.d.cts +0 -1
  406. package/build/cjs/core/tokens/style-dictionary/build.cjs +0 -2
  407. package/build/cjs/core/tokens/style-dictionary/build.cjs.map +0 -1
  408. package/build/cjs/core/tokens/style-dictionary/build.d.cts +0 -0
  409. package/build/cjs/core/tokens/style-dictionary/config.cjs +0 -2
  410. package/build/cjs/core/tokens/style-dictionary/config.cjs.map +0 -1
  411. package/build/cjs/core/tokens/style-dictionary/config.d.cts +0 -4
  412. package/build/cjs/core/tokens/style-dictionary/filters/index.cjs +0 -2
  413. package/build/cjs/core/tokens/style-dictionary/filters/index.cjs.map +0 -1
  414. package/build/cjs/core/tokens/style-dictionary/filters/index.d.cts +0 -3
  415. package/build/cjs/core/tokens/style-dictionary/formats/css-dynamic-color-variables.cjs +0 -2
  416. package/build/cjs/core/tokens/style-dictionary/formats/css-dynamic-color-variables.cjs.map +0 -1
  417. package/build/cjs/core/tokens/style-dictionary/formats/css-dynamic-color-variables.d.cts +0 -3
  418. package/build/cjs/core/tokens/style-dictionary/formats/css-theme-variables.cjs +0 -2
  419. package/build/cjs/core/tokens/style-dictionary/formats/css-theme-variables.cjs.map +0 -1
  420. package/build/cjs/core/tokens/style-dictionary/formats/css-theme-variables.d.cts +0 -3
  421. package/build/cjs/core/tokens/style-dictionary/formats/index.cjs +0 -2
  422. package/build/cjs/core/tokens/style-dictionary/formats/index.cjs.map +0 -1
  423. package/build/cjs/core/tokens/style-dictionary/formats/index.d.cts +0 -6
  424. package/build/cjs/core/tokens/style-dictionary/formats/javascript-esm.cjs +0 -2
  425. package/build/cjs/core/tokens/style-dictionary/formats/javascript-esm.cjs.map +0 -1
  426. package/build/cjs/core/tokens/style-dictionary/formats/javascript-esm.d.cts +0 -3
  427. package/build/cjs/core/tokens/style-dictionary/formats/scss-theme-variables.cjs +0 -2
  428. package/build/cjs/core/tokens/style-dictionary/formats/scss-theme-variables.cjs.map +0 -1
  429. package/build/cjs/core/tokens/style-dictionary/formats/scss-theme-variables.d.cts +0 -3
  430. package/build/cjs/core/tokens/style-dictionary/formats/tailwindcss-colors.cjs +0 -2
  431. package/build/cjs/core/tokens/style-dictionary/formats/tailwindcss-colors.cjs.map +0 -1
  432. package/build/cjs/core/tokens/style-dictionary/formats/tailwindcss-colors.d.cts +0 -3
  433. package/build/cjs/core/tokens/style-dictionary/register.cjs +0 -2
  434. package/build/cjs/core/tokens/style-dictionary/register.cjs.map +0 -1
  435. package/build/cjs/core/tokens/style-dictionary/register.d.cts +0 -1
  436. package/build/cjs/core/tokens/style-dictionary/transforms/index.cjs +0 -2
  437. package/build/cjs/core/tokens/style-dictionary/transforms/index.cjs.map +0 -1
  438. package/build/cjs/core/tokens/style-dictionary/transforms/index.d.cts +0 -2
  439. package/build/cjs/core/tokens/style-dictionary/transforms/strip-light-dark.cjs +0 -2
  440. package/build/cjs/core/tokens/style-dictionary/transforms/strip-light-dark.cjs.map +0 -1
  441. package/build/cjs/core/tokens/style-dictionary/transforms/strip-light-dark.d.cts +0 -3
  442. package/build/cjs/core/tokens.cjs +0 -2
  443. package/build/cjs/core/tokens.cjs.map +0 -1
  444. package/build/cjs/core/tokens.d.cts +0 -593
  445. package/build/cjs/index.cjs +0 -2
  446. package/build/cjs/index.cjs.map +0 -1
  447. package/build/cjs/index.d.cts +0 -3
  448. package/build/cjs/tailwind/colors.cjs +0 -2
  449. package/build/cjs/tailwind/colors.cjs.map +0 -1
  450. package/build/cjs/tailwind/colors.d.cts +0 -39
  451. package/build/es/components-beta/description-list/DescriptionList.js +0 -2
  452. package/build/es/components-beta/description-list/DescriptionList.js.map +0 -1
  453. package/build/es/components-beta/description-list/DescriptionListItem.js +0 -2
  454. package/build/es/components-beta/description-list/DescriptionListItem.js.map +0 -1
  455. package/build/es/components-beta/nav-link/NavLink.js +0 -2
  456. package/build/es/components-beta/nav-link/NavLink.js.map +0 -1
  457. package/build/es/components-beta/nav-link/index.d.ts +0 -1
  458. package/build/es/components-beta/select/Select.js +0 -2
  459. package/build/es/components-beta/select/Select.js.map +0 -1
  460. package/build/es/components-beta/select/index.d.ts +0 -2
  461. package/build/es/core/index.d.ts +0 -2
  462. package/build/es/core/index.js +0 -2
  463. package/build/es/core/index.js.map +0 -1
  464. package/build/es/core/tokens/build-tailwind-4.d.ts +0 -1
  465. package/build/es/core/tokens/build-tailwind-4.js +0 -2
  466. package/build/es/core/tokens/build-tailwind-4.js.map +0 -1
  467. package/build/es/core/tokens/style-dictionary/build.d.ts +0 -0
  468. package/build/es/core/tokens/style-dictionary/build.js +0 -2
  469. package/build/es/core/tokens/style-dictionary/build.js.map +0 -1
  470. package/build/es/core/tokens/style-dictionary/config.d.ts +0 -4
  471. package/build/es/core/tokens/style-dictionary/config.js +0 -2
  472. package/build/es/core/tokens/style-dictionary/config.js.map +0 -1
  473. package/build/es/core/tokens/style-dictionary/filters/index.d.ts +0 -3
  474. package/build/es/core/tokens/style-dictionary/filters/index.js +0 -2
  475. package/build/es/core/tokens/style-dictionary/filters/index.js.map +0 -1
  476. package/build/es/core/tokens/style-dictionary/formats/css-dynamic-color-variables.d.ts +0 -3
  477. package/build/es/core/tokens/style-dictionary/formats/css-dynamic-color-variables.js +0 -2
  478. package/build/es/core/tokens/style-dictionary/formats/css-dynamic-color-variables.js.map +0 -1
  479. package/build/es/core/tokens/style-dictionary/formats/css-theme-variables.d.ts +0 -3
  480. package/build/es/core/tokens/style-dictionary/formats/css-theme-variables.js +0 -2
  481. package/build/es/core/tokens/style-dictionary/formats/css-theme-variables.js.map +0 -1
  482. package/build/es/core/tokens/style-dictionary/formats/index.d.ts +0 -6
  483. package/build/es/core/tokens/style-dictionary/formats/index.js +0 -2
  484. package/build/es/core/tokens/style-dictionary/formats/index.js.map +0 -1
  485. package/build/es/core/tokens/style-dictionary/formats/javascript-esm.d.ts +0 -3
  486. package/build/es/core/tokens/style-dictionary/formats/javascript-esm.js +0 -2
  487. package/build/es/core/tokens/style-dictionary/formats/javascript-esm.js.map +0 -1
  488. package/build/es/core/tokens/style-dictionary/formats/scss-theme-variables.d.ts +0 -3
  489. package/build/es/core/tokens/style-dictionary/formats/scss-theme-variables.js +0 -2
  490. package/build/es/core/tokens/style-dictionary/formats/scss-theme-variables.js.map +0 -1
  491. package/build/es/core/tokens/style-dictionary/formats/tailwindcss-colors.d.ts +0 -3
  492. package/build/es/core/tokens/style-dictionary/formats/tailwindcss-colors.js +0 -2
  493. package/build/es/core/tokens/style-dictionary/formats/tailwindcss-colors.js.map +0 -1
  494. package/build/es/core/tokens/style-dictionary/register.d.ts +0 -1
  495. package/build/es/core/tokens/style-dictionary/register.js +0 -2
  496. package/build/es/core/tokens/style-dictionary/register.js.map +0 -1
  497. package/build/es/core/tokens/style-dictionary/transforms/index.d.ts +0 -2
  498. package/build/es/core/tokens/style-dictionary/transforms/index.js +0 -2
  499. package/build/es/core/tokens/style-dictionary/transforms/index.js.map +0 -1
  500. package/build/es/core/tokens/style-dictionary/transforms/strip-light-dark.d.ts +0 -3
  501. package/build/es/core/tokens/style-dictionary/transforms/strip-light-dark.js +0 -2
  502. package/build/es/core/tokens/style-dictionary/transforms/strip-light-dark.js.map +0 -1
  503. package/build/es/core/tokens.d.ts +0 -593
  504. package/build/es/core/tokens.js +0 -2
  505. package/build/es/core/tokens.js.map +0 -1
  506. package/build/es/index.d.ts +0 -3
  507. package/build/es/index.js +0 -2
  508. package/build/es/index.js.map +0 -1
  509. package/build/es/tailwind/colors.d.ts +0 -39
  510. package/build/es/tailwind/colors.js +0 -2
  511. package/build/es/tailwind/colors.js.map +0 -1
  512. package/build/index-Ck94bTpt.cjs +0 -2
  513. package/build/index-Ck94bTpt.cjs.map +0 -1
  514. package/build/index-DOHQmuhD.js +0 -2
  515. package/build/index-DOHQmuhD.js.map +0 -1
  516. package/src/fonts/styles/_index.scss +0 -1
  517. package/src/fonts/styles/webfonts.scss +0 -145
  518. package/src/tailwind/v4/jokul-tailwind.css +0 -266
  519. package/styles/components/modal/_layout.scss +0 -22
  520. package/styles/components/modal/_modal-base.scss +0 -32
  521. package/styles/components/modal/_motion.scss +0 -45
  522. package/styles/components/modal/_overlay.scss +0 -20
  523. package/styles/components/modal/_parts.scss +0 -33
  524. package/styles/components/modal/_placement.scss +0 -59
  525. package/styles/components-beta/nav-link/navlink.min.css +0 -1
  526. package/styles/components-beta/select/_index.scss +0 -3
  527. package/styles/components-beta/select/select.min.css +0 -1
  528. package/styles/core/core.css +0 -1731
  529. package/styles/core/core.min.css +0 -2
  530. package/styles/core/jkl/_colors.scss +0 -26
  531. package/styles/core/jkl/_helpers.scss +0 -26
  532. package/styles/core/jkl/_tokens.scss +0 -59
  533. package/styles/core/jkl/legacy/_dynamic-colors.scss +0 -40
  534. package/styles/core/jkl/legacy/_index.scss +0 -2
  535. package/styles/core/jkl/legacy/_tokens.scss +0 -742
  536. package/styles/core/theme/_color-tokens.scss +0 -73
  537. package/styles/core/theme/_index.scss +0 -10
  538. package/styles/core/theme/_legacy-color-tokens.scss +0 -81
  539. package/styles/core/theme/_legacy-tokens.scss +0 -279
  540. package/styles/core/theme/_old-vars.scss +0 -21
  541. package/styles/core/theme/_shape.scss +0 -12
  542. package/styles/core/theme/_spacing-tokens.scss +0 -33
  543. package/styles/core/theme/_spacing.scss +0 -64
  544. package/styles/core/theme/_tokens.scss +0 -33
  545. package/styles/core/theme/_typography.scss +0 -38
  546. package/styles/core/utility/_paragraphs.scss +0 -29
  547. package/styles/fonts/_index.scss +0 -1
  548. package/styles/fonts/webfonts.css +0 -115
  549. package/styles/fonts/webfonts.min.css +0 -1
  550. package/styles/fonts/webfonts.scss +0 -145
  551. package/styles/styles.min.css +0 -3
  552. /package/build/cjs/{components-beta → components/beta}/description-list/DescriptionList.d.cts +0 -0
  553. /package/build/cjs/{components-beta → components/beta}/description-list/DescriptionListItem.d.cts +0 -0
  554. /package/build/cjs/{components-beta → components/beta}/description-list/index.cjs +0 -0
  555. /package/build/cjs/{components-beta → components/beta}/description-list/index.cjs.map +0 -0
  556. /package/build/cjs/{components-beta → components/beta}/description-list/types.cjs +0 -0
  557. /package/build/cjs/{components-beta → components/beta}/description-list/types.cjs.map +0 -0
  558. /package/build/cjs/{components-beta → components/beta}/description-list/types.d.cts +0 -0
  559. /package/build/cjs/{components-beta → components/beta}/nav-link/NavLink.d.cts +0 -0
  560. /package/build/cjs/{components-beta → components/beta}/nav-link/index.cjs +0 -0
  561. /package/build/cjs/{components-beta → components/beta}/nav-link/index.cjs.map +0 -0
  562. /package/build/cjs/{components-beta → components/beta}/nav-link/types.cjs +0 -0
  563. /package/build/cjs/{components-beta → components/beta}/nav-link/types.cjs.map +0 -0
  564. /package/build/cjs/{components-beta → components/beta}/select/Select.d.cts +0 -0
  565. /package/build/cjs/{components-beta → components/beta}/select/index.cjs +0 -0
  566. /package/build/cjs/{components-beta → components/beta}/select/index.cjs.map +0 -0
  567. /package/build/cjs/{components-beta → components/beta}/select/types.cjs +0 -0
  568. /package/build/cjs/{components-beta → components/beta}/select/types.cjs.map +0 -0
  569. /package/build/cjs/{core → utilities}/types.cjs +0 -0
  570. /package/build/cjs/{core → utilities}/types.cjs.map +0 -0
  571. /package/build/es/{components-beta → components/beta}/description-list/DescriptionList.d.ts +0 -0
  572. /package/build/es/{components-beta → components/beta}/description-list/DescriptionListItem.d.ts +0 -0
  573. /package/build/es/{components-beta → components/beta}/description-list/index.js +0 -0
  574. /package/build/es/{components-beta → components/beta}/description-list/index.js.map +0 -0
  575. /package/build/es/{components-beta → components/beta}/description-list/types.d.ts +0 -0
  576. /package/build/es/{components-beta → components/beta}/description-list/types.js +0 -0
  577. /package/build/es/{components-beta → components/beta}/description-list/types.js.map +0 -0
  578. /package/build/es/{components-beta → components/beta}/nav-link/NavLink.d.ts +0 -0
  579. /package/build/es/{components-beta → components/beta}/nav-link/index.js +0 -0
  580. /package/build/es/{components-beta → components/beta}/nav-link/index.js.map +0 -0
  581. /package/build/es/{components-beta → components/beta}/nav-link/types.js +0 -0
  582. /package/build/es/{components-beta → components/beta}/nav-link/types.js.map +0 -0
  583. /package/build/es/{components-beta → components/beta}/select/Select.d.ts +0 -0
  584. /package/build/es/{components-beta → components/beta}/select/index.js +0 -0
  585. /package/build/es/{components-beta → components/beta}/select/index.js.map +0 -0
  586. /package/build/es/{components-beta → components/beta}/select/types.js +0 -0
  587. /package/build/es/{components-beta → components/beta}/select/types.js.map +0 -0
  588. /package/build/es/{core → utilities}/types.js +0 -0
  589. /package/build/es/{core → utilities}/types.js.map +0 -0
  590. /package/styles/{core/_layers.scss → _layers.scss} +0 -0
  591. /package/styles/{core/core.scss → base.scss} +0 -0
  592. /package/styles/{components-beta → components/beta}/description-list/_index.scss +0 -0
  593. /package/styles/{components-beta → components/beta}/description-list/description-list.css +0 -0
  594. /package/styles/{components-beta → components/beta}/description-list/description-list.min.css +0 -0
  595. /package/styles/{components-beta → components/beta}/nav-link/_index.scss +0 -0
  596. /package/styles/{core/global → global}/_index.scss +0 -0
  597. /package/styles/{core/jkl → jkl}/_convert.scss +0 -0
  598. /package/styles/{core/jkl → jkl}/_navigation.scss +0 -0
  599. /package/styles/{core/jkl → jkl}/_ornaments.scss +0 -0
  600. /package/styles/{core/jkl → jkl}/_responsive-units.scss +0 -0
  601. /package/styles/{core/jkl → jkl}/_screenreader.scss +0 -0
  602. /package/styles/{core/jkl → jkl}/_screens.scss +0 -0
  603. /package/styles/{core/jkl → jkl}/_shadows.scss +0 -0
  604. /package/styles/{core/jkl → jkl}/_underline.scss +0 -0
  605. /package/styles/{core/jkl → jkl}/_z-index.scss +0 -0
  606. /package/styles/{core/resets → resets}/_index.scss +0 -0
  607. /package/styles/{core/resets → resets}/_normalize.scss +0 -0
  608. /package/styles/{core/resets → resets}/_reset.scss +0 -0
  609. /package/styles/{core/utility → utility}/_index.scss +0 -0
@@ -21,10 +21,7 @@
21
21
  }
22
22
  .jkl-autosuggest__no-hits-message {
23
23
  padding: var(--jkl-autosuggest-option-padding);
24
- font-size: var(--jkl-font-size-2);
25
- line-height: var(--jkl-line-height-tight);
26
- font-weight: 400;
27
- --jkl-icon-weight: 300;
24
+ font: var(--jkl-text-style-text-small);
28
25
  color: var(--jkl-color-text-subdued);
29
26
  }
30
27
  .jkl-autosuggest__menu {
@@ -49,10 +46,7 @@
49
46
  padding: 0;
50
47
  }
51
48
  .jkl-autosuggest__item {
52
- font-size: var(--jkl-font-size-2);
53
- line-height: var(--jkl-line-height-tight);
54
- font-weight: 400;
55
- --jkl-icon-weight: 300;
49
+ font: var(--jkl-text-style-text-small);
56
50
  color: unset;
57
51
  display: flex;
58
52
  align-items: center;
@@ -60,8 +54,8 @@
60
54
  background-color: var(--jkl-color-background-interactive);
61
55
  min-height: var(--jkl-autosuggest-option-height);
62
56
  text-align: left;
63
- transition-timing-function: ease;
64
- transition-duration: 150ms;
57
+ transition-timing-function: var(--jkl-motion-easing-standard);
58
+ transition-duration: var(--jkl-motion-timing-productive);
65
59
  transition-property: color, background-color;
66
60
  position: relative;
67
61
  padding: var(--jkl-autosuggest-option-padding);
@@ -92,12 +86,9 @@
92
86
  position: relative;
93
87
  display: flex;
94
88
  align-items: center;
95
- font-size: var(--jkl-font-size-3);
96
- line-height: var(--jkl-line-height-tight);
97
- font-weight: 400;
98
- --jkl-icon-weight: 300;
99
- transition-timing-function: ease;
100
- transition-duration: 150ms;
89
+ font: var(--jkl-text-style-text-medium);
90
+ transition-timing-function: var(--jkl-motion-easing-standard);
91
+ transition-duration: var(--jkl-motion-timing-productive);
101
92
  transition-property: color, box-shadow, background-color;
102
93
  background-color: var(--background-color);
103
94
  color: var(--text-color);
@@ -172,10 +163,7 @@
172
163
  background: none;
173
164
  -webkit-appearance: none;
174
165
  color: inherit;
175
- font-size: var(--jkl-font-size-3);
176
- line-height: var(--jkl-line-height-tight);
177
- font-weight: 400;
178
- --jkl-icon-weight: 300;
166
+ font: var(--jkl-text-style-text-medium);
179
167
  }
180
168
  .jkl-text-input__input {
181
169
  outline: 0;
@@ -233,43 +221,22 @@
233
221
  margin: -0.125rem 0.25rem;
234
222
  }
235
223
  }
236
- @layer jokul.theme {
237
- @media screen and (prefers-color-scheme: light) {
238
- :root {
239
- --jkl-icon-grade: 0;
240
- }
241
- }
242
- [data-theme=light] {
243
- --jkl-icon-grade: 0;
244
- }
245
- @media screen and (prefers-color-scheme: dark) {
246
- :root {
247
- --jkl-icon-grade: -25;
248
- }
249
- }
250
- [data-theme=dark] {
251
- --jkl-icon-grade: -25;
252
- }
253
- }
254
224
  @layer jokul.components {
255
225
  .jkl-icon {
256
226
  --jkl-icon-fill: 0;
257
227
  font-family: "Fremtind Material Symbols", "Fremtind Material Symbols Fallback", sans-serif;
258
- font-variation-settings: "FILL" var(--jkl-icon-fill, 0), "GRAD" var(--jkl-icon-grade, 0), "opsz" var(--jkl-icon-opsz, 24);
228
+ font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
259
229
  font-feature-settings: "liga";
260
230
  -webkit-font-feature-settings: "liga";
261
231
  font-size: 1.3em;
262
- font-weight: var(--jkl-icon-weight, 300);
232
+ font-weight: 400;
263
233
  line-height: 1;
264
234
  display: inline-block;
265
235
  -webkit-font-smoothing: antialiased;
266
- transition-timing-function: ease;
267
- transition-duration: 75ms;
236
+ transition-timing-function: var(--jkl-motion-easing-standard);
237
+ transition-duration: var(--jkl-motion-timing-energetic);
268
238
  transition-property: font-variation-settings, transform;
269
239
  }
270
- .jkl-icon--bold {
271
- --jkl-icon-weight: var(--jkl-icon-weight-bold);
272
- }
273
240
  .jkl-icon--filled {
274
241
  --jkl-icon-fill: 1;
275
242
  }
@@ -309,9 +276,9 @@
309
276
  .jkl-animated-horizontal-arrows__slider,
310
277
  .jkl-animated-vertical-arrows__slider {
311
278
  display: flex;
312
- transition-timing-function: ease;
313
- transition-duration: 250ms;
314
- transition-delay: calc(250ms * 0.3333333333);
279
+ transition-timing-function: var(--jkl-motion-easing-standard);
280
+ transition-duration: var(--jkl-motion-timing-expressive);
281
+ transition-delay: calc(var(--jkl-motion-timing-expressive) * 0.3333333333);
315
282
  transition-property: transform;
316
283
  }
317
284
  .jkl-animated-horizontal-arrows__arrow,
@@ -339,8 +306,8 @@
339
306
  transform: translate3d(-50%, 0, 0);
340
307
  }
341
308
  .jkl-icons-animated__plus {
342
- transition-timing-function: cubic-bezier(0, 0, 0.375, 1.17);
343
- transition-duration: 250ms;
309
+ transition-timing-function: var(--jkl-motion-easing-ease-in-bounce-out);
310
+ transition-duration: var(--jkl-motion-timing-expressive);
344
311
  transition-property: transform;
345
312
  transform-origin: 50% 50%;
346
313
  }
@@ -359,8 +326,8 @@
359
326
  position: relative;
360
327
  transition-property: box-shadow;
361
328
  padding: 0;
362
- transition-timing-function: cubic-bezier(0.6, 0.2, 0.35, 1);
363
- transition-duration: 100ms;
329
+ transition-timing-function: var(--jkl-motion-easing-focus);
330
+ transition-duration: var(--jkl-motion-timing-snappy);
364
331
  }
365
332
  .jkl-icon-button {
366
333
  outline: 0;
@@ -436,17 +403,14 @@
436
403
  --jkl-form-support-label-icon-size: 1.25rem;
437
404
  --jkl-form-support-label-icon-margin: 0 -1.25rem -0.375rem 0;
438
405
  --color: var(--jkl-color-text-subdued);
439
- font-size: var(--jkl-font-size-2);
440
- line-height: var(--jkl-line-height-tight);
441
- font-weight: 400;
442
- --jkl-icon-weight: 300;
443
- transition-timing-function: ease;
444
- transition-duration: 400ms;
406
+ font: var(--jkl-text-style-text-small);
407
+ transition-timing-function: var(--jkl-motion-easing-standard);
408
+ transition-duration: var(--jkl-motion-timing-lazy);
445
409
  display: flex;
446
410
  margin: var(--jkl-form-support-label-margin);
447
411
  color: var(--color);
448
412
  transition-property: color;
449
- transition-delay: 150ms;
413
+ transition-delay: var(--jkl-motion-timing-productive);
450
414
  }
451
415
  .jkl-form-support-label__icon, .jkl-form-support-label__icon.jkl-icon {
452
416
  opacity: 0;
@@ -467,7 +431,7 @@
467
431
  --color: var(--jkl-color-text-default);
468
432
  }
469
433
  .jkl-form-support-label--error .jkl-form-support-label__icon, .jkl-form-support-label--warning .jkl-form-support-label__icon, .jkl-form-support-label--success .jkl-form-support-label__icon {
470
- animation: 400ms cubic-bezier(0, 0, 0.3, 1) 250ms jkl-support-icon-entrance-uz58f67 forwards;
434
+ animation: var(--jkl-motion-timing-lazy) cubic-bezier(0, 0, 0.3, 1) var(--jkl-motion-timing-expressive) jkl-support-icon-entrance-udz455c forwards;
471
435
  }
472
436
  .jkl-form-support-label--sr-only {
473
437
  border: 0 !important;
@@ -487,22 +451,13 @@
487
451
  color: var(--jkl-color-text-default);
488
452
  }
489
453
  .jkl-label--small {
490
- font-size: var(--jkl-font-size-3);
491
- line-height: var(--jkl-line-height-tight);
492
- font-weight: 400;
493
- --jkl-icon-weight: 300;
454
+ font: var(--jkl-text-style-text-medium);
494
455
  }
495
456
  .jkl-label--medium {
496
- font-size: var(--jkl-font-size-3);
497
- line-height: var(--jkl-line-height-tight);
498
- font-weight: 400;
499
- --jkl-icon-weight: 300;
457
+ font: var(--jkl-text-style-text-medium);
500
458
  }
501
459
  .jkl-label--large {
502
- font-size: var(--jkl-font-size-5);
503
- line-height: var(--jkl-line-height-tight);
504
- font-weight: 400;
505
- --jkl-icon-weight: 300;
460
+ font: var(--jkl-text-style-text-large);
506
461
  }
507
462
  .jkl-label--sr-only {
508
463
  border: 0 !important;
@@ -521,10 +476,7 @@
521
476
  top: -0.1ex;
522
477
  }
523
478
  .jkl-input-group-description {
524
- font-size: var(--jkl-font-size-2);
525
- line-height: var(--jkl-line-height-tight);
526
- font-weight: 400;
527
- --jkl-icon-weight: 300;
479
+ font: var(--jkl-text-style-text-small);
528
480
  color: var(--jkl-color-text-subdued);
529
481
  margin-block-end: var(--jkl-spacing-8);
530
482
  max-inline-size: 50ch;
@@ -533,14 +485,14 @@
533
485
  .jkl-label:has(+ .jkl-input-group-description) {
534
486
  margin-block-end: var(--jkl-spacing-4);
535
487
  }
536
- @keyframes jkl-support-icon-entrance-uz58f67 {
488
+ @keyframes jkl-support-icon-entrance-udz455c {
537
489
  0% {
538
490
  margin-right: 0;
539
491
  opacity: 0;
540
492
  transform: scale(1);
541
493
  }
542
494
  30% {
543
- margin-right: 0.5rem;
495
+ margin-right: var(--jkl-spacing-8);
544
496
  }
545
497
  50% {
546
498
  opacity: 1;
@@ -554,7 +506,7 @@
554
506
  100% {
555
507
  transform: scale(1);
556
508
  opacity: 1;
557
- margin-right: 0.5rem;
509
+ margin-right: var(--jkl-spacing-8);
558
510
  }
559
511
  }
560
512
  }
@@ -576,17 +528,13 @@
576
528
  }
577
529
  html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-tooltip-trigger:focus {
578
530
  --jkl-icon-weight: 400;
579
- font-weight: 700;
531
+ font-weight: var(--jkl-font-weight-bold);
580
532
  letter-spacing: -0.014em;
581
533
  }
582
534
  .jkl-tooltip-content {
583
535
  --content-padding: var(--jkl-unit-15);
584
536
  --background-color: var(--jkl-color-background-container-inverted);
585
- font-size: var(--jkl-font-size-2);
586
- line-height: var(--jkl-line-height-relaxed);
587
- font-weight: 400;
588
- --jkl-icon-weight: 300;
589
- --jkl-icon-size: 1.2em;
537
+ font: var(--jkl-text-style-paragraph-small);
590
538
  background-color: var(--background-color);
591
539
  color: var(--jkl-color-text-inverted);
592
540
  display: inline-block;
@@ -602,8 +550,8 @@
602
550
  }
603
551
  }
604
552
  .jkl-tooltip-question-button {
605
- transition-timing-function: ease-in;
606
- transition-duration: 100ms;
553
+ transition-timing-function: var(--jkl-motion-easing-exit);
554
+ transition-duration: var(--jkl-motion-timing-snappy);
607
555
  transition-property: color;
608
556
  cursor: pointer;
609
557
  position: relative;
@@ -689,8 +637,8 @@
689
637
  color: inherit;
690
638
  outline: none;
691
639
  text-decoration: none;
692
- transition-timing-function: ease;
693
- transition-duration: 75ms;
640
+ transition-timing-function: var(--jkl-motion-easing-standard);
641
+ transition-duration: var(--jkl-motion-timing-energetic);
694
642
  transition-property: color;
695
643
  }
696
644
  .jkl-link__content {
@@ -707,22 +655,21 @@
707
655
  .jkl-link--external::after, .jkl-link[target=_blank]::after, .jkl-link[download]::after {
708
656
  --jkl-icon-fill: 0;
709
657
  --jkl-icon-size: 1em;
710
- --jkl-icon-opsz: 20;
711
658
  content: "\e89e"/"(Åpnes i ny fane)";
712
659
  margin-block-start: -0.1em;
713
660
  padding-inline-start: 0.2em;
714
661
  vertical-align: middle;
715
662
  font-family: "Fremtind Material Symbols", "Fremtind Material Symbols Fallback", sans-serif;
716
- font-variation-settings: "FILL" var(--jkl-icon-fill, 0), "GRAD" var(--jkl-icon-grade, 0), "opsz" var(--jkl-icon-opsz, 24);
663
+ font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
717
664
  font-feature-settings: "liga";
718
665
  -webkit-font-feature-settings: "liga";
719
666
  font-size: 1.3em;
720
- font-weight: var(--jkl-icon-weight, 300);
667
+ font-weight: 400;
721
668
  line-height: 1;
722
669
  display: inline-block;
723
670
  -webkit-font-smoothing: antialiased;
724
- transition-timing-function: ease;
725
- transition-duration: 75ms;
671
+ transition-timing-function: var(--jkl-motion-easing-standard);
672
+ transition-duration: var(--jkl-motion-timing-energetic);
726
673
  transition-property: font-variation-settings, transform;
727
674
  display: inline;
728
675
  }
@@ -757,11 +704,8 @@
757
704
  --border-radius: 0;
758
705
  --border-width: 0.0625rem;
759
706
  display: inline-block;
760
- font-size: var(--jkl-font-size-3);
761
- line-height: var(--jkl-line-height-tight);
762
- font-weight: 400;
763
- --jkl-icon-weight: 300;
764
- font-weight: 700;
707
+ font: var(--jkl-text-style-text-medium);
708
+ font-weight: var(--jkl-font-weight-bold);
765
709
  cursor: pointer;
766
710
  user-select: none;
767
711
  background: var(--background-color);
@@ -776,8 +720,8 @@
776
720
  overflow: hidden;
777
721
  max-width: 100%;
778
722
  animation: a 0.3s linear;
779
- transition-timing-function: ease;
780
- transition-duration: 150ms;
723
+ transition-timing-function: var(--jkl-motion-easing-standard);
724
+ transition-duration: var(--jkl-motion-timing-productive);
781
725
  transition-property: background-color;
782
726
  }
783
727
  .jkl-button:has(.jkl-button__text) {
@@ -793,19 +737,19 @@
793
737
  padding-inline: var(--jkl-button-padding-icon-button);
794
738
  }
795
739
  .jkl-button__label {
796
- transition-timing-function: ease;
797
- transition-duration: 250ms;
740
+ transition-timing-function: var(--jkl-motion-easing-standard);
741
+ transition-duration: var(--jkl-motion-timing-expressive);
798
742
  transition-property: translate;
799
743
  width: 100%;
800
744
  display: flex;
801
745
  flex-direction: row;
802
746
  align-items: center;
803
- gap: calc(var(--jkl-unit-base) * 0.25);
747
+ gap: var(--jkl-unit-02);
804
748
  pointer-events: none;
805
749
  }
806
750
  .jkl-button__loader {
807
- transition-timing-function: ease;
808
- transition-duration: 250ms;
751
+ transition-timing-function: var(--jkl-motion-easing-standard);
752
+ transition-duration: var(--jkl-motion-timing-expressive);
809
753
  transition-property: opacity, translate;
810
754
  position: absolute;
811
755
  top: 50%;
@@ -885,22 +829,22 @@
885
829
  animation: 2500ms linear infinite;
886
830
  }
887
831
  .jkl-loader__dot--left {
888
- animation-name: jkl-loader-left-spin-uz58f6g;
832
+ animation-name: jkl-loader-left-spin-udz455l;
889
833
  margin-right: calc(var(--jkl-loader-spacing) * 0.9);
890
834
  }
891
835
  .jkl-loader__dot--middle {
892
- animation-name: jkl-loader-middle-spin-uz58f73;
836
+ animation-name: jkl-loader-middle-spin-udz4564;
893
837
  margin-right: var(--jkl-loader-spacing);
894
838
  }
895
839
  .jkl-loader__dot--right {
896
- animation-name: jkl-loader-right-spin-uz58f7o;
840
+ animation-name: jkl-loader-right-spin-udz456e;
897
841
  }
898
842
  @media screen and (forced-colors: active) {
899
843
  .jkl-loader__dot {
900
844
  background-color: CanvasText;
901
845
  }
902
846
  }
903
- @keyframes jkl-loader-left-spin-uz58f6g {
847
+ @keyframes jkl-loader-left-spin-udz455l {
904
848
  0% {
905
849
  transform: rotate(0) scale(0);
906
850
  }
@@ -914,7 +858,7 @@
914
858
  transform: rotate(180deg) scale(0);
915
859
  }
916
860
  }
917
- @keyframes jkl-loader-middle-spin-uz58f73 {
861
+ @keyframes jkl-loader-middle-spin-udz4564 {
918
862
  0% {
919
863
  transform: rotate(20deg) scale(0);
920
864
  }
@@ -931,7 +875,7 @@
931
875
  transform: rotate(200deg) scale(0);
932
876
  }
933
877
  }
934
- @keyframes jkl-loader-right-spin-uz58f7o {
878
+ @keyframes jkl-loader-right-spin-udz456e {
935
879
  0% {
936
880
  transform: rotate(40deg) scale(0);
937
881
  }
@@ -971,7 +915,7 @@
971
915
  @media screen and (forced-colors: active) {
972
916
  .jkl-skeleton-element {
973
917
  border: 1px solid CanvasText;
974
- animation: 2s ease infinite jkl-blink-uz58f86;
918
+ animation: 2s ease infinite jkl-blink-udz456m;
975
919
  }
976
920
  }
977
921
  .jkl-skeleton-input {
@@ -1019,10 +963,10 @@
1019
963
  }
1020
964
  @media screen and (forced-colors: active) {
1021
965
  .jkl-skeleton-table {
1022
- animation: 2s ease-in-out infinite jkl-blink-uz58f86;
966
+ animation: 2s ease-in-out infinite jkl-blink-udz456m;
1023
967
  }
1024
968
  }
1025
- @keyframes jkl-blink-uz58f86 {
969
+ @keyframes jkl-blink-udz456m {
1026
970
  0% {
1027
971
  opacity: 1;
1028
972
  }
@@ -1069,8 +1013,8 @@
1069
1013
  pointer-events: none;
1070
1014
  border-radius: var(--border-radius);
1071
1015
  border: var(--border-width) solid var(--border-color);
1072
- transition-timing-function: ease;
1073
- transition-duration: 100ms;
1016
+ transition-timing-function: var(--jkl-motion-easing-standard);
1017
+ transition-duration: var(--jkl-motion-timing-snappy);
1074
1018
  transition-property: border-color, border-size;
1075
1019
  }
1076
1020
  @media (min-width: 680px) {
@@ -1140,8 +1084,8 @@
1140
1084
  filter: blur(20px);
1141
1085
  }
1142
1086
  .jkl-image__image {
1143
- transition-timing-function: ease;
1144
- transition-duration: 400ms;
1087
+ transition-timing-function: var(--jkl-motion-easing-standard);
1088
+ transition-duration: var(--jkl-motion-timing-lazy);
1145
1089
  transition-property: opacity;
1146
1090
  opacity: 1;
1147
1091
  }
@@ -1163,11 +1107,8 @@
1163
1107
  --gap: var(--jkl-unit-05);
1164
1108
  --background-color: var(--jkl-color-background-alert-neutral);
1165
1109
  --text-color: var(--jkl-color-text-on-alert);
1166
- font-size: var(--jkl-font-size-2);
1167
- line-height: var(--jkl-line-height-tight);
1168
- font-weight: 400;
1169
- --jkl-icon-weight: 300;
1170
- font-weight: 700;
1110
+ font: var(--jkl-text-style-text-small);
1111
+ font-weight: var(--jkl-font-weight-bold);
1171
1112
  background-color: var(--background-color);
1172
1113
  color: var(--text-color);
1173
1114
  border-radius: 0.25rem;
@@ -1210,31 +1151,16 @@
1210
1151
  }
1211
1152
 
1212
1153
  @layer jokul.components {
1213
- @media screen and (prefers-color-scheme: light) {
1214
- :root {
1215
- --jkl-checkbox-error-color: #ab2e43;
1216
- }
1217
- }
1218
- [data-theme=light] {
1219
- --jkl-checkbox-error-color: #ab2e43;
1220
- }
1221
- @media screen and (prefers-color-scheme: dark) {
1222
- :root {
1223
- --jkl-checkbox-error-color: #d79ba5;
1224
- }
1225
- }
1226
- [data-theme=dark] {
1227
- --jkl-checkbox-error-color: #d79ba5;
1228
- }
1229
1154
  .jkl-checkbox {
1155
+ /* stylelint-disable declaration-block-no-duplicate-custom-properties -- fallback for browsers without light-dark() support */
1156
+ --jkl-checkbox-error-color: #ab2e43;
1157
+ --jkl-checkbox-error-color: light-dark(#ab2e43, #d79ba5);
1158
+ /* stylelint-enable declaration-block-no-duplicate-custom-properties */
1230
1159
  --box-color: var(--jkl-color-border-action);
1231
1160
  --check-color: var(--jkl-color-border-action);
1232
1161
  --text-color: var(--jkl-color-text-default);
1233
1162
  --background-color: transparent;
1234
- font-size: var(--jkl-font-size-3);
1235
- line-height: var(--jkl-line-height-tight);
1236
- font-weight: 400;
1237
- --jkl-icon-weight: 300;
1163
+ font: var(--jkl-text-style-text-medium);
1238
1164
  display: flex;
1239
1165
  flex-wrap: wrap;
1240
1166
  color: var(--text-color);
@@ -1250,31 +1176,25 @@
1250
1176
  .jkl-checkbox__label {
1251
1177
  cursor: pointer;
1252
1178
  display: flex;
1253
- transition-timing-function: ease;
1254
- transition-duration: 150ms;
1179
+ transition-timing-function: var(--jkl-motion-easing-standard);
1180
+ transition-duration: var(--jkl-motion-timing-productive);
1255
1181
  transition-property: color;
1256
- font-size: var(--jkl-font-size-3);
1257
- line-height: var(--jkl-line-height-tight);
1258
- font-weight: 400;
1259
- --jkl-icon-weight: 300;
1260
- }
1261
- .jkl-checkbox__label:hover, .jkl-checkbox__label:active {
1262
- --jkl-icon-weight: 400;
1182
+ font: var(--jkl-text-style-text-medium);
1263
1183
  }
1264
1184
  .jkl-checkbox__label::before {
1265
1185
  content: "check_box_outline_blank";
1266
1186
  margin-inline-end: 0.25em;
1267
1187
  font-family: "Fremtind Material Symbols", "Fremtind Material Symbols Fallback", sans-serif;
1268
- font-variation-settings: "FILL" var(--jkl-icon-fill, 0), "GRAD" var(--jkl-icon-grade, 0), "opsz" var(--jkl-icon-opsz, 24);
1188
+ font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
1269
1189
  font-feature-settings: "liga";
1270
1190
  -webkit-font-feature-settings: "liga";
1271
1191
  font-size: 1.3em;
1272
- font-weight: var(--jkl-icon-weight, 300);
1192
+ font-weight: 400;
1273
1193
  line-height: 1;
1274
1194
  display: inline-block;
1275
1195
  -webkit-font-smoothing: antialiased;
1276
- transition-timing-function: ease;
1277
- transition-duration: 75ms;
1196
+ transition-timing-function: var(--jkl-motion-easing-standard);
1197
+ transition-duration: var(--jkl-motion-timing-energetic);
1278
1198
  transition-property: font-variation-settings, transform;
1279
1199
  }
1280
1200
  .jkl-checkbox__label:has(+ :checked)::before {
@@ -1310,8 +1230,8 @@
1310
1230
  display: flex;
1311
1231
  flex-direction: column;
1312
1232
  interpolate-size: allow-keywords;
1313
- transition-timing-function: ease;
1314
- transition-duration: 150ms;
1233
+ transition-timing-function: var(--jkl-motion-easing-standard);
1234
+ transition-duration: var(--jkl-motion-timing-productive);
1315
1235
  transition-property: box-shadow;
1316
1236
  }
1317
1237
  .jkl-input-panel__header {
@@ -1327,11 +1247,8 @@
1327
1247
  display: flex;
1328
1248
  height: 100%;
1329
1249
  align-items: center;
1330
- font-size: var(--jkl-font-size-3);
1331
- line-height: var(--jkl-line-height-tight);
1332
- font-weight: 400;
1333
- --jkl-icon-weight: 300;
1334
- font-weight: 700;
1250
+ font: var(--jkl-text-style-text-medium);
1251
+ font-weight: var(--jkl-font-weight-bold);
1335
1252
  }
1336
1253
  .jkl-input-panel__header label,
1337
1254
  .jkl-input-panel__header .jkl-radio-button,
@@ -1352,12 +1269,9 @@
1352
1269
  padding-inline: var(--padding-inline);
1353
1270
  padding-block-end: var(--jkl-spacing-none);
1354
1271
  line-height: initial;
1355
- font-size: var(--jkl-font-size-3);
1356
- line-height: var(--jkl-line-height-relaxed);
1357
- font-weight: 400;
1358
- --jkl-icon-weight: 300;
1359
- transition-timing-function: ease;
1360
- transition-duration: 150ms;
1272
+ font: var(--jkl-text-style-paragraph-medium);
1273
+ transition-timing-function: var(--jkl-motion-easing-standard);
1274
+ transition-duration: var(--jkl-motion-timing-productive);
1361
1275
  transition-property: height;
1362
1276
  }
1363
1277
  .jkl-input-panel:has(:focus-visible) {
@@ -1392,11 +1306,8 @@
1392
1306
  --border-color: var(--jkl-color-border-separator);
1393
1307
  --background-color: transparent;
1394
1308
  --border-width: 0.0625rem;
1395
- font-size: var(--jkl-font-size-2);
1396
- line-height: var(--jkl-line-height-tight);
1397
- font-weight: 400;
1398
- --jkl-icon-weight: 300;
1399
- font-weight: 700;
1309
+ font: var(--jkl-text-style-text-small);
1310
+ font-weight: var(--jkl-font-weight-bold);
1400
1311
  cursor: pointer;
1401
1312
  position: relative;
1402
1313
  background-color: var(--background-color);
@@ -1424,8 +1335,8 @@
1424
1335
  inset: 0;
1425
1336
  border-radius: inherit;
1426
1337
  background-color: var(--text-color);
1427
- transition-timing-function: ease;
1428
- transition-duration: 150ms;
1338
+ transition-timing-function: var(--jkl-motion-easing-standard);
1339
+ transition-duration: var(--jkl-motion-timing-productive);
1429
1340
  transition-property: opacity;
1430
1341
  }
1431
1342
  .jkl-chip:focus-visible {
@@ -1521,12 +1432,9 @@
1521
1432
  position: relative;
1522
1433
  display: flex;
1523
1434
  align-items: center;
1524
- font-size: var(--jkl-font-size-3);
1525
- line-height: var(--jkl-line-height-tight);
1526
- font-weight: 400;
1527
- --jkl-icon-weight: 300;
1528
- transition-timing-function: ease;
1529
- transition-duration: 150ms;
1435
+ font: var(--jkl-text-style-text-medium);
1436
+ transition-timing-function: var(--jkl-motion-easing-standard);
1437
+ transition-duration: var(--jkl-motion-timing-productive);
1530
1438
  transition-property: color, box-shadow, background-color;
1531
1439
  background-color: var(--background-color);
1532
1440
  color: var(--text-color);
@@ -1616,10 +1524,7 @@
1616
1524
  background: none;
1617
1525
  -webkit-appearance: none;
1618
1526
  color: inherit;
1619
- font-size: var(--jkl-font-size-3);
1620
- line-height: var(--jkl-line-height-tight);
1621
- font-weight: 400;
1622
- --jkl-icon-weight: 300;
1527
+ font: var(--jkl-text-style-text-medium);
1623
1528
  }
1624
1529
  .jkl-combobox__search-input {
1625
1530
  outline: 0;
@@ -1664,8 +1569,8 @@
1664
1569
  .jkl-combobox__arrow {
1665
1570
  pointer-events: none;
1666
1571
  transform: translateY(-50%);
1667
- transition-timing-function: ease;
1668
- transition-duration: 150ms;
1572
+ transition-timing-function: var(--jkl-motion-easing-standard);
1573
+ transition-duration: var(--jkl-motion-timing-productive);
1669
1574
  transition-property: transform, color;
1670
1575
  }
1671
1576
  @media screen and (forced-colors: active) {
@@ -1679,8 +1584,8 @@
1679
1584
  }
1680
1585
  }
1681
1586
  .jkl-combobox__menu {
1682
- transition-timing-function: ease;
1683
- transition-duration: 150ms;
1587
+ transition-timing-function: var(--jkl-motion-easing-standard);
1588
+ transition-duration: var(--jkl-motion-timing-productive);
1684
1589
  transition-property: height;
1685
1590
  top: calc(100% - 1px);
1686
1591
  overflow-y: auto;
@@ -1695,12 +1600,9 @@
1695
1600
  max-height: calc((var(--jkl-combobox-max-shown-options, 5) + 0.5) * var(--jkl-combobox-input-height));
1696
1601
  }
1697
1602
  .jkl-combobox__option {
1698
- font-size: var(--jkl-font-size-2);
1699
- line-height: var(--jkl-line-height-tight);
1700
- font-weight: 400;
1701
- --jkl-icon-weight: 300;
1702
- transition-timing-function: ease;
1703
- transition-duration: 150ms;
1603
+ font: var(--jkl-text-style-text-small);
1604
+ transition-timing-function: var(--jkl-motion-easing-standard);
1605
+ transition-duration: var(--jkl-motion-timing-productive);
1704
1606
  display: flex;
1705
1607
  align-items: center;
1706
1608
  border: 0;
@@ -1717,10 +1619,7 @@
1717
1619
  background-color: var(--jkl-color-background-interactive-hover);
1718
1620
  }
1719
1621
  .jkl-combobox__option-description {
1720
- font-size: var(--jkl-font-size-2);
1721
- line-height: var(--jkl-line-height-tight);
1722
- font-weight: 400;
1723
- --jkl-icon-weight: 300;
1622
+ font: var(--jkl-text-style-text-small);
1724
1623
  color: var(--jkl-color-text-subdued);
1725
1624
  display: block;
1726
1625
  width: 100%;
@@ -1786,46 +1685,21 @@
1786
1685
  transition: 0.2s;
1787
1686
  }
1788
1687
  .jkl-cookie-consent-modal__info-text {
1789
- font-size: var(--jkl-font-size-2);
1790
- line-height: var(--jkl-line-height-relaxed);
1791
- font-weight: 400;
1792
- --jkl-icon-weight: 300;
1793
- --jkl-icon-size: 1.2em;
1688
+ font: var(--jkl-text-style-paragraph-small);
1794
1689
  }
1795
1690
  .jkl-cookie-consent-modal__checkbox {
1796
1691
  margin-bottom: var(--jkl-unit-10);
1797
1692
  margin-top: var(--jkl-unit-30);
1798
1693
  }
1799
1694
  }
1800
- /*
1801
- * NOTE: These icon also exists as a copy in the jkl-icons-react package.
1802
- * If you're here to change them, consider changing them there as well, or
1803
- * finding a technical solution to sharing the SVG markup
1804
- */
1805
- @media screen and (prefers-color-scheme: light) {
1806
- :root {
1807
- --jkl-list-marker-cross: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23F6B3B3'/%3E%3Cpath fill='%231B1917' d='M5.54 12.68l7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231B1917' d='M12.67 13.47l-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E%0A");
1808
- --jkl-list-marker-check: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%23ACD3B5'/%3E%3Cpath d='M4.75 11l2.35 2.36 7.84-7.84' stroke='%231B1917' stroke-width='1.5'/%3E%3C/svg%3E%0A");
1809
- }
1810
- }
1811
- [data-theme=light] {
1812
- --jkl-list-marker-cross: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23F6B3B3'/%3E%3Cpath fill='%231B1917' d='M5.54 12.68l7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231B1917' d='M12.67 13.47l-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E%0A");
1813
- --jkl-list-marker-check: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%23ACD3B5'/%3E%3Cpath d='M4.75 11l2.35 2.36 7.84-7.84' stroke='%231B1917' stroke-width='1.5'/%3E%3C/svg%3E%0A");
1814
- }
1815
-
1816
- @media screen and (prefers-color-scheme: dark) {
1817
- :root {
1818
- --jkl-list-marker-cross: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23DE9E9E'/%3E%3Cpath fill='%231B1917' d='M5.54 12.68l7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231B1917' d='M12.67 13.47l-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E%0A");
1819
- --jkl-list-marker-check: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%2394B79B'/%3E%3Cpath d='M4.75 11l2.35 2.36 7.84-7.84' stroke='%231B1917' stroke-width='1.5'/%3E%3C/svg%3E%0A");
1820
- }
1821
- }
1822
- [data-theme=dark] {
1823
- --jkl-list-marker-cross: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23DE9E9E'/%3E%3Cpath fill='%231B1917' d='M5.54 12.68l7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231B1917' d='M12.67 13.47l-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E%0A");
1824
- --jkl-list-marker-check: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%2394B79B'/%3E%3Cpath d='M4.75 11l2.35 2.36 7.84-7.84' stroke='%231B1917' stroke-width='1.5'/%3E%3C/svg%3E%0A");
1825
- }
1826
-
1827
1695
  @layer jokul.components {
1828
1696
  .jkl-list {
1697
+ /* stylelint-disable declaration-block-no-duplicate-custom-properties -- fallback for browsers without light-dark() support */
1698
+ --jkl-list-marker-cross: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23F6B3B3'/%3E%3Cpath fill='%231B1917' d='M5.54 12.68l7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231B1917' d='M12.67 13.47l-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E%0A");
1699
+ --jkl-list-marker-cross: light-dark(url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23F6B3B3'/%3E%3Cpath fill='%231B1917' d='M5.54 12.68l7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231B1917' d='M12.67 13.47l-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E%0A"), url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23DE9E9E'/%3E%3Cpath fill='%231B1917' d='M5.54 12.68l7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231B1917' d='M12.67 13.47l-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E%0A"));
1700
+ --jkl-list-marker-check: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%23ACD3B5'/%3E%3Cpath d='M4.75 11l2.35 2.36 7.84-7.84' stroke='%231B1917' stroke-width='1.5'/%3E%3C/svg%3E%0A");
1701
+ --jkl-list-marker-check: light-dark(url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%23ACD3B5'/%3E%3Cpath d='M4.75 11l2.35 2.36 7.84-7.84' stroke='%231B1917' stroke-width='1.5'/%3E%3C/svg%3E%0A"), url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%2394B79B'/%3E%3Cpath d='M4.75 11l2.35 2.36 7.84-7.84' stroke='%231B1917' stroke-width='1.5'/%3E%3C/svg%3E%0A"));
1702
+ /* stylelint-enable declaration-block-no-duplicate-custom-properties */
1829
1703
  --list-text-color: var(--jkl-color-text-default);
1830
1704
  list-style-type: "•";
1831
1705
  padding-left: var(--jkl-unit-20);
@@ -1891,7 +1765,6 @@
1891
1765
  }
1892
1766
  }
1893
1767
  @layer jokul.components {
1894
- /* Base layout */
1895
1768
  .jkl-modal-container,
1896
1769
  .jkl-modal-overlay {
1897
1770
  position: fixed;
@@ -1900,46 +1773,29 @@
1900
1773
  .jkl-modal-container {
1901
1774
  z-index: 9000;
1902
1775
  display: flex;
1903
- align-items: center;
1904
- justify-content: center;
1905
1776
  }
1906
1777
  .jkl-modal-container[aria-hidden=true] {
1907
- visibility: hidden;
1908
- pointer-events: none;
1778
+ display: none;
1909
1779
  }
1910
- }
1911
- @layer jokul.components {
1912
1780
  .jkl-modal-overlay {
1913
1781
  background-color: rgba(27, 25, 23, 0.8);
1914
- opacity: 0;
1915
- transition-timing-function: ease-out;
1916
- transition-duration: 250ms;
1917
- transition-property: opacity;
1918
- }
1919
- .jkl-modal-container:not([aria-hidden=true]) .jkl-modal-overlay {
1920
- opacity: 1;
1921
- }
1922
- @media (prefers-reduced-motion: reduce) {
1923
- .jkl-modal-overlay {
1924
- transition-duration: 0ms;
1925
- }
1926
1782
  }
1927
- }
1928
- @layer jokul.components {
1929
1783
  .jkl-modal {
1930
- --margin: var(--jkl-spacing-m);
1931
- container-type: inline-size;
1932
- box-sizing: border-box;
1933
- margin: var(--margin);
1934
- padding: var(--modal-padding, var(--jkl-unit-40));
1784
+ --jkl-modal-padding: var(--jkl-unit-50);
1785
+ --jkl-modal-min-width: 13.75rem;
1786
+ --jkl-modal-max-width: 41.25rem;
1787
+ margin: auto;
1935
1788
  z-index: 9000;
1789
+ position: relative;
1936
1790
  background-color: var(--jkl-color-background-container-high);
1937
- border-radius: var(--jkl-border-radius-l);
1791
+ border-radius: 0.125rem;
1938
1792
  box-shadow: 0 0.25rem 0.75rem rgba(37, 42, 49, 0.03);
1939
- width: min(100vw - 2 * var(--margin), var(--modal-width, 60ch));
1940
- max-width: none;
1793
+ width: 100%;
1794
+ min-width: var(--jkl-modal-min-width);
1795
+ max-width: var(--jkl-modal-max-width);
1941
1796
  max-height: 90vh;
1942
1797
  overflow: auto;
1798
+ padding: var(--jkl-modal-padding);
1943
1799
  display: flex;
1944
1800
  flex-direction: column;
1945
1801
  }
@@ -1948,120 +1804,48 @@
1948
1804
  border-color: CanvasText;
1949
1805
  }
1950
1806
  }
1951
- }
1952
- @layer jokul.components {
1953
- .jkl-modal-container--slide-in {
1954
- --jkl-modal-slide-x: 0px;
1955
- --jkl-modal-slide-y: 12px;
1956
- transition-timing-function: ease-in;
1957
- transition-duration: 250ms;
1958
- transition-property: visibility;
1959
- transition-duration: 0ms;
1960
- }
1961
- .jkl-modal-container--slide-in[aria-hidden=true] {
1962
- display: flex;
1963
- visibility: hidden;
1964
- pointer-events: none;
1965
- transition-delay: 250ms;
1966
- }
1967
- .jkl-modal-container--slide-in:not([aria-hidden=true]) {
1968
- visibility: visible;
1969
- transition-delay: 0ms;
1970
- }
1971
- .jkl-modal-container--slide-in .jkl-modal {
1972
- transition-timing-function: ease-out;
1973
- transition-duration: 250ms;
1974
- transition-property: transform, opacity;
1975
- transform: translate(var(--jkl-modal-slide-x), var(--jkl-modal-slide-y));
1976
- opacity: 0;
1977
- will-change: transform, opacity;
1978
- }
1979
- .jkl-modal-container--slide-in:not([aria-hidden=true]) .jkl-modal {
1980
- transform: translate(0, 0);
1981
- opacity: 1;
1982
- }
1983
- @media (prefers-reduced-motion: reduce) {
1984
- .jkl-modal-container--slide-in .jkl-modal {
1985
- transition-duration: 0ms;
1807
+ @media (width >= 0) and (max-width: 679px) {
1808
+ .jkl-modal {
1809
+ margin: auto var(--jkl-unit-30);
1986
1810
  }
1987
1811
  }
1988
- }
1989
- @layer jokul.components {
1990
- /* Placement: bottom */
1991
- .jkl-modal-container--placement-bottom {
1992
- align-items: flex-end;
1993
- }
1994
- .jkl-modal-container--placement-bottom.jkl-modal-container--slide-in {
1995
- --jkl-modal-slide-x: 0px;
1996
- --jkl-modal-slide-y: 24px;
1997
- }
1998
- .jkl-modal-container--placement-bottom .jkl-modal {
1999
- --margin: 0px;
2000
- width: min(100vw, var(--modal-width, 100vw));
2001
- border-bottom-left-radius: 0;
2002
- border-bottom-right-radius: 0;
2003
- }
2004
- /* Placement: left */
2005
- .jkl-modal-container--placement-left {
2006
- justify-content: flex-start;
2007
- }
2008
- .jkl-modal-container--placement-left.jkl-modal-container--slide-in {
2009
- --jkl-modal-slide-x: -24px;
2010
- --jkl-modal-slide-y: 0px;
2011
- }
2012
- .jkl-modal-container--placement-left .jkl-modal {
2013
- height: 100%;
2014
- max-height: 100%;
2015
- margin-block: 0;
2016
- margin-inline-start: 0;
2017
- border-top-left-radius: 0;
2018
- border-bottom-left-radius: 0;
2019
- }
2020
- /* Placement: right */
2021
- .jkl-modal-container--placement-right {
2022
- justify-content: flex-end;
2023
- }
2024
- .jkl-modal-container--placement-right.jkl-modal-container--slide-in {
2025
- --jkl-modal-slide-x: 24px;
2026
- --jkl-modal-slide-y: 0px;
1812
+ .jkl-modal-header {
1813
+ --jkl-modal-header-margin: 0 0 var(--jkl-unit-20);
2027
1814
  }
2028
- .jkl-modal-container--placement-right .jkl-modal {
2029
- height: 100%;
2030
- max-height: 100%;
2031
- margin-block: 0;
2032
- margin-inline-end: 0;
2033
- border-top-right-radius: 0;
2034
- border-bottom-right-radius: 0;
1815
+ @media (width >= 0) and (max-width: 679px) {
1816
+ .jkl-modal-header {
1817
+ --jkl-modal-header-margin: 0 0 var(--jkl-unit-15);
1818
+ }
2035
1819
  }
2036
- }
2037
- @layer jokul.components {
2038
1820
  .jkl-modal-header {
2039
- --jkl-modal-header-margin: 0 0 var(--jkl-unit-20);
2040
1821
  display: flex;
2041
1822
  flex-direction: row;
2042
1823
  justify-content: space-between;
2043
1824
  align-items: center;
2044
1825
  margin: var(--jkl-modal-header-margin);
1826
+ gap: var(--jkl-modal-gap);
2045
1827
  }
2046
1828
  .jkl-modal-body {
2047
- font-size: var(--jkl-font-size-3);
2048
- line-height: var(--jkl-line-height-relaxed);
2049
- font-weight: 400;
2050
- --jkl-icon-weight: 300;
1829
+ font: var(--jkl-text-style-paragraph-medium);
2051
1830
  }
2052
1831
  .jkl-modal-title {
2053
- font-size: var(--jkl-font-size-6);
2054
- line-height: var(--jkl-line-height-tight);
2055
- font-weight: 700;
2056
- --jkl-icon-weight: 400;
1832
+ font: var(--jkl-text-style-heading-3);
2057
1833
  }
2058
1834
  .jkl-modal-actions {
2059
- margin-block-start: var(--jkl-unit-50);
1835
+ --jkl-modal-actions-margin: var(--jkl-unit-50) 0 0 0;
1836
+ }
1837
+ @media (width >= 0) and (max-width: 679px) {
1838
+ .jkl-modal-actions {
1839
+ --jkl-modal-actions-margin: var(--jkl-unit-40) 0 0 0;
1840
+ }
1841
+ }
1842
+ .jkl-modal-actions {
1843
+ margin: var(--jkl-modal-actions-margin);
2060
1844
  display: flex;
2061
1845
  flex-direction: column;
2062
- gap: var(--jkl-unit-15) var(--jkl-unit-20);
1846
+ gap: var(--jkl-unit-20);
2063
1847
  }
2064
- @container (width > 35ch /* ~380px ved vanlig zoom/size */) {
1848
+ @media (min-width: 60ch) {
2065
1849
  .jkl-modal-actions {
2066
1850
  flex-direction: row-reverse;
2067
1851
  align-self: flex-end;
@@ -2093,10 +1877,10 @@
2093
1877
  }
2094
1878
  }
2095
1879
  .jkl-countdown__tracker {
2096
- animation: jkl-downcount-uz58f9a var(--duration) linear forwards;
1880
+ animation: jkl-downcount-udz458g var(--duration) linear forwards;
2097
1881
  animation-play-state: var(--play-state, running);
2098
1882
  }
2099
- @keyframes jkl-downcount-uz58f9a {
1883
+ @keyframes jkl-downcount-udz458g {
2100
1884
  from {
2101
1885
  width: 100%;
2102
1886
  }
@@ -2106,16 +1890,12 @@
2106
1890
  }
2107
1891
  }
2108
1892
  @layer jokul.components {
2109
- .jkl-calendar {
2110
- --jkl-calendar-padding: var(--jkl-unit-15) var(--jkl-unit-20) var(--jkl-unit-20);
2111
- --jkl-calendar-gap: var(--jkl-unit-15);
2112
- }
2113
1893
  @media (width >= 0) and (max-width: 374px) {
2114
- .jkl-calendar {
2115
- --jkl-calendar-padding: var(--jkl-unit-05) var(--jkl-unit-10) var(--jkl-unit-20);
2116
- }
1894
+ --jkl-calendar-padding: var(--jkl-unit-05) var(--jkl-unit-10) var(--jkl-unit-20);
2117
1895
  }
2118
1896
  .jkl-calendar {
1897
+ --jkl-calendar-padding: var(--jkl-unit-15) var(--jkl-unit-20) var(--jkl-unit-20);
1898
+ --jkl-calendar-gap: var(--jkl-unit-15);
2119
1899
  display: block;
2120
1900
  background-color: var(--jkl-color-background-container-high);
2121
1901
  color: var(--jkl-color);
@@ -2155,11 +1935,8 @@
2155
1935
  }
2156
1936
  .jkl-calendar-navigation-dropdown__select {
2157
1937
  appearance: none;
2158
- font-size: var(--jkl-font-size-2);
2159
- line-height: var(--jkl-line-height-tight);
2160
- font-weight: 400;
2161
- --jkl-icon-weight: 300;
2162
- font-weight: 700;
1938
+ font: var(--jkl-text-style-text-small);
1939
+ font-weight: var(--jkl-font-weight-bold);
2163
1940
  background-color: transparent;
2164
1941
  color: inherit;
2165
1942
  border-radius: 0;
@@ -2210,10 +1987,7 @@
2210
1987
  }
2211
1988
  @layer jokul.components {
2212
1989
  .jkl-calendar-table th {
2213
- font-size: var(--jkl-font-size-2);
2214
- line-height: var(--jkl-line-height-tight);
2215
- font-weight: 400;
2216
- --jkl-icon-weight: 300;
1990
+ font: var(--jkl-text-style-text-small);
2217
1991
  padding-bottom: var(--jkl-unit-10);
2218
1992
  }
2219
1993
  .jkl-calendar-table td {
@@ -2228,19 +2002,12 @@
2228
2002
  }
2229
2003
  }
2230
2004
  @layer jokul.components {
2231
- .jkl-calendar-date-button {
2232
- --jkl-calendar-date-size: var(--jkl-unit-50);
2233
- }
2234
2005
  @media (width >= 0) and (max-width: 374px) {
2235
- .jkl-calendar-date-button {
2236
- --jkl-calendar-date-size: var(--jkl-unit-40);
2237
- }
2006
+ --jkl-calendar-date-size: var(--jkl-unit-40);
2238
2007
  }
2239
2008
  .jkl-calendar-date-button {
2240
- font-size: var(--jkl-font-size-2);
2241
- line-height: var(--jkl-line-height-tight);
2242
- font-weight: 400;
2243
- --jkl-icon-weight: 300;
2009
+ --jkl-calendar-date-size: var(--jkl-unit-50);
2010
+ font: var(--jkl-text-style-text-small);
2244
2011
  appearance: none;
2245
2012
  position: relative;
2246
2013
  box-sizing: border-box;
@@ -2255,8 +2022,8 @@
2255
2022
  margin: var(--jkl-calendar-date-margin);
2256
2023
  padding: 0;
2257
2024
  padding-top: var(--jkl-unit-02);
2258
- transition-timing-function: ease-out;
2259
- transition-duration: 75ms;
2025
+ transition-timing-function: var(--jkl-motion-easing-entrance);
2026
+ transition-duration: var(--jkl-motion-timing-energetic);
2260
2027
  transition-property: color, background-color, box-shadow;
2261
2028
  }
2262
2029
  .jkl-calendar-date-button {
@@ -2280,15 +2047,12 @@
2280
2047
  }
2281
2048
  }
2282
2049
  .jkl-calendar-date-button[data-adjacent=true] {
2283
- font-size: var(--jkl-font-size-2);
2284
- line-height: var(--jkl-line-height-tight);
2285
- font-weight: 400;
2286
- --jkl-icon-weight: 300;
2050
+ font: var(--jkl-text-style-text-small);
2287
2051
  padding: 0;
2288
2052
  color: var(--jkl-color-text-subdued);
2289
2053
  }
2290
2054
  .jkl-calendar-date-button[aria-current=date] {
2291
- font-weight: 700;
2055
+ font-weight: var(--jkl-font-weight-bold);
2292
2056
  }
2293
2057
  .jkl-calendar-date-button:hover:not(:disabled) {
2294
2058
  background-color: var(--jkl-color-background-interactive-hover);
@@ -2363,26 +2127,14 @@
2363
2127
  }
2364
2128
  }
2365
2129
  @layer jokul.components {
2366
- @media screen and (prefers-color-scheme: light) {
2367
- :root {
2368
- --jkl-datepicker-box-shadow: rgb(49 48 48 / 20%);
2369
- }
2370
- }
2371
- [data-theme=light] {
2372
- --jkl-datepicker-box-shadow: rgb(49 48 48 / 20%);
2373
- }
2374
- @media screen and (prefers-color-scheme: dark) {
2375
- :root {
2376
- --jkl-datepicker-box-shadow: rgb(0 0 0 / 50%);
2377
- }
2378
- }
2379
- [data-theme=dark] {
2380
- --jkl-datepicker-box-shadow: rgb(0 0 0 / 50%);
2381
- }
2382
2130
  .jkl-popover {
2131
+ /* stylelint-disable declaration-block-no-duplicate-custom-properties -- fallback for browsers without light-dark() support */
2132
+ --shadow-color: rgb(49 48 48 / 20%);
2133
+ --shadow-color: light-dark(rgb(49 48 48 / 20%), rgb(0 0 0 / 50%));
2134
+ /* stylelint-enable declaration-block-no-duplicate-custom-properties */
2383
2135
  padding: var(--popover-padding, 0);
2384
2136
  z-index: 10000;
2385
- box-shadow: 0 4px 20px 0 var(--jkl-datepicker-box-shadow);
2137
+ box-shadow: 0 4px 20px 0 var(--shadow-color);
2386
2138
  background-color: var(--jkl-color-background-container-high);
2387
2139
  border-radius: var(--jkl-border-radius-s);
2388
2140
  }
@@ -2406,7 +2158,7 @@
2406
2158
  display: unset;
2407
2159
  }
2408
2160
  .jkl-description-list__term {
2409
- font-weight: 700;
2161
+ font-weight: var(--jkl-font-weight-bold);
2410
2162
  }
2411
2163
  .jkl-description-list__detail {
2412
2164
  margin-left: 0;
@@ -2540,13 +2292,13 @@
2540
2292
  }
2541
2293
  .jkl-expander--open .jkl-expander__label {
2542
2294
  --jkl-icon-weight: 400;
2543
- font-weight: 700;
2295
+ font-weight: var(--jkl-font-weight-bold);
2544
2296
  letter-spacing: -0.014em;
2545
2297
  }
2546
2298
  .jkl-expander--open .jkl-expander__chevron {
2547
2299
  transform: rotate(-0.5turn);
2548
- transition-timing-function: ease;
2549
- transition-duration: 100ms;
2300
+ transition-timing-function: var(--jkl-motion-easing-standard);
2301
+ transition-duration: var(--jkl-motion-timing-snappy);
2550
2302
  }
2551
2303
  @media (hover: hover) {
2552
2304
  .jkl-expander:hover {
@@ -2581,8 +2333,8 @@
2581
2333
  .jkl-feedback__submit-wrapper {
2582
2334
  width: 100%;
2583
2335
  transition-property: height;
2584
- transition-timing-function: ease;
2585
- transition-duration: 250ms;
2336
+ transition-timing-function: var(--jkl-motion-easing-standard);
2337
+ transition-duration: var(--jkl-motion-timing-expressive);
2586
2338
  }
2587
2339
  .jkl-feedback__submit-wrapper--hidden {
2588
2340
  display: none;
@@ -2590,19 +2342,15 @@
2590
2342
  .jkl-feedback__step-counter {
2591
2343
  color: var(--jkl-color-text-subdued);
2592
2344
  margin-bottom: var(--jkl-unit-20);
2593
- font-size: var(--jkl-font-size-2);
2594
- line-height: var(--jkl-line-height-relaxed);
2595
- font-weight: 400;
2596
- --jkl-icon-weight: 300;
2597
- --jkl-icon-size: 1.2em;
2345
+ font: var(--jkl-text-style-paragraph-small);
2598
2346
  }
2599
2347
  .jkl-feedback__fade-in {
2600
- animation: jkl-show-uz58f9x 0.25s ease-out;
2348
+ animation: jkl-show-udz4593 0.25s ease-out;
2601
2349
  }
2602
2350
  .jkl-feedback__buttons {
2603
2351
  display: flex;
2604
2352
  }
2605
- @keyframes jkl-show-uz58f9x {
2353
+ @keyframes jkl-show-udz4593 {
2606
2354
  from {
2607
2355
  transform: translate3d(0, 0.5rem, 0);
2608
2356
  opacity: 0;
@@ -2615,7 +2363,7 @@
2615
2363
  width: 100%;
2616
2364
  max-width: 22.5rem;
2617
2365
  flex-wrap: nowrap;
2618
- gap: 0.75rem;
2366
+ gap: var(--jkl-spacing-12);
2619
2367
  }
2620
2368
  .jkl-feedback-smiley-option {
2621
2369
  display: inline-block;
@@ -2625,8 +2373,8 @@
2625
2373
  width: 2.5rem;
2626
2374
  color: var(--jkl-color-text-subdued);
2627
2375
  transform: translate3d(0, 0, 0);
2628
- transition-timing-function: ease;
2629
- transition-duration: 150ms;
2376
+ transition-timing-function: var(--jkl-motion-easing-standard);
2377
+ transition-duration: var(--jkl-motion-timing-productive);
2630
2378
  transition-property: transform, color;
2631
2379
  }
2632
2380
  @media screen and (forced-colors: active) {
@@ -2644,8 +2392,8 @@
2644
2392
  position: absolute;
2645
2393
  border-radius: 50%;
2646
2394
  opacity: 0;
2647
- transition-timing-function: ease;
2648
- transition-duration: 150ms;
2395
+ transition-timing-function: var(--jkl-motion-easing-standard);
2396
+ transition-duration: var(--jkl-motion-timing-productive);
2649
2397
  transition-property: opacity;
2650
2398
  }
2651
2399
  .jkl-feedback-smiley-option::after {
@@ -2691,16 +2439,10 @@
2691
2439
  align-items: start;
2692
2440
  grid-template-areas: "icon content dismiss";
2693
2441
  grid-template-columns: auto 1fr auto;
2694
- font-size: var(--jkl-font-size-3);
2695
- line-height: var(--jkl-line-height-relaxed);
2696
- font-weight: 400;
2697
- --jkl-icon-weight: 300;
2442
+ font: var(--jkl-text-style-paragraph-medium);
2698
2443
  }
2699
2444
  .jkl-message:has(.jkl-message__title) {
2700
- font-size: var(--jkl-font-size-4);
2701
- line-height: var(--jkl-line-height-tight);
2702
- font-weight: 700;
2703
- --jkl-icon-weight: 400;
2445
+ font: var(--jkl-text-style-heading-5);
2704
2446
  }
2705
2447
  .jkl-message__icon {
2706
2448
  grid-area: icon;
@@ -2718,17 +2460,11 @@
2718
2460
  grid-area: content;
2719
2461
  }
2720
2462
  .jkl-message__message {
2721
- font-size: var(--jkl-font-size-3);
2722
- line-height: var(--jkl-line-height-relaxed);
2723
- font-weight: 400;
2724
- --jkl-icon-weight: 300;
2463
+ font: var(--jkl-text-style-paragraph-medium);
2725
2464
  margin-top: -0.125rem;
2726
2465
  }
2727
2466
  .jkl-message__title {
2728
- font-size: var(--jkl-font-size-4);
2729
- line-height: var(--jkl-line-height-tight);
2730
- font-weight: 700;
2731
- --jkl-icon-weight: 400;
2467
+ font: var(--jkl-text-style-heading-5);
2732
2468
  margin: var(--jkl-message-title-margin);
2733
2469
  }
2734
2470
  .jkl-message__title ~ .jkl-message__message {
@@ -2819,8 +2555,8 @@
2819
2555
  --background-color: var(--jkl-color-background-alert-success);
2820
2556
  }
2821
2557
  .jkl-message--dismissed {
2822
- animation: jkl-dismiss-uz58fa3 400ms ease-in-out forwards;
2823
- transition: visibility 0ms 400ms;
2558
+ animation: jkl-dismiss-udz45a1 var(--jkl-motion-timing-lazy) ease-in-out forwards;
2559
+ transition: visibility 0ms var(--jkl-motion-timing-lazy);
2824
2560
  visibility: hidden;
2825
2561
  }
2826
2562
  @media screen and (forced-colors: active) {
@@ -2839,9 +2575,9 @@
2839
2575
  }
2840
2576
  }
2841
2577
  .jkl-form-error-message {
2842
- padding-bottom: calc(var(--jkl-unit-base) * 5);
2578
+ padding-bottom: var(--jkl-unit-50);
2843
2579
  }
2844
- @keyframes jkl-dismiss-uz58fa3 {
2580
+ @keyframes jkl-dismiss-udz45a1 {
2845
2581
  from {
2846
2582
  opacity: 1;
2847
2583
  transform: translate3d(0, 0, 0);
@@ -2853,23 +2589,11 @@
2853
2589
  }
2854
2590
  }
2855
2591
  @layer jokul.components {
2856
- @media screen and (prefers-color-scheme: light) {
2857
- :root {
2858
- --jkl-radio-button-error-color: #ab2e43;
2859
- }
2860
- }
2861
- [data-theme=light] {
2862
- --jkl-radio-button-error-color: #ab2e43;
2863
- }
2864
- @media screen and (prefers-color-scheme: dark) {
2865
- :root {
2866
- --jkl-radio-button-error-color: #d79ba5;
2867
- }
2868
- }
2869
- [data-theme=dark] {
2870
- --jkl-radio-button-error-color: #d79ba5;
2871
- }
2872
2592
  .jkl-radio-button {
2593
+ /* stylelint-disable declaration-block-no-duplicate-custom-properties -- fallback for browsers without light-dark() support */
2594
+ --jkl-radio-button-error-color: #ab2e43;
2595
+ --jkl-radio-button-error-color: light-dark(#ab2e43, #d79ba5);
2596
+ /* stylelint-enable declaration-block-no-duplicate-custom-properties */
2873
2597
  display: flex;
2874
2598
  position: relative;
2875
2599
  }
@@ -2903,31 +2627,25 @@
2903
2627
  .jkl-radio-button__label {
2904
2628
  cursor: pointer;
2905
2629
  display: flex;
2906
- transition-timing-function: ease;
2907
- transition-duration: 150ms;
2630
+ transition-timing-function: var(--jkl-motion-easing-standard);
2631
+ transition-duration: var(--jkl-motion-timing-productive);
2908
2632
  transition-property: color;
2909
- font-size: var(--jkl-font-size-3);
2910
- line-height: var(--jkl-line-height-tight);
2911
- font-weight: 400;
2912
- --jkl-icon-weight: 300;
2913
- }
2914
- .jkl-radio-button__label:hover, .jkl-radio-button__label:active {
2915
- --jkl-icon-weight: 400;
2633
+ font: var(--jkl-text-style-text-medium);
2916
2634
  }
2917
2635
  .jkl-radio-button__label::before {
2918
2636
  content: "radio_button_unchecked";
2919
2637
  margin-inline-end: 0.25em;
2920
2638
  font-family: "Fremtind Material Symbols", "Fremtind Material Symbols Fallback", sans-serif;
2921
- font-variation-settings: "FILL" var(--jkl-icon-fill, 0), "GRAD" var(--jkl-icon-grade, 0), "opsz" var(--jkl-icon-opsz, 24);
2639
+ font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
2922
2640
  font-feature-settings: "liga";
2923
2641
  -webkit-font-feature-settings: "liga";
2924
2642
  font-size: 1.3em;
2925
- font-weight: var(--jkl-icon-weight, 300);
2643
+ font-weight: 400;
2926
2644
  line-height: 1;
2927
2645
  display: inline-block;
2928
2646
  -webkit-font-smoothing: antialiased;
2929
- transition-timing-function: ease;
2930
- transition-duration: 75ms;
2647
+ transition-timing-function: var(--jkl-motion-easing-standard);
2648
+ transition-duration: var(--jkl-motion-timing-energetic);
2931
2649
  transition-property: font-variation-settings, transform;
2932
2650
  }
2933
2651
  .jkl-radio-button__label:has(+ :checked)::before {
@@ -2949,7 +2667,7 @@
2949
2667
  .jkl-radio-button + .jkl-form-support-label {
2950
2668
  margin-left: 1.75em;
2951
2669
  margin-top: 0.25lh;
2952
- margin-bottom: var(--jkl-unit-base);
2670
+ margin-bottom: var(--jkl-unit-10);
2953
2671
  }
2954
2672
  }
2955
2673
  @layer jokul.components {
@@ -2973,12 +2691,9 @@
2973
2691
  position: relative;
2974
2692
  display: flex;
2975
2693
  align-items: center;
2976
- font-size: var(--jkl-font-size-3);
2977
- line-height: var(--jkl-line-height-tight);
2978
- font-weight: 400;
2979
- --jkl-icon-weight: 300;
2980
- transition-timing-function: ease;
2981
- transition-duration: 150ms;
2694
+ font: var(--jkl-text-style-text-medium);
2695
+ transition-timing-function: var(--jkl-motion-easing-standard);
2696
+ transition-duration: var(--jkl-motion-timing-productive);
2982
2697
  transition-property: color, box-shadow, background-color;
2983
2698
  background-color: var(--background-color);
2984
2699
  color: var(--text-color);
@@ -3057,16 +2772,13 @@
3057
2772
  max-height: var(--text-input-height);
3058
2773
  height: var(--text-input-height);
3059
2774
  min-height: var(--text-input-height);
3060
- transition-timing-function: ease;
3061
- transition-duration: 150ms;
2775
+ transition-timing-function: var(--jkl-motion-easing-standard);
2776
+ transition-duration: var(--jkl-motion-timing-productive);
3062
2777
  transition-property: height, min-height, max-height, padding;
3063
2778
  background: none;
3064
2779
  -webkit-appearance: none;
3065
2780
  color: inherit;
3066
- font-size: var(--jkl-font-size-3);
3067
- line-height: var(--jkl-line-height-tight);
3068
- font-weight: 400;
3069
- --jkl-icon-weight: 300;
2781
+ font: var(--jkl-text-style-text-medium);
3070
2782
  }
3071
2783
  .jkl-text-area__text-area {
3072
2784
  outline: 0;
@@ -3132,10 +2844,7 @@
3132
2844
  .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area__counter-count {
3133
2845
  padding: var(--jkl-text-input-padding);
3134
2846
  color: var(--text-color);
3135
- font-size: var(--jkl-font-size-2);
3136
- line-height: var(--jkl-line-height-tight);
3137
- font-weight: 400;
3138
- --jkl-icon-weight: 300;
2847
+ font: var(--jkl-text-style-text-small);
3139
2848
  }
3140
2849
  .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area__counter-progress {
3141
2850
  background-color: transparent;
@@ -3150,8 +2859,8 @@
3150
2859
  height: var(--progress-bar-height);
3151
2860
  background-color: var(--border-color);
3152
2861
  transition-property: width;
3153
- transition-timing-function: ease;
3154
- transition-duration: 400ms;
2862
+ transition-timing-function: var(--jkl-motion-easing-standard);
2863
+ transition-duration: var(--jkl-motion-timing-lazy);
3155
2864
  }
3156
2865
  .jkl-text-area__text-area--3-rows:focus,
3157
2866
  .jkl-text-area__text-area--3-rows:not(:placeholder-shown),
@@ -3238,11 +2947,11 @@
3238
2947
  --border: 1px solid var(--jkl-color-border-separator);
3239
2948
  --border-radius: 2px;
3240
2949
  --bg: transparent;
3241
- --transition-time: 250ms;
2950
+ --transition-time: var(--jkl-motion-timing-expressive);
3242
2951
  }
3243
2952
  .jkl-file__content {
3244
- transition-timing-function: ease;
3245
- transition-duration: 100ms;
2953
+ transition-timing-function: var(--jkl-motion-easing-standard);
2954
+ transition-duration: var(--jkl-motion-timing-snappy);
3246
2955
  transition-property: background-color, border-color, color;
3247
2956
  color: var(--jkl-color-text-default);
3248
2957
  padding: var(--jkl-file-padding);
@@ -3257,11 +2966,7 @@
3257
2966
  height: fit-content;
3258
2967
  }
3259
2968
  .jkl-file__content__name {
3260
- font-size: var(--jkl-font-size-2);
3261
- line-height: var(--jkl-line-height-relaxed);
3262
- font-weight: 400;
3263
- --jkl-icon-weight: 300;
3264
- --jkl-icon-size: 1.2em;
2969
+ font: var(--jkl-text-style-paragraph-small);
3265
2970
  grid-area: text;
3266
2971
  /* stylelint-disable-next-line declaration-property-value-keyword-no-deprecated */
3267
2972
  word-break: break-word;
@@ -3331,11 +3036,7 @@
3331
3036
  grid-template-areas: "image image" "text button";
3332
3037
  }
3333
3038
  .jkl-file:not([data-state*=loading]) .jkl-file__content__thumbnail:not(:has(img[src]))::before {
3334
- font-size: var(--jkl-font-size-2);
3335
- line-height: var(--jkl-line-height-relaxed);
3336
- font-weight: 400;
3337
- --jkl-icon-weight: 300;
3338
- --jkl-icon-size: 1.2em;
3039
+ font: var(--jkl-text-style-paragraph-small);
3339
3040
  content: attr(data-filetype);
3340
3041
  }
3341
3042
  .jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail img {
@@ -3386,8 +3087,8 @@
3386
3087
  flex-direction: column;
3387
3088
  flex-wrap: nowrap;
3388
3089
  gap: var(--jkl-file-input-dropzone-gap);
3389
- transition-timing-function: ease;
3390
- transition-duration: 150ms;
3090
+ transition-timing-function: var(--jkl-motion-easing-standard);
3091
+ transition-duration: var(--jkl-motion-timing-productive);
3391
3092
  transition-property: background-color;
3392
3093
  background-color: var(--background-color);
3393
3094
  }
@@ -3397,11 +3098,7 @@
3397
3098
  border-style: solid;
3398
3099
  }
3399
3100
  .jkl-file-input__dropzone__drag-text {
3400
- font-size: var(--jkl-font-size-2);
3401
- line-height: var(--jkl-line-height-relaxed);
3402
- font-weight: 400;
3403
- --jkl-icon-weight: 300;
3404
- --jkl-icon-size: 1.2em;
3101
+ font: var(--jkl-text-style-paragraph-small);
3405
3102
  }
3406
3103
  @media (width >= 0) and (max-width: 679px) {
3407
3104
  .jkl-file-input__dropzone__drag-text {
@@ -3430,10 +3127,7 @@
3430
3127
  display: none;
3431
3128
  }
3432
3129
  .jkl-file-input__max-size-text {
3433
- font-size: var(--jkl-font-size-2);
3434
- line-height: var(--jkl-line-height-tight);
3435
- font-weight: 400;
3436
- --jkl-icon-weight: 300;
3130
+ font: var(--jkl-text-style-text-small);
3437
3131
  color: var(--jkl-color-text-subdued);
3438
3132
  margin-top: var(--jkl-unit-30);
3439
3133
  }
@@ -3458,11 +3152,8 @@
3458
3152
  max-width: fit-content;
3459
3153
  }
3460
3154
  .jkl-file-input--small .jkl-file-input__call-to-action {
3461
- font-size: var(--jkl-font-size-2);
3462
- line-height: var(--jkl-line-height-tight);
3463
- font-weight: 400;
3464
- --jkl-icon-weight: 300;
3465
- gap: calc(var(--jkl-unit-base) * 1.5);
3155
+ font: var(--jkl-text-style-text-small);
3156
+ gap: var(--jkl-unit-15);
3466
3157
  flex-direction: row;
3467
3158
  justify-content: flex-start;
3468
3159
  }
@@ -3475,18 +3166,11 @@
3475
3166
  .jkl-link-list {
3476
3167
  --border: 1px solid var(--jkl-color-border-separator);
3477
3168
  --text-color: var(--jkl-color-text-default);
3478
- font-size: var(--jkl-font-size-3);
3479
- line-height: var(--jkl-line-height-relaxed);
3480
- font-weight: 400;
3481
- --jkl-icon-weight: 300;
3169
+ font: var(--jkl-text-style-paragraph-medium);
3482
3170
  }
3483
3171
  .jkl-link-list .jkl-link-list-title {
3484
3172
  margin-block-end: var(--jkl-unit-10);
3485
- font-size: var(--jkl-font-size-2);
3486
- line-height: var(--jkl-line-height-relaxed);
3487
- font-weight: 400;
3488
- --jkl-icon-weight: 300;
3489
- --jkl-icon-size: 1.2em;
3173
+ font: var(--jkl-text-style-paragraph-small);
3490
3174
  }
3491
3175
  .jkl-link-list ul {
3492
3176
  display: flex;
@@ -3510,30 +3194,27 @@
3510
3194
  text-wrap: balance;
3511
3195
  box-sizing: border-box;
3512
3196
  padding: var(--jkl-unit-20);
3513
- font-size: var(--jkl-font-size-3);
3514
- line-height: var(--jkl-line-height-tight);
3515
- font-weight: 400;
3516
- --jkl-icon-weight: 300;
3517
- transition-timing-function: ease;
3518
- transition-duration: 150ms;
3197
+ font: var(--jkl-text-style-text-medium);
3198
+ transition-timing-function: var(--jkl-motion-easing-standard);
3199
+ transition-duration: var(--jkl-motion-timing-productive);
3519
3200
  transition-property: background;
3520
3201
  }
3521
3202
  .jkl-link-list ul .jkl-link-list-link::after {
3522
3203
  content: "arrow_forward"/"";
3523
3204
  font-family: "Fremtind Material Symbols", "Fremtind Material Symbols Fallback", sans-serif;
3524
- font-variation-settings: "FILL" var(--jkl-icon-fill, 0), "GRAD" var(--jkl-icon-grade, 0), "opsz" var(--jkl-icon-opsz, 24);
3205
+ font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
3525
3206
  font-feature-settings: "liga";
3526
3207
  -webkit-font-feature-settings: "liga";
3527
3208
  font-size: 1.3em;
3528
- font-weight: var(--jkl-icon-weight, 300);
3209
+ font-weight: 400;
3529
3210
  line-height: 1;
3530
3211
  display: inline-block;
3531
3212
  -webkit-font-smoothing: antialiased;
3532
- transition-timing-function: ease;
3533
- transition-duration: 75ms;
3213
+ transition-timing-function: var(--jkl-motion-easing-standard);
3214
+ transition-duration: var(--jkl-motion-timing-energetic);
3534
3215
  transition-property: font-variation-settings, transform;
3535
- transition-timing-function: ease;
3536
- transition-duration: 150ms;
3216
+ transition-timing-function: var(--jkl-motion-easing-standard);
3217
+ transition-duration: var(--jkl-motion-timing-productive);
3537
3218
  transition-property: translate;
3538
3219
  }
3539
3220
  .jkl-link-list ul .jkl-link-list-link:is(:hover, :focus-visible) {
@@ -3589,13 +3270,13 @@
3589
3270
  transform: translateX(-5%);
3590
3271
  }
3591
3272
  .jkl-logo--animated .jkl-logo__F {
3592
- transition: transform 250ms 75ms cubic-bezier(0.5, 0, 0.62, 1);
3273
+ transition: transform var(--jkl-motion-timing-expressive) var(--jkl-motion-timing-energetic) cubic-bezier(0.5, 0, 0.62, 1);
3593
3274
  }
3594
3275
  .jkl-logo--animated .jkl-logo__F-line {
3595
- transition: transform 250ms ease-in;
3276
+ transition: transform var(--jkl-motion-timing-expressive) ease-in;
3596
3277
  }
3597
3278
  .jkl-logo--animated .jkl-logo__fremtind {
3598
- transition: opacity 250ms 75ms ease-in, transform 250ms ease;
3279
+ transition: opacity var(--jkl-motion-timing-expressive) var(--jkl-motion-timing-energetic) ease-in, transform var(--jkl-motion-timing-expressive) ease;
3599
3280
  }
3600
3281
  .jkl-logo--centered.jkl-logo--symbol-only .jkl-logo__F {
3601
3282
  transform: translateX(35%) rotate(45deg);
@@ -3616,7 +3297,7 @@
3616
3297
  .jkl-logo-stamp--animated .jkl-logo-stamp__text {
3617
3298
  transform-origin: 256px 256px;
3618
3299
  transition-timing-function: cubic-bezier(0.75, 0, 0, 1);
3619
- transition-duration: 150ms;
3300
+ transition-duration: var(--jkl-motion-timing-productive);
3620
3301
  transition-property: transform;
3621
3302
  }
3622
3303
  .jkl-logo-stamp--animated[data-rotate=true] .jkl-logo-stamp__text {
@@ -3635,10 +3316,7 @@
3635
3316
  cursor: pointer;
3636
3317
  box-sizing: border-box;
3637
3318
  user-select: none;
3638
- font-size: var(--jkl-font-size-3);
3639
- line-height: var(--jkl-line-height-tight);
3640
- font-weight: 400;
3641
- --jkl-icon-weight: 300;
3319
+ font: var(--jkl-text-style-text-medium);
3642
3320
  display: flex;
3643
3321
  align-items: center;
3644
3322
  gap: var(--jkl-unit-10);
@@ -3702,23 +3380,11 @@
3702
3380
  }
3703
3381
  }
3704
3382
  @layer jokul.components {
3705
- @media screen and (prefers-color-scheme: light) {
3706
- :root {
3707
- --jkl-menu-border-color: transparent;
3708
- }
3709
- }
3710
- [data-theme=light] {
3711
- --jkl-menu-border-color: transparent;
3712
- }
3713
- @media screen and (prefers-color-scheme: dark) {
3714
- :root {
3715
- --jkl-menu-border-color: var(--jkl-color-border-input-focus);
3716
- }
3717
- }
3718
- [data-theme=dark] {
3719
- --jkl-menu-border-color: var(--jkl-color-border-input-focus);
3720
- }
3721
3383
  .jkl-menu {
3384
+ /* stylelint-disable declaration-block-no-duplicate-custom-properties -- fallback for browsers without light-dark() support */
3385
+ --border-color: transparent;
3386
+ --border-color: light-dark(transparent, var(--jkl-color-border-input-focus));
3387
+ /* stylelint-enable declaration-block-no-duplicate-custom-properties */
3722
3388
  background-color: var(--jkl-color-background-container-high);
3723
3389
  width: 100%;
3724
3390
  max-width: 21rem;
@@ -3728,7 +3394,7 @@
3728
3394
  flex-wrap: nowrap;
3729
3395
  box-shadow: 0 0.25rem 1.25rem rgba(49, 48, 48, 0.2);
3730
3396
  border-radius: 0.125rem;
3731
- border: 2px solid var(--jkl-menu-border-color);
3397
+ border: 2px solid var(--border-color);
3732
3398
  z-index: 7000;
3733
3399
  }
3734
3400
  .jkl-menu:focus-visible {
@@ -3742,7 +3408,7 @@
3742
3408
  .jkl-nav-link {
3743
3409
  color: var(--jkl-color-text-default);
3744
3410
  box-sizing: border-box;
3745
- font-weight: var(--jkl-typography-weight-normal);
3411
+ font-weight: var(--jkl-font-weight-normal);
3746
3412
  text-decoration: none;
3747
3413
  position: relative;
3748
3414
  padding-right: 0.15rem;
@@ -3782,13 +3448,13 @@
3782
3448
  margin-inline-start: 0.1em;
3783
3449
  margin-block-start: -0.1em;
3784
3450
  vertical-align: middle;
3785
- transition-timing-function: ease;
3786
- transition-duration: 150ms;
3451
+ transition-timing-function: var(--jkl-motion-easing-standard);
3452
+ transition-duration: var(--jkl-motion-timing-productive);
3787
3453
  transition-property: transform;
3788
3454
  }
3789
3455
  .jkl-nav-link--active {
3790
3456
  --jkl-icon-weight: 400;
3791
- font-weight: 700;
3457
+ font-weight: var(--jkl-font-weight-bold);
3792
3458
  letter-spacing: -0.014em;
3793
3459
  }
3794
3460
  .jkl-nav-link--back {
@@ -3817,12 +3483,9 @@
3817
3483
  background-color: var(--jkl-color-background-container-low);
3818
3484
  padding: var(--jkl-spacing-s);
3819
3485
  border-radius: 0;
3820
- font-size: var(--jkl-font-size-3);
3821
- line-height: var(--jkl-line-height-relaxed);
3822
- font-weight: 400;
3823
- --jkl-icon-weight: 300;
3824
- transition-timing-function: cubic-bezier(0, 0, 0.375, 1.17);
3825
- transition-duration: 150ms;
3486
+ font: var(--jkl-text-style-paragraph-medium);
3487
+ transition-timing-function: var(--jkl-motion-easing-ease-in-bounce-out);
3488
+ transition-duration: var(--jkl-motion-timing-productive);
3826
3489
  transition-property: background-color;
3827
3490
  }
3828
3491
  .jkl-navlink--beta .title,
@@ -3838,19 +3501,19 @@
3838
3501
  grid-row: 1/span 999;
3839
3502
  translate: 0;
3840
3503
  font-family: "Fremtind Material Symbols", "Fremtind Material Symbols Fallback", sans-serif;
3841
- font-variation-settings: "FILL" var(--jkl-icon-fill, 0), "GRAD" var(--jkl-icon-grade, 0), "opsz" var(--jkl-icon-opsz, 24);
3504
+ font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
3842
3505
  font-feature-settings: "liga";
3843
3506
  -webkit-font-feature-settings: "liga";
3844
3507
  font-size: 1.3em;
3845
- font-weight: var(--jkl-icon-weight, 300);
3508
+ font-weight: 400;
3846
3509
  line-height: 1;
3847
3510
  display: inline-block;
3848
3511
  -webkit-font-smoothing: antialiased;
3849
- transition-timing-function: ease;
3850
- transition-duration: 75ms;
3512
+ transition-timing-function: var(--jkl-motion-easing-standard);
3513
+ transition-duration: var(--jkl-motion-timing-energetic);
3851
3514
  transition-property: font-variation-settings, transform;
3852
- transition-timing-function: cubic-bezier(0, 0, 0.375, 1.17);
3853
- transition-duration: 150ms;
3515
+ transition-timing-function: var(--jkl-motion-easing-ease-in-bounce-out);
3516
+ transition-duration: var(--jkl-motion-timing-productive);
3854
3517
  transition-property: translate;
3855
3518
  }
3856
3519
  .jkl-navlink--beta:hover, .jkl-navlink--beta:focus-visible {
@@ -3906,7 +3569,7 @@
3906
3569
  }
3907
3570
  .jkl-pagination-button--current {
3908
3571
  --jkl-icon-weight: 400;
3909
- font-weight: 700;
3572
+ font-weight: var(--jkl-font-weight-bold);
3910
3573
  letter-spacing: -0.014em;
3911
3574
  }
3912
3575
  .jkl-pagination-button--elipsis {
@@ -3997,12 +3660,9 @@
3997
3660
  /* Øk padding for å gi plass til ikonet */
3998
3661
  padding-inline-end: 2.05em;
3999
3662
  transition-property: color, border-color, box-shadow;
4000
- transition-timing-function: ease;
4001
- transition-duration: 150ms;
4002
- font-size: var(--jkl-font-size-3);
4003
- line-height: var(--jkl-line-height-tight);
4004
- font-weight: 400;
4005
- --jkl-icon-weight: 300;
3663
+ transition-timing-function: var(--jkl-motion-easing-standard);
3664
+ transition-duration: var(--jkl-motion-timing-productive);
3665
+ font: var(--jkl-text-style-text-medium);
4006
3666
  }
4007
3667
  .jkl-select__search-input--active-value, .jkl-select__button--active-value {
4008
3668
  color: var(--jkl-color-text-default);
@@ -4034,8 +3694,8 @@
4034
3694
  color: var(--jkl-color-text-default);
4035
3695
  transform: translateY(-50%);
4036
3696
  transition-property: transform, color;
4037
- transition-timing-function: ease;
4038
- transition-duration: 150ms;
3697
+ transition-timing-function: var(--jkl-motion-easing-standard);
3698
+ transition-duration: var(--jkl-motion-timing-productive);
4039
3699
  }
4040
3700
  @media screen and (forced-colors: active) {
4041
3701
  .jkl-select__arrow {
@@ -4064,8 +3724,8 @@
4064
3724
  overflow-y: auto;
4065
3725
  max-height: calc((var(--jkl-select-max-shown-options, 5) + 0.5) * var(--min-option-height));
4066
3726
  transition-property: height;
4067
- transition-timing-function: ease;
4068
- transition-duration: 150ms;
3727
+ transition-timing-function: var(--jkl-motion-easing-standard);
3728
+ transition-duration: var(--jkl-motion-timing-productive);
4069
3729
  }
4070
3730
  .jkl-select__option-wrapper {
4071
3731
  margin: 0;
@@ -4084,12 +3744,9 @@
4084
3744
  position: relative;
4085
3745
  padding: var(--option-padding);
4086
3746
  cursor: pointer;
4087
- transition-timing-function: ease;
4088
- transition-duration: 150ms;
4089
- font-size: var(--jkl-font-size-3);
4090
- line-height: var(--jkl-line-height-tight);
4091
- font-weight: 400;
4092
- --jkl-icon-weight: 300;
3747
+ transition-timing-function: var(--jkl-motion-easing-standard);
3748
+ transition-duration: var(--jkl-motion-timing-productive);
3749
+ font: var(--jkl-text-style-text-medium);
4093
3750
  /* For å unngå "dobbel" markering skrur vi av markering på hover i React-
4094
3751
  komponenten med data-focus="controlled". Uten dette satt vil valgene
4095
3752
  markeres ved hover som normalt. */
@@ -4102,10 +3759,7 @@
4102
3759
  color: var(--jkl-color-text-subdued);
4103
3760
  display: block;
4104
3761
  width: 100%;
4105
- font-size: var(--jkl-font-size-2);
4106
- line-height: var(--jkl-line-height-tight);
4107
- font-weight: 400;
4108
- --jkl-icon-weight: 300;
3762
+ font: var(--jkl-text-style-text-small);
4109
3763
  }
4110
3764
  .jkl-select {
4111
3765
  /* --------
@@ -4156,7 +3810,7 @@
4156
3810
  border-top: 1px solid SelectedItem;
4157
3811
  border-bottom: 1px solid SelectedItem;
4158
3812
  --jkl-icon-weight: 400;
4159
- font-weight: 700;
3813
+ font-weight: var(--jkl-font-weight-bold);
4160
3814
  letter-spacing: -0.014em;
4161
3815
  }
4162
3816
  }
@@ -4187,10 +3841,10 @@
4187
3841
  }
4188
3842
  .jkl-progress-bar__tracker {
4189
3843
  transition-property: width;
4190
- transition-timing-function: ease;
4191
- transition-duration: 150ms;
3844
+ transition-timing-function: var(--jkl-motion-easing-standard);
3845
+ transition-duration: var(--jkl-motion-timing-productive);
4192
3846
  }
4193
- @keyframes jkl-downcount-uz58fau {
3847
+ @keyframes jkl-downcount-udz45ax {
4194
3848
  from {
4195
3849
  width: 100%;
4196
3850
  }
@@ -4207,12 +3861,12 @@
4207
3861
  }
4208
3862
  .jkl-select--beta {
4209
3863
  --border-color: var(--jkl-color-border-input);
4210
- --background-color: transparent;
3864
+ --background-color: var(transparent);
4211
3865
  --color: var(--jkl-color-text-default);
4212
3866
  --box-shadow: 0 0 0 jkl.rem(1px) transparent;
4213
3867
  --border-width: 0.0625rem;
4214
3868
  --button-padding: calc(var(--jkl-unit-15) - var(--border-width));
4215
- --arrow-right: calc(var(--jkl-unit-base) * 0.25);
3869
+ --arrow-right: var(--jkl-unit-02);
4216
3870
  display: block;
4217
3871
  position: relative;
4218
3872
  }
@@ -4285,12 +3939,9 @@
4285
3939
  outline: none;
4286
3940
  }
4287
3941
  .jkl-select--beta select {
4288
- transition-timing-function: ease;
4289
- transition-duration: 150ms;
4290
- font-size: var(--jkl-font-size-3);
4291
- line-height: var(--jkl-line-height-tight);
4292
- font-weight: 400;
4293
- --jkl-icon-weight: 300;
3942
+ transition-timing-function: var(--jkl-motion-easing-standard);
3943
+ transition-duration: var(--jkl-motion-timing-productive);
3944
+ font: var(--jkl-text-style-text-medium);
4294
3945
  }
4295
3946
  html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta select:focus-visible, html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta select:has(:focus-visible) {
4296
3947
  outline: 3px solid var(--jkl-color-border-action);
@@ -4313,10 +3964,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4313
3964
  --border-width: 1px;
4314
3965
  --border: var(--border-width) solid var(--jkl-color-border-input);
4315
3966
  width: 100%;
4316
- font-size: var(--jkl-font-size-3);
4317
- line-height: var(--jkl-line-height-tight);
4318
- font-weight: 400;
4319
- --jkl-icon-weight: 300;
3967
+ font: var(--jkl-text-style-text-medium);
4320
3968
  }
4321
3969
  .jkl-search input[type=search] {
4322
3970
  appearance: none;
@@ -4346,10 +3994,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4346
3994
  }
4347
3995
  }
4348
3996
  .jkl-search input[type=search] {
4349
- font-size: var(--jkl-font-size-3);
4350
- line-height: var(--jkl-line-height-tight);
4351
- font-weight: 400;
4352
- --jkl-icon-weight: 300;
3997
+ font: var(--jkl-text-style-text-medium);
4353
3998
  }
4354
3999
  .jkl-search input[type=search]::-webkit-search-cancel-button, .jkl-search input[type=search]::-webkit-calendar-picker-indicator, .jkl-search input[type=search]::-webkit-search-results-button {
4355
4000
  appearance: none;
@@ -4403,16 +4048,16 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4403
4048
  grid-column: 1;
4404
4049
  z-index: 1;
4405
4050
  font-family: "Fremtind Material Symbols", "Fremtind Material Symbols Fallback", sans-serif;
4406
- font-variation-settings: "FILL" var(--jkl-icon-fill, 0), "GRAD" var(--jkl-icon-grade, 0), "opsz" var(--jkl-icon-opsz, 24);
4051
+ font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
4407
4052
  font-feature-settings: "liga";
4408
4053
  -webkit-font-feature-settings: "liga";
4409
4054
  font-size: 1.3em;
4410
- font-weight: var(--jkl-icon-weight, 300);
4055
+ font-weight: 400;
4411
4056
  line-height: 1;
4412
4057
  display: inline-block;
4413
4058
  -webkit-font-smoothing: antialiased;
4414
- transition-timing-function: ease;
4415
- transition-duration: 75ms;
4059
+ transition-timing-function: var(--jkl-motion-easing-standard);
4060
+ transition-duration: var(--jkl-motion-timing-energetic);
4416
4061
  transition-property: font-variation-settings, transform;
4417
4062
  }
4418
4063
  .jkl-search .clear-button::after {
@@ -4423,8 +4068,8 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4423
4068
  background-color: var(--jkl-color-text-default);
4424
4069
  opacity: 0;
4425
4070
  border-radius: inherit;
4426
- transition-timing-function: ease;
4427
- transition-duration: 150ms;
4071
+ transition-timing-function: var(--jkl-motion-easing-standard);
4072
+ transition-duration: var(--jkl-motion-timing-productive);
4428
4073
  transition-property: opacity;
4429
4074
  }
4430
4075
  .jkl-search .clear-button:hover::after {
@@ -4461,8 +4106,8 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4461
4106
  inset: 0;
4462
4107
  inset-block: 20%;
4463
4108
  background-color: var(--jkl-color-border-separator);
4464
- transition-timing-function: ease;
4465
- transition-duration: 150ms;
4109
+ transition-timing-function: var(--jkl-motion-easing-standard);
4110
+ transition-duration: var(--jkl-motion-timing-productive);
4466
4111
  transition-property: inset;
4467
4112
  }
4468
4113
  .jkl-search:has(button.jkl-search-submit) button.jkl-search-submit:hover::before {
@@ -4489,8 +4134,8 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4489
4134
  border-radius: 0;
4490
4135
  margin-inline-end: calc(var(--jkl-segmented-control-border-width) * -1);
4491
4136
  margin-block-end: 0.5lh;
4492
- transition-timing-function: cubic-bezier(0, 0, 0.375, 1.17);
4493
- transition-duration: 250ms;
4137
+ transition-timing-function: var(--jkl-motion-easing-ease-in-bounce-out);
4138
+ transition-duration: var(--jkl-motion-timing-expressive);
4494
4139
  transition-property: border background;
4495
4140
  }
4496
4141
  .jkl-segmented-control .jkl-segmented-control-item label {
@@ -4538,10 +4183,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4538
4183
  flex-direction: column;
4539
4184
  overflow-wrap: anywhere;
4540
4185
  width: 100%;
4541
- font-size: var(--jkl-font-size-3);
4542
- line-height: var(--jkl-line-height-tight);
4543
- font-weight: 400;
4544
- --jkl-icon-weight: 300;
4186
+ font: var(--jkl-text-style-text-medium);
4545
4187
  }
4546
4188
  .jkl-summary-table tr {
4547
4189
  display: flex;
@@ -4563,7 +4205,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4563
4205
  padding-right: 0;
4564
4206
  }
4565
4207
  .jkl-summary-table > tbody th {
4566
- font-weight: 400;
4208
+ font-weight: var(--jkl-font-weight-normal);
4567
4209
  }
4568
4210
  .jkl-summary-table > tfoot {
4569
4211
  border-top: 0.0625rem solid var(--jkl-color-border-separator-strong);
@@ -4572,7 +4214,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4572
4214
  }
4573
4215
  .jkl-summary-table > tfoot th,
4574
4216
  .jkl-summary-table > tfoot td {
4575
- font-weight: var(--jkl-typography-weight-bold);
4217
+ font-weight: var(--jkl-font-weight-bold);
4576
4218
  }
4577
4219
  }
4578
4220
  @layer jokul.components {
@@ -4615,10 +4257,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4615
4257
  }
4616
4258
  }
4617
4259
  .jkl-system-message__message {
4618
- font-size: var(--jkl-font-size-3);
4619
- line-height: var(--jkl-line-height-tight);
4620
- font-weight: 400;
4621
- --jkl-icon-weight: 300;
4260
+ font: var(--jkl-text-style-text-medium);
4622
4261
  margin: var(--jkl-system-message-message-margin);
4623
4262
  }
4624
4263
  .jkl-system-message__dismiss-button {
@@ -4700,8 +4339,8 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4700
4339
  margin-bottom: 0;
4701
4340
  }
4702
4341
  .jkl-system-message--dismissed {
4703
- animation: jkl-dismiss-uz58fbx 400ms forwards;
4704
- transition: block 400ms 400ms;
4342
+ animation: jkl-dismiss-udz45ci var(--jkl-motion-timing-lazy) forwards;
4343
+ transition: block var(--jkl-motion-timing-lazy) var(--jkl-motion-timing-lazy);
4705
4344
  }
4706
4345
  .jkl-system-message--info {
4707
4346
  --background-color: var(--jkl-color-background-alert-info);
@@ -4730,7 +4369,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4730
4369
  border-width: 4px;
4731
4370
  }
4732
4371
  }
4733
- @keyframes jkl-dismiss-uz58fbx {
4372
+ @keyframes jkl-dismiss-udz45ci {
4734
4373
  from {
4735
4374
  opacity: 1;
4736
4375
  transform: translateY(0);
@@ -4767,10 +4406,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4767
4406
  position: relative;
4768
4407
  text-align: left;
4769
4408
  vertical-align: top;
4770
- font-size: var(--jkl-font-size-3);
4771
- line-height: var(--jkl-line-height-tight);
4772
- font-weight: 400;
4773
- --jkl-icon-weight: 300;
4409
+ font: var(--jkl-text-style-text-medium);
4774
4410
  }
4775
4411
  .jkl-table-cell:has(.jkl-button) {
4776
4412
  --jkl-table-cell-padding: var(--jkl-unit-05);
@@ -4805,19 +4441,13 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4805
4441
  .jkl-table--collapse-to-list .jkl-table-cell[data-th]:not(.jkl-table-cell--expand-without-text)::before {
4806
4442
  content: attr(data-th);
4807
4443
  display: block;
4808
- font-size: var(--jkl-font-size-4);
4809
- line-height: var(--jkl-line-height-tight);
4810
- font-weight: 700;
4811
- --jkl-icon-weight: 400;
4444
+ font: var(--jkl-text-style-heading-5);
4812
4445
  }
4813
4446
  }
4814
4447
  .jkl-table--collapse-to-list[data-collapse] .jkl-table-cell:not(.jkl-table-cell--expand-without-text)::before {
4815
4448
  content: attr(data-th);
4816
4449
  display: block;
4817
- font-size: var(--jkl-font-size-4);
4818
- line-height: var(--jkl-line-height-tight);
4819
- font-weight: 700;
4820
- --jkl-icon-weight: 400;
4450
+ font: var(--jkl-text-style-heading-5);
4821
4451
  }
4822
4452
  @media (min-width: 680px) {
4823
4453
  .jkl-table--collapse-to-list:not([data-collapse]) .jkl-table-cell--expand-without-text .jkl-expand-button__text {
@@ -4837,22 +4467,6 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4837
4467
  }
4838
4468
  }
4839
4469
  @layer jokul.components {
4840
- @media screen and (prefers-color-scheme: light) {
4841
- :root {
4842
- --jkl-table-head-sticky-color: var(--jkl-background-color);
4843
- }
4844
- }
4845
- [data-theme=light] {
4846
- --jkl-table-head-sticky-color: var(--jkl-background-color);
4847
- }
4848
- @media screen and (prefers-color-scheme: dark) {
4849
- :root {
4850
- --jkl-table-head-sticky-color: var(--jkl-background-color);
4851
- }
4852
- }
4853
- [data-theme=dark] {
4854
- --jkl-table-head-sticky-color: var(--jkl-background-color);
4855
- }
4856
4470
  .jkl-table-head--sr-only {
4857
4471
  border: 0 !important;
4858
4472
  clip: rect(1px, 1px, 1px, 1px) !important; /* 1 */
@@ -4869,9 +4483,9 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4869
4483
  position: sticky;
4870
4484
  top: var(--jkl-table-head-sticky-offset, 0);
4871
4485
  z-index: 1;
4872
- background-color: var(--jkl-table-head-sticky-color);
4486
+ background-color: var(--jkl-table-head-sticky-color, var(--jkl-color-background-page));
4873
4487
  border-bottom: none;
4874
- box-shadow: inset 0 0 0 #000, inset 0 -0.0625rem 0 var(--jkl-color-border-separator-strong);
4488
+ box-shadow: inset 0 0 0 #000, inset 0 var(--jkl-border-width-1) 0 var(--jkl-color-border-separator-strong);
4875
4489
  background-clip: padding-box;
4876
4490
  vertical-align: bottom;
4877
4491
  height: 2.3em;
@@ -4881,11 +4495,8 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4881
4495
  .jkl-table-header {
4882
4496
  --jkl-table-header-padding-inline: var(--jkl-unit-15);
4883
4497
  --jkl-table-header-padding-block: var(--jkl-unit-10);
4884
- font-size: var(--jkl-font-size-2);
4885
- line-height: var(--jkl-line-height-tight);
4886
- font-weight: 400;
4887
- --jkl-icon-weight: 300;
4888
- font-weight: 700;
4498
+ font: var(--jkl-text-style-text-small);
4499
+ font-weight: var(--jkl-font-weight-bold);
4889
4500
  padding-block: var(--jkl-table-header-padding-block);
4890
4501
  padding-inline: var(--jkl-table-header-padding-inline);
4891
4502
  text-align: left;
@@ -4898,7 +4509,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4898
4509
  text-align: right;
4899
4510
  }
4900
4511
  .jkl-table-header--bold {
4901
- font-weight: var(--jkl-typography-weight-bold);
4512
+ font-weight: var(--jkl-font-weight-bold);
4902
4513
  }
4903
4514
  .jkl-table-header__arrows {
4904
4515
  display: flex;
@@ -4970,7 +4581,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4970
4581
  flex-direction: column;
4971
4582
  justify-content: center;
4972
4583
  flex-wrap: wrap;
4973
- gap: calc(var(--jkl-unit-base) * 2);
4584
+ gap: var(--jkl-unit-20);
4974
4585
  }
4975
4586
  @media (min-width: 680px) {
4976
4587
  .jkl-table-pagination__nav {
@@ -5038,7 +4649,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5038
4649
  }
5039
4650
  .jkl-table-pagination__page--active {
5040
4651
  --jkl-icon-weight: 400;
5041
- font-weight: 700;
4652
+ font-weight: var(--jkl-font-weight-bold);
5042
4653
  letter-spacing: -0.014em;
5043
4654
  }
5044
4655
  }
@@ -5099,8 +4710,8 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5099
4710
  }
5100
4711
  .jkl-table--collapse-to-list[data-collapse] :not(.jkl-table-head) > .jkl-table-row.jkl-table-row--expandable {
5101
4712
  transition-property: border, padding;
5102
- transition-timing-function: ease;
5103
- transition-duration: 150ms;
4713
+ transition-timing-function: var(--jkl-motion-easing-standard);
4714
+ transition-duration: var(--jkl-motion-timing-productive);
5104
4715
  }
5105
4716
  .jkl-table--collapse-to-list[data-collapse] :not(.jkl-table-head) > .jkl-table-row.jkl-table-row--expandable.jkl-table-row--expanded {
5106
4717
  border-bottom-color: var(--jkl-table-row-border-none-color);
@@ -5119,8 +4730,8 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5119
4730
  }
5120
4731
  .jkl-table--collapse-to-list[data-collapse] :not(.jkl-table-head) > .jkl-table-row.jkl-table-row--expandable + tr .jkl-table--collapse-to-list[data-collapse] :not(.jkl-table-head) > .jkl-table-row.jkl-table-row--expandable {
5121
4732
  transition-property: border;
5122
- transition-timing-function: ease;
5123
- transition-duration: 150ms;
4733
+ transition-timing-function: var(--jkl-motion-easing-standard);
4734
+ transition-duration: var(--jkl-motion-timing-productive);
5124
4735
  }
5125
4736
  .jkl-table--collapse-to-list[data-collapse] :not(.jkl-table-head) > .jkl-table-row.jkl-table-row--expandable + [aria-hidden=false] .jkl-table-row {
5126
4737
  border-top-color: var(--jkl-table-row-border-none-color);
@@ -5180,13 +4791,13 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5180
4791
  }
5181
4792
  .jkl-expandable-table-row__expanded-row {
5182
4793
  display: none;
5183
- transition-timing-function: ease-in;
5184
- transition-duration: 250ms;
4794
+ transition-timing-function: var(--jkl-motion-easing-exit);
4795
+ transition-duration: var(--jkl-motion-timing-expressive);
5185
4796
  transition-property: height;
5186
4797
  }
5187
4798
  .jkl-expandable-table-row__expanded-row--expanded {
5188
- transition-timing-function: ease-out;
5189
- transition-duration: 400ms;
4799
+ transition-timing-function: var(--jkl-motion-easing-entrance);
4800
+ transition-duration: var(--jkl-motion-timing-lazy);
5190
4801
  display: block;
5191
4802
  }
5192
4803
  }
@@ -5256,11 +4867,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5256
4867
  }
5257
4868
  .jkl-table-of-contents .jkl-table-of-contents-title {
5258
4869
  margin-block-end: var(--jkl-unit-05);
5259
- font-size: var(--jkl-font-size-2);
5260
- line-height: var(--jkl-line-height-relaxed);
5261
- font-weight: 400;
5262
- --jkl-icon-weight: 300;
5263
- --jkl-icon-size: 1.2em;
4870
+ font: var(--jkl-text-style-paragraph-small);
5264
4871
  }
5265
4872
  .jkl-table-of-contents .jkl-table-of-contents-item {
5266
4873
  display: flex;
@@ -5312,8 +4919,8 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5312
4919
  .jkl-table-of-contents ol .jkl-table-of-contents-link {
5313
4920
  padding-inline-end: var(--jkl-unit-20);
5314
4921
  padding-block: var(--ordered-item-padding);
5315
- transition-timing-function: ease;
5316
- transition-duration: 150ms;
4922
+ transition-timing-function: var(--jkl-motion-easing-standard);
4923
+ transition-duration: var(--jkl-motion-timing-productive);
5317
4924
  transition-property: color;
5318
4925
  }
5319
4926
  .jkl-table-of-contents ol .jkl-table-of-contents-link::before {
@@ -5362,16 +4969,13 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5362
4969
  inset-block-start: calc(anchor(end) - 2px);
5363
4970
  inset-inline-start: calc(anchor(--active-tab start));
5364
4971
  background-color: var(--indicator-color);
5365
- transition-timing-function: ease;
5366
- transition-duration: 400ms;
4972
+ transition-timing-function: var(--jkl-motion-easing-standard);
4973
+ transition-duration: var(--jkl-motion-timing-lazy);
5367
4974
  }
5368
4975
  }
5369
4976
  .jkl-tab {
5370
4977
  --padding-inline-end: var(--jkl-unit-50);
5371
- font-size: var(--jkl-font-size-3);
5372
- line-height: var(--jkl-line-height-tight);
5373
- font-weight: 400;
5374
- --jkl-icon-weight: 300;
4978
+ font: var(--jkl-text-style-text-medium);
5375
4979
  color: var(--text-color);
5376
4980
  padding: var(--jkl-unit-10) var(--padding-inline-end) var(--jkl-unit-10) var(--jkl-unit-05);
5377
4981
  border: none;
@@ -5413,7 +5017,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5413
5017
  .jkl-tab[aria-selected=true] {
5414
5018
  anchor-name: --active-tab;
5415
5019
  --jkl-icon-weight: 400;
5416
- font-weight: 700;
5020
+ font-weight: var(--jkl-font-weight-bold);
5417
5021
  letter-spacing: -0.014em;
5418
5022
  }
5419
5023
  @supports not (position-anchor: --active-tab) {
@@ -5428,8 +5032,8 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5428
5032
  inset-block-end: 0;
5429
5033
  inset-inline-start: 0;
5430
5034
  background-color: var(--indicator-color);
5431
- transition-timing-function: ease;
5432
- transition-duration: 400ms;
5035
+ transition-timing-function: var(--jkl-motion-easing-standard);
5036
+ transition-duration: var(--jkl-motion-timing-lazy);
5433
5037
  }
5434
5038
  }
5435
5039
  }
@@ -5471,10 +5075,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5471
5075
  width: clamp(15em, 100%, min(30rem, 85vw));
5472
5076
  padding: var(--jkl-toast-padding);
5473
5077
  position: relative;
5474
- font-size: var(--jkl-font-size-3);
5475
- line-height: var(--jkl-line-height-relaxed);
5476
- font-weight: 400;
5477
- --jkl-icon-weight: 300;
5078
+ font: var(--jkl-text-style-paragraph-medium);
5478
5079
  }
5479
5080
  .jkl-toast__progress {
5480
5081
  --bar-color: var(--text-color);
@@ -5505,10 +5106,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5505
5106
  margin-top: var(--jkl-unit-15);
5506
5107
  }
5507
5108
  .jkl-toast__title {
5508
- font-size: var(--jkl-font-size-4);
5509
- line-height: var(--jkl-line-height-tight);
5510
- font-weight: 700;
5511
- --jkl-icon-weight: 400;
5109
+ font: var(--jkl-text-style-heading-5);
5512
5110
  }
5513
5111
  .jkl-toast__dismiss-button {
5514
5112
  background-color: transparent;
@@ -5567,12 +5165,12 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5567
5165
  }
5568
5166
  .jkl-toast[data-animation=entering],
5569
5167
  .jkl-toast[data-animation=queued] {
5570
- animation: jkl-entering-uz58fc9 200ms ease-out forwards;
5168
+ animation: jkl-entering-udz45ct var(--jkl-motion-timing-polite) var(--jkl-motion-easing-entrance) forwards;
5571
5169
  }
5572
5170
  .jkl-toast[data-animation=exiting] {
5573
- animation: jkl-exiting-uz58fcr 150ms ease-in forwards;
5171
+ animation: jkl-exiting-udz45db var(--jkl-motion-timing-productive) var(--jkl-motion-easing-exit) forwards;
5574
5172
  }
5575
- @keyframes jkl-entering-uz58fc9 {
5173
+ @keyframes jkl-entering-udz45ct {
5576
5174
  from {
5577
5175
  opacity: 0;
5578
5176
  transform: translate3d(0, 50%, 0);
@@ -5582,7 +5180,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5582
5180
  transform: translate3d(0, 0, 0);
5583
5181
  }
5584
5182
  }
5585
- @keyframes jkl-exiting-uz58fcr {
5183
+ @keyframes jkl-exiting-udz45db {
5586
5184
  from {
5587
5185
  opacity: 1;
5588
5186
  transform: translate3d(0, 0, 0);
@@ -6963,7 +6561,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
6963
6561
  box-shadow: inset 0 0 0 0.125rem var(--jkl-slider-focus-color);
6964
6562
  }
6965
6563
  .jkl-toggle-slider__legend {
6966
- margin-bottom: 0.5rem;
6564
+ margin-bottom: var(--jkl-spacing-8);
6967
6565
  font-size: var(--jkl-slider-legend-font-size);
6968
6566
  line-height: var(--jkl-slider-legend-line-height);
6969
6567
  font-weight: var(--jkl-slider-legend-font-weight);
@@ -7009,7 +6607,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
7009
6607
  }
7010
6608
  .jkl-toggle-slider__label--selected {
7011
6609
  --jkl-icon-weight: 400;
7012
- font-weight: 700;
6610
+ font-weight: var(--jkl-font-weight-bold);
7013
6611
  letter-spacing: -0.014em;
7014
6612
  color: var(--jkl-slider-pill-text--active);
7015
6613
  }
@@ -7019,8 +6617,8 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
7019
6617
  position: absolute;
7020
6618
  transition-property: width, transform;
7021
6619
  border-radius: 6.25rem;
7022
- transition-timing-function: ease;
7023
- transition-duration: 250ms;
6620
+ transition-timing-function: var(--jkl-motion-easing-standard);
6621
+ transition-duration: var(--jkl-motion-timing-expressive);
7024
6622
  }
7025
6623
  @media (min-width: 680px) {
7026
6624
  .jkl-toggle-slider {
@@ -7064,10 +6662,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
7064
6662
  align-items: center;
7065
6663
  gap: var(--jkl-unit-10);
7066
6664
  touch-action: none;
7067
- font-size: var(--jkl-font-size-3);
7068
- line-height: var(--jkl-line-height-tight);
7069
- font-weight: 400;
7070
- --jkl-icon-weight: 300;
6665
+ font: var(--jkl-text-style-text-medium);
7071
6666
  }
7072
6667
  .jkl-toggle-switch {
7073
6668
  outline: 0;
@@ -7151,8 +6746,8 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
7151
6746
  width: var(--jkl-toggle-switch-knob-size);
7152
6747
  color: var(--icon-color);
7153
6748
  font-size: var(--jkl-font-size-1);
7154
- transition-timing-function: ease;
7155
- transition-duration: 150ms;
6749
+ transition-timing-function: var(--jkl-motion-easing-standard);
6750
+ transition-duration: var(--jkl-motion-timing-productive);
7156
6751
  transition-property: translate;
7157
6752
  translate: var(--knob-position);
7158
6753
  }