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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (636) hide show
  1. package/README.md +30 -7
  2. package/bin/jokul.mjs +10 -0
  3. package/bin/run-jokul-cli.mjs +63 -0
  4. package/build/build-stats.html +1 -1
  5. package/build/cjs/components/beta/description-list/DescriptionList.cjs +2 -0
  6. package/build/cjs/components/beta/description-list/DescriptionList.cjs.map +1 -0
  7. package/build/cjs/components/beta/description-list/DescriptionListItem.cjs +2 -0
  8. package/build/cjs/components/beta/description-list/DescriptionListItem.cjs.map +1 -0
  9. package/build/cjs/{components-beta → components/beta}/description-list/index.d.cts +2 -2
  10. package/build/cjs/components/beta/nav-link/NavLink.cjs +2 -0
  11. package/build/cjs/components/beta/nav-link/NavLink.cjs.map +1 -0
  12. package/build/cjs/components/beta/nav-link/index.d.cts +1 -0
  13. package/build/cjs/{components-beta → components/beta}/nav-link/types.d.cts +1 -1
  14. package/build/cjs/components/beta/select/Select.cjs +2 -0
  15. package/build/cjs/components/beta/select/Select.cjs.map +1 -0
  16. package/build/cjs/components/beta/select/index.d.cts +2 -0
  17. package/build/cjs/{components-beta → components/beta}/select/types.d.cts +1 -1
  18. package/build/cjs/components/breadcrumb/types.d.cts +1 -1
  19. package/build/cjs/components/card/Card.cjs +1 -1
  20. package/build/cjs/components/card/Card.cjs.map +1 -1
  21. package/build/cjs/components/card/types.cjs +1 -1
  22. package/build/cjs/components/card/types.cjs.map +1 -1
  23. package/build/cjs/components/card/types.d.cts +2 -2
  24. package/build/cjs/components/checkbox/Checkbox.cjs +1 -1
  25. package/build/cjs/components/checkbox/Checkbox.cjs.map +1 -1
  26. package/build/cjs/components/checkbox/types.d.cts +1 -1
  27. package/build/cjs/components/cookie-consent/CookieConsent.cjs +1 -1
  28. package/build/cjs/components/cookie-consent/CookieConsent.cjs.map +1 -1
  29. package/build/cjs/components/cookie-consent/CookieConsent.d.cts +1 -1
  30. package/build/cjs/components/cookie-consent/types.d.cts +5 -1
  31. package/build/cjs/components/datepicker/DatePicker.cjs +1 -1
  32. package/build/cjs/components/datepicker/DatePicker.cjs.map +1 -1
  33. package/build/cjs/components/datepicker/types.d.cts +1 -1
  34. package/build/cjs/components/description-list/index.cjs +1 -1
  35. package/build/cjs/components/description-list/index.d.cts +3 -3
  36. package/build/cjs/components/description-list/types.d.cts +1 -1
  37. package/build/cjs/components/expander/ExpandablePanel.cjs +1 -1
  38. package/build/cjs/components/expander/ExpandablePanel.cjs.map +1 -1
  39. package/build/cjs/components/feedback/feedbackContext.cjs.map +1 -1
  40. package/build/cjs/components/feedback/feedbackContext.d.cts +1 -1
  41. package/build/cjs/components/feedback/followup/followupContext.cjs.map +1 -1
  42. package/build/cjs/components/feedback/followup/followupContext.d.cts +1 -1
  43. package/build/cjs/components/feedback/main-question/mainQuestionContext.cjs.map +1 -1
  44. package/build/cjs/components/feedback/main-question/mainQuestionContext.d.cts +1 -1
  45. package/build/cjs/components/feedback/questions/smileyUtils.cjs.map +1 -1
  46. package/build/cjs/components/file-input/internal/Dropzone.cjs.map +1 -1
  47. package/build/cjs/components/file-input/internal/Dropzone.d.cts +1 -1
  48. package/build/cjs/components/file-input/internal/fileInputContext.cjs.map +1 -1
  49. package/build/cjs/components/file-input/internal/fileInputContext.d.cts +1 -1
  50. package/build/cjs/components/icon/development/internal/IconsExampleGrid.d.cts +1 -1
  51. package/build/cjs/components/input-group/InputGroup.d.cts +2 -2
  52. package/build/cjs/components/input-group/types.d.cts +1 -1
  53. package/build/cjs/components/link/Link.cjs +1 -1
  54. package/build/cjs/components/link/Link.cjs.map +1 -1
  55. package/build/cjs/components/link/Link.d.cts +2 -2
  56. package/build/cjs/components/link/types.d.cts +1 -4
  57. package/build/cjs/components/link-list/LinkList.d.cts +1 -1
  58. package/build/cjs/components/list/ListItem.cjs.map +1 -1
  59. package/build/cjs/components/list/ListItem.d.cts +1 -1
  60. package/build/cjs/components/logo/types.d.cts +1 -1
  61. package/build/cjs/components/menu/types.d.cts +1 -1
  62. package/build/cjs/components/modal/Modal.cjs +1 -1
  63. package/build/cjs/components/modal/Modal.cjs.map +1 -1
  64. package/build/cjs/components/modal/Modal.d.cts +2 -9
  65. package/build/cjs/components/modal/index.d.cts +1 -1
  66. package/build/cjs/components/modal/types.d.cts +19 -1
  67. package/build/cjs/components/nav-link/index.cjs +1 -1
  68. package/build/cjs/components/nav-link/index.d.cts +2 -2
  69. package/build/cjs/components/popover/Popover.cjs +1 -1
  70. package/build/cjs/components/popover/Popover.cjs.map +1 -1
  71. package/build/cjs/components/radio-button/BaseRadioButton.cjs +1 -1
  72. package/build/cjs/components/radio-button/BaseRadioButton.cjs.map +1 -1
  73. package/build/cjs/components/radio-button/radioGroupContext.cjs.map +1 -1
  74. package/build/cjs/components/radio-button/radioGroupContext.d.cts +1 -1
  75. package/build/cjs/components/screen-reader-only/types.d.cts +1 -1
  76. package/build/cjs/components/select/index.cjs +1 -1
  77. package/build/cjs/components/select/index.d.cts +2 -2
  78. package/build/cjs/components/select/types.d.cts +1 -1
  79. package/build/cjs/components/system-message/types.d.cts +1 -1
  80. package/build/cjs/components/table/types.d.cts +1 -1
  81. package/build/cjs/components/table-of-contents/TableOfContents.d.cts +1 -1
  82. package/build/cjs/components/tabs/types.d.cts +1 -1
  83. package/build/cjs/components/toast/types.d.cts +1 -1
  84. package/build/cjs/components/toggle-switch/types.d.cts +1 -1
  85. package/build/cjs/components/tooltip/Tooltip.cjs.map +1 -1
  86. package/build/cjs/components/tooltip/Tooltip.d.cts +1 -1
  87. package/build/cjs/hooks/useAnimatedHeight/types.d.cts +1 -1
  88. package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeight.cjs +1 -1
  89. package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeight.cjs.map +1 -1
  90. package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeightBetween.cjs +1 -1
  91. package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeightBetween.cjs.map +1 -1
  92. package/build/cjs/hooks/useAnimatedHeight/useAutoAnimateHeight.cjs +1 -1
  93. package/build/cjs/hooks/useAnimatedHeight/useAutoAnimateHeight.cjs.map +1 -1
  94. package/build/cjs/hooks/useAnimatedHeight/useAutoAnimateHeight.d.cts +1 -1
  95. package/build/cjs/hooks/useAriaLiveRegion/useAriaLiveRegion.d.cts +1 -1
  96. package/build/cjs/hooks/useBrowserPreferences/useBrowserPreferences.cjs.map +1 -1
  97. package/build/cjs/hooks/useBrowserPreferences/useBrowserPreferences.d.cts +1 -1
  98. package/build/cjs/hooks/useScreen/useScreen.cjs +1 -1
  99. package/build/cjs/hooks/useScreen/useScreen.cjs.map +1 -1
  100. package/build/cjs/tailwind/plugins/jokulTypographyPlugin.cjs +1 -1
  101. package/build/cjs/tailwind/plugins/jokulTypographyPlugin.cjs.map +1 -1
  102. package/build/cjs/tailwind/tailwindPreset.cjs +1 -1
  103. package/build/cjs/tailwind/tailwindPreset.cjs.map +1 -1
  104. package/build/cjs/tokens.cjs +2 -0
  105. package/build/cjs/tokens.cjs.map +1 -0
  106. package/build/cjs/tokens.d.cts +235 -0
  107. package/build/cjs/utilities/getThemeAndSize.cjs +1 -1
  108. package/build/cjs/utilities/getThemeAndSize.cjs.map +1 -1
  109. package/build/cjs/utilities/getThemeAndSize.d.cts +1 -1
  110. package/build/cjs/utilities/index.d.cts +1 -0
  111. package/build/cjs/{core → utilities}/types.d.cts +1 -1
  112. package/build/es/components/beta/description-list/DescriptionList.js +2 -0
  113. package/build/es/components/beta/description-list/DescriptionList.js.map +1 -0
  114. package/build/es/components/beta/description-list/DescriptionListItem.js +2 -0
  115. package/build/es/components/beta/description-list/DescriptionListItem.js.map +1 -0
  116. package/build/es/{components-beta → components/beta}/description-list/index.d.ts +2 -2
  117. package/build/es/components/beta/nav-link/NavLink.js +2 -0
  118. package/build/es/components/beta/nav-link/NavLink.js.map +1 -0
  119. package/build/es/components/beta/nav-link/index.d.ts +1 -0
  120. package/build/es/{components-beta → components/beta}/nav-link/types.d.ts +1 -1
  121. package/build/es/components/beta/select/Select.js +2 -0
  122. package/build/es/components/beta/select/Select.js.map +1 -0
  123. package/build/es/components/beta/select/index.d.ts +2 -0
  124. package/build/es/{components-beta → components/beta}/select/types.d.ts +1 -1
  125. package/build/es/components/breadcrumb/types.d.ts +1 -1
  126. package/build/es/components/card/Card.js +1 -1
  127. package/build/es/components/card/Card.js.map +1 -1
  128. package/build/es/components/card/types.d.ts +2 -2
  129. package/build/es/components/card/types.js +1 -1
  130. package/build/es/components/card/types.js.map +1 -1
  131. package/build/es/components/checkbox/Checkbox.js +1 -1
  132. package/build/es/components/checkbox/Checkbox.js.map +1 -1
  133. package/build/es/components/checkbox/types.d.ts +1 -1
  134. package/build/es/components/cookie-consent/CookieConsent.d.ts +1 -1
  135. package/build/es/components/cookie-consent/CookieConsent.js +1 -1
  136. package/build/es/components/cookie-consent/CookieConsent.js.map +1 -1
  137. package/build/es/components/cookie-consent/types.d.ts +5 -1
  138. package/build/es/components/datepicker/DatePicker.js +1 -1
  139. package/build/es/components/datepicker/DatePicker.js.map +1 -1
  140. package/build/es/components/datepicker/types.d.ts +1 -1
  141. package/build/es/components/description-list/index.d.ts +3 -3
  142. package/build/es/components/description-list/index.js +1 -1
  143. package/build/es/components/description-list/types.d.ts +1 -1
  144. package/build/es/components/expander/ExpandablePanel.js +1 -1
  145. package/build/es/components/expander/ExpandablePanel.js.map +1 -1
  146. package/build/es/components/feedback/feedbackContext.d.ts +1 -1
  147. package/build/es/components/feedback/feedbackContext.js.map +1 -1
  148. package/build/es/components/feedback/followup/followupContext.d.ts +1 -1
  149. package/build/es/components/feedback/followup/followupContext.js.map +1 -1
  150. package/build/es/components/feedback/main-question/mainQuestionContext.d.ts +1 -1
  151. package/build/es/components/feedback/main-question/mainQuestionContext.js.map +1 -1
  152. package/build/es/components/feedback/questions/smileyUtils.js.map +1 -1
  153. package/build/es/components/file-input/internal/Dropzone.d.ts +1 -1
  154. package/build/es/components/file-input/internal/Dropzone.js.map +1 -1
  155. package/build/es/components/file-input/internal/fileInputContext.d.ts +1 -1
  156. package/build/es/components/file-input/internal/fileInputContext.js.map +1 -1
  157. package/build/es/components/icon/development/internal/IconsExampleGrid.d.ts +1 -1
  158. package/build/es/components/input-group/InputGroup.d.ts +2 -2
  159. package/build/es/components/input-group/types.d.ts +1 -1
  160. package/build/es/components/link/Link.d.ts +2 -2
  161. package/build/es/components/link/Link.js +1 -1
  162. package/build/es/components/link/Link.js.map +1 -1
  163. package/build/es/components/link/types.d.ts +1 -4
  164. package/build/es/components/link-list/LinkList.d.ts +1 -1
  165. package/build/es/components/list/ListItem.d.ts +1 -1
  166. package/build/es/components/list/ListItem.js.map +1 -1
  167. package/build/es/components/logo/types.d.ts +1 -1
  168. package/build/es/components/menu/types.d.ts +1 -1
  169. package/build/es/components/modal/Modal.d.ts +2 -9
  170. package/build/es/components/modal/Modal.js +1 -1
  171. package/build/es/components/modal/Modal.js.map +1 -1
  172. package/build/es/components/modal/index.d.ts +1 -1
  173. package/build/es/components/modal/types.d.ts +19 -1
  174. package/build/es/components/nav-link/index.d.ts +2 -2
  175. package/build/es/components/nav-link/index.js +1 -1
  176. package/build/es/components/popover/Popover.js +1 -1
  177. package/build/es/components/popover/Popover.js.map +1 -1
  178. package/build/es/components/radio-button/BaseRadioButton.js +1 -1
  179. package/build/es/components/radio-button/BaseRadioButton.js.map +1 -1
  180. package/build/es/components/radio-button/radioGroupContext.d.ts +1 -1
  181. package/build/es/components/radio-button/radioGroupContext.js.map +1 -1
  182. package/build/es/components/screen-reader-only/types.d.ts +1 -1
  183. package/build/es/components/select/index.d.ts +2 -2
  184. package/build/es/components/select/index.js +1 -1
  185. package/build/es/components/select/types.d.ts +1 -1
  186. package/build/es/components/system-message/types.d.ts +1 -1
  187. package/build/es/components/table/types.d.ts +1 -1
  188. package/build/es/components/table-of-contents/TableOfContents.d.ts +1 -1
  189. package/build/es/components/tabs/types.d.ts +1 -1
  190. package/build/es/components/toast/types.d.ts +1 -1
  191. package/build/es/components/toggle-switch/types.d.ts +1 -1
  192. package/build/es/components/tooltip/Tooltip.d.ts +1 -1
  193. package/build/es/components/tooltip/Tooltip.js.map +1 -1
  194. package/build/es/hooks/useAnimatedHeight/types.d.ts +1 -1
  195. package/build/es/hooks/useAnimatedHeight/useAnimatedHeight.js +1 -1
  196. package/build/es/hooks/useAnimatedHeight/useAnimatedHeight.js.map +1 -1
  197. package/build/es/hooks/useAnimatedHeight/useAnimatedHeightBetween.js +1 -1
  198. package/build/es/hooks/useAnimatedHeight/useAnimatedHeightBetween.js.map +1 -1
  199. package/build/es/hooks/useAnimatedHeight/useAutoAnimateHeight.d.ts +1 -1
  200. package/build/es/hooks/useAnimatedHeight/useAutoAnimateHeight.js +1 -1
  201. package/build/es/hooks/useAnimatedHeight/useAutoAnimateHeight.js.map +1 -1
  202. package/build/es/hooks/useAriaLiveRegion/useAriaLiveRegion.d.ts +1 -1
  203. package/build/es/hooks/useBrowserPreferences/useBrowserPreferences.d.ts +1 -1
  204. package/build/es/hooks/useBrowserPreferences/useBrowserPreferences.js.map +1 -1
  205. package/build/es/hooks/useScreen/useScreen.js +1 -1
  206. package/build/es/hooks/useScreen/useScreen.js.map +1 -1
  207. package/build/es/tailwind/plugins/jokulTypographyPlugin.js +1 -1
  208. package/build/es/tailwind/plugins/jokulTypographyPlugin.js.map +1 -1
  209. package/build/es/tailwind/tailwindPreset.js +1 -1
  210. package/build/es/tailwind/tailwindPreset.js.map +1 -1
  211. package/build/es/tokens.d.ts +235 -0
  212. package/build/es/tokens.js +2 -0
  213. package/build/es/tokens.js.map +1 -0
  214. package/build/es/utilities/getThemeAndSize.d.ts +1 -1
  215. package/build/es/utilities/getThemeAndSize.js +1 -1
  216. package/build/es/utilities/getThemeAndSize.js.map +1 -1
  217. package/build/es/utilities/index.d.ts +1 -0
  218. package/build/es/{core → utilities}/types.d.ts +1 -1
  219. package/codemods/__tests__/import-paths.test.mjs +84 -0
  220. package/codemods/import-paths.mjs +393 -0
  221. package/package.json +12 -585
  222. package/styles/base.css +1822 -0
  223. package/styles/base.min.css +2 -0
  224. package/styles/components/autosuggest/autosuggest.css +6 -12
  225. package/styles/components/autosuggest/autosuggest.min.css +1 -1
  226. package/styles/components/autosuggest/autosuggest.scss +3 -3
  227. package/styles/{components-beta → components/beta}/description-list/description-list.css +1 -1
  228. package/styles/{components-beta → components/beta}/description-list/description-list.min.css +1 -1
  229. package/styles/{components-beta → components/beta}/description-list/description-list.scss +2 -2
  230. package/styles/{components-beta → components/beta}/nav-link/navlink.css +11 -14
  231. package/styles/components/beta/nav-link/navlink.min.css +1 -0
  232. package/styles/{components-beta → components/beta}/nav-link/navlink.scss +4 -4
  233. package/styles/components/beta/select/_index.scss +3 -0
  234. package/styles/{components-beta → components/beta}/select/select.css +13 -16
  235. package/styles/components/beta/select/select.min.css +1 -0
  236. package/styles/{components-beta → components/beta}/select/select.scss +9 -9
  237. package/styles/components/breadcrumb/breadcrumb.css +1 -1
  238. package/styles/components/breadcrumb/breadcrumb.min.css +1 -1
  239. package/styles/components/breadcrumb/breadcrumb.scss +1 -1
  240. package/styles/components/button/button.css +15 -14
  241. package/styles/components/button/button.min.css +1 -1
  242. package/styles/components/button/button.scss +14 -14
  243. package/styles/components/card/card.css +8 -11
  244. package/styles/components/card/card.min.css +1 -1
  245. package/styles/components/card/card.scss +7 -11
  246. package/styles/components/checkbox/checkbox.css +55 -42
  247. package/styles/components/checkbox/checkbox.min.css +1 -1
  248. package/styles/components/checkbox/checkbox.scss +43 -36
  249. package/styles/components/checkbox-panel/checkbox-panel.css +84 -72
  250. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  251. package/styles/components/checkbox-panel/checkbox-panel.scss +5 -1
  252. package/styles/components/checkbox-panel/development/styles.scss +1 -1
  253. package/styles/components/chip/chip.css +6 -9
  254. package/styles/components/chip/chip.min.css +1 -1
  255. package/styles/components/chip/chip.scss +3 -3
  256. package/styles/components/combobox/combobox.css +30 -39
  257. package/styles/components/combobox/combobox.min.css +1 -1
  258. package/styles/components/combobox/combobox.scss +10 -8
  259. package/styles/components/cookie-consent/cookie-consent.css +1 -5
  260. package/styles/components/cookie-consent/cookie-consent.min.css +1 -1
  261. package/styles/components/cookie-consent/cookie-consent.scss +1 -1
  262. package/styles/components/countdown/countdown.css +4 -4
  263. package/styles/components/countdown/countdown.min.css +1 -1
  264. package/styles/components/datepicker/_calendar-date-button.scss +9 -9
  265. package/styles/components/datepicker/_calendar-navigation-dropdown.scss +3 -3
  266. package/styles/components/datepicker/_calendar-navigation.scss +1 -1
  267. package/styles/components/datepicker/_calendar-table.scss +1 -1
  268. package/styles/components/datepicker/_calendar.scss +7 -8
  269. package/styles/components/datepicker/datepicker.css +27 -31
  270. package/styles/components/datepicker/datepicker.min.css +1 -1
  271. package/styles/components/datepicker/datepicker.scss +1 -1
  272. package/styles/components/description-list/description-list.css +2 -2
  273. package/styles/components/description-list/description-list.min.css +1 -1
  274. package/styles/components/description-list/description-list.scss +3 -3
  275. package/styles/components/expander/expandable.css +20 -20
  276. package/styles/components/expander/expandable.min.css +1 -1
  277. package/styles/components/expander/expandable.scss +16 -20
  278. package/styles/components/feedback/feedback.css +14 -20
  279. package/styles/components/feedback/feedback.min.css +1 -1
  280. package/styles/components/feedback/feedback.scss +5 -10
  281. package/styles/components/file/file.css +10 -18
  282. package/styles/components/file/file.min.css +1 -1
  283. package/styles/components/file/file.scss +7 -7
  284. package/styles/components/file-input/file-input.css +52 -70
  285. package/styles/components/file-input/file-input.min.css +1 -1
  286. package/styles/components/file-input/file-input.scss +4 -4
  287. package/styles/components/help/help.css +2 -2
  288. package/styles/components/help/help.min.css +1 -1
  289. package/styles/components/help/help.scss +3 -3
  290. package/styles/components/icon/_base-styles.scss +3 -5
  291. package/styles/components/icon/icon.css +13 -34
  292. package/styles/components/icon/icon.min.css +1 -1
  293. package/styles/components/icon/icon.scss +5 -19
  294. package/styles/components/icon-button/icon-button.css +3 -3
  295. package/styles/components/icon-button/icon-button.min.css +1 -1
  296. package/styles/components/icon-button/icon-button.scss +1 -1
  297. package/styles/components/image/image.css +2 -2
  298. package/styles/components/image/image.min.css +1 -1
  299. package/styles/components/image/image.scss +1 -1
  300. package/styles/components/input-group/_field-group.scss +1 -1
  301. package/styles/components/input-group/_labels.scss +1 -1
  302. package/styles/components/input-group/input-group.css +12 -27
  303. package/styles/components/input-group/input-group.min.css +1 -1
  304. package/styles/components/input-group/input-group.scss +1 -1
  305. package/styles/components/input-panel/input-panel.css +26 -30
  306. package/styles/components/input-panel/input-panel.min.css +1 -1
  307. package/styles/components/input-panel/input-panel.scss +22 -20
  308. package/styles/components/link/link.css +7 -8
  309. package/styles/components/link/link.min.css +1 -1
  310. package/styles/components/link/link.scss +1 -2
  311. package/styles/components/link-list/link-list.css +17 -23
  312. package/styles/components/link-list/link-list.min.css +1 -1
  313. package/styles/components/link-list/link-list.scss +7 -3
  314. package/styles/components/list/list.css +6 -27
  315. package/styles/components/list/list.min.css +1 -1
  316. package/styles/components/list/list.scss +11 -15
  317. package/styles/components/loader/loader.css +6 -6
  318. package/styles/components/loader/loader.min.css +1 -1
  319. package/styles/components/loader/loader.scss +1 -1
  320. package/styles/components/loader/skeleton-loader.css +4 -4
  321. package/styles/components/loader/skeleton-loader.min.css +1 -1
  322. package/styles/components/loader/skeleton-loader.scss +2 -2
  323. package/styles/components/logo/logo.css +4 -4
  324. package/styles/components/logo/logo.min.css +1 -1
  325. package/styles/components/logo/logo.scss +1 -1
  326. package/styles/components/menu/_menu-divider.scss +2 -2
  327. package/styles/components/menu/_menu-item.scss +1 -1
  328. package/styles/components/menu/menu.css +8 -23
  329. package/styles/components/menu/menu.min.css +1 -1
  330. package/styles/components/menu/menu.scss +8 -12
  331. package/styles/components/message/message.css +25 -27
  332. package/styles/components/message/message.min.css +1 -1
  333. package/styles/components/message/message.scss +17 -7
  334. package/styles/components/modal/_layout.scss +22 -0
  335. package/styles/components/modal/_modal-base.scss +32 -0
  336. package/styles/components/modal/_motion.scss +45 -0
  337. package/styles/components/modal/_overlay.scss +20 -0
  338. package/styles/components/modal/_parts.scss +33 -0
  339. package/styles/components/modal/_placement.scss +59 -0
  340. package/styles/components/modal/modal.css +120 -42
  341. package/styles/components/modal/modal.min.css +1 -1
  342. package/styles/components/modal/modal.scss +6 -95
  343. package/styles/components/nav-link/nav-link.css +5 -5
  344. package/styles/components/nav-link/nav-link.min.css +1 -1
  345. package/styles/components/nav-link/nav-link.scss +2 -2
  346. package/styles/components/pagination/development/styles.scss +1 -1
  347. package/styles/components/pagination/pagination.css +2 -2
  348. package/styles/components/pagination/pagination.min.css +1 -1
  349. package/styles/components/pagination/pagination.scss +1 -1
  350. package/styles/components/popover/popover.css +17 -18
  351. package/styles/components/popover/popover.min.css +1 -1
  352. package/styles/components/popover/popover.scss +21 -11
  353. package/styles/components/progress-bar/progress-bar.css +29 -5
  354. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  355. package/styles/components/progress-bar/progress-bar.scss +6 -1
  356. package/styles/components/radio-button/radio-button.css +53 -36
  357. package/styles/components/radio-button/radio-button.min.css +1 -1
  358. package/styles/components/radio-button/radio-button.scss +40 -31
  359. package/styles/components/radio-panel/development/styles.scss +1 -1
  360. package/styles/components/radio-panel/radio-panel.css +29 -30
  361. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  362. package/styles/components/radio-panel/radio-panel.scss +5 -1
  363. package/styles/components/search/search-with-submit-button.css +3 -3
  364. package/styles/components/search/search-with-submit-button.min.css +1 -1
  365. package/styles/components/search/search-with-submit-button.scss +2 -2
  366. package/styles/components/search/search.css +10 -16
  367. package/styles/components/search/search.min.css +1 -1
  368. package/styles/components/search/search.scss +2 -2
  369. package/styles/components/segmented-control/segmented-control.css +91 -114
  370. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  371. package/styles/components/segmented-control/segmented-control.scss +5 -5
  372. package/styles/components/select/select.css +27 -36
  373. package/styles/components/select/select.min.css +1 -1
  374. package/styles/components/select/select.scss +13 -14
  375. package/styles/components/summary-table/development/summary-table-example.scss +1 -1
  376. package/styles/components/summary-table/summary-table.css +5 -8
  377. package/styles/components/summary-table/summary-table.min.css +1 -1
  378. package/styles/components/summary-table/summary-table.scss +5 -5
  379. package/styles/components/system-message/system-message.css +22 -15
  380. package/styles/components/system-message/system-message.min.css +1 -1
  381. package/styles/components/system-message/system-message.scss +18 -9
  382. package/styles/components/table/_table-caption.scss +1 -1
  383. package/styles/components/table/_table-cell.scss +1 -1
  384. package/styles/components/table/_table-head.scss +3 -13
  385. package/styles/components/table/_table-header.scss +4 -4
  386. package/styles/components/table/_table-pagination.scss +1 -1
  387. package/styles/components/table/_table-row.scss +3 -3
  388. package/styles/components/table/table.css +20 -48
  389. package/styles/components/table/table.min.css +1 -1
  390. package/styles/components/table/table.scss +1 -1
  391. package/styles/components/table-of-contents/table-of-contents.css +4 -8
  392. package/styles/components/table-of-contents/table-of-contents.min.css +1 -1
  393. package/styles/components/table-of-contents/table-of-contents.scss +2 -2
  394. package/styles/components/tabs/tabs.css +9 -12
  395. package/styles/components/tabs/tabs.min.css +1 -1
  396. package/styles/components/tabs/tabs.scss +3 -3
  397. package/styles/components/tag/tag.css +18 -11
  398. package/styles/components/tag/tag.min.css +1 -1
  399. package/styles/components/tag/tag.scss +18 -8
  400. package/styles/components/text-area/text-area.css +17 -26
  401. package/styles/components/text-area/text-area.min.css +1 -1
  402. package/styles/components/text-area/text-area.scss +1 -1
  403. package/styles/components/text-input/text-input.css +12 -18
  404. package/styles/components/text-input/text-input.min.css +1 -1
  405. package/styles/components/text-input/text-input.scss +2 -3
  406. package/styles/components/toast/toast.css +21 -20
  407. package/styles/components/toast/toast.min.css +1 -1
  408. package/styles/components/toast/toast.scss +16 -14
  409. package/styles/components/toggle-switch/_toggle-slider.scss +5 -5
  410. package/styles/components/toggle-switch/toggle-switch.css +21 -29
  411. package/styles/components/toggle-switch/toggle-switch.min.css +2 -2
  412. package/styles/components/toggle-switch/toggle-switch.scss +10 -17
  413. package/styles/components/tooltip/tooltip.css +7 -11
  414. package/styles/components/tooltip/tooltip.min.css +1 -1
  415. package/styles/components/tooltip/tooltip.scss +4 -4
  416. package/styles/{styles.css → components.css} +801 -872
  417. package/styles/components.min.css +3 -0
  418. package/styles/{styles.scss → components.scss} +2 -2
  419. package/styles/{core/global → global}/_base-class.scss +6 -4
  420. package/styles/{core/global → global}/_top-layer.scss +1 -1
  421. package/styles/hooks/stories/styles.scss +7 -9
  422. package/styles/{core/jkl/_theme.scss → jkl/_forced-colors.scss} +0 -49
  423. package/styles/{core/jkl → jkl}/_index.scss +3 -6
  424. package/styles/{core/jkl → jkl}/_motion.scss +8 -26
  425. package/styles/{core/jkl → jkl}/_ornaments.scss +1 -1
  426. package/styles/{core/jkl → jkl}/_reset.scss +2 -2
  427. package/styles/{core/jkl → jkl}/_spacing.scss +1 -6
  428. package/styles/jkl/_tokens.scss +386 -0
  429. package/styles/{core/jkl → jkl}/_typography.scss +5 -98
  430. package/styles/shared/input/shared-input-styles.scss +7 -7
  431. package/styles/shared/track/track.scss +3 -3
  432. package/styles/tailwind.css +213 -0
  433. package/styles/theme/_color-scheme.scss +153 -0
  434. package/styles/{core/theme → theme}/_dynamic-spacing.scss +9 -5
  435. package/styles/theme/_fonts.scss +147 -0
  436. package/styles/theme/_index.scss +8 -0
  437. package/styles/theme/_size.scss +53 -0
  438. package/styles/theme/_tokens.scss +94 -0
  439. package/styles/theme/brands/dnb/_color-scheme.scss +119 -0
  440. package/styles/theme/brands/eika/_color-scheme.scss +119 -0
  441. package/styles/theme/brands/sparebank1/_color-scheme.scss +119 -0
  442. package/styles/{core/utility → utility}/_headings.scss +1 -1
  443. package/styles/utility/_paragraphs.scss +24 -0
  444. package/styles/{core/utility → utility}/_screen-reader.scss +1 -1
  445. package/styles/{core/utility → utility}/_spacing.scss +4 -3
  446. package/build/cjs/components-beta/description-list/DescriptionList.cjs +0 -2
  447. package/build/cjs/components-beta/description-list/DescriptionList.cjs.map +0 -1
  448. package/build/cjs/components-beta/description-list/DescriptionListItem.cjs +0 -2
  449. package/build/cjs/components-beta/description-list/DescriptionListItem.cjs.map +0 -1
  450. package/build/cjs/components-beta/nav-link/NavLink.cjs +0 -2
  451. package/build/cjs/components-beta/nav-link/NavLink.cjs.map +0 -1
  452. package/build/cjs/components-beta/nav-link/index.d.cts +0 -1
  453. package/build/cjs/components-beta/select/Select.cjs +0 -2
  454. package/build/cjs/components-beta/select/Select.cjs.map +0 -1
  455. package/build/cjs/components-beta/select/index.d.cts +0 -2
  456. package/build/cjs/core/index.cjs +0 -2
  457. package/build/cjs/core/index.cjs.map +0 -1
  458. package/build/cjs/core/index.d.cts +0 -2
  459. package/build/cjs/core/tokens/build-tailwind-4.cjs +0 -2
  460. package/build/cjs/core/tokens/build-tailwind-4.cjs.map +0 -1
  461. package/build/cjs/core/tokens/build-tailwind-4.d.cts +0 -1
  462. package/build/cjs/core/tokens/style-dictionary/build.cjs +0 -2
  463. package/build/cjs/core/tokens/style-dictionary/build.cjs.map +0 -1
  464. package/build/cjs/core/tokens/style-dictionary/build.d.cts +0 -0
  465. package/build/cjs/core/tokens/style-dictionary/config.cjs +0 -2
  466. package/build/cjs/core/tokens/style-dictionary/config.cjs.map +0 -1
  467. package/build/cjs/core/tokens/style-dictionary/config.d.cts +0 -4
  468. package/build/cjs/core/tokens/style-dictionary/filters/index.cjs +0 -2
  469. package/build/cjs/core/tokens/style-dictionary/filters/index.cjs.map +0 -1
  470. package/build/cjs/core/tokens/style-dictionary/filters/index.d.cts +0 -3
  471. package/build/cjs/core/tokens/style-dictionary/formats/css-dynamic-color-variables.cjs +0 -2
  472. package/build/cjs/core/tokens/style-dictionary/formats/css-dynamic-color-variables.cjs.map +0 -1
  473. package/build/cjs/core/tokens/style-dictionary/formats/css-dynamic-color-variables.d.cts +0 -3
  474. package/build/cjs/core/tokens/style-dictionary/formats/css-theme-variables.cjs +0 -2
  475. package/build/cjs/core/tokens/style-dictionary/formats/css-theme-variables.cjs.map +0 -1
  476. package/build/cjs/core/tokens/style-dictionary/formats/css-theme-variables.d.cts +0 -3
  477. package/build/cjs/core/tokens/style-dictionary/formats/index.cjs +0 -2
  478. package/build/cjs/core/tokens/style-dictionary/formats/index.cjs.map +0 -1
  479. package/build/cjs/core/tokens/style-dictionary/formats/index.d.cts +0 -6
  480. package/build/cjs/core/tokens/style-dictionary/formats/javascript-esm.cjs +0 -2
  481. package/build/cjs/core/tokens/style-dictionary/formats/javascript-esm.cjs.map +0 -1
  482. package/build/cjs/core/tokens/style-dictionary/formats/javascript-esm.d.cts +0 -3
  483. package/build/cjs/core/tokens/style-dictionary/formats/scss-theme-variables.cjs +0 -2
  484. package/build/cjs/core/tokens/style-dictionary/formats/scss-theme-variables.cjs.map +0 -1
  485. package/build/cjs/core/tokens/style-dictionary/formats/scss-theme-variables.d.cts +0 -3
  486. package/build/cjs/core/tokens/style-dictionary/formats/tailwindcss-colors.cjs +0 -2
  487. package/build/cjs/core/tokens/style-dictionary/formats/tailwindcss-colors.cjs.map +0 -1
  488. package/build/cjs/core/tokens/style-dictionary/formats/tailwindcss-colors.d.cts +0 -3
  489. package/build/cjs/core/tokens/style-dictionary/register.cjs +0 -2
  490. package/build/cjs/core/tokens/style-dictionary/register.cjs.map +0 -1
  491. package/build/cjs/core/tokens/style-dictionary/register.d.cts +0 -1
  492. package/build/cjs/core/tokens/style-dictionary/transforms/index.cjs +0 -2
  493. package/build/cjs/core/tokens/style-dictionary/transforms/index.cjs.map +0 -1
  494. package/build/cjs/core/tokens/style-dictionary/transforms/index.d.cts +0 -2
  495. package/build/cjs/core/tokens/style-dictionary/transforms/strip-light-dark.cjs +0 -2
  496. package/build/cjs/core/tokens/style-dictionary/transforms/strip-light-dark.cjs.map +0 -1
  497. package/build/cjs/core/tokens/style-dictionary/transforms/strip-light-dark.d.cts +0 -3
  498. package/build/cjs/index.cjs +0 -2
  499. package/build/cjs/index.cjs.map +0 -1
  500. package/build/cjs/index.d.cts +0 -3
  501. package/build/es/components-beta/description-list/DescriptionList.js +0 -2
  502. package/build/es/components-beta/description-list/DescriptionList.js.map +0 -1
  503. package/build/es/components-beta/description-list/DescriptionListItem.js +0 -2
  504. package/build/es/components-beta/description-list/DescriptionListItem.js.map +0 -1
  505. package/build/es/components-beta/nav-link/NavLink.js +0 -2
  506. package/build/es/components-beta/nav-link/NavLink.js.map +0 -1
  507. package/build/es/components-beta/nav-link/index.d.ts +0 -1
  508. package/build/es/components-beta/select/Select.js +0 -2
  509. package/build/es/components-beta/select/Select.js.map +0 -1
  510. package/build/es/components-beta/select/index.d.ts +0 -2
  511. package/build/es/core/index.d.ts +0 -2
  512. package/build/es/core/index.js +0 -2
  513. package/build/es/core/index.js.map +0 -1
  514. package/build/es/core/tokens/build-tailwind-4.d.ts +0 -1
  515. package/build/es/core/tokens/build-tailwind-4.js +0 -2
  516. package/build/es/core/tokens/build-tailwind-4.js.map +0 -1
  517. package/build/es/core/tokens/style-dictionary/build.d.ts +0 -0
  518. package/build/es/core/tokens/style-dictionary/build.js +0 -2
  519. package/build/es/core/tokens/style-dictionary/build.js.map +0 -1
  520. package/build/es/core/tokens/style-dictionary/config.d.ts +0 -4
  521. package/build/es/core/tokens/style-dictionary/config.js +0 -2
  522. package/build/es/core/tokens/style-dictionary/config.js.map +0 -1
  523. package/build/es/core/tokens/style-dictionary/filters/index.d.ts +0 -3
  524. package/build/es/core/tokens/style-dictionary/filters/index.js +0 -2
  525. package/build/es/core/tokens/style-dictionary/filters/index.js.map +0 -1
  526. package/build/es/core/tokens/style-dictionary/formats/css-dynamic-color-variables.d.ts +0 -3
  527. package/build/es/core/tokens/style-dictionary/formats/css-dynamic-color-variables.js +0 -2
  528. package/build/es/core/tokens/style-dictionary/formats/css-dynamic-color-variables.js.map +0 -1
  529. package/build/es/core/tokens/style-dictionary/formats/css-theme-variables.d.ts +0 -3
  530. package/build/es/core/tokens/style-dictionary/formats/css-theme-variables.js +0 -2
  531. package/build/es/core/tokens/style-dictionary/formats/css-theme-variables.js.map +0 -1
  532. package/build/es/core/tokens/style-dictionary/formats/index.d.ts +0 -6
  533. package/build/es/core/tokens/style-dictionary/formats/index.js +0 -2
  534. package/build/es/core/tokens/style-dictionary/formats/index.js.map +0 -1
  535. package/build/es/core/tokens/style-dictionary/formats/javascript-esm.d.ts +0 -3
  536. package/build/es/core/tokens/style-dictionary/formats/javascript-esm.js +0 -2
  537. package/build/es/core/tokens/style-dictionary/formats/javascript-esm.js.map +0 -1
  538. package/build/es/core/tokens/style-dictionary/formats/scss-theme-variables.d.ts +0 -3
  539. package/build/es/core/tokens/style-dictionary/formats/scss-theme-variables.js +0 -2
  540. package/build/es/core/tokens/style-dictionary/formats/scss-theme-variables.js.map +0 -1
  541. package/build/es/core/tokens/style-dictionary/formats/tailwindcss-colors.d.ts +0 -3
  542. package/build/es/core/tokens/style-dictionary/formats/tailwindcss-colors.js +0 -2
  543. package/build/es/core/tokens/style-dictionary/formats/tailwindcss-colors.js.map +0 -1
  544. package/build/es/core/tokens/style-dictionary/register.d.ts +0 -1
  545. package/build/es/core/tokens/style-dictionary/register.js +0 -2
  546. package/build/es/core/tokens/style-dictionary/register.js.map +0 -1
  547. package/build/es/core/tokens/style-dictionary/transforms/index.d.ts +0 -2
  548. package/build/es/core/tokens/style-dictionary/transforms/index.js +0 -2
  549. package/build/es/core/tokens/style-dictionary/transforms/index.js.map +0 -1
  550. package/build/es/core/tokens/style-dictionary/transforms/strip-light-dark.d.ts +0 -3
  551. package/build/es/core/tokens/style-dictionary/transforms/strip-light-dark.js +0 -2
  552. package/build/es/core/tokens/style-dictionary/transforms/strip-light-dark.js.map +0 -1
  553. package/build/es/index.d.ts +0 -3
  554. package/build/es/index.js +0 -2
  555. package/build/es/index.js.map +0 -1
  556. package/build/index-Ck94bTpt.cjs +0 -2
  557. package/build/index-Ck94bTpt.cjs.map +0 -1
  558. package/build/index-DOHQmuhD.js +0 -2
  559. package/build/index-DOHQmuhD.js.map +0 -1
  560. package/src/fonts/styles/_index.scss +0 -1
  561. package/src/fonts/styles/webfonts.scss +0 -145
  562. package/src/tailwind/v4/jokul-tailwind.css +0 -266
  563. package/styles/components-beta/nav-link/navlink.min.css +0 -1
  564. package/styles/components-beta/select/_index.scss +0 -3
  565. package/styles/components-beta/select/select.min.css +0 -1
  566. package/styles/core/core.css +0 -1731
  567. package/styles/core/core.min.css +0 -2
  568. package/styles/core/jkl/_colors.scss +0 -26
  569. package/styles/core/jkl/_helpers.scss +0 -26
  570. package/styles/core/jkl/legacy/_index.scss +0 -2
  571. package/styles/core/theme/_index.scss +0 -10
  572. package/styles/core/theme/_old-vars.scss +0 -21
  573. package/styles/core/theme/_shape.scss +0 -12
  574. package/styles/core/theme/_spacing.scss +0 -64
  575. package/styles/core/theme/_typography.scss +0 -38
  576. package/styles/core/utility/_paragraphs.scss +0 -29
  577. package/styles/fonts/_index.scss +0 -1
  578. package/styles/fonts/webfonts.css +0 -115
  579. package/styles/fonts/webfonts.min.css +0 -1
  580. package/styles/fonts/webfonts.scss +0 -145
  581. package/styles/styles.min.css +0 -3
  582. /package/build/cjs/{components-beta → components/beta}/description-list/DescriptionList.d.cts +0 -0
  583. /package/build/cjs/{components-beta → components/beta}/description-list/DescriptionListItem.d.cts +0 -0
  584. /package/build/cjs/{components-beta → components/beta}/description-list/index.cjs +0 -0
  585. /package/build/cjs/{components-beta → components/beta}/description-list/index.cjs.map +0 -0
  586. /package/build/cjs/{components-beta → components/beta}/description-list/types.cjs +0 -0
  587. /package/build/cjs/{components-beta → components/beta}/description-list/types.cjs.map +0 -0
  588. /package/build/cjs/{components-beta → components/beta}/description-list/types.d.cts +0 -0
  589. /package/build/cjs/{components-beta → components/beta}/nav-link/NavLink.d.cts +0 -0
  590. /package/build/cjs/{components-beta → components/beta}/nav-link/index.cjs +0 -0
  591. /package/build/cjs/{components-beta → components/beta}/nav-link/index.cjs.map +0 -0
  592. /package/build/cjs/{components-beta → components/beta}/nav-link/types.cjs +0 -0
  593. /package/build/cjs/{components-beta → components/beta}/nav-link/types.cjs.map +0 -0
  594. /package/build/cjs/{components-beta → components/beta}/select/Select.d.cts +0 -0
  595. /package/build/cjs/{components-beta → components/beta}/select/index.cjs +0 -0
  596. /package/build/cjs/{components-beta → components/beta}/select/index.cjs.map +0 -0
  597. /package/build/cjs/{components-beta → components/beta}/select/types.cjs +0 -0
  598. /package/build/cjs/{components-beta → components/beta}/select/types.cjs.map +0 -0
  599. /package/build/cjs/{core → utilities}/types.cjs +0 -0
  600. /package/build/cjs/{core → utilities}/types.cjs.map +0 -0
  601. /package/build/es/{components-beta → components/beta}/description-list/DescriptionList.d.ts +0 -0
  602. /package/build/es/{components-beta → components/beta}/description-list/DescriptionListItem.d.ts +0 -0
  603. /package/build/es/{components-beta → components/beta}/description-list/index.js +0 -0
  604. /package/build/es/{components-beta → components/beta}/description-list/index.js.map +0 -0
  605. /package/build/es/{components-beta → components/beta}/description-list/types.d.ts +0 -0
  606. /package/build/es/{components-beta → components/beta}/description-list/types.js +0 -0
  607. /package/build/es/{components-beta → components/beta}/description-list/types.js.map +0 -0
  608. /package/build/es/{components-beta → components/beta}/nav-link/NavLink.d.ts +0 -0
  609. /package/build/es/{components-beta → components/beta}/nav-link/index.js +0 -0
  610. /package/build/es/{components-beta → components/beta}/nav-link/index.js.map +0 -0
  611. /package/build/es/{components-beta → components/beta}/nav-link/types.js +0 -0
  612. /package/build/es/{components-beta → components/beta}/nav-link/types.js.map +0 -0
  613. /package/build/es/{components-beta → components/beta}/select/Select.d.ts +0 -0
  614. /package/build/es/{components-beta → components/beta}/select/index.js +0 -0
  615. /package/build/es/{components-beta → components/beta}/select/index.js.map +0 -0
  616. /package/build/es/{components-beta → components/beta}/select/types.js +0 -0
  617. /package/build/es/{components-beta → components/beta}/select/types.js.map +0 -0
  618. /package/build/es/{core → utilities}/types.js +0 -0
  619. /package/build/es/{core → utilities}/types.js.map +0 -0
  620. /package/styles/{core/_layers.scss → _layers.scss} +0 -0
  621. /package/styles/{core/core.scss → base.scss} +0 -0
  622. /package/styles/{components-beta → components/beta}/description-list/_index.scss +0 -0
  623. /package/styles/{components-beta → components/beta}/nav-link/_index.scss +0 -0
  624. /package/styles/{core/global → global}/_index.scss +0 -0
  625. /package/styles/{core/jkl → jkl}/_convert.scss +0 -0
  626. /package/styles/{core/jkl → jkl}/_navigation.scss +0 -0
  627. /package/styles/{core/jkl → jkl}/_responsive-units.scss +0 -0
  628. /package/styles/{core/jkl → jkl}/_screenreader.scss +0 -0
  629. /package/styles/{core/jkl → jkl}/_screens.scss +0 -0
  630. /package/styles/{core/jkl → jkl}/_shadows.scss +0 -0
  631. /package/styles/{core/jkl → jkl}/_underline.scss +0 -0
  632. /package/styles/{core/jkl → jkl}/_z-index.scss +0 -0
  633. /package/styles/{core/resets → resets}/_index.scss +0 -0
  634. /package/styles/{core/resets → resets}/_normalize.scss +0 -0
  635. /package/styles/{core/resets → resets}/_reset.scss +0 -0
  636. /package/styles/{core/utility → utility}/_index.scss +0 -0
