@fremtind/jokul 5.0.0-next.9 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/autosuggest/BaseAutosuggest.cjs +1 -1
  3. package/build/cjs/components/autosuggest/BaseAutosuggest.cjs.map +1 -1
  4. package/build/cjs/components/checkbox-panel/CheckboxPanel.cjs +1 -1
  5. package/build/cjs/components/checkbox-panel/CheckboxPanel.cjs.map +1 -1
  6. package/build/cjs/components/checkbox-panel/CheckboxPanel.d.cts +1 -1
  7. package/build/cjs/components/expander/Accordion.cjs +2 -0
  8. package/build/cjs/components/expander/Accordion.cjs.map +1 -0
  9. package/build/cjs/components/expander/Accordion.d.cts +2 -0
  10. package/build/cjs/components/expander/ExpandablePanel.cjs +1 -1
  11. package/build/cjs/components/expander/ExpandablePanel.cjs.map +1 -1
  12. package/build/cjs/components/expander/ExpandablePanelContent.cjs +1 -1
  13. package/build/cjs/components/expander/ExpandablePanelContent.cjs.map +1 -1
  14. package/build/cjs/components/expander/Expander.cjs +1 -1
  15. package/build/cjs/components/expander/Expander.cjs.map +1 -1
  16. package/build/cjs/components/expander/index.cjs +1 -1
  17. package/build/cjs/components/expander/index.d.cts +2 -1
  18. package/build/cjs/components/expander/types.d.cts +5 -2
  19. package/build/cjs/components/icon/Icon.cjs +1 -1
  20. package/build/cjs/components/icon/Icon.cjs.map +1 -1
  21. package/build/cjs/components/icon/Icon.d.cts +2 -2
  22. package/build/cjs/components/icon/icons/GreenCheckIcon.cjs +1 -1
  23. package/build/cjs/components/icon/icons/GreenCheckIcon.cjs.map +1 -1
  24. package/build/cjs/components/icon/icons/GreenCheckIcon.d.cts +2 -3
  25. package/build/cjs/components/icon/icons/RedCrossIcon.cjs +1 -1
  26. package/build/cjs/components/icon/icons/RedCrossIcon.cjs.map +1 -1
  27. package/build/cjs/components/icon/icons/RedCrossIcon.d.cts +2 -3
  28. package/build/cjs/components/input-panel/InputPanel.cjs +1 -1
  29. package/build/cjs/components/input-panel/InputPanel.cjs.map +1 -1
  30. package/build/cjs/components/input-panel/InputPanel.d.cts +1 -1
  31. package/build/cjs/components/input-panel/types.d.cts +2 -1
  32. package/build/cjs/components/link-list/LinkList.cjs +1 -1
  33. package/build/cjs/components/link-list/LinkList.cjs.map +1 -1
  34. package/build/cjs/components/link-list/LinkList.d.cts +1 -1
  35. package/build/cjs/components/link-list/types.d.cts +1 -0
  36. package/build/cjs/components/message/Message.cjs +1 -1
  37. package/build/cjs/components/message/Message.cjs.map +1 -1
  38. package/build/cjs/components/number-input/NumberInput.cjs +2 -0
  39. package/build/cjs/components/number-input/NumberInput.cjs.map +1 -0
  40. package/build/cjs/components/number-input/NumberInput.d.cts +7 -0
  41. package/build/cjs/components/number-input/index.cjs +2 -0
  42. package/build/cjs/components/number-input/index.cjs.map +1 -0
  43. package/build/cjs/components/number-input/index.d.cts +2 -0
  44. package/build/cjs/components/number-input/types.cjs +2 -0
  45. package/build/cjs/components/number-input/types.cjs.map +1 -0
  46. package/build/cjs/components/number-input/types.d.cts +20 -0
  47. package/build/cjs/components/popover/Popover.cjs +1 -1
  48. package/build/cjs/components/popover/Popover.cjs.map +1 -1
  49. package/build/cjs/components/popover/types.d.cts +8 -1
  50. package/build/cjs/components/radio-panel/RadioPanel.cjs +1 -1
  51. package/build/cjs/components/radio-panel/RadioPanel.cjs.map +1 -1
  52. package/build/cjs/components/select/Select.cjs +1 -1
  53. package/build/cjs/components/select/Select.cjs.map +1 -1
  54. package/build/cjs/components/system-message/types.d.cts +7 -2
  55. package/build/cjs/components/toast/Toast.cjs +1 -1
  56. package/build/cjs/components/toast/Toast.cjs.map +1 -1
  57. package/build/cjs/components/typography/Title.cjs +1 -1
  58. package/build/cjs/components/typography/Title.cjs.map +1 -1
  59. package/build/cjs/hooks/useListNavigation/useListNavigation.cjs +1 -1
  60. package/build/cjs/hooks/useListNavigation/useListNavigation.cjs.map +1 -1
  61. package/build/cjs/hooks/useListNavigation/useListNavigation.d.cts +11 -2
  62. package/build/cjs/tokens.cjs +1 -1
  63. package/build/cjs/tokens.cjs.map +1 -1
  64. package/build/cjs/utilities/index.cjs +1 -1
  65. package/build/cjs/utilities/types.cjs +1 -1
  66. package/build/cjs/utilities/types.cjs.map +1 -1
  67. package/build/cjs/utilities/types.d.cts +13 -1
  68. package/build/es/components/autosuggest/BaseAutosuggest.js +1 -1
  69. package/build/es/components/autosuggest/BaseAutosuggest.js.map +1 -1
  70. package/build/es/components/checkbox-panel/CheckboxPanel.d.ts +1 -1
  71. package/build/es/components/checkbox-panel/CheckboxPanel.js +1 -1
  72. package/build/es/components/checkbox-panel/CheckboxPanel.js.map +1 -1
  73. package/build/es/components/datepicker/DatePicker.js +1 -1
  74. package/build/es/components/datepicker/internal/Calendar.js +1 -1
  75. package/build/es/components/datepicker/internal/useCalendar.js +1 -1
  76. package/build/es/components/datepicker/internal/utils.js +1 -1
  77. package/build/es/components/expander/Accordion.d.ts +2 -0
  78. package/build/es/components/expander/Accordion.js +2 -0
  79. package/build/es/components/expander/Accordion.js.map +1 -0
  80. package/build/es/components/expander/ExpandablePanel.js +1 -1
  81. package/build/es/components/expander/ExpandablePanel.js.map +1 -1
  82. package/build/es/components/expander/ExpandablePanelContent.js +1 -1
  83. package/build/es/components/expander/ExpandablePanelContent.js.map +1 -1
  84. package/build/es/components/expander/Expander.js +1 -1
  85. package/build/es/components/expander/Expander.js.map +1 -1
  86. package/build/es/components/expander/index.d.ts +2 -1
  87. package/build/es/components/expander/index.js +1 -1
  88. package/build/es/components/expander/types.d.ts +5 -2
  89. package/build/es/components/icon/Icon.d.ts +2 -2
  90. package/build/es/components/icon/Icon.js +1 -1
  91. package/build/es/components/icon/Icon.js.map +1 -1
  92. package/build/es/components/icon/icons/GreenCheckIcon.d.ts +2 -3
  93. package/build/es/components/icon/icons/GreenCheckIcon.js +1 -1
  94. package/build/es/components/icon/icons/GreenCheckIcon.js.map +1 -1
  95. package/build/es/components/icon/icons/RedCrossIcon.d.ts +2 -3
  96. package/build/es/components/icon/icons/RedCrossIcon.js +1 -1
  97. package/build/es/components/icon/icons/RedCrossIcon.js.map +1 -1
  98. package/build/es/components/input-panel/InputPanel.d.ts +1 -1
  99. package/build/es/components/input-panel/InputPanel.js +1 -1
  100. package/build/es/components/input-panel/InputPanel.js.map +1 -1
  101. package/build/es/components/input-panel/types.d.ts +2 -1
  102. package/build/es/components/link-list/LinkList.d.ts +1 -1
  103. package/build/es/components/link-list/LinkList.js +1 -1
  104. package/build/es/components/link-list/LinkList.js.map +1 -1
  105. package/build/es/components/link-list/types.d.ts +1 -0
  106. package/build/es/components/menu/Menu.js +1 -1
  107. package/build/es/components/message/Message.js +1 -1
  108. package/build/es/components/message/Message.js.map +1 -1
  109. package/build/es/components/number-input/NumberInput.d.ts +7 -0
  110. package/build/es/components/number-input/NumberInput.js +2 -0
  111. package/build/es/components/number-input/NumberInput.js.map +1 -0
  112. package/build/es/components/number-input/index.d.ts +2 -0
  113. package/build/es/components/number-input/index.js +2 -0
  114. package/build/es/components/number-input/index.js.map +1 -0
  115. package/build/es/components/number-input/types.d.ts +20 -0
  116. package/build/es/components/number-input/types.js +2 -0
  117. package/build/es/components/number-input/types.js.map +1 -0
  118. package/build/es/components/popover/Popover.js +1 -1
  119. package/build/es/components/popover/Popover.js.map +1 -1
  120. package/build/es/components/popover/types.d.ts +8 -1
  121. package/build/es/components/radio-panel/RadioPanel.js +1 -1
  122. package/build/es/components/radio-panel/RadioPanel.js.map +1 -1
  123. package/build/es/components/select/Select.js +1 -1
  124. package/build/es/components/select/Select.js.map +1 -1
  125. package/build/es/components/system-message/types.d.ts +7 -2
  126. package/build/es/components/toast/Toast.js +1 -1
  127. package/build/es/components/toast/Toast.js.map +1 -1
  128. package/build/es/components/toast/toastContext.js +1 -1
  129. package/build/es/components/tooltip/Tooltip.js +1 -1
  130. package/build/es/components/typography/Title.js +1 -1
  131. package/build/es/components/typography/Title.js.map +1 -1
  132. package/build/es/hooks/stories/content.js +1 -1
  133. package/build/es/hooks/useListNavigation/useListNavigation.d.ts +11 -2
  134. package/build/es/hooks/useListNavigation/useListNavigation.js +1 -1
  135. package/build/es/hooks/useListNavigation/useListNavigation.js.map +1 -1
  136. package/build/es/tokens.js +1 -1
  137. package/build/es/tokens.js.map +1 -1
  138. package/build/es/utilities/constants/index.js +1 -1
  139. package/build/es/utilities/constants/unicode.js +1 -1
  140. package/build/es/utilities/formatters/bytes/formatBytes.js +1 -1
  141. package/build/es/utilities/formatters/fodselsnummer/formatFodselsnummer.js +1 -1
  142. package/build/es/utilities/formatters/kontonummer/formatKontonummer.js +1 -1
  143. package/build/es/utilities/formatters/kortnummer/formatKortnummer.js +1 -1
  144. package/build/es/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.js +1 -1
  145. package/build/es/utilities/formatters/telefonnummer/formatTelefonnummer.js +1 -1
  146. package/build/es/utilities/formatters/valuta/formatValuta.js +1 -1
  147. package/build/es/utilities/index.js +1 -1
  148. package/build/es/utilities/types.d.ts +13 -1
  149. package/build/es/utilities/types.js +1 -1
  150. package/build/es/utilities/types.js.map +1 -1
  151. package/build/{index-CWRMnfcx.js → index-C1iqmqvT.js} +2 -2
  152. package/build/{index-CWRMnfcx.js.map → index-C1iqmqvT.js.map} +1 -1
  153. package/build/{utils-CcE6HjQp.js → utils-CtwpNW4I.js} +2 -2
  154. package/build/{utils-CcE6HjQp.js.map → utils-CtwpNW4I.js.map} +1 -1
  155. package/codemods/CODEMODS.md +133 -0
  156. package/codemods/__tests__/import-paths.test.mjs +568 -94
  157. package/codemods/import-paths.mjs +34 -339
  158. package/codemods/transforms/color-tokens.mjs +102 -0
  159. package/codemods/transforms/expandable-panel.mjs +41 -0
  160. package/codemods/transforms/font-family.mjs +23 -0
  161. package/codemods/transforms/import-specifiers.mjs +226 -0
  162. package/codemods/transforms/warnings.mjs +41 -0
  163. package/codemods/utils.mjs +35 -0
  164. package/package.json +8 -4
  165. package/styles/base.css +183 -805
  166. package/styles/base.min.css +1 -1
  167. package/styles/components/autosuggest/autosuggest.css +4 -3
  168. package/styles/components/autosuggest/autosuggest.min.css +1 -1
  169. package/styles/components/autosuggest/autosuggest.scss +4 -3
  170. package/styles/components/breadcrumb/breadcrumb.css +0 -1
  171. package/styles/components/breadcrumb/breadcrumb.min.css +1 -1
  172. package/styles/components/breadcrumb/breadcrumb.scss +0 -1
  173. package/styles/components/button/button.css +9 -4
  174. package/styles/components/button/button.min.css +1 -1
  175. package/styles/components/button/button.scss +11 -5
  176. package/styles/components/checkbox/checkbox.css +1 -1
  177. package/styles/components/checkbox/checkbox.min.css +1 -1
  178. package/styles/components/checkbox/checkbox.scss +1 -1
  179. package/styles/components/checkbox-panel/checkbox-panel.css +1 -1
  180. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  181. package/styles/components/chip/chip.css +0 -1
  182. package/styles/components/chip/chip.min.css +1 -1
  183. package/styles/components/chip/chip.scss +0 -1
  184. package/styles/components/combobox/combobox.css +4 -5
  185. package/styles/components/combobox/combobox.min.css +1 -1
  186. package/styles/components/combobox/combobox.scss +4 -5
  187. package/styles/components/countdown/countdown.css +2 -2
  188. package/styles/components/countdown/countdown.min.css +1 -1
  189. package/styles/components/datepicker/_calendar-date-button.scss +0 -2
  190. package/styles/components/datepicker/datepicker.css +0 -2
  191. package/styles/components/datepicker/datepicker.min.css +1 -1
  192. package/styles/components/expander/_index.scss +1 -0
  193. package/styles/components/expander/accordion.css +21 -0
  194. package/styles/components/expander/accordion.min.css +1 -0
  195. package/styles/components/expander/accordion.scss +24 -0
  196. package/styles/components/expander/expandable.css +32 -37
  197. package/styles/components/expander/expandable.min.css +1 -1
  198. package/styles/components/expander/expandable.scss +27 -36
  199. package/styles/components/feedback/feedback.css +2 -2
  200. package/styles/components/feedback/feedback.min.css +1 -1
  201. package/styles/components/feedback/feedback.scss +0 -1
  202. package/styles/components/file/file.css +4 -1
  203. package/styles/components/file/file.min.css +1 -1
  204. package/styles/components/file/file.scss +5 -1
  205. package/styles/components/file-input/file-input.css +36 -21
  206. package/styles/components/file-input/file-input.min.css +1 -1
  207. package/styles/components/icon/icon.scss +1 -1
  208. package/styles/components/icon-button/icon-button.css +0 -1
  209. package/styles/components/icon-button/icon-button.min.css +1 -1
  210. package/styles/components/icon-button/icon-button.scss +0 -1
  211. package/styles/components/input-group/input-group.css +2 -2
  212. package/styles/components/input-group/input-group.min.css +1 -1
  213. package/styles/components/link/link.css +14 -7
  214. package/styles/components/link/link.min.css +1 -1
  215. package/styles/components/link/link.scss +18 -10
  216. package/styles/components/link-list/link-list.css +7 -2
  217. package/styles/components/link-list/link-list.min.css +1 -1
  218. package/styles/components/link-list/link-list.scss +10 -3
  219. package/styles/components/list/list.css +33 -21
  220. package/styles/components/list/list.min.css +1 -1
  221. package/styles/components/list/list.scss +24 -24
  222. package/styles/components/loader/loader.css +6 -6
  223. package/styles/components/loader/loader.min.css +1 -1
  224. package/styles/components/loader/skeleton-loader.css +3 -3
  225. package/styles/components/loader/skeleton-loader.min.css +1 -1
  226. package/styles/components/menu/_menu-item.scss +1 -2
  227. package/styles/components/menu/menu.css +1 -2
  228. package/styles/components/menu/menu.min.css +1 -1
  229. package/styles/components/message/message.css +9 -10
  230. package/styles/components/message/message.min.css +1 -1
  231. package/styles/components/message/message.scss +7 -8
  232. package/styles/components/modal/_index.scss +7 -0
  233. package/styles/components/modal/_overlay.scss +4 -0
  234. package/styles/components/modal/modal.css +32 -116
  235. package/styles/components/modal/modal.min.css +1 -1
  236. package/styles/components/modal/modal.scss +96 -6
  237. package/styles/components/number-input/_index.scss +2 -0
  238. package/styles/components/number-input/number-input.css +214 -0
  239. package/styles/components/number-input/number-input.min.css +1 -0
  240. package/styles/components/number-input/number-input.scss +115 -0
  241. package/styles/components/pagination/pagination.css +1 -1
  242. package/styles/components/pagination/pagination.scss +1 -1
  243. package/styles/components/progress-bar/progress-bar.css +1 -1
  244. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  245. package/styles/components/radio-button/radio-button.css +1 -5
  246. package/styles/components/radio-button/radio-button.min.css +1 -1
  247. package/styles/components/radio-button/radio-button.scss +2 -7
  248. package/styles/components/search/search.css +0 -1
  249. package/styles/components/search/search.min.css +1 -1
  250. package/styles/components/search/search.scss +0 -1
  251. package/styles/components/segmented-control/segmented-control.css +3 -7
  252. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  253. package/styles/components/select/select.css +65 -7
  254. package/styles/components/select/select.min.css +1 -1
  255. package/styles/components/select/select.scss +129 -18
  256. package/styles/components/system-message/system-message.css +9 -14
  257. package/styles/components/system-message/system-message.min.css +1 -1
  258. package/styles/components/system-message/system-message.scss +113 -121
  259. package/styles/components/table/_table-pagination.scss +0 -1
  260. package/styles/components/table/table.css +0 -1
  261. package/styles/components/table/table.min.css +1 -1
  262. package/styles/components/tabs/tabs.css +0 -1
  263. package/styles/components/tabs/tabs.min.css +1 -1
  264. package/styles/components/tabs/tabs.scss +0 -1
  265. package/styles/components/tag/tag.css +4 -4
  266. package/styles/components/tag/tag.min.css +1 -1
  267. package/styles/components/tag/tag.scss +4 -4
  268. package/styles/components/toast/toast.css +34 -9
  269. package/styles/components/toast/toast.min.css +1 -1
  270. package/styles/components/toast/toast.scss +44 -9
  271. package/styles/components/toggle-switch/toggle-switch.css +0 -1
  272. package/styles/components/toggle-switch/toggle-switch.min.css +1 -1
  273. package/styles/components/toggle-switch/toggle-switch.scss +0 -1
  274. package/styles/components/typography/text.css +2 -2
  275. package/styles/components/typography/text.min.css +1 -1
  276. package/styles/components/typography/text.scss +4 -4
  277. package/styles/components/typography/title.css +8 -30
  278. package/styles/components/typography/title.min.css +1 -1
  279. package/styles/components/typography/title.scss +8 -31
  280. package/styles/components.css +582 -189
  281. package/styles/components.min.css +1 -1
  282. package/styles/components.scss +2 -1
  283. package/styles/global/_base-class.scss +4 -0
  284. package/styles/jkl/_convert.scss +15 -6
  285. package/styles/jkl/_tokens.scss +4 -4
  286. package/styles/tailwind.css +97 -97
  287. package/styles/theme/_color-scheme.scss +95 -95
  288. package/styles/theme/_dynamic-spacing.scss +21 -15
  289. package/styles/theme/_fonts.scss +3 -12
  290. package/styles/theme/_index.scss +0 -4
  291. package/styles/theme/_size.scss +20 -20
  292. package/styles/theme/_tokens.scss +11 -11
  293. package/styles/core/utility/_paragraphs.scss +0 -39
  294. package/styles/theme/brands/dnb/_color-scheme.scss +0 -121
  295. package/styles/theme/brands/dnb/_fonts.scss +0 -46
  296. package/styles/theme/brands/dnb/_index.scss +0 -2
  297. package/styles/theme/brands/eika/_color-scheme.scss +0 -121
  298. package/styles/theme/brands/eika/_fonts.scss +0 -46
  299. package/styles/theme/brands/eika/_index.scss +0 -2
  300. package/styles/theme/brands/fremtind/_color-scheme.scss +0 -121
  301. package/styles/theme/brands/fremtind/_fonts.scss +0 -30
  302. package/styles/theme/brands/fremtind/_index.scss +0 -2
  303. package/styles/theme/brands/sparebank1/_color-scheme.scss +0 -121
  304. package/styles/theme/brands/sparebank1/_fonts.scss +0 -38
  305. package/styles/theme/brands/sparebank1/_index.scss +0 -2
