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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/README.md +42 -18
  2. package/bin/jokul.mjs +10 -0
  3. package/bin/run-jokul-cli.mjs +63 -0
  4. package/build/build-stats.html +1 -1
  5. package/build/cjs/components/card/Card.cjs +1 -1
  6. package/build/cjs/components/card/Card.cjs.map +1 -1
  7. package/build/cjs/components/card/types.cjs +1 -1
  8. package/build/cjs/components/card/types.cjs.map +1 -1
  9. package/build/cjs/components/card/types.d.cts +2 -2
  10. package/build/cjs/components/checkbox/Checkbox.cjs +1 -1
  11. package/build/cjs/components/checkbox/Checkbox.cjs.map +1 -1
  12. package/build/cjs/components/cookie-consent/CookieConsent.cjs +1 -1
  13. package/build/cjs/components/cookie-consent/CookieConsent.cjs.map +1 -1
  14. package/build/cjs/components/cookie-consent/CookieConsent.d.cts +1 -1
  15. package/build/cjs/components/cookie-consent/types.d.cts +4 -0
  16. package/build/cjs/components/datepicker/DatePicker.cjs +1 -1
  17. package/build/cjs/components/datepicker/DatePicker.cjs.map +1 -1
  18. package/build/cjs/components/expander/ExpandablePanel.cjs +1 -1
  19. package/build/cjs/components/expander/ExpandablePanel.cjs.map +1 -1
  20. package/build/cjs/components/link/Link.cjs +1 -1
  21. package/build/cjs/components/link/Link.cjs.map +1 -1
  22. package/build/cjs/components/link/Link.d.cts +2 -2
  23. package/build/cjs/components/link/types.d.cts +1 -4
  24. package/build/cjs/components/modal/Modal.cjs +1 -1
  25. package/build/cjs/components/modal/Modal.cjs.map +1 -1
  26. package/build/cjs/components/modal/Modal.d.cts +2 -9
  27. package/build/cjs/components/modal/index.d.cts +1 -1
  28. package/build/cjs/components/modal/types.d.cts +18 -0
  29. package/build/cjs/components/popover/Popover.cjs +1 -1
  30. package/build/cjs/components/popover/Popover.cjs.map +1 -1
  31. package/build/cjs/components/radio-button/BaseRadioButton.cjs +1 -1
  32. package/build/cjs/components/radio-button/BaseRadioButton.cjs.map +1 -1
  33. package/build/cjs/components/text-area/BaseTextArea.cjs +1 -1
  34. package/build/cjs/components/text-area/BaseTextArea.cjs.map +1 -1
  35. package/build/cjs/components/text-area/counter.cjs +2 -0
  36. package/build/cjs/components/text-area/counter.cjs.map +1 -0
  37. package/build/cjs/components/text-area/counter.d.cts +2 -0
  38. package/build/cjs/components/text-area/types.d.cts +21 -1
  39. package/build/cjs/components/typography/Text.cjs +2 -0
  40. package/build/cjs/components/typography/Text.cjs.map +1 -0
  41. package/build/cjs/components/typography/Text.d.cts +5 -0
  42. package/build/cjs/components/typography/Title.cjs +2 -0
  43. package/build/cjs/components/typography/Title.cjs.map +1 -0
  44. package/build/cjs/components/typography/Title.d.cts +5 -0
  45. package/build/cjs/components/typography/index.cjs +2 -0
  46. package/build/cjs/components/typography/index.cjs.map +1 -0
  47. package/build/cjs/components/typography/index.d.cts +3 -0
  48. package/build/cjs/components/typography/types.cjs +2 -0
  49. package/build/cjs/components/typography/types.cjs.map +1 -0
  50. package/build/cjs/components/typography/types.d.cts +48 -0
  51. package/build/cjs/core/tokens.cjs +2 -0
  52. package/build/cjs/core/tokens.cjs.map +1 -0
  53. package/build/cjs/core/tokens.d.cts +593 -0
  54. package/build/cjs/tailwind/colors.cjs +2 -0
  55. package/build/cjs/tailwind/colors.cjs.map +1 -0
  56. package/build/cjs/tailwind/colors.d.cts +39 -0
  57. package/build/cjs/tokens.cjs +1 -1
  58. package/build/cjs/tokens.cjs.map +1 -1
  59. package/build/cjs/tokens.d.cts +98 -39
  60. package/build/es/components/card/Card.js +1 -1
  61. package/build/es/components/card/Card.js.map +1 -1
  62. package/build/es/components/card/types.d.ts +2 -2
  63. package/build/es/components/card/types.js +1 -1
  64. package/build/es/components/card/types.js.map +1 -1
  65. package/build/es/components/checkbox/Checkbox.js +1 -1
  66. package/build/es/components/checkbox/Checkbox.js.map +1 -1
  67. package/build/es/components/cookie-consent/CookieConsent.d.ts +1 -1
  68. package/build/es/components/cookie-consent/CookieConsent.js +1 -1
  69. package/build/es/components/cookie-consent/CookieConsent.js.map +1 -1
  70. package/build/es/components/cookie-consent/types.d.ts +4 -0
  71. package/build/es/components/datepicker/DatePicker.js +1 -1
  72. package/build/es/components/datepicker/DatePicker.js.map +1 -1
  73. package/build/es/components/expander/ExpandablePanel.js +1 -1
  74. package/build/es/components/expander/ExpandablePanel.js.map +1 -1
  75. package/build/es/components/link/Link.d.ts +2 -2
  76. package/build/es/components/link/Link.js +1 -1
  77. package/build/es/components/link/Link.js.map +1 -1
  78. package/build/es/components/link/types.d.ts +1 -4
  79. package/build/es/components/modal/Modal.d.ts +2 -9
  80. package/build/es/components/modal/Modal.js +1 -1
  81. package/build/es/components/modal/Modal.js.map +1 -1
  82. package/build/es/components/modal/index.d.ts +1 -1
  83. package/build/es/components/modal/types.d.ts +18 -0
  84. package/build/es/components/popover/Popover.js +1 -1
  85. package/build/es/components/popover/Popover.js.map +1 -1
  86. package/build/es/components/radio-button/BaseRadioButton.js +1 -1
  87. package/build/es/components/radio-button/BaseRadioButton.js.map +1 -1
  88. package/build/es/components/text-area/BaseTextArea.js +1 -1
  89. package/build/es/components/text-area/BaseTextArea.js.map +1 -1
  90. package/build/es/components/text-area/counter.d.ts +2 -0
  91. package/build/es/components/text-area/counter.js +2 -0
  92. package/build/es/components/text-area/counter.js.map +1 -0
  93. package/build/es/components/text-area/types.d.ts +21 -1
  94. package/build/es/components/typography/Text.d.ts +5 -0
  95. package/build/es/components/typography/Text.js +2 -0
  96. package/build/es/components/typography/Text.js.map +1 -0
  97. package/build/es/components/typography/Title.d.ts +5 -0
  98. package/build/es/components/typography/Title.js +2 -0
  99. package/build/es/components/typography/Title.js.map +1 -0
  100. package/build/es/components/typography/index.d.ts +3 -0
  101. package/build/es/components/typography/index.js +2 -0
  102. package/build/es/components/typography/index.js.map +1 -0
  103. package/build/es/components/typography/types.d.ts +48 -0
  104. package/build/es/components/typography/types.js +2 -0
  105. package/build/es/components/typography/types.js.map +1 -0
  106. package/build/es/core/tokens.d.ts +593 -0
  107. package/build/es/core/tokens.js +2 -0
  108. package/build/es/core/tokens.js.map +1 -0
  109. package/build/es/tailwind/colors.d.ts +39 -0
  110. package/build/es/tailwind/colors.js +2 -0
  111. package/build/es/tailwind/colors.js.map +1 -0
  112. package/build/es/tokens.d.ts +98 -39
  113. package/build/es/tokens.js +1 -1
  114. package/build/es/tokens.js.map +1 -1
  115. package/codemods/__tests__/import-paths.test.mjs +84 -0
  116. package/codemods/import-paths.mjs +393 -0
  117. package/package.json +6 -1
  118. package/src/fonts/brands/dnb/DNB-Bold.woff2 +0 -0
  119. package/src/fonts/brands/dnb/DNB-Medium.woff2 +0 -0
  120. package/src/fonts/brands/dnb/DNB-Regular.woff2 +0 -0
  121. package/src/fonts/brands/dnb/DNBMono-Regular.woff2 +0 -0
  122. package/src/fonts/brands/eika/OpenSans-Bold.woff2 +0 -0
  123. package/src/fonts/brands/eika/OpenSans-Light.woff2 +0 -0
  124. package/src/fonts/brands/eika/OpenSans-Regular.woff2 +0 -0
  125. package/src/fonts/brands/eika/OpenSans-SemiBold.woff2 +0 -0
  126. package/src/fonts/brands/fremtind/InterVariable-Italic.woff2 +0 -0
  127. package/src/fonts/brands/fremtind/InterVariable.woff2 +0 -0
  128. package/src/fonts/brands/sparebank1/SpareBank1-Medium-Web.woff2 +0 -0
  129. package/src/fonts/brands/sparebank1/SpareBank1-Regular-Web.woff2 +0 -0
  130. package/src/fonts/brands/sparebank1/SpareBank1-Title-Medium-Web.woff2 +0 -0
  131. package/styles/base.css +608 -84
  132. package/styles/base.min.css +1 -1
  133. package/styles/components/autosuggest/autosuggest.css +2 -2
  134. package/styles/components/autosuggest/autosuggest.min.css +1 -1
  135. package/styles/components/autosuggest/autosuggest.scss +2 -2
  136. package/styles/components/beta/description-list/description-list.css +1 -1
  137. package/styles/components/beta/description-list/description-list.min.css +1 -1
  138. package/styles/components/beta/description-list/description-list.scss +1 -1
  139. package/styles/components/beta/nav-link/navlink.css +3 -3
  140. package/styles/components/beta/nav-link/navlink.min.css +1 -1
  141. package/styles/components/beta/nav-link/navlink.scss +2 -2
  142. package/styles/components/beta/select/select.css +9 -9
  143. package/styles/components/beta/select/select.min.css +1 -1
  144. package/styles/components/beta/select/select.scss +8 -7
  145. package/styles/components/breadcrumb/breadcrumb.css +1 -1
  146. package/styles/components/breadcrumb/breadcrumb.min.css +1 -1
  147. package/styles/components/button/button.css +6 -2
  148. package/styles/components/button/button.min.css +1 -1
  149. package/styles/components/button/button.scss +12 -12
  150. package/styles/components/card/card.css +6 -9
  151. package/styles/components/card/card.min.css +1 -1
  152. package/styles/components/card/card.scss +6 -10
  153. package/styles/components/checkbox/checkbox.css +44 -10
  154. package/styles/components/checkbox/checkbox.min.css +1 -1
  155. package/styles/components/checkbox/checkbox.scss +38 -21
  156. package/styles/components/checkbox-panel/checkbox-panel.css +66 -27
  157. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  158. package/styles/components/checkbox-panel/checkbox-panel.scss +4 -0
  159. package/styles/components/checkbox-panel/development/styles.scss +1 -1
  160. package/styles/components/chip/chip.css +2 -2
  161. package/styles/components/chip/chip.min.css +1 -1
  162. package/styles/components/chip/chip.scss +1 -1
  163. package/styles/components/combobox/combobox.css +18 -15
  164. package/styles/components/combobox/combobox.min.css +1 -1
  165. package/styles/components/combobox/combobox.scss +9 -6
  166. package/styles/components/countdown/countdown.css +4 -4
  167. package/styles/components/countdown/countdown.min.css +1 -1
  168. package/styles/components/datepicker/_calendar-date-button.scss +7 -7
  169. package/styles/components/datepicker/_calendar-navigation-dropdown.scss +1 -1
  170. package/styles/components/datepicker/_calendar.scss +6 -7
  171. package/styles/components/datepicker/datepicker.css +19 -11
  172. package/styles/components/datepicker/datepicker.min.css +1 -1
  173. package/styles/components/description-list/description-list.css +1 -1
  174. package/styles/components/description-list/description-list.min.css +1 -1
  175. package/styles/components/description-list/description-list.scss +1 -1
  176. package/styles/components/expander/expandable.css +17 -17
  177. package/styles/components/expander/expandable.min.css +1 -1
  178. package/styles/components/expander/expandable.scss +15 -19
  179. package/styles/components/feedback/_index.scss +1 -1
  180. package/styles/components/feedback/feedback.css +6 -8
  181. package/styles/components/feedback/feedback.min.css +1 -1
  182. package/styles/components/feedback/feedback.scss +4 -9
  183. package/styles/components/file/file.css +5 -5
  184. package/styles/components/file/file.min.css +1 -1
  185. package/styles/components/file/file.scss +5 -5
  186. package/styles/components/file-input/file-input.css +27 -23
  187. package/styles/components/file-input/file-input.min.css +1 -1
  188. package/styles/components/file-input/file-input.scss +3 -3
  189. package/styles/components/help/help.css +2 -2
  190. package/styles/components/help/help.min.css +1 -1
  191. package/styles/components/help/help.scss +2 -2
  192. package/styles/components/icon/_base-styles.scss +12 -14
  193. package/styles/components/icon/icon.css +5 -5
  194. package/styles/components/icon/icon.min.css +1 -1
  195. package/styles/components/icon/icon.scss +4 -4
  196. package/styles/components/icon-button/icon-button.css +1 -1
  197. package/styles/components/icon-button/icon-button.min.css +1 -1
  198. package/styles/components/input-group/input-group.css +2 -2
  199. package/styles/components/input-group/input-group.min.css +1 -1
  200. package/styles/components/input-panel/input-panel.css +19 -17
  201. package/styles/components/input-panel/input-panel.min.css +1 -1
  202. package/styles/components/input-panel/input-panel.scss +20 -18
  203. package/styles/components/link/link.css +2 -2
  204. package/styles/components/link/link.min.css +1 -1
  205. package/styles/components/link-list/link-list.css +7 -3
  206. package/styles/components/link-list/link-list.min.css +1 -1
  207. package/styles/components/link-list/link-list.scss +6 -2
  208. package/styles/components/loader/loader.css +6 -6
  209. package/styles/components/loader/loader.min.css +1 -1
  210. package/styles/components/loader/skeleton-loader.css +4 -4
  211. package/styles/components/loader/skeleton-loader.min.css +1 -1
  212. package/styles/components/loader/skeleton-loader.scss +1 -1
  213. package/styles/components/menu/_menu-divider.scss +1 -1
  214. package/styles/components/menu/menu.css +3 -3
  215. package/styles/components/menu/menu.min.css +1 -1
  216. package/styles/components/menu/menu.scss +2 -2
  217. package/styles/components/message/message.css +19 -9
  218. package/styles/components/message/message.min.css +1 -1
  219. package/styles/components/message/message.scss +16 -6
  220. package/styles/components/modal/_layout.scss +22 -0
  221. package/styles/components/modal/_modal-base.scss +32 -0
  222. package/styles/components/modal/_motion.scss +45 -0
  223. package/styles/components/modal/_overlay.scss +20 -0
  224. package/styles/components/modal/_parts.scss +33 -0
  225. package/styles/components/modal/_placement.scss +59 -0
  226. package/styles/components/modal/modal.css +118 -34
  227. package/styles/components/modal/modal.min.css +1 -1
  228. package/styles/components/modal/modal.scss +6 -95
  229. package/styles/components/nav-link/nav-link.css +1 -1
  230. package/styles/components/nav-link/nav-link.min.css +1 -1
  231. package/styles/components/pagination/development/styles.scss +1 -1
  232. package/styles/components/pagination/pagination.css +1 -1
  233. package/styles/components/pagination/pagination.min.css +1 -1
  234. package/styles/components/popover/popover.css +12 -1
  235. package/styles/components/popover/popover.min.css +1 -1
  236. package/styles/components/popover/popover.scss +15 -1
  237. package/styles/components/progress-bar/progress-bar.css +27 -3
  238. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  239. package/styles/components/progress-bar/progress-bar.scss +5 -0
  240. package/styles/components/radio-button/radio-button.css +42 -7
  241. package/styles/components/radio-button/radio-button.min.css +1 -1
  242. package/styles/components/radio-button/radio-button.scss +35 -16
  243. package/styles/components/radio-panel/development/styles.scss +1 -1
  244. package/styles/components/radio-panel/radio-panel.css +22 -17
  245. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  246. package/styles/components/radio-panel/radio-panel.scss +4 -0
  247. package/styles/components/search/search-with-submit-button.css +1 -1
  248. package/styles/components/search/search-with-submit-button.min.css +1 -1
  249. package/styles/components/search/search-with-submit-button.scss +1 -1
  250. package/styles/components/search/search.css +4 -4
  251. package/styles/components/search/search.min.css +1 -1
  252. package/styles/components/search/search.scss +3 -3
  253. package/styles/components/segmented-control/segmented-control.css +56 -21
  254. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  255. package/styles/components/segmented-control/segmented-control.scss +5 -5
  256. package/styles/components/select/select.css +15 -15
  257. package/styles/components/select/select.min.css +1 -1
  258. package/styles/components/select/select.scss +12 -12
  259. package/styles/components/summary-table/development/summary-table-example.scss +1 -1
  260. package/styles/components/summary-table/summary-table.css +2 -2
  261. package/styles/components/summary-table/summary-table.min.css +1 -1
  262. package/styles/components/summary-table/summary-table.scss +2 -2
  263. package/styles/components/system-message/system-message.css +20 -10
  264. package/styles/components/system-message/system-message.min.css +1 -1
  265. package/styles/components/system-message/system-message.scss +17 -7
  266. package/styles/components/table/_table-head.scss +1 -1
  267. package/styles/components/table/_table-row.scss +2 -2
  268. package/styles/components/table/table.css +3 -3
  269. package/styles/components/table/table.min.css +1 -1
  270. package/styles/components/table-of-contents/table-of-contents.css +2 -2
  271. package/styles/components/table-of-contents/table-of-contents.min.css +1 -1
  272. package/styles/components/table-of-contents/table-of-contents.scss +3 -3
  273. package/styles/components/tabs/tabs.css +3 -3
  274. package/styles/components/tabs/tabs.min.css +1 -1
  275. package/styles/components/tabs/tabs.scss +2 -2
  276. package/styles/components/tag/tag.css +16 -6
  277. package/styles/components/tag/tag.min.css +1 -1
  278. package/styles/components/tag/tag.scss +16 -6
  279. package/styles/components/text-area/text-area.css +8 -8
  280. package/styles/components/text-area/text-area.min.css +1 -1
  281. package/styles/components/text-input/text-input.css +8 -8
  282. package/styles/components/text-input/text-input.min.css +1 -1
  283. package/styles/components/toast/toast.css +19 -12
  284. package/styles/components/toast/toast.min.css +1 -1
  285. package/styles/components/toast/toast.scss +15 -12
  286. package/styles/components/toggle-switch/_toggle-slider.scss +4 -4
  287. package/styles/components/toggle-switch/toggle-switch.css +14 -19
  288. package/styles/components/toggle-switch/toggle-switch.min.css +2 -2
  289. package/styles/components/toggle-switch/toggle-switch.scss +9 -16
  290. package/styles/components/tooltip/tooltip.css +3 -3
  291. package/styles/components/tooltip/tooltip.min.css +1 -1
  292. package/styles/components/tooltip/tooltip.scss +3 -3
  293. package/styles/components/typography/_index.scss +2 -0
  294. package/styles/components/typography/text.css +38 -0
  295. package/styles/components/typography/text.min.css +1 -0
  296. package/styles/components/typography/text.scss +54 -0
  297. package/styles/components/typography/title.css +55 -0
  298. package/styles/components/typography/title.min.css +1 -0
  299. package/styles/components/typography/title.scss +59 -0
  300. package/styles/components.css +632 -303
  301. package/styles/components.min.css +2 -2
  302. package/styles/components.scss +53 -52
  303. package/styles/core/jkl/_tokens.scss +59 -0
  304. package/styles/core/jkl/legacy/_dynamic-colors.scss +40 -0
  305. package/styles/core/jkl/legacy/_tokens.scss +742 -0
  306. package/styles/core/theme/_color-tokens.scss +73 -0
  307. package/styles/core/theme/_legacy-color-tokens.scss +81 -0
  308. package/styles/core/theme/_legacy-tokens.scss +279 -0
  309. package/styles/core/theme/_spacing-tokens.scss +33 -0
  310. package/styles/core/theme/_tokens.scss +33 -0
  311. package/styles/core/utility/_paragraphs.scss +39 -0
  312. package/styles/global/_base-class.scss +2 -2
  313. package/styles/global/_top-layer.scss +1 -1
  314. package/styles/hooks/stories/styles.scss +3 -3
  315. package/styles/jkl/_ornaments.scss +1 -1
  316. package/styles/jkl/_tokens.scss +151 -71
  317. package/styles/jkl/_typography.scss +13 -21
  318. package/styles/shared/input/shared-input-styles.scss +6 -6
  319. package/styles/shared/track/track.scss +2 -2
  320. package/styles/tailwind.css +108 -66
  321. package/styles/theme/_color-scheme.scss +135 -66
  322. package/styles/theme/_dynamic-spacing.scss +3 -3
  323. package/styles/theme/_fonts.scss +16 -28
  324. package/styles/theme/_index.scss +6 -0
  325. package/styles/theme/_tokens.scss +3 -3
  326. package/styles/theme/brands/dnb/_color-scheme.scss +119 -0
  327. package/styles/theme/brands/dnb/_fonts.scss +46 -0
  328. package/styles/theme/brands/eika/_color-scheme.scss +119 -0
  329. package/styles/theme/brands/eika/_fonts.scss +46 -0
  330. package/styles/theme/brands/jokul/_color-scheme.scss +119 -0
  331. package/styles/theme/brands/jokul/_fonts.scss +46 -0
  332. package/styles/theme/brands/sparebank1/_color-scheme.scss +119 -0
  333. package/styles/theme/brands/sparebank1/_fonts.scss +38 -0
  334. package/styles/utility/_headings.scss +1 -1
  335. package/styles/utility/_paragraphs.scss +2 -2
  336. package/styles/utility/_screen-reader.scss +1 -1
  337. package/styles/utility/_spacing.scss +2 -2
  338. package/src/fonts/FremtindGrotesk-Bold-Web.woff +0 -0
  339. package/src/fonts/FremtindGrotesk-Bold-Web.woff2 +0 -0
  340. package/src/fonts/FremtindGrotesk-BoldItalic-Web.woff +0 -0
  341. package/src/fonts/FremtindGrotesk-BoldItalic-Web.woff2 +0 -0
  342. package/src/fonts/FremtindGrotesk-Display-Web.woff +0 -0
  343. package/src/fonts/FremtindGrotesk-Display-Web.woff2 +0 -0
  344. package/src/fonts/FremtindGrotesk-Italic-Web.woff +0 -0
  345. package/src/fonts/FremtindGrotesk-Italic-Web.woff2 +0 -0
  346. package/src/fonts/FremtindGrotesk-Regular-Web.woff +0 -0
  347. package/src/fonts/FremtindGrotesk-Regular-Web.woff2 +0 -0
  348. package/src/fonts/FremtindGroteskMono-Regular-Web.woff +0 -0
  349. package/src/fonts/FremtindGroteskMono-Regular-Web.woff2 +0 -0
  350. /package/src/fonts/{Fremtind-Material-Symbols.woff2 → brands/fremtind/Fremtind-Material-Symbols.woff2} +0 -0
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+ @layer jokul.components {
5
+ :where(.jkl-title) {
6
+ font-weight: var(--jkl-typography-weight-normal);
7
+ line-height: var(--jkl-line-height-tight);
8
+ }
9
+ .jkl-title[data-text-size] {
10
+ margin-block: 0;
11
+ }
12
+ .jkl-title[data-text-size=xs],
13
+ .jkl-heading-xs {
14
+ font: var(--jkl-text-style-heading-5);
15
+ }
16
+ :where(.jkl-heading-xs) {
17
+ margin-block: 0;
18
+ }
19
+ .jkl-title[data-text-size=s],
20
+ .jkl-heading-s {
21
+ font: var(--jkl-text-style-heading-4);
22
+ }
23
+ :where(.jkl-heading-s) {
24
+ margin-block: 0;
25
+ }
26
+ .jkl-title[data-text-size=m],
27
+ .jkl-heading-m {
28
+ font: var(--jkl-text-style-heading-3);
29
+ }
30
+ :where(.jkl-heading-m) {
31
+ margin-block: 0;
32
+ }
33
+ .jkl-title[data-text-size=l],
34
+ .jkl-heading-l {
35
+ font: var(--jkl-text-style-heading-2);
36
+ }
37
+ :where(.jkl-heading-l) {
38
+ margin-block: 0;
39
+ }
40
+ .jkl-title[data-text-size=xl],
41
+ .jkl-heading-xl {
42
+ font: var(--jkl-text-style-heading-1);
43
+ }
44
+ :where(.jkl-heading-xl) {
45
+ margin-block: 0;
46
+ }
47
+ :is(label, legend).jkl-title[data-text-size] {
48
+ font-weight: var(--jkl-typography-weight-normal);
49
+ line-height: var(--jkl-line-height-relaxed);
50
+ }
51
+ label.jkl-title[data-text-size] {
52
+ display: block;
53
+ margin-block-end: var(--jkl-spacing-8);
54
+ }
55
+ }
@@ -0,0 +1 @@
1
+ @layer jokul.components{:where(.jkl-title){font-weight:var(--jkl-typography-weight-normal);line-height:var(--jkl-line-height-tight)}.jkl-title[data-text-size]{margin-block:0}.jkl-heading-xs,.jkl-title[data-text-size=xs]{font:var(--jkl-text-style-heading-5)}:where(.jkl-heading-xs){margin-block:0}.jkl-heading-s,.jkl-title[data-text-size=s]{font:var(--jkl-text-style-heading-4)}:where(.jkl-heading-s){margin-block:0}.jkl-heading-m,.jkl-title[data-text-size=m]{font:var(--jkl-text-style-heading-3)}:where(.jkl-heading-m){margin-block:0}.jkl-heading-l,.jkl-title[data-text-size=l]{font:var(--jkl-text-style-heading-2)}:where(.jkl-heading-l){margin-block:0}.jkl-heading-xl,.jkl-title[data-text-size=xl]{font:var(--jkl-text-style-heading-1)}:where(.jkl-heading-xl){margin-block:0}:is(label,legend).jkl-title[data-text-size]{font-weight:var(--jkl-typography-weight-normal);line-height:var(--jkl-line-height-relaxed)}label.jkl-title[data-text-size]{display:block;-webkit-margin-after:var(--jkl-spacing-8);margin-block-end:var(--jkl-spacing-8)}}
@@ -0,0 +1,59 @@
1
+ @use "../../jkl";
2
+
3
+ // Hver `size` mapper til en komplett tekst-stil fra `$text-styles` i
4
+ // `core/jkl/_typography.scss` — både font-size, line-height, font-weight
5
+ // og ikon-variabler settes via `jkl.text-style`-mixinen.
6
+ $_size-styles: (
7
+ "xs": "heading-5",
8
+ "s": "heading-4",
9
+ "m": "heading-3",
10
+ "l": "heading-2",
11
+ "xl": "heading-1",
12
+ );
13
+
14
+ @layer jokul.components {
15
+ :where(.jkl-title) {
16
+ font-weight: var(--jkl-typography-weight-normal);
17
+ line-height: var(--jkl-line-height-tight);
18
+ }
19
+
20
+ // Scope margin-resetten til komponenten via `data-text-size` så vi ikke
21
+ // overstyrer margin på elementer som bare bruker `.jkl-title` som
22
+ // hjelpeklasse.
23
+ .jkl-title[data-text-size] {
24
+ margin-block: 0;
25
+ }
26
+
27
+ // Genererer både komponent-regler og ekvivalente hjelpeklasser fra
28
+ // samme kilde slik at de ikke drifter fra hverandre.
29
+ // `.jkl-heading-<size>` tilsvarer `<Title size="<size>">` brukt på et
30
+ // vilkårlig element.
31
+ @each $name, $style in $_size-styles {
32
+
33
+ .jkl-title[data-text-size="#{$name}"],
34
+ .jkl-heading-#{$name} {
35
+ @include jkl.text-style($style);
36
+ }
37
+
38
+ :where(.jkl-heading-#{$name}) {
39
+ margin-block: 0;
40
+ }
41
+ }
42
+
43
+ // Skjema-elementer skal ikke arve heading sine fete font-weight og
44
+ // tight line-height. De er tekst som beskriver et skjemafelt eller en
45
+ // gruppe, ikke strukturelle overskrifter. Spesifisiteten må matche
46
+ // `.jkl-title[data-text-size="…"]` (0,2,0) for å overstyre den.
47
+ :is(label, legend).jkl-title[data-text-size] {
48
+ font-weight: var(--jkl-typography-weight-normal);
49
+ line-height: var(--jkl-line-height-relaxed);
50
+ }
51
+
52
+ // Labels er blokk-nivå og har bunnmarg til feltet de beskriver.
53
+ // Spesifisiteten her (0,2,1) overstyrer `.jkl-title[data-text-size]`
54
+ // som ellers nullstiller margin via `margin-block: 0`.
55
+ label.jkl-title[data-text-size] {
56
+ display: block;
57
+ margin-block-end: var(--jkl-spacing-8);
58
+ }
59
+ }