@@ -9,29 +9,25 @@
9
9
  --jkl-message-dismiss-button-size: var(--jkl-unit-50);
10
10
  --jkl-message-gap: var(--jkl-unit-20);
11
11
  --jkl-message-padding: var(--jkl-unit-25) var(--jkl-unit-15);
12
- --background-color: var(--jkl-color-background-alert-neutral);
13
- --text-color: var(--jkl-color-text-on-alert);
12
+ --background-color: var(--jkl-color-background-container);
13
+ --text-color: var(--jkl-color-text-default);
14
+ --border-color: var(--jkl-color-border-subdued);
14
15
  width: 100%;
15
16
  max-width: 35rem;
16
17
  padding: var(--jkl-message-padding);
17
18
  background-color: var(--background-color);
18
19
  color: var(--text-color);
20
+ border: 1px solid var(--border-color);
19
21
  border-radius: 0.25rem;
20
22
  box-sizing: border-box;
21
23
  display: grid;
22
24
  align-items: start;
23
25
  grid-template-areas: "icon content dismiss";
24
26
  grid-template-columns: auto 1fr auto;
25
- font-size: var(--jkl-font-size-3);
26
- line-height: var(--jkl-line-height-relaxed);
27
- font-weight: 400;
28
- --jkl-icon-weight: 300;
27
+ font: var(--jkl-text-style-paragraph-medium);
29
28
  }