@@ -39,7 +39,7 @@
39
39
  color: var(--text-color);
40
40
  background-color: var(--background-color);
41
41
  border: 1px solid var(--border-color);
42
- border-radius: 4px;
42
+ border-radius: var(--jkl-border-radius-s);
43
43
  box-sizing: border-box;
44
44
  align-items: start;
45
45
  overflow: hidden;
@@ -50,14 +50,16 @@
50
50
  @include jkl.text-style("paragraph-medium");
51
51
 
52
52
  &__progress {
53
- --bar-color: var(--jkl-color-background-contrast);
54
- --track-color: transparent;
55
-
56
- border-radius: 0;
57
53
  position: absolute;
58
54
  inset: 0 0 auto;
59
55
  }
60
56
 
57
+ .jkl-countdown {
58
+ --track-color: transparent;
59
+ --bar-color: var(--jkl-color-background-contrast);
60
+ border-radius: 0;
61
+ }
62
+
61
63
  &__icon {
62
64
  @include jkl.forced-colors-svg-fallback($stroke: CanvasText);
63
65
 
@@ -86,7 +88,6 @@
86
88
  &__dismiss-button {
87
89
  background-color: transparent;
88
90
  padding: 0;
89
- cursor: pointer;
90
91
 
91
92
  color: inherit;
92
93
 
@@ -109,24 +110,56 @@
109
110
  --background-color: var(--jkl-color-info-background-container);
110
111
  --text-color: var(--jkl-color-info-text-default);
111
112
  --border-color: var(--jkl-color-info-border-subdued);
113
+
114
+ .jkl-countdown {
115
+ --bar-color: var(--jkl-color-info-background-contrast);
116
+ }
117
+
118
+ .jkl-toast__icon {
119
+ color: var(--jkl-color-info-background-contrast);
120
+ }
112
121
  }
113
122
 
114
123
  &--warning {
115
124
  --background-color: var(--jkl-color-warning-background-container);
116
125
  --text-color: var(--jkl-color-warning-text-default);
117
126
  --border-color: var(--jkl-color-warning-border-subdued);
127
+
128
+ .jkl-countdown {
129
+ --bar-color: var(--jkl-color-warning-background-contrast);
130
+ }
131
+
132
+ .jkl-toast__icon {
133
+ color: var(--jkl-color-warning-background-contrast);
134
+ }
118
135
  }
119
136
 
120
137
  &--error {
121
138
  --background-color: var(--jkl-color-error-background-container);
122
139
  --text-color: var(--jkl-color-error-text-default);
123
140
  --border-color: var(--jkl-color-error-border-subdued);
141
+
142
+ .jkl-countdown {
143
+ --bar-color: var(--jkl-color-error-background-contrast);
144
+ }
145
+
146
+ .jkl-toast__icon {
147
+ color: var(--jkl-color-error-background-contrast);
148
+ }
124
149
  }
125
150
 
126
151
  &--success {
127
152
  --background-color: var(--jkl-color-success-background-container);
128
153
  --text-color: var(--jkl-color-success-text-default);
129
154
  --border-color: var(--jkl-color-success-border-subdued);
155
+
156
+ .jkl-countdown {
157
+ --bar-color: var(--jkl-color-success-background-contrast);
158
+ }
159
+
160
+ .jkl-toast__icon {
161
+ color: var(--jkl-color-success-background-contrast);
162
+ }
130
163
  }
131
164
 
132
165
  @include jkl.forced-colors-mode {
@@ -152,11 +185,13 @@
152
185
 
153
186
  .jkl-toast[data-animation="entering"],
154
187
  .jkl-toast[data-animation="queued"] {
155
- animation: $_entering jkl.timing("polite") jkl.easing("entrance") forwards;
188
+ animation: $_entering jkl.timing("polite") jkl.easing("entrance")
189
+ forwards;
156
190
  }
157
191
 
158
192
  .jkl-toast[data-animation="exiting"] {
159
- animation: $_exiting jkl.timing("productive") jkl.easing("exit") forwards;
193
+ animation: $_exiting jkl.timing("productive") jkl.easing("exit")
194
+ forwards;
160
195
  }
161
196
 
162
197
  @keyframes #{$_entering} {
@@ -182,4 +217,4 @@
182
217
  transform: translate3d(0, 50%, 0);
183
218
  }
184
219
  }