30
29
  .jkl-message:has(.jkl-message__title) {
31
- font-size: var(--jkl-font-size-4);
32
- line-height: var(--jkl-line-height-tight);
33
- font-weight: 700;
34
- --jkl-icon-weight: 400;
30
+ font: var(--jkl-text-style-heading-5);
35
31
  }
36
32
  .jkl-message__icon {
37
33
  grid-area: icon;
@@ -49,17 +45,11 @@
49
45
  grid-area: content;
50
46
  }
51
47
  .jkl-message__message {
52
- font-size: var(--jkl-font-size-3);
53
- line-height: var(--jkl-line-height-relaxed);
54
- font-weight: 400;
55
- --jkl-icon-weight: 300;
48
+ font: var(--jkl-text-style-paragraph-medium);
56
49
  margin-top: -0.125rem;
57
50
  }
58
51
  .jkl-message__title {
59
- font-size: var(--jkl-font-size-4);
60
- line-height: var(--jkl-line-height-tight);
61
- font-weight: 700;
62
- --jkl-icon-weight: 400;
52
+ font: var(--jkl-text-style-heading-5);
63
53
  margin: var(--jkl-message-title-margin);
64
54
  }
65
55
  .jkl-message__title ~ .jkl-message__message {
@@ -131,27 +121,35 @@
131
121
  }
132
122
  }
133
123
  .jkl-message__dismiss-button:focus-visible {
134
- outline: 3px solid var(--jkl-color-border-action);
124
+ outline: 3px solid var(--jkl-color-border-strong);
135
125
  outline-offset: 3px;
136
126
  }
137
127
  .jkl-message--full {
138
128
  max-width: 100%;
139
129
  }
140
130
  .jkl-message--info {
141
- --background-color: var(--jkl-color-background-alert-info);
131
+ --background-color: var(--jkl-color-info-background-container);
132
+ --text-color: var(--jkl-color-info-text-default);
133
+ --border-color: var(--jkl-color-info-border-subdued);
142
134
  }
143
135
  .jkl-message--warning {
144
- --background-color: var(--jkl-color-background-alert-warning);
136
+ --background-color: var(--jkl-color-warning-background-container);
137
+ --text-color: var(--jkl-color-warning-text-default);
138
+ --border-color: var(--jkl-color-warning-border-subdued);
145
139
  }
146
140
  .jkl-message--error {
147
- --background-color: var(--jkl-color-background-alert-error);
141
+ --background-color: var(--jkl-color-error-background-container);
142
+ --text-color: var(--jkl-color-error-text-default);
143
+ --border-color: var(--jkl-color-error-border-subdued);
148
144
  }