185
- }
220
+ }
@@ -117,7 +117,6 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
117
117
  background: transparent;
118
118
  color: var(--text-color);
119
119
  padding: 0;
120
- cursor: pointer;
121
120
  -webkit-tap-highlight-color: transparent;
122
121
  display: flex;
123
122
  flex-direction: row-reverse;
@@ -1 +1 @@
1
- .jkl-toggle-slider{--jkl-slider-bg:var(--jkl-color-background-page);--jkl-slider-pill:var(--jkl-color-background-container);--jkl-slider-text:var(--jkl-color-text-default);--jkl-slider-text--active:var(--jkl-color-text-default);--jkl-slider-focus-color:var(--jkl-color-border-strong);--jkl-slider-hover-color:var(--jkl-color-border-strong);align-items:flex-start;display:flex;flex-direction:column;font-size:var(--jkl-slider-font-size);font-weight:var(--jkl-slider-font-weight);line-height:var(--jkl-slider-line-height);overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;width:100%}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:focus-within .jkl-toggle-slider__pill{box-shadow:inset 0 0 0 .125rem var(--jkl-slider-focus-color)}.jkl-toggle-slider__legend{font-size:var(--jkl-slider-legend-font-size);font-weight:var(--jkl-slider-legend-font-weight);line-height:var(--jkl-slider-legend-line-height);margin-bottom:var(--jkl-spacing-8)}.jkl-toggle-slider__legend--sr-only{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.jkl-toggle-slider__inputs{background-color:var(--jkl-slider-bg);border:2px solid var(--jkl-slider-bg);border-radius:6.25rem;display:flex;overflow:hidden;position:relative}.jkl-toggle-slider__input{opacity:0;position:absolute}.jkl-toggle-slider__label{align-items:center;color:var(--jkl-slider-pill-text);cursor:pointer;display:flex;justify-content:center;padding:var(--jkl-unit-02) var(--jkl-unit-20);z-index:1;-webkit-tap-highlight-color:transparent;min-width:30px}.jkl-toggle-slider__label:hover{color:var(--jkl-slider-hover-color)}.jkl-toggle-slider__label--selected{--jkl-icon-weight:400;color:var(--jkl-slider-pill-text--active);font-weight:var(--jkl-font-weight-bold);letter-spacing:-.014em}.jkl-toggle-slider__pill{background-color:var(--jkl-slider-pill);border-radius:6.25rem;height:100%;position:absolute;transition-duration:var(--jkl-motion-timing-expressive);transition-property:width,transform;transition-timing-function:var(--jkl-motion-easing-standard)}@media (min-width:680px){.jkl-toggle-slider{align-items:center;flex-direction:row}.jkl-toggle-slider__legend{margin-bottom:0;margin-right:1.2em}}@media screen and (forced-colors:active){.jkl-toggle-slider .jkl-toggle-slider__inputs{background-color:Canvas}.jkl-toggle-slider .jkl-toggle-slider__pill{background-color:ButtonFace}}.jkl-toggle-switch{--jkl-toggle-switch-height:var(--jkl-unit-40);--jkl-toggle-switch-width:var(--jkl-unit-60);--jkl-toggle-switch-knob-size:var(--jkl-unit-30);--border-width:0.0625rem;--switch-padding:var(--jkl-unit-05);--knob-position:0;--switch-border-color:var(--jkl-color-border-strong);--indicator-color:var(--jkl-color-background-container);--knob-border-color:var(--jkl-color-border-strong);--knob-color:var(--jkl-color-background-container);--text-color:var(--jkl-color-text-default);--icon-color:var(--jkl-color-text-on-contrast);background:transparent;color:var(--text-color);cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent;align-items:center;border-style:none;display:flex;flex-direction:row-reverse;font:var(--jkl-text-style-text-medium);gap:var(--jkl-unit-10);outline:0;outline-style:none;touch-action:none}.jkl-toggle-switch:active,.jkl-toggle-switch:focus,.jkl-toggle-switch:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-toggle-switch{border-style:revert;outline:revert;outline-style:revert}.jkl-toggle-switch:active,.jkl-toggle-switch:focus,.jkl-toggle-switch:hover{outline:revert;outline-style:revert}}@media screen and (forced-colors:active){.jkl-toggle-switch{border-color:transparent;border-style:none}}.jkl-toggle-switch[aria-pressed=true],[aria-checked=true]>.jkl-toggle-switch{--indicator-color:var(--jkl-color-background-contrast);--knob-color:var(--jkl-color-text-on-contrast);--knob-position:calc(var(--jkl-toggle-switch-width) - var(--jkl-toggle-switch-knob-size) - var(--switch-padding)*2)}.jkl-toggle-switch[disabled]{cursor:revert;--text-color:var(--jkl-color-text-subdued);--switch-border-color:var(--jkl-color-border-subdued);--knob-border-color:var(--jkl-color-border-subdued)}.jkl-toggle-switch[disabled][aria-pressed=true],[aria-checked=true]>.jkl-toggle-switch[disabled]{--indicator-color:var(--jkl-color-border-subdued)}.jkl-toggle-switch-widget{--jkl-toggle-switch-height:var(--jkl-unit-40);--jkl-toggle-switch-width:var(--jkl-unit-60);--jkl-toggle-switch-knob-size:var(--jkl-unit-30);align-items:center;background-color:var(--indicator-color);border:var(--border-width) solid var(--switch-border-color);border-radius:9999px;box-sizing:border-box;display:flex;flex-direction:row;height:var(--jkl-toggle-switch-height);overflow:hidden;padding:var(--switch-padding);pointer-events:none;position:relative;-webkit-user-select:none;user-select:none;width:var(--jkl-toggle-switch-width)}@media screen and (forced-colors:active){.jkl-toggle-switch-widget{border:.0625rem solid ButtonText}}.jkl-toggle-switch:focus-visible .jkl-toggle-switch-widget{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-toggle-switch-widget__slider{box-sizing:border-box;color:var(--icon-color);font-size:var(--jkl-font-size-1);height:var(--jkl-toggle-switch-knob-size);position:relative;transition-duration:var(--jkl-motion-timing-productive);transition-property:translate;transition-timing-function:var(--jkl-motion-easing-standard);translate:var(--knob-position);width:var(--jkl-toggle-switch-knob-size)}.jkl-toggle-switch-widget__knob{background-color:var(--knob-color);border:var(--border-width) solid var(--knob-border-color);border-radius:9999px;inset:0;position:absolute}.jkl-toggle-switch-widget__indicator{font-size:var(--jkl-unit-20);position:absolute;right:100%;top:50%;transform:translateY(-50%)}
1
+ .jkl-toggle-slider{--jkl-slider-bg:var(--jkl-color-background-page);--jkl-slider-pill:var(--jkl-color-background-container);--jkl-slider-text:var(--jkl-color-text-default);--jkl-slider-text--active:var(--jkl-color-text-default);--jkl-slider-focus-color:var(--jkl-color-border-strong);--jkl-slider-hover-color:var(--jkl-color-border-strong);align-items:flex-start;display:flex;flex-direction:column;font-size:var(--jkl-slider-font-size);font-weight:var(--jkl-slider-font-weight);line-height:var(--jkl-slider-line-height);overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;width:100%}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:focus-within .jkl-toggle-slider__pill{box-shadow:inset 0 0 0 .125rem var(--jkl-slider-focus-color)}.jkl-toggle-slider__legend{font-size:var(--jkl-slider-legend-font-size);font-weight:var(--jkl-slider-legend-font-weight);line-height:var(--jkl-slider-legend-line-height);margin-bottom:var(--jkl-spacing-8)}.jkl-toggle-slider__legend--sr-only{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.jkl-toggle-slider__inputs{background-color:var(--jkl-slider-bg);border:2px solid var(--jkl-slider-bg);border-radius:6.25rem;display:flex;overflow:hidden;position:relative}.jkl-toggle-slider__input{opacity:0;position:absolute}.jkl-toggle-slider__label{align-items:center;color:var(--jkl-slider-pill-text);cursor:pointer;display:flex;justify-content:center;padding:var(--jkl-unit-02) var(--jkl-unit-20);z-index:1;-webkit-tap-highlight-color:transparent;min-width:30px}.jkl-toggle-slider__label:hover{color:var(--jkl-slider-hover-color)}.jkl-toggle-slider__label--selected{--jkl-icon-weight:400;color:var(--jkl-slider-pill-text--active);font-weight:var(--jkl-font-weight-bold);letter-spacing:-.014em}.jkl-toggle-slider__pill{background-color:var(--jkl-slider-pill);border-radius:6.25rem;height:100%;position:absolute;transition-duration:var(--jkl-motion-timing-expressive);transition-property:width,transform;transition-timing-function:var(--jkl-motion-easing-standard)}@media (min-width:680px){.jkl-toggle-slider{align-items:center;flex-direction:row}.jkl-toggle-slider__legend{margin-bottom:0;margin-right:1.2em}}@media screen and (forced-colors:active){.jkl-toggle-slider .jkl-toggle-slider__inputs{background-color:Canvas}.jkl-toggle-slider .jkl-toggle-slider__pill{background-color:ButtonFace}}.jkl-toggle-switch{--jkl-toggle-switch-height:var(--jkl-unit-40);--jkl-toggle-switch-width:var(--jkl-unit-60);--jkl-toggle-switch-knob-size:var(--jkl-unit-30);--border-width:0.0625rem;--switch-padding:var(--jkl-unit-05);--knob-position:0;--switch-border-color:var(--jkl-color-border-strong);--indicator-color:var(--jkl-color-background-container);--knob-border-color:var(--jkl-color-border-strong);--knob-color:var(--jkl-color-background-container);--text-color:var(--jkl-color-text-default);--icon-color:var(--jkl-color-text-on-contrast);background:transparent;color:var(--text-color);padding:0;-webkit-tap-highlight-color:transparent;align-items:center;border-style:none;display:flex;flex-direction:row-reverse;font:var(--jkl-text-style-text-medium);gap:var(--jkl-unit-10);outline:0;outline-style:none;touch-action:none}.jkl-toggle-switch:active,.jkl-toggle-switch:focus,.jkl-toggle-switch:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-toggle-switch{border-style:revert;outline:revert;outline-style:revert}.jkl-toggle-switch:active,.jkl-toggle-switch:focus,.jkl-toggle-switch:hover{outline:revert;outline-style:revert}}@media screen and (forced-colors:active){.jkl-toggle-switch{border-color:transparent;border-style:none}}.jkl-toggle-switch[aria-pressed=true],[aria-checked=true]>.jkl-toggle-switch{--indicator-color:var(--jkl-color-background-contrast);--knob-color:var(--jkl-color-text-on-contrast);--knob-position:calc(var(--jkl-toggle-switch-width) - var(--jkl-toggle-switch-knob-size) - var(--switch-padding)*2)}.jkl-toggle-switch[disabled]{cursor:revert;--text-color:var(--jkl-color-text-subdued);--switch-border-color:var(--jkl-color-border-subdued);--knob-border-color:var(--jkl-color-border-subdued)}.jkl-toggle-switch[disabled][aria-pressed=true],[aria-checked=true]>.jkl-toggle-switch[disabled]{--indicator-color:var(--jkl-color-border-subdued)}.jkl-toggle-switch-widget{--jkl-toggle-switch-height:var(--jkl-unit-40);--jkl-toggle-switch-width:var(--jkl-unit-60);--jkl-toggle-switch-knob-size:var(--jkl-unit-30);align-items:center;background-color:var(--indicator-color);border:var(--border-width) solid var(--switch-border-color);border-radius:9999px;box-sizing:border-box;display:flex;flex-direction:row;height:var(--jkl-toggle-switch-height);overflow:hidden;padding:var(--switch-padding);pointer-events:none;position:relative;-webkit-user-select:none;user-select:none;width:var(--jkl-toggle-switch-width)}@media screen and (forced-colors:active){.jkl-toggle-switch-widget{border:.0625rem solid ButtonText}}.jkl-toggle-switch:focus-visible .jkl-toggle-switch-widget{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-toggle-switch-widget__slider{box-sizing:border-box;color:var(--icon-color);font-size:var(--jkl-font-size-1);height:var(--jkl-toggle-switch-knob-size);position:relative;transition-duration:var(--jkl-motion-timing-productive);transition-property:translate;transition-timing-function:var(--jkl-motion-easing-standard);translate:var(--knob-position);width:var(--jkl-toggle-switch-knob-size)}.jkl-toggle-switch-widget__knob{background-color:var(--knob-color);border:var(--border-width) solid var(--knob-border-color);border-radius:9999px;inset:0;position:absolute}.jkl-toggle-switch-widget__indicator{font-size:var(--jkl-unit-20);position:absolute;right:100%;top:50%;transform:translateY(-50%)}
@@ -19,7 +19,6 @@
19
19
  background: transparent;
20
20
  color: var(--text-color);
21
21
  padding: 0;
22
- cursor: pointer;
23
22
  -webkit-tap-highlight-color: transparent;
24
23
 
25
24
  display: flex;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  @layer jokul.components {
5
5
  :where(.jkl-text) {
6
- font-weight: var(--jkl-typography-weight-normal);
6
+ font-weight: var(--jkl-font-weight-normal);
7
7
  line-height: var(--jkl-line-height-relaxed);
8
8
  }
9
9
  .jkl-text[data-text-size] {
@@ -23,7 +23,7 @@
23
23
  }
24
24
  .jkl-text[data-bold],
25
25
  strong.jkl-text[data-text-size] {
26
- font-weight: var(--jkl-typography-weight-bold);
26
+ font-weight: var(--jkl-font-weight-bold);
27
27
  }
28
28
  .jkl-text[data-short] {
29
29
  line-height: var(--jkl-line-height-tight);
@@ -1 +1 @@
1
- @layer jokul.components{:where(.jkl-text){font-weight:var(--jkl-typography-weight-normal);line-height:var(--jkl-line-height-relaxed)}.jkl-text[data-text-size]{margin-block:0}.jkl-text[data-text-size=xs]{font:var(--jkl-text-style-text-micro)}.jkl-text[data-text-size=s]{font:var(--jkl-text-style-paragraph-small)}.jkl-text[data-text-size=m]{font:var(--jkl-text-style-paragraph-medium)}.jkl-text[data-text-size=l]{font:var(--jkl-text-style-paragraph-large)}.jkl-text[data-bold],strong.jkl-text[data-text-size]{font-weight:var(--jkl-typography-weight-bold)}.jkl-text[data-short]{line-height:var(--jkl-line-height-tight)}:is(code,kbd,samp,var).jkl-text{font-family:var(--jkl-font-family-mono)}label.jkl-text{display:block;-webkit-margin-after:var(--jkl-spacing-8);margin-block-end:var(--jkl-spacing-8)}}
1
+ @layer jokul.components{:where(.jkl-text){font-weight:var(--jkl-font-weight-normal);line-height:var(--jkl-line-height-relaxed)}.jkl-text[data-text-size]{margin-block:0}.jkl-text[data-text-size=xs]{font:var(--jkl-text-style-text-micro)}.jkl-text[data-text-size=s]{font:var(--jkl-text-style-paragraph-small)}.jkl-text[data-text-size=m]{font:var(--jkl-text-style-paragraph-medium)}.jkl-text[data-text-size=l]{font:var(--jkl-text-style-paragraph-large)}.jkl-text[data-bold],strong.jkl-text[data-text-size]{font-weight:var(--jkl-font-weight-bold)}.jkl-text[data-short]{line-height:var(--jkl-line-height-tight)}:is(code,kbd,samp,var).jkl-text{font-family:var(--jkl-font-family-mono)}label.jkl-text{display:block;-webkit-margin-after:var(--jkl-spacing-8);margin-block-end:var(--jkl-spacing-8)}}
@@ -1,7 +1,7 @@
1
1
  @use "../../jkl";
2
2
 
3
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
4
+ // `styles/jkl/_typography.scss` — både font-size, line-height, font-weight
5
5
  // og ikon-variabler settes via `jkl.text-style`-mixinen.
6
6
  $_size-styles: (
7
7
  "xs": "text-micro",
@@ -12,7 +12,7 @@ $_size-styles: (
12
12
 
13
13
  @layer jokul.components {
14
14
  :where(.jkl-text) {
15
- font-weight: var(--jkl-typography-weight-normal);
15
+ font-weight: var(--jkl-font-weight-normal);
16
16
  line-height: var(--jkl-line-height-relaxed);
17
17
  }
18
18
 
@@ -35,7 +35,7 @@ $_size-styles: (
35
35
  // tvinger normal weight via `jkl.text-style`-mixinen.
36
36
  .jkl-text[data-bold],
37
37
  strong.jkl-text[data-text-size] {
38
- font-weight: var(--jkl-typography-weight-bold);
38
+ font-weight: var(--jkl-font-weight-bold);
39
39
  }
40
40
 
41
41
  .jkl-text[data-short] {
@@ -51,4 +51,4 @@ $_size-styles: (
51
51
  display: block;
52
52
  margin-block-end: var(--jkl-spacing-8);
53
53
  }
54
- }
54
+ }
@@ -2,53 +2,31 @@
2
2
  * Do not edit directly, this file was auto-generated.
3
3
  */
4
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] {
5
+ :is(h1, h2, h3, h4, h5, h6, label, legend)[data-text-size=xs] {
10
6
  margin-block: 0;
11
- }
12
- .jkl-title[data-text-size=xs],
13
- .jkl-heading-xs {
14
7
  font: var(--jkl-text-style-heading-5);
15
8
  }
16
- :where(.jkl-heading-xs) {
9
+ :is(h1, h2, h3, h4, h5, h6, label, legend)[data-text-size=s] {
17
10
  margin-block: 0;
18
- }
19
- .jkl-title[data-text-size=s],
20
- .jkl-heading-s {
21
11
  font: var(--jkl-text-style-heading-4);
22
12
  }
23
- :where(.jkl-heading-s) {
13
+ :is(h1, h2, h3, h4, h5, h6, label, legend)[data-text-size=m] {
24
14
  margin-block: 0;
25
- }
26
- .jkl-title[data-text-size=m],
27
- .jkl-heading-m {
28
15
  font: var(--jkl-text-style-heading-3);
29
16
  }
30
- :where(.jkl-heading-m) {
17
+ :is(h1, h2, h3, h4, h5, h6, label, legend)[data-text-size=l] {
31
18
  margin-block: 0;
32
- }
33
- .jkl-title[data-text-size=l],
34
- .jkl-heading-l {
35
19
  font: var(--jkl-text-style-heading-2);
36
20
  }
37
- :where(.jkl-heading-l) {
21
+ :is(h1, h2, h3, h4, h5, h6, label, legend)[data-text-size=xl] {
38
22
  margin-block: 0;
39
- }
40
- .jkl-title[data-text-size=xl],
41
- .jkl-heading-xl {
42
23
  font: var(--jkl-text-style-heading-1);
43
24
  }
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);
25
+ :is(label, legend)[data-text-size] {
26
+ font-weight: var(--jkl-font-weight-normal);
49
27
  line-height: var(--jkl-line-height-relaxed);
50
28
  }
51
- label.jkl-title[data-text-size] {
29
+ :is(label)[data-text-size] {
52
30
  display: block;
53
31
  margin-block-end: var(--jkl-spacing-8);
54
32
  }
@@ -1 +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)}}
1
+ @layer jokul.components{:is(h1,h2,h3,h4,h5,h6,label,legend)[data-text-size=xs]{font:var(--jkl-text-style-heading-5);margin-block:0}:is(h1,h2,h3,h4,h5,h6,label,legend)[data-text-size=s]{font:var(--jkl-text-style-heading-4);margin-block:0}:is(h1,h2,h3,h4,h5,h6,label,legend)[data-text-size=m]{font:var(--jkl-text-style-heading-3);margin-block:0}:is(h1,h2,h3,h4,h5,h6,label,legend)[data-text-size=l]{font:var(--jkl-text-style-heading-2);margin-block:0}:is(h1,h2,h3,h4,h5,h6,label,legend)[data-text-size=xl]{font:var(--jkl-text-style-heading-1);margin-block:0}:is(label,legend)[data-text-size]{font-weight:var(--jkl-font-weight-normal);line-height:var(--jkl-line-height-relaxed)}:is(label)[data-text-size]{display:block;-webkit-margin-after:var(--jkl-spacing-8);margin-block-end:var(--jkl-spacing-8)}}
@@ -1,7 +1,7 @@
1
1
  @use "../../jkl";
2
2
 
3
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
4
+ // `styles/jkl/_typography.scss` — både font-size, line-height, font-weight
5
5
  // og ikon-variabler settes via `jkl.text-style`-mixinen.
6
6
  $_size-styles: (
7
7
  "xs": "heading-5",
@@ -12,48 +12,25 @@ $_size-styles: (
12
12
  );
13
13
 
14
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
15
  @each $name, $style in $_size-styles {
16
+ :is(h1, h2, h3, h4, h5, h6, label, legend)[data-text-size="#{$name}"] {
17
+ margin-block: 0;
32
18
 
33
- .jkl-title[data-text-size="#{$name}"],
34
- .jkl-heading-#{$name} {
35
19
  @include jkl.text-style($style);
36
20
  }
37
-
38
- :where(.jkl-heading-#{$name}) {
39
- margin-block: 0;
40
- }
41
21
  }
42
22
 
43
23
  // Skjema-elementer skal ikke arve heading sine fete font-weight og
44
24
  // 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);
25
+ // gruppe, ikke strukturelle overskrifter.
26
+ :is(label, legend)[data-text-size] {
27
+ font-weight: var(--jkl-font-weight-normal);
49
28
  line-height: var(--jkl-line-height-relaxed);
50
29
  }
51
30
 
52
31
  // 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] {
32
+ :is(label)[data-text-size] {
56
33
  display: block;
57
34
  margin-block-end: var(--jkl-spacing-8);
58
35
  }
59
- }
36
+ }