149
145
  .jkl-message--success {
150
- --background-color: var(--jkl-color-background-alert-success);
146
+ --background-color: var(--jkl-color-success-background-container);
147
+ --text-color: var(--jkl-color-success-text-default);
148
+ --border-color: var(--jkl-color-success-border-subdued);
151
149
  }
152
150
  .jkl-message--dismissed {
153
- animation: jkl-dismiss-uxhi02u 400ms ease-in-out forwards;
154
- transition: visibility 0ms 400ms;
151
+ animation: jkl-dismiss-ulh9kwh var(--jkl-motion-timing-lazy) ease-in-out forwards;
152
+ transition: visibility 0ms var(--jkl-motion-timing-lazy);
155
153
  visibility: hidden;
156
154
  }
157
155
  @media screen and (forced-colors: active) {
@@ -170,9 +168,9 @@
170
168
  }
171
169
  }
172
170
  .jkl-form-error-message {
173
- padding-bottom: calc(var(--jkl-unit-base) * 5);
171
+ padding-bottom: var(--jkl-unit-50);
174
172
  }
175
- @keyframes jkl-dismiss-uxhi02u {
173
+ @keyframes jkl-dismiss-ulh9kwh {
176
174
  from {
177
175
  opacity: 1;
178
176
  transform: translate3d(0, 0, 0);
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-message{--jkl-message-icon-left:var(--jkl-unit-20);--jkl-message-icon-top:var(--jkl-unit-30);--jkl-message-title-margin:0 0 var(--jkl-unit-05) 0;--jkl-message-dismiss-button-size:var(--jkl-unit-50);--jkl-message-gap:var(--jkl-unit-20);--jkl-message-padding:var(--jkl-unit-25) var(--jkl-unit-15);--background-color:var(--jkl-color-background-alert-neutral);--text-color:var(--jkl-color-text-on-alert);align-items:start;background-color:var(--background-color);border-radius:.25rem;box-sizing:border-box;color:var(--text-color);display:grid;font-size:var(--jkl-font-size-3);font-weight:400;grid-template-areas:"icon content dismiss";grid-template-columns:auto 1fr auto;line-height:var(--jkl-line-height-relaxed);max-width:35rem;padding:var(--jkl-message-padding);width:100%;--jkl-icon-weight:300}.jkl-message:has(.jkl-message__title){font-size:var(--jkl-font-size-4);font-weight:700;line-height:var(--jkl-line-height-tight);--jkl-icon-weight:400}.jkl-message__icon{grid-area:icon;margin-right:var(--jkl-message-gap)}@media screen and (forced-colors:active){.jkl-message__icon,.jkl-message__icon path,.jkl-message__icon svg{stroke:CanvasText}}.jkl-message__content{grid-area:content}.jkl-message__message{font-size:var(--jkl-font-size-3);font-weight:400;line-height:var(--jkl-line-height-relaxed);--jkl-icon-weight:300;margin-top:-.125rem}.jkl-message__title{font-size:var(--jkl-font-size-4);font-weight:700;line-height:var(--jkl-line-height-tight);--jkl-icon-weight:400;margin:var(--jkl-message-title-margin)}.jkl-message__title~.jkl-message__message{margin-top:0}.jkl-message__dismiss-button{background-color:transparent;border-style:none;color:inherit;cursor:pointer;display:grid;grid-area:dismiss;justify-self:end;outline:0;outline-style:none;padding:0;place-content:center;position:relative}.jkl-message__dismiss-button:active,.jkl-message__dismiss-button:focus,.jkl-message__dismiss-button:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-message__dismiss-button{border-style:revert;outline:revert;outline-style:revert}.jkl-message__dismiss-button:active,.jkl-message__dismiss-button:focus,.jkl-message__dismiss-button:hover{outline:revert;outline-style:revert}}@media screen and (forced-colors:active){.jkl-message__dismiss-button,.jkl-message__dismiss-button path,.jkl-message__dismiss-button svg{stroke:ButtonText}.jkl-message__dismiss-button{background-color:ButtonFace}}.jkl-message__dismiss-button:after{content:"";display:block;height:var(--jkl-message-dismiss-button-size);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:var(--jkl-message-dismiss-button-size)}.jkl-message__dismiss-button:hover{color:var(--jkl-color-text-interactive-hover)}@media screen and (forced-colors:active){.jkl-message__dismiss-button:hover{stroke:ButtonText}.jkl-message__dismiss-button:hover path,.jkl-message__dismiss-button:hover svg{stroke:ButtonText}}.jkl-message__dismiss-button:focus-visible{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-message--full{max-width:100%}.jkl-message--info{--background-color:var(--jkl-color-background-alert-info)}.jkl-message--warning{--background-color:var(--jkl-color-background-alert-warning)}.jkl-message--error{--background-color:var(--jkl-color-background-alert-error)}.jkl-message--success{--background-color:var(--jkl-color-background-alert-success)}.jkl-message--dismissed{animation:jkl-dismiss-uxhi02u .4s ease-in-out forwards;transition:visibility 0s .4s;visibility:hidden}@media screen and (forced-colors:active){.jkl-message{border:2px solid CanvasText}.jkl-message--info{border-style:dotted}.jkl-message--warning{border-style:dashed}.jkl-message--error{border-style:double;border-width:4px}}.jkl-form-error-message{padding-bottom:calc(var(--jkl-unit-base)*5)}@keyframes jkl-dismiss-uxhi02u{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-50%,0)}}}
1
+ @layer jokul.components{.jkl-message{--jkl-message-icon-left:var(--jkl-unit-20);--jkl-message-icon-top:var(--jkl-unit-30);--jkl-message-title-margin:0 0 var(--jkl-unit-05) 0;--jkl-message-dismiss-button-size:var(--jkl-unit-50);--jkl-message-gap:var(--jkl-unit-20);--jkl-message-padding:var(--jkl-unit-25) var(--jkl-unit-15);--background-color:var(--jkl-color-background-container);--text-color:var(--jkl-color-text-default);--border-color:var(--jkl-color-border-subdued);align-items:start;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:.25rem;box-sizing:border-box;color:var(--text-color);display:grid;font:var(--jkl-text-style-paragraph-medium);grid-template-areas:"icon content dismiss";grid-template-columns:auto 1fr auto;max-width:35rem;padding:var(--jkl-message-padding);width:100%}.jkl-message:has(.jkl-message__title){font:var(--jkl-text-style-heading-5)}.jkl-message__icon{grid-area:icon;margin-right:var(--jkl-message-gap)}@media screen and (forced-colors:active){.jkl-message__icon,.jkl-message__icon path,.jkl-message__icon svg{stroke:CanvasText}}.jkl-message__content{grid-area:content}.jkl-message__message{font:var(--jkl-text-style-paragraph-medium);margin-top:-.125rem}.jkl-message__title{font:var(--jkl-text-style-heading-5);margin:var(--jkl-message-title-margin)}.jkl-message__title~.jkl-message__message{margin-top:0}.jkl-message__dismiss-button{background-color:transparent;border-style:none;color:inherit;cursor:pointer;display:grid;grid-area:dismiss;justify-self:end;outline:0;outline-style:none;padding:0;place-content:center;position:relative}.jkl-message__dismiss-button:active,.jkl-message__dismiss-button:focus,.jkl-message__dismiss-button:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-message__dismiss-button{border-style:revert;outline:revert;outline-style:revert}.jkl-message__dismiss-button:active,.jkl-message__dismiss-button:focus,.jkl-message__dismiss-button:hover{outline:revert;outline-style:revert}}@media screen and (forced-colors:active){.jkl-message__dismiss-button,.jkl-message__dismiss-button path,.jkl-message__dismiss-button svg{stroke:ButtonText}.jkl-message__dismiss-button{background-color:ButtonFace}}.jkl-message__dismiss-button:after{content:"";display:block;height:var(--jkl-message-dismiss-button-size);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:var(--jkl-message-dismiss-button-size)}.jkl-message__dismiss-button:hover{color:var(--jkl-color-text-interactive-hover)}@media screen and (forced-colors:active){.jkl-message__dismiss-button:hover{stroke:ButtonText}.jkl-message__dismiss-button:hover path,.jkl-message__dismiss-button:hover svg{stroke:ButtonText}}.jkl-message__dismiss-button:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-message--full{max-width:100%}.jkl-message--info{--background-color:var(--jkl-color-info-background-container);--text-color:var(--jkl-color-info-text-default);--border-color:var(--jkl-color-info-border-subdued)}.jkl-message--warning{--background-color:var(--jkl-color-warning-background-container);--text-color:var(--jkl-color-warning-text-default);--border-color:var(--jkl-color-warning-border-subdued)}.jkl-message--error{--background-color:var(--jkl-color-error-background-container);--text-color:var(--jkl-color-error-text-default);--border-color:var(--jkl-color-error-border-subdued)}.jkl-message--success{--background-color:var(--jkl-color-success-background-container);--text-color:var(--jkl-color-success-text-default);--border-color:var(--jkl-color-success-border-subdued)}.jkl-message--dismissed{animation:jkl-dismiss-ulh9kwh var(--jkl-motion-timing-lazy) ease-in-out forwards;transition:visibility 0s var(--jkl-motion-timing-lazy);visibility:hidden}@media screen and (forced-colors:active){.jkl-message{border:2px solid CanvasText}.jkl-message--info{border-style:dotted}.jkl-message--warning{border-style:dashed}.jkl-message--error{border-style:double;border-width:4px}}.jkl-form-error-message{padding-bottom:var(--jkl-unit-50)}@keyframes jkl-dismiss-ulh9kwh{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-50%,0)}}}
@@ -1,6 +1,6 @@
1
1
  @charset "UTF-8";
2
2
  @use "sass:string";
3
- @use "../../core/jkl";
3
+ @use "../../jkl";
4
4
 
5
5
  $_dismiss-animation-duration: jkl.timing("lazy");
6
6
  $_dismiss-animation-name: jkl-dismiss-#{string.unique-id()};
@@ -15,14 +15,16 @@ $_message-width--compact: jkl.rem(440px);
15
15
  --jkl-message-dismiss-button-size: var(--jkl-unit-50);
16
16
  --jkl-message-gap: var(--jkl-unit-20);
17
17
  --jkl-message-padding: var(--jkl-unit-25) var(--jkl-unit-15);
18
- --background-color: var(--jkl-color-background-alert-neutral);
19
- --text-color: var(--jkl-color-text-on-alert);
18
+ --background-color: var(--jkl-color-background-container);
19
+ --text-color: var(--jkl-color-text-default);
20
+ --border-color: var(--jkl-color-border-subdued);
20
21
 
21
22
  width: 100%;
22
23
  max-width: $_message-width;
23
24
  padding: var(--jkl-message-padding);
24
25
  background-color: var(--background-color);
25
26
  color: var(--text-color);
27
+ border: 1px solid var(--border-color);
26
28
  border-radius: jkl.rem(4px);
27
29
  box-sizing: border-box;
28
30
 
@@ -114,19 +116,27 @@ $_message-width--compact: jkl.rem(440px);
114
116
  }
115
117
 
116
118
  &--info {
117
- --background-color: var(--jkl-color-background-alert-info);
119
+ --background-color: var(--jkl-color-info-background-container);
120
+ --text-color: var(--jkl-color-info-text-default);
121
+ --border-color: var(--jkl-color-info-border-subdued);
118
122
  }
119
123
 
120
124
  &--warning {
121
- --background-color: var(--jkl-color-background-alert-warning);
125
+ --background-color: var(--jkl-color-warning-background-container);
126
+ --text-color: var(--jkl-color-warning-text-default);
127
+ --border-color: var(--jkl-color-warning-border-subdued);
122
128
  }
123
129
 
124
130
  &--error {
125
- --background-color: var(--jkl-color-background-alert-error);
131
+ --background-color: var(--jkl-color-error-background-container);
132
+ --text-color: var(--jkl-color-error-text-default);
133
+ --border-color: var(--jkl-color-error-border-subdued);
126
134
  }
127
135
 
128
136
  &--success {
129
- --background-color: var(--jkl-color-background-alert-success);
137
+ --background-color: var(--jkl-color-success-background-container);
138
+ --text-color: var(--jkl-color-success-text-default);
139
+ --border-color: var(--jkl-color-success-border-subdued);
130
140
  }
131
141
 
132
142
  &--dismissed {
@@ -0,0 +1,22 @@
1
+ @use "../../jkl";
2
+
3
+ @layer jokul.components {
4
+ /* Base layout */
5
+ .jkl-modal-container,
6
+ .jkl-modal-overlay {
7
+ position: fixed;
8
+ inset: 0;
9
+ }
10
+
11
+ .jkl-modal-container {
12
+ z-index: jkl.$z-index--modal;
13
+ display: flex;
14
+ align-items: center;
15
+ justify-content: center;
16
+
17
+ &[aria-hidden="true"] {
18
+ visibility: hidden;
19
+ pointer-events: none;
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,32 @@
1
+ @use "../../jkl";
2
+
3
+ @layer jokul.components {
4
+ .jkl-modal {
5
+ --margin: var(--jkl-spacing-m);
6
+
7
+ container-type: inline-size;
8
+ box-sizing: border-box;
9
+ margin: var(--margin);
10
+ padding: var(--modal-padding, var(--jkl-unit-40));
11
+ z-index: jkl.$z-index--modal;
12
+
13
+ background-color: var(--jkl-color-background-container);
14
+ border-radius: var(--jkl-border-radius-l);
15
+ box-shadow: jkl.$shadow-task-card;
16
+
17
+ width: min(
18
+ calc(100vw - 2 * var(--margin)),
19
+ var(--modal-width, 60ch /* ~650px ved vanlig zoom/size */)
20
+ );
21
+ max-width: none;
22
+ max-height: 90vh;
23
+ overflow: auto;
24
+
25
+ display: flex;
26
+ flex-direction: column;
27
+
28
+ @include jkl.forced-colors-mode {
29
+ border-color: CanvasText;
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,45 @@
1
+ @use "../../jkl";
2
+
3
+ @layer jokul.components {
4
+ .jkl-modal-container--slide-in {
5
+ --jkl-modal-slide-x: 0px;
6
+ --jkl-modal-slide-y: 12px;
7
+
8
+ @include jkl.motion("exit", "expressive", visibility);
9
+ transition-duration: 0ms;
10
+
11
+ &[aria-hidden="true"] {
12
+ display: flex;
13
+ visibility: hidden;
14
+ pointer-events: none;
15
+ transition-delay: jkl.timing("expressive");
16
+ }
17
+
18
+ &:not([aria-hidden="true"]) {
19
+ visibility: visible;
20
+ transition-delay: 0ms;
21
+ }
22
+ }
23
+
24
+ .jkl-modal-container--slide-in .jkl-modal {
25
+ @include jkl.motion("entrance", "expressive", transform, opacity);
26
+
27
+ transform: translate(
28
+ var(--jkl-modal-slide-x),
29
+ var(--jkl-modal-slide-y)
30
+ );
31
+ opacity: 0;
32
+ will-change: transform, opacity;
33
+ }
34
+
35
+ .jkl-modal-container--slide-in:not([aria-hidden="true"]) .jkl-modal {
36
+ transform: translate(0, 0);
37
+ opacity: 1;
38
+ }
39
+
40
+ @media (prefers-reduced-motion: reduce) {
41
+ .jkl-modal-container--slide-in .jkl-modal {
42
+ transition-duration: 0ms;
43
+ }
44
+ }
45
+ }
@@ -0,0 +1,20 @@
1
+ @use "../../jkl";
2
+
3
+ @layer jokul.components {
4
+ .jkl-modal-overlay {
5
+ background-color: rgb(27 25 23 / 80%);
6
+ opacity: 0;
7
+
8
+ @include jkl.motion("entrance", "expressive", opacity);
9
+ }
10
+
11
+ .jkl-modal-container:not([aria-hidden="true"]) .jkl-modal-overlay {
12
+ opacity: 1;
13
+ }
14
+
15
+ @media (prefers-reduced-motion: reduce) {
16
+ .jkl-modal-overlay {
17
+ transition-duration: 0ms;
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,33 @@
1
+ @use "../../jkl";
2
+
3
+ @layer jokul.components {
4
+ .jkl-modal-header {
5
+ --jkl-modal-header-margin: 0 0 var(--jkl-unit-20);
6
+
7
+ display: flex;
8
+ flex-direction: row;
9
+ justify-content: space-between;
10
+ align-items: center;
11
+ margin: var(--jkl-modal-header-margin);
12
+ }
13
+
14
+ .jkl-modal-body {
15
+ @include jkl.text-style("paragraph-medium");
16
+ }
17
+
18
+ .jkl-modal-title {
19
+ @include jkl.text-style("heading-3");
20
+ }
21
+
22
+ .jkl-modal-actions {
23
+ margin-block-start: var(--jkl-unit-50);
24
+ display: flex;
25
+ flex-direction: column;
26
+ gap: var(--jkl-unit-15) var(--jkl-unit-20);
27
+
28
+ @container (width > 35ch /* ~380px ved vanlig zoom/size */) {
29
+ flex-direction: row-reverse;
30
+ align-self: flex-end;
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,59 @@
1
+ @use "../../jkl";
2
+
3
+ @layer jokul.components {
4
+ /* Placement: bottom */
5
+ .jkl-modal-container--placement-bottom {
6
+ align-items: flex-end;
7
+
8
+ &.jkl-modal-container--slide-in {
9
+ --jkl-modal-slide-x: 0px;
10
+ --jkl-modal-slide-y: 24px;
11
+ }
12
+
13
+ .jkl-modal {
14
+ --margin: 0px;
15
+
16
+ width: min(100vw, var(--modal-width, 100vw));
17
+ border-bottom-left-radius: 0;
18
+ border-bottom-right-radius: 0;
19
+ }
20
+ }
21
+
22
+ /* Placement: left */
23
+ .jkl-modal-container--placement-left {
24
+ justify-content: flex-start;
25
+
26
+ &.jkl-modal-container--slide-in {
27
+ --jkl-modal-slide-x: -24px;
28
+ --jkl-modal-slide-y: 0px;
29
+ }
30
+
31
+ .jkl-modal {
32
+ height: 100%;
33
+ max-height: 100%;
34
+ margin-block: 0;
35
+ margin-inline-start: 0;
36
+ border-top-left-radius: 0;
37
+ border-bottom-left-radius: 0;
38
+ }
39
+ }
40
+
41
+ /* Placement: right */
42
+ .jkl-modal-container--placement-right {
43
+ justify-content: flex-end;
44
+
45
+ &.jkl-modal-container--slide-in {
46
+ --jkl-modal-slide-x: 24px;
47
+ --jkl-modal-slide-y: 0px;
48
+ }
49
+
50
+ .jkl-modal {
51
+ height: 100%;
52
+ max-height: 100%;
53
+ margin-block: 0;
54
+ margin-inline-end: 0;
55
+ border-top-right-radius: 0;
56
+ border-bottom-right-radius: 0;
57
+ }
58
+ }
59
+ }
@@ -2,6 +2,7 @@
2
2
  * Do not edit directly, this file was auto-generated.
3
3
  */
4
4
  @layer jokul.components {
5
+ /* Base layout */
5
6
  .jkl-modal-container,
6
7
  .jkl-modal-overlay {
7
8
  position: fixed;
@@ -10,29 +11,46 @@
10
11
  .jkl-modal-container {
11
12
  z-index: 9000;
12
13
  display: flex;
14
+ align-items: center;
15
+ justify-content: center;
13
16
  }
14
17
  .jkl-modal-container[aria-hidden=true] {
15
- display: none;
18
+ visibility: hidden;
19
+ pointer-events: none;
16
20
  }
21
+ }
22
+ @layer jokul.components {
17
23
  .jkl-modal-overlay {
18
24
  background-color: rgba(27, 25, 23, 0.8);
25
+ opacity: 0;
26
+ transition-timing-function: var(--jkl-motion-easing-entrance);
27
+ transition-duration: var(--jkl-motion-timing-expressive);
28
+ transition-property: opacity;
29
+ }
30
+ .jkl-modal-container:not([aria-hidden=true]) .jkl-modal-overlay {
31
+ opacity: 1;
32
+ }
33
+ @media (prefers-reduced-motion: reduce) {
34
+ .jkl-modal-overlay {
35
+ transition-duration: 0ms;
36
+ }
19
37
  }
38
+ }
39
+ @layer jokul.components {
20
40
  .jkl-modal {
21
- --jkl-modal-padding: var(--jkl-unit-50);
22
- --jkl-modal-min-width: 13.75rem;
23
- --jkl-modal-max-width: 41.25rem;
24
- margin: auto;
41
+ --margin: var(--jkl-spacing-m);
42
+ container-type: inline-size;
43
+ box-sizing: border-box;
44
+ margin: var(--margin);
45
+ padding: var(--modal-padding, var(--jkl-unit-40));
25
46
  z-index: 9000;
26
- position: relative;
27
- background-color: var(--jkl-color-background-container-high);
28
- border-radius: 0.125rem;
47
+ background-color: var(--jkl-color-background-container);
48
+ border-radius: var(--jkl-border-radius-l);
29
49
  box-shadow: 0 0.25rem 0.75rem rgba(37, 42, 49, 0.03);
30
- width: 100%;
31
- min-width: var(--jkl-modal-min-width);
32
- max-width: var(--jkl-modal-max-width);
50
+ width: min(100vw - 2 * var(--margin), var(--modal-width, 60ch));
51
+ max-width: none;
33
52
  max-height: 90vh;
34
53
  overflow: auto;
35
- padding: var(--jkl-modal-padding);
36
54
  display: flex;
37
55
  flex-direction: column;
38
56
  }
@@ -41,54 +59,114 @@
41
59
  border-color: CanvasText;
42
60
  }
43
61
  }
44
- @media (width >= 0) and (max-width: 679px) {
45
- .jkl-modal {
46
- margin: auto var(--jkl-unit-30);
62
+ }
63
+ @layer jokul.components {
64
+ .jkl-modal-container--slide-in {
65
+ --jkl-modal-slide-x: 0px;
66
+ --jkl-modal-slide-y: 12px;
67
+ transition-timing-function: var(--jkl-motion-easing-exit);
68
+ transition-duration: var(--jkl-motion-timing-expressive);
69
+ transition-property: visibility;
70
+ transition-duration: 0ms;
71
+ }
72
+ .jkl-modal-container--slide-in[aria-hidden=true] {
73
+ display: flex;
74
+ visibility: hidden;
75
+ pointer-events: none;
76
+ transition-delay: var(--jkl-motion-timing-expressive);
77
+ }
78
+ .jkl-modal-container--slide-in:not([aria-hidden=true]) {
79
+ visibility: visible;
80
+ transition-delay: 0ms;
81
+ }
82
+ .jkl-modal-container--slide-in .jkl-modal {
83
+ transition-timing-function: var(--jkl-motion-easing-entrance);
84
+ transition-duration: var(--jkl-motion-timing-expressive);
85
+ transition-property: transform, opacity;
86
+ transform: translate(var(--jkl-modal-slide-x), var(--jkl-modal-slide-y));
87
+ opacity: 0;
88
+ will-change: transform, opacity;
89
+ }
90
+ .jkl-modal-container--slide-in:not([aria-hidden=true]) .jkl-modal {
91
+ transform: translate(0, 0);
92
+ opacity: 1;
93
+ }
94
+ @media (prefers-reduced-motion: reduce) {
95
+ .jkl-modal-container--slide-in .jkl-modal {
96
+ transition-duration: 0ms;
47
97
  }
48
98
  }
99
+ }
100
+ @layer jokul.components {
101
+ /* Placement: bottom */
102
+ .jkl-modal-container--placement-bottom {
103
+ align-items: flex-end;
104
+ }
105
+ .jkl-modal-container--placement-bottom.jkl-modal-container--slide-in {
106
+ --jkl-modal-slide-x: 0px;
107
+ --jkl-modal-slide-y: 24px;
108
+ }
109
+ .jkl-modal-container--placement-bottom .jkl-modal {
110
+ --margin: 0px;
111
+ width: min(100vw, var(--modal-width, 100vw));
112
+ border-bottom-left-radius: 0;
113
+ border-bottom-right-radius: 0;
114
+ }
115
+ /* Placement: left */
116
+ .jkl-modal-container--placement-left {
117
+ justify-content: flex-start;
118
+ }
119
+ .jkl-modal-container--placement-left.jkl-modal-container--slide-in {
120
+ --jkl-modal-slide-x: -24px;
121
+ --jkl-modal-slide-y: 0px;
122
+ }
123
+ .jkl-modal-container--placement-left .jkl-modal {
124
+ height: 100%;
125
+ max-height: 100%;
126
+ margin-block: 0;
127
+ margin-inline-start: 0;
128
+ border-top-left-radius: 0;
129
+ border-bottom-left-radius: 0;
130
+ }
131
+ /* Placement: right */
132
+ .jkl-modal-container--placement-right {
133
+ justify-content: flex-end;
134
+ }
135
+ .jkl-modal-container--placement-right.jkl-modal-container--slide-in {
136
+ --jkl-modal-slide-x: 24px;
137
+ --jkl-modal-slide-y: 0px;
138
+ }
139
+ .jkl-modal-container--placement-right .jkl-modal {
140
+ height: 100%;
141
+ max-height: 100%;
142
+ margin-block: 0;
143
+ margin-inline-end: 0;
144
+ border-top-right-radius: 0;
145
+ border-bottom-right-radius: 0;
146
+ }
147
+ }
148
+ @layer jokul.components {
49
149
  .jkl-modal-header {
50
150
  --jkl-modal-header-margin: 0 0 var(--jkl-unit-20);
51
- }
52
- @media (width >= 0) and (max-width: 679px) {
53
- .jkl-modal-header {
54
- --jkl-modal-header-margin: 0 0 var(--jkl-unit-15);
55
- }
56
- }
57
- .jkl-modal-header {
58
151
  display: flex;
59
152
  flex-direction: row;
60
153
  justify-content: space-between;
61
154
  align-items: center;
62
155
  margin: var(--jkl-modal-header-margin);
63
- gap: var(--jkl-modal-gap);
64
156
  }
65
157
  .jkl-modal-body {
66
- font-size: var(--jkl-font-size-3);
67
- line-height: var(--jkl-line-height-relaxed);
68
- font-weight: 400;
69
- --jkl-icon-weight: 300;
158
+ font: var(--jkl-text-style-paragraph-medium);
70
159
  }
71
160
  .jkl-modal-title {
72
- font-size: var(--jkl-font-size-6);
73
- line-height: var(--jkl-line-height-tight);
74
- font-weight: 700;
75
- --jkl-icon-weight: 400;
76
- }
77
- .jkl-modal-actions {
78
- --jkl-modal-actions-margin: var(--jkl-unit-50) 0 0 0;
79
- }
80
- @media (width >= 0) and (max-width: 679px) {
81
- .jkl-modal-actions {
82
- --jkl-modal-actions-margin: var(--jkl-unit-40) 0 0 0;
83
- }
161
+ font: var(--jkl-text-style-heading-3);
84
162
  }
85
163
  .jkl-modal-actions {
86
- margin: var(--jkl-modal-actions-margin);
164
+ margin-block-start: var(--jkl-unit-50);
87
165
  display: flex;
88
166
  flex-direction: column;
89
- gap: var(--jkl-unit-20);
167
+ gap: var(--jkl-unit-15) var(--jkl-unit-20);
90
168
  }
91
- @media (min-width: 60ch) {
169
+ @container (width > 35ch /* ~380px ved vanlig zoom/size */) {
92
170
  .jkl-modal-actions {
93
171
  flex-direction: row-reverse;
94
172
  align-self: flex-end;
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-modal-container,.jkl-modal-overlay{inset:0;position:fixed}.jkl-modal-container{display:flex;z-index:9000}.jkl-modal-container[aria-hidden=true]{display:none}.jkl-modal-overlay{background-color:rgba(27,25,23,.8)}.jkl-modal{--jkl-modal-padding:var(--jkl-unit-50);--jkl-modal-min-width:13.75rem;--jkl-modal-max-width:41.25rem;background-color:var(--jkl-color-background-container-high);border-radius:.125rem;box-shadow:0 .25rem .75rem rgba(37,42,49,.03);display:flex;flex-direction:column;margin:auto;max-height:90vh;max-width:var(--jkl-modal-max-width);min-width:var(--jkl-modal-min-width);overflow:auto;padding:var(--jkl-modal-padding);position:relative;width:100%;z-index:9000}@media screen and (forced-colors:active){.jkl-modal{border-color:CanvasText}}@media (width >= 0) and (max-width:679px){.jkl-modal{margin:auto var(--jkl-unit-30)}}.jkl-modal-header{--jkl-modal-header-margin:0 0 var(--jkl-unit-20)}@media (width >= 0) and (max-width:679px){.jkl-modal-header{--jkl-modal-header-margin:0 0 var(--jkl-unit-15)}}.jkl-modal-header{align-items:center;display:flex;flex-direction:row;gap:var(--jkl-modal-gap);justify-content:space-between;margin:var(--jkl-modal-header-margin)}.jkl-modal-body{font-size:var(--jkl-font-size-3);font-weight:400;line-height:var(--jkl-line-height-relaxed);--jkl-icon-weight:300}.jkl-modal-title{font-size:var(--jkl-font-size-6);font-weight:700;line-height:var(--jkl-line-height-tight);--jkl-icon-weight:400}.jkl-modal-actions{--jkl-modal-actions-margin:var(--jkl-unit-50) 0 0 0}@media (width >= 0) and (max-width:679px){.jkl-modal-actions{--jkl-modal-actions-margin:var(--jkl-unit-40) 0 0 0}}.jkl-modal-actions{display:flex;flex-direction:column;gap:var(--jkl-unit-20);margin:var(--jkl-modal-actions-margin)}@media (min-width:60ch){.jkl-modal-actions{align-self:flex-end;flex-direction:row-reverse}}}
1
+ @layer jokul.components{.jkl-modal-container,.jkl-modal-overlay{inset:0;position:fixed}.jkl-modal-container{align-items:center;display:flex;justify-content:center;z-index:9000}.jkl-modal-container[aria-hidden=true]{pointer-events:none;visibility:hidden}}@layer jokul.components{.jkl-modal-overlay{background-color:rgba(27,25,23,.8);opacity:0;transition-duration:var(--jkl-motion-timing-expressive);transition-property:opacity;transition-timing-function:var(--jkl-motion-easing-entrance)}.jkl-modal-container:not([aria-hidden=true]) .jkl-modal-overlay{opacity:1}@media (prefers-reduced-motion:reduce){.jkl-modal-overlay{transition-duration:0s}}}@layer jokul.components{.jkl-modal{--margin:var(--jkl-spacing-m);background-color:var(--jkl-color-background-container);border-radius:var(--jkl-border-radius-l);box-shadow:0 .25rem .75rem rgba(37,42,49,.03);box-sizing:border-box;container-type:inline-size;display:flex;flex-direction:column;margin:var(--margin);max-height:90vh;max-width:none;overflow:auto;padding:var(--modal-padding,var(--jkl-unit-40));width:min(100vw - 2 * var(--margin),var(--modal-width,60ch));z-index:9000}@media screen and (forced-colors:active){.jkl-modal{border-color:CanvasText}}}@layer jokul.components{.jkl-modal-container--slide-in{--jkl-modal-slide-x:0px;--jkl-modal-slide-y:12px;transition-duration:var(--jkl-motion-timing-expressive);transition-duration:0s;transition-property:visibility;transition-timing-function:var(--jkl-motion-easing-exit)}.jkl-modal-container--slide-in[aria-hidden=true]{display:flex;pointer-events:none;transition-delay:var(--jkl-motion-timing-expressive);visibility:hidden}.jkl-modal-container--slide-in:not([aria-hidden=true]){transition-delay:0s;visibility:visible}.jkl-modal-container--slide-in .jkl-modal{opacity:0;transform:translate(var(--jkl-modal-slide-x),var(--jkl-modal-slide-y));transition-duration:var(--jkl-motion-timing-expressive);transition-property:transform,opacity;transition-timing-function:var(--jkl-motion-easing-entrance);will-change:transform,opacity}.jkl-modal-container--slide-in:not([aria-hidden=true]) .jkl-modal{opacity:1;transform:translate(0)}@media (prefers-reduced-motion:reduce){.jkl-modal-container--slide-in .jkl-modal{transition-duration:0s}}}@layer jokul.components{.jkl-modal-container--placement-bottom{align-items:flex-end}.jkl-modal-container--placement-bottom.jkl-modal-container--slide-in{--jkl-modal-slide-x:0px;--jkl-modal-slide-y:24px}.jkl-modal-container--placement-bottom .jkl-modal{--margin:0px;border-bottom-left-radius:0;border-bottom-right-radius:0;width:min(100vw,var(--modal-width,100vw))}.jkl-modal-container--placement-left{justify-content:flex-start}.jkl-modal-container--placement-left.jkl-modal-container--slide-in{--jkl-modal-slide-x:-24px;--jkl-modal-slide-y:0px}.jkl-modal-container--placement-left .jkl-modal{height:100%;margin-block:0;max-height:100%;-webkit-margin-start:0;border-bottom-left-radius:0;border-top-left-radius:0;margin-inline-start:0}.jkl-modal-container--placement-right{justify-content:flex-end}.jkl-modal-container--placement-right.jkl-modal-container--slide-in{--jkl-modal-slide-x:24px;--jkl-modal-slide-y:0px}.jkl-modal-container--placement-right .jkl-modal{height:100%;margin-block:0;max-height:100%;-webkit-margin-end:0;border-bottom-right-radius:0;border-top-right-radius:0;margin-inline-end:0}.jkl-modal-header{--jkl-modal-header-margin:0 0 var(--jkl-unit-20);align-items:center;display:flex;flex-direction:row;justify-content:space-between;margin:var(--jkl-modal-header-margin)}.jkl-modal-body{font:var(--jkl-text-style-paragraph-medium)}.jkl-modal-title{font:var(--jkl-text-style-heading-3)}.jkl-modal-actions{-webkit-margin-before:var(--jkl-unit-50);display:flex;flex-direction:column;gap:var(--jkl-unit-15) var(--jkl-unit-20);margin-block-start:var(--jkl-unit-50)}}@layer jokul.components{@container (width > 35ch ){.jkl-modal-actions{align-self:flex-end;flex-direction:row-reverse}}}