@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
@@ -1,7 +1,97 @@
1
1
  @charset "UTF-8";
2
- @forward "layout";
3
- @forward "overlay";
4
- @forward "modal-base";
5
- @forward "motion";
6
- @forward "placement";
7
- @forward "parts";
2
+ @use "../../jkl";
3
+
4
+ @layer jokul.components {
5
+
6
+ .jkl-modal-container,
7
+ .jkl-modal-overlay {
8
+ position: fixed;
9
+ inset: 0;
10
+ }
11
+
12
+ .jkl-modal-container {
13
+ z-index: jkl.$z-index--modal;
14
+ display: flex;
15
+
16
+ &[aria-hidden="true"] {
17
+ display: none;
18
+ }
19
+ }
20
+
21
+ .jkl-modal-overlay {
22
+ background-color: rgb(27 25 23 / 80%);
23
+ }
24
+
25
+ .jkl-modal {
26
+ --jkl-modal-padding: var(--jkl-unit-50);
27
+ --jkl-modal-min-width: #{jkl.rem(220px)};
28
+ --jkl-modal-max-width: #{jkl.rem(660px)};
29
+
30
+ margin: auto;
31
+ z-index: jkl.$z-index--modal;
32
+ position: relative;
33
+
34
+ background-color: var(--jkl-color-background-container);
35
+ border-radius: var(--jkl-border-radius-l);
36
+ box-shadow: jkl.$shadow-task-card;
37
+
38
+ width: 100%;
39
+ min-width: var(--jkl-modal-min-width);
40
+ max-width: var(--jkl-modal-max-width);
41
+ max-height: 90vh;
42
+ overflow: auto;
43
+
44
+ padding: var(--jkl-modal-padding);
45
+ display: flex;
46
+ flex-direction: column;
47
+
48
+ @include jkl.forced-colors-mode {
49
+ border-color: CanvasText;
50
+ }
51
+
52
+ @include jkl.small-device {
53
+ margin: auto var(--jkl-unit-30);
54
+ }
55
+ }
56
+
57
+ .jkl-modal-header {
58
+ --jkl-modal-header-margin: 0 0 var(--jkl-unit-20);
59
+
60
+ @include jkl.small-device {
61
+ --jkl-modal-header-margin: 0 0 var(--jkl-unit-15);
62
+ }
63
+
64
+ display: flex;
65
+ flex-direction: row;
66
+ justify-content: space-between;
67
+ align-items: center;
68
+ margin: var(--jkl-modal-header-margin);
69
+ gap: var(--jkl-modal-gap);
70
+ }
71
+
72
+ .jkl-modal-body {
73
+ @include jkl.text-style("paragraph-medium");
74
+ }
75
+
76
+ .jkl-modal-title {
77
+ @include jkl.text-style("heading-3");
78
+ }
79
+
80
+ .jkl-modal-actions {
81
+ --jkl-modal-actions-margin: var(--jkl-unit-50) 0 0 0;
82
+
83
+ @include jkl.small-device {
84
+ --jkl-modal-actions-margin: var(--jkl-unit-40) 0 0 0;
85
+ }
86
+
87
+ margin: var(--jkl-modal-actions-margin);
88
+ display: flex;
89
+ flex-direction: column;
90
+ gap: var(--jkl-unit-20);
91
+
92
+ @include jkl.screen-from(60ch) {
93
+ flex-direction: row-reverse;
94
+ align-self: flex-end;
95
+ }
96
+ }
97
+ }
@@ -0,0 +1,2 @@
1
+ @forward "number-input";
2
+ @use "../button" as button;
@@ -0,0 +1,214 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+ @layer jokul.components {
5
+ .jkl-number-input {
6
+ display: flex;
7
+ flex-direction: column;
8
+ align-items: flex-start;
9
+ }
10
+ .jkl-number-input__wrapper {
11
+ --jkl-text-input-padding: var(--jkl-text-input-vertical-padding) var(--jkl-text-input-horizontal-padding);
12
+ --jkl-text-input-vertical-padding: var(--jkl-unit-15);
13
+ --jkl-text-input-horizontal-padding: var(--jkl-unit-15);
14
+ --jkl-text-input-action-button-size: var(--jkl-unit-60);
15
+ --jkl-text-input-action-button-icon-size: var(--jkl-unit-30);
16
+ --jkl-text-input-action-button-padding: var(--jkl-unit-10) 0;
17
+ --jkl-text-input-action-button-focus-position: var(--jkl-unit-05);
18
+ --text-color: var(--jkl-color-text-default);
19
+ --background-color: transparent;
20
+ --border-color: var(--jkl-color-border-default);
21
+ --placeholder-color: var(--jkl-color-text-subdued);
22
+ border-radius: var(--jkl-border-radius-s);
23
+ box-sizing: border-box;
24
+ max-width: 100%;
25
+ position: relative;
26
+ display: flex;
27
+ align-items: center;
28
+ font: var(--jkl-text-style-text-medium);
29
+ transition-timing-function: var(--jkl-motion-easing-standard);
30
+ transition-duration: var(--jkl-motion-timing-productive);
31
+ transition-property: color, box-shadow, background-color;
32
+ background-color: var(--background-color);
33
+ color: var(--text-color);
34
+ box-shadow: inset 0 0 0 0.0625rem var(--border-color), 0 0 0 0.0625rem transparent;
35
+ }
36
+ .jkl-number-input__wrapper:focus-within, .jkl-number-input__wrapper:has([data-focused=true]) {
37
+ --background-color: var(--jkl-color-background-container);
38
+ }
39
+ .jkl-number-input__wrapper[data-invalid=true]:not(:focus-within):not(:has([data-focused=true])) {
40
+ --background-color: var(--jkl-color-error-background-container);
41
+ --text-color: var(--jkl-color-error-text-default);
42
+ --border-color: var(--jkl-color-error-border-default);
43
+ --placeholder-color: var(--jkl-color-error-text-subdued);
44
+ }
45
+ .jkl-number-input__wrapper:hover, .jkl-number-input__wrapper:focus-within, .jkl-number-input__wrapper:has([data-focused=true]) {
46
+ --border-color: var(--jkl-color-border-strong);
47
+ box-shadow: inset 0 0 0 0.0625rem var(--border-color), 0 0 0 0.0625rem var(--border-color);
48
+ }
49
+ @media screen and (forced-colors: active) {
50
+ .jkl-number-input__wrapper:hover, .jkl-number-input__wrapper:focus-within, .jkl-number-input__wrapper:has([data-focused=true]) {
51
+ border: 0.125rem solid ButtonText;
52
+ }
53
+ }
54
+ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-number-input__wrapper:has(.jkl-text-input__input:focus-visible), html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-number-input__wrapper:has(.jkl-text-area__text-area:focus-visible) {
55
+ outline: 3px solid var(--jkl-color-border-strong);
56
+ outline-offset: 3px;
57
+ }
58
+ .jkl-number-input__wrapper > .jkl-icon-button:focus-visible {
59
+ outline: 3px solid var(--jkl-color-border-strong);
60
+ outline-offset: -8px;
61
+ }
62
+ @media screen and (forced-colors: active) {
63
+ .jkl-number-input__wrapper > .jkl-icon-button:focus-visible {
64
+ --border-color: ButtonText;
65
+ }
66
+ }
67
+ .jkl-number-input__wrapper > .jkl-text-input-action-button {
68
+ flex-shrink: 0;
69
+ display: flex;
70
+ box-sizing: border-box;
71
+ align-items: center;
72
+ justify-content: center;
73
+ padding: var(--jkl-text-input-action-button-padding);
74
+ height: var(--jkl-text-input-action-button-size);
75
+ width: var(--jkl-text-input-action-button-size);
76
+ margin-inline-start: calc(var(--jkl-text-input-horizontal-padding) * -1);
77
+ }
78
+ .jkl-number-input__wrapper > .jkl-text-input-action-button .jkl-icon-button__icon {
79
+ height: var(--jkl-text-input-action-button-icon-size);
80
+ width: var(--jkl-text-input-action-button-icon-size);
81
+ }
82
+ .jkl-number-input__wrapper > .jkl-text-input-action-button:hover {
83
+ color: var(--jkl-color-text-subdued);
84
+ }
85
+ @media screen and (forced-colors: active) {
86
+ .jkl-number-input__wrapper > .jkl-text-input-action-button:hover {
87
+ border: 0.125rem inset ButtonText;
88
+ }
89
+ }
90
+ @media screen and (forced-colors: active) {
91
+ .jkl-number-input__wrapper {
92
+ border: 0.125rem inset ButtonText;
93
+ }
94
+ }
95
+ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-number-input__wrapper:has(.jkl-number-input__input:focus-visible) {
96
+ outline: 3px solid var(--jkl-color-border-strong);
97
+ outline-offset: 3px;
98
+ }
99
+ .jkl-number-input__wrapper:has(.jkl-number-input__input:invalid):not(:focus-within):not(:has([data-focused=true])) {
100
+ --background-color: var(--jkl-color-background-alert-error);
101
+ --text-color: var(--jkl-color-text-on-alert);
102
+ --placeholder-color: color(from currentColor sRGB r g b / 75%);
103
+ }
104
+ .jkl-number-input__wrapper--stepper {
105
+ --jkl-number-input-stepper-min-width: calc(3ch + (var(--jkl-text-input-horizontal-padding) * 2));
106
+ --jkl-number-input-stepper-text-color: var(--text-color);
107
+ display: grid;
108
+ grid-template-columns: max-content minmax(var(--jkl-number-input-stepper-min-width), 1fr) max-content;
109
+ overflow: hidden;
110
+ }
111
+ .jkl-number-input__wrapper--stepper:has(button[data-direction]:focus-visible) {
112
+ overflow: visible;
113
+ }
114
+ .jkl-number-input__input {
115
+ padding: var(--jkl-text-input-padding);
116
+ width: 100%;
117
+ appearance: textfield;
118
+ -moz-appearance: textfield;
119
+ background: none;
120
+ -webkit-appearance: none;
121
+ color: inherit;
122
+ font: var(--jkl-text-style-text-medium);
123
+ }
124
+ .jkl-number-input__input {
125
+ outline: 0;
126
+ border-style: none;
127
+ outline-style: none;
128
+ }
129
+ .jkl-number-input__input:active, .jkl-number-input__input:hover, .jkl-number-input__input:focus {
130
+ outline: 0;
131
+ outline-style: none;
132
+ }
133
+ @media screen and (forced-colors: active) {
134
+ .jkl-number-input__input {
135
+ outline: revert;
136
+ border-style: revert;
137
+ outline-style: revert;
138
+ }
139
+ .jkl-number-input__input:active, .jkl-number-input__input:hover, .jkl-number-input__input:focus {
140
+ outline: revert;
141
+ outline-style: revert;
142
+ }
143
+ }
144
+ .jkl-number-input__input input[type=number]::-webkit-outer-spin-button,
145
+ .jkl-number-input__input input[type=number]::-webkit-inner-spin-button {
146
+ -webkit-appearance: none;
147
+ }
148
+ .jkl-number-input__input input[type=number] {
149
+ -moz-appearance: textfield;
150
+ }
151
+ @media screen and (forced-colors: active) {
152
+ .jkl-number-input__input {
153
+ outline: none;
154
+ border: none;
155
+ }
156
+ .jkl-number-input__input:focus-visible {
157
+ outline: none;
158
+ }
159
+ }
160
+ .jkl-number-input__input::placeholder {
161
+ opacity: 1;
162
+ color: var(--placeholder-color);
163
+ }
164
+ .jkl-number-input__input::-webkit-inner-spin-button, .jkl-number-input__input::-webkit-outer-spin-button {
165
+ -webkit-appearance: none;
166
+ margin: 0;
167
+ }
168
+ .jkl-number-input__input--align-right {
169
+ text-align: right;
170
+ }
171
+ .jkl-number-input__input--stepper {
172
+ box-sizing: border-box;
173
+ min-inline-size: var(--jkl-number-input-stepper-min-width);
174
+ text-align: center;
175
+ }
176
+ .jkl-number-input button[data-direction] {
177
+ --text-color: var(--jkl-number-input-stepper-text-color);
178
+ aspect-ratio: 1;
179
+ padding: 0;
180
+ display: inline-grid;
181
+ place-items: center;
182
+ text-align: center;
183
+ height: 100%;
184
+ }
185
+ .jkl-number-input button[data-direction]::before {
186
+ content: "";
187
+ position: absolute;
188
+ width: 1px;
189
+ inset-block: 20%;
190
+ background-color: var(--jkl-color-border-separator);
191
+ transition-timing-function: var(--jkl-motion-easing-standard);
192
+ transition-duration: var(--jkl-motion-timing-productive);
193
+ transition-property: inset;
194
+ }
195
+ .jkl-number-input button[data-direction]:hover::before, .jkl-number-input button[data-direction]:focus-visible::before {
196
+ inset-block: 0.0625rem;
197
+ }
198
+ .jkl-number-input button[data-direction]:disabled {
199
+ opacity: 0.4;
200
+ cursor: not-allowed;
201
+ }
202
+ .jkl-number-input button[data-direction=decrement]::before {
203
+ inset-inline-end: 0;
204
+ }
205
+ .jkl-number-input button[data-direction=increment]::before {
206
+ inset-inline-start: 0;
207
+ }
208
+ .jkl-number-input button[data-direction].jkl-button {
209
+ border-radius: 0;
210
+ }
211
+ .jkl-number-input button[data-direction].jkl-button .jkl-icon {
212
+ margin-block-start: 0.4ex;
213
+ }
214
+ }
@@ -0,0 +1 @@
1
+ @layer jokul.components{.jkl-number-input{align-items:flex-start;display:flex;flex-direction:column}.jkl-number-input__wrapper{--jkl-text-input-padding:var(--jkl-text-input-vertical-padding) var(--jkl-text-input-horizontal-padding);--jkl-text-input-vertical-padding:var(--jkl-unit-15);--jkl-text-input-horizontal-padding:var(--jkl-unit-15);--jkl-text-input-action-button-size:var(--jkl-unit-60);--jkl-text-input-action-button-icon-size:var(--jkl-unit-30);--jkl-text-input-action-button-padding:var(--jkl-unit-10) 0;--jkl-text-input-action-button-focus-position:var(--jkl-unit-05);--text-color:var(--jkl-color-text-default);--background-color:transparent;--border-color:var(--jkl-color-border-default);--placeholder-color:var(--jkl-color-text-subdued);align-items:center;background-color:var(--background-color);border-radius:var(--jkl-border-radius-s);box-shadow:inset 0 0 0 .0625rem var(--border-color),0 0 0 .0625rem transparent;box-sizing:border-box;color:var(--text-color);display:flex;font:var(--jkl-text-style-text-medium);max-width:100%;position:relative;transition-duration:var(--jkl-motion-timing-productive);transition-property:color,box-shadow,background-color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-number-input__wrapper:focus-within,.jkl-number-input__wrapper:has([data-focused=true]){--background-color:var(--jkl-color-background-container)}.jkl-number-input__wrapper[data-invalid=true]:not(:focus-within):not(:has([data-focused=true])){--background-color:var(--jkl-color-error-background-container);--text-color:var(--jkl-color-error-text-default);--border-color:var(--jkl-color-error-border-default);--placeholder-color:var(--jkl-color-error-text-subdued)}.jkl-number-input__wrapper:focus-within,.jkl-number-input__wrapper:has([data-focused=true]),.jkl-number-input__wrapper:hover{--border-color:var(--jkl-color-border-strong);box-shadow:inset 0 0 0 .0625rem var(--border-color),0 0 0 .0625rem var(--border-color)}@media screen and (forced-colors:active){.jkl-number-input__wrapper:focus-within,.jkl-number-input__wrapper:has([data-focused=true]),.jkl-number-input__wrapper:hover{border:.125rem solid ButtonText}}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-number-input__wrapper:has(.jkl-text-area__text-area:focus-visible),html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-number-input__wrapper:has(.jkl-text-input__input:focus-visible){outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-number-input__wrapper>.jkl-icon-button:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:-8px}@media screen and (forced-colors:active){.jkl-number-input__wrapper>.jkl-icon-button:focus-visible{--border-color:ButtonText}}.jkl-number-input__wrapper>.jkl-text-input-action-button{align-items:center;box-sizing:border-box;display:flex;flex-shrink:0;height:var(--jkl-text-input-action-button-size);justify-content:center;padding:var(--jkl-text-input-action-button-padding);width:var(--jkl-text-input-action-button-size);-webkit-margin-start:calc(var(--jkl-text-input-horizontal-padding)*-1);margin-inline-start:calc(var(--jkl-text-input-horizontal-padding)*-1)}.jkl-number-input__wrapper>.jkl-text-input-action-button .jkl-icon-button__icon{height:var(--jkl-text-input-action-button-icon-size);width:var(--jkl-text-input-action-button-icon-size)}.jkl-number-input__wrapper>.jkl-text-input-action-button:hover{color:var(--jkl-color-text-subdued)}@media screen and (forced-colors:active){.jkl-number-input__wrapper>.jkl-text-input-action-button:hover{border:.125rem inset ButtonText}}@media screen and (forced-colors:active){.jkl-number-input__wrapper{border:.125rem inset ButtonText}}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-number-input__wrapper:has(.jkl-number-input__input:focus-visible){outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-number-input__wrapper:has(.jkl-number-input__input:invalid):not(:focus-within):not(:has([data-focused=true])){--background-color:var(--jkl-color-background-alert-error);--text-color:var(--jkl-color-text-on-alert);--placeholder-color:color(from currentColor sRGB r g b/75%)}.jkl-number-input__wrapper--stepper{--jkl-number-input-stepper-min-width:calc(3ch + var(--jkl-text-input-horizontal-padding)*2);--jkl-number-input-stepper-text-color:var(--text-color);display:grid;grid-template-columns:-webkit-max-content minmax(var(--jkl-number-input-stepper-min-width),1fr) -webkit-max-content;grid-template-columns:max-content minmax(var(--jkl-number-input-stepper-min-width),1fr) max-content;overflow:hidden}.jkl-number-input__wrapper--stepper:has(button[data-direction]:focus-visible){overflow:visible}.jkl-number-input__input{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield;-webkit-appearance:none;background:none;border-style:none;color:inherit;font:var(--jkl-text-style-text-medium);outline:0;outline-style:none;padding:var(--jkl-text-input-padding);width:100%}.jkl-number-input__input:active,.jkl-number-input__input:focus,.jkl-number-input__input:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-number-input__input{border-style:revert;outline:revert;outline-style:revert}.jkl-number-input__input:active,.jkl-number-input__input:focus,.jkl-number-input__input:hover{outline:revert;outline-style:revert}}.jkl-number-input__input input[type=number]::-webkit-inner-spin-button,.jkl-number-input__input input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.jkl-number-input__input input[type=number]{-moz-appearance:textfield}@media screen and (forced-colors:active){.jkl-number-input__input{border:none;outline:none}.jkl-number-input__input:focus-visible{outline:none}}.jkl-number-input__input::placeholder{color:var(--placeholder-color);opacity:1}.jkl-number-input__input::-webkit-inner-spin-button,.jkl-number-input__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.jkl-number-input__input--align-right{text-align:right}.jkl-number-input__input--stepper{box-sizing:border-box;min-inline-size:var(--jkl-number-input-stepper-min-width);text-align:center}.jkl-number-input button[data-direction]{--text-color:var(--jkl-number-input-stepper-text-color);aspect-ratio:1;display:inline-grid;height:100%;padding:0;place-items:center;text-align:center}.jkl-number-input button[data-direction]:before{background-color:var(--jkl-color-border-separator);content:"";inset-block:20%;position:absolute;transition-duration:var(--jkl-motion-timing-productive);transition-property:inset;transition-timing-function:var(--jkl-motion-easing-standard);width:1px}.jkl-number-input button[data-direction]:focus-visible:before,.jkl-number-input button[data-direction]:hover:before{inset-block:.0625rem}.jkl-number-input button[data-direction]:disabled{cursor:not-allowed;opacity:.4}.jkl-number-input button[data-direction=decrement]:before{inset-inline-end:0}.jkl-number-input button[data-direction=increment]:before{inset-inline-start:0}.jkl-number-input button[data-direction].jkl-button{border-radius:0}.jkl-number-input button[data-direction].jkl-button .jkl-icon{-webkit-margin-before:.4ex;margin-block-start:.4ex}}
@@ -0,0 +1,115 @@
1
+ @use "../../jkl";
2
+ @use "../../shared/input/shared-input-styles" as shared;
3
+
4
+ @layer jokul.components {
5
+ .jkl-number-input {
6
+ display: flex;
7
+ flex-direction: column;
8
+ align-items: flex-start;
9
+
10
+ &__wrapper {
11
+ @include shared.wrapper-styles;
12
+
13
+ @include jkl.keyboard-navigation {
14
+ &:has(.jkl-number-input__input:focus-visible) {
15
+ @include jkl.focus-outline;
16
+ }
17
+ }
18
+
19
+ &:has(.jkl-number-input__input:invalid):not(:focus-within):not( :has([data-focused="true"])) {
20
+ --background-color: var(--jkl-color-background-alert-error);
21
+ --text-color: var(--jkl-color-text-on-alert);
22
+ --placeholder-color: color(from currentColor sRGB r g b / 75%);
23
+ }
24
+ }
25
+
26
+ &__wrapper--stepper {
27
+ --jkl-number-input-stepper-min-width: calc(3ch + (var(--jkl-text-input-horizontal-padding) * 2));
28
+ --jkl-number-input-stepper-text-color: var(--text-color);
29
+
30
+ display: grid;
31
+ grid-template-columns:
32
+ max-content minmax(var(--jkl-number-input-stepper-min-width), 1fr) max-content;
33
+ overflow: hidden;
34
+
35
+ // Tillat at fokus-ringen på stepper-knappene vises i sin helhet,
36
+ // ellers kuttes den av `overflow: hidden` på wrapperen.
37
+ &:has(button[data-direction]:focus-visible) {
38
+ overflow: visible;
39
+ }
40
+ }
41
+
42
+ &__input {
43
+ padding: var(--jkl-text-input-padding);
44
+ width: 100%;
45
+ appearance: textfield;
46
+ -moz-appearance: textfield;
47
+
48
+ @include shared.input-styles;
49
+
50
+ &::-webkit-inner-spin-button,
51
+ &::-webkit-outer-spin-button {
52
+ -webkit-appearance: none;
53
+ margin: 0;
54
+ }
55
+
56
+ &--align-right {
57
+ text-align: right;
58
+ }
59
+
60
+ &--stepper {
61
+ box-sizing: border-box;
62
+ min-inline-size: var(--jkl-number-input-stepper-min-width);
63
+ text-align: center;
64
+ }
65
+ }
66
+
67
+ button[data-direction] {
68
+ --text-color: var(--jkl-number-input-stepper-text-color);
69
+
70
+ aspect-ratio: 1;
71
+ padding: 0;
72
+ display: inline-grid;
73
+ place-items: center;
74
+ text-align: center;
75
+ height: 100%;
76
+
77
+ &::before {
78
+ content: "";
79
+ position: absolute;
80
+ width: 1px;
81
+ inset-block: 20%;
82
+ background-color: var(--jkl-color-border-separator);
83
+
84
+ @include jkl.motion;
85
+ transition-property: inset;
86
+ }
87
+
88
+ &:hover::before,
89
+ &:focus-visible::before {
90
+ inset-block: jkl.rem(1px);
91
+ }
92
+
93
+ &:disabled {
94
+ opacity: 0.4;
95
+ cursor: not-allowed;
96
+ }
97
+ }
98
+
99
+ button[data-direction="decrement"]::before {
100
+ inset-inline-end: 0;
101
+ }
102
+
103
+ button[data-direction="increment"]::before {
104
+ inset-inline-start: 0;
105
+ }
106
+
107
+ button[data-direction].jkl-button {
108
+ border-radius: 0;
109
+
110
+ .jkl-icon {
111
+ margin-block-start: 0.4ex;
112
+ }
113
+ }
114
+ }
115
+ }
@@ -16,13 +16,13 @@
16
16
  .jkl-pagination-button {
17
17
  --button-size: var(--jkl-unit-40);
18
18
  all: unset;
19
+ cursor: pointer;
19
20
  display: flex;
20
21
  align-items: center;
21
22
  justify-content: center;
22
23
  height: var(--button-size);
23
24
  min-width: var(--button-size);
24
25
  text-align: center;
25
- cursor: pointer;
26
26
  user-select: none;
27
27
  border-radius: 0.1875rem;
28
28
  color: var(--jkl-color-text-default);
@@ -18,13 +18,13 @@
18
18
  --button-size: var(--jkl-unit-40);
19
19
 
20
20
  all: unset;
21
+ cursor: pointer;
21
22
  display: flex;
22
23
  align-items: center;
23
24
  justify-content: center;
24
25
  height: var(--button-size);
25
26
  min-width: var(--button-size);
26
27
  text-align: center;
27
- cursor: pointer;
28
28
  user-select: none;
29
29
  border-radius: jkl.rem(3px);
30
30
  color: var(--jkl-color-text-default);
@@ -54,7 +54,7 @@
54
54
  transition-timing-function: var(--jkl-motion-easing-standard);
55
55
  transition-duration: var(--jkl-motion-timing-productive);
56
56
  }
57
- @keyframes jkl-downcount-u4v9jkl {
57
+ @keyframes jkl-downcount-uyre33m {
58
58
  from {
59
59
  width: 100%;
60
60
  }
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-progress-bar{--track-color:var(--jkl-color-border-subdued);--bar-color:var(--jkl-color-border-strong);--bar-height:0.25rem;background-color:var(--track-color);border-radius:6.25rem;height:var(--bar-height);overflow:hidden;width:100%}.jkl-progress-bar__tracker{background-color:var(--bar-color);display:block;height:var(--bar-height)}@media screen and (forced-colors:active){.jkl-progress-bar{background-color:Canvas}.jkl-progress-bar__tracker{background-color:CanvasText}}.jkl-progress-bar{border-style:none;outline:0;outline-style:none}.jkl-progress-bar:active,.jkl-progress-bar:focus,.jkl-progress-bar:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-progress-bar{border-style:revert;outline:revert;outline-style:revert}.jkl-progress-bar:active,.jkl-progress-bar:focus,.jkl-progress-bar:hover{outline:revert;outline-style:revert}}.jkl-progress-bar:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-progress-bar__tracker{transition-duration:var(--jkl-motion-timing-productive);transition-property:width;transition-timing-function:var(--jkl-motion-easing-standard)}@keyframes jkl-downcount-u4v9jkl{0%{width:100%}to{width:0}}}
1
+ @layer jokul.components{.jkl-progress-bar{--track-color:var(--jkl-color-border-subdued);--bar-color:var(--jkl-color-border-strong);--bar-height:0.25rem;background-color:var(--track-color);border-radius:6.25rem;height:var(--bar-height);overflow:hidden;width:100%}.jkl-progress-bar__tracker{background-color:var(--bar-color);display:block;height:var(--bar-height)}@media screen and (forced-colors:active){.jkl-progress-bar{background-color:Canvas}.jkl-progress-bar__tracker{background-color:CanvasText}}.jkl-progress-bar{border-style:none;outline:0;outline-style:none}.jkl-progress-bar:active,.jkl-progress-bar:focus,.jkl-progress-bar:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-progress-bar{border-style:revert;outline:revert;outline-style:revert}.jkl-progress-bar:active,.jkl-progress-bar:focus,.jkl-progress-bar:hover{outline:revert;outline-style:revert}}.jkl-progress-bar:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-progress-bar__tracker{transition-duration:var(--jkl-motion-timing-productive);transition-property:width;transition-timing-function:var(--jkl-motion-easing-standard)}@keyframes jkl-downcount-uyre33m{0%{width:100%}to{width:0}}}
@@ -3,10 +3,6 @@
3
3
  */
4
4
  @layer jokul.components {
5
5
  .jkl-radio-button {
6
- /* stylelint-disable declaration-block-no-duplicate-custom-properties -- fallback for browsers without light-dark() support */
7
- --jkl-radio-button-error-color: #ab2e43;
8
- --jkl-radio-button-error-color: light-dark(#ab2e43, #d79ba5);
9
- /* stylelint-enable declaration-block-no-duplicate-custom-properties */
10
6
  display: flex;
11
7
  position: relative;
12
8
  }
@@ -100,7 +96,7 @@
100
96
  content: "radio_button_checked";
101
97
  }
102
98
  .jkl-radio-button__input[aria-invalid=true] + .jkl-radio-button__label::before {
103
- color: var(--jkl-color-error-text-default);
99
+ color: var(--jkl-color-error-background-contrast);
104
100
  }
105
101
  .jkl-radio-button + .jkl-radio-button, .jkl-dormant-form-support-label + .jkl-radio-button, .jkl-form-support-label + .jkl-radio-button {
106
102
  margin-top: 0.75lh;
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-radio-button{--jkl-radio-button-error-color:#ab2e43;--jkl-radio-button-error-color:light-dark(#ab2e43,#d79ba5);border-style:none;display:flex;outline:0;outline-style:none;position:relative}.jkl-radio-button:active,.jkl-radio-button:focus,.jkl-radio-button:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-radio-button{border-style:revert;outline:revert;outline-style:revert}.jkl-radio-button:active,.jkl-radio-button:focus,.jkl-radio-button:hover{outline:revert;outline-style:revert}}.jkl-radio-button__input{-webkit-appearance:none;appearance:none;background:transparent;block-size:1lh;border:0;border-style:none;cursor:pointer;inline-size:1lh;inset-block-start:0;inset-inline-start:0;margin:0;outline:0;outline-style:none;padding:0;position:absolute;z-index:1}.jkl-radio-button__input:active,.jkl-radio-button__input:focus,.jkl-radio-button__input:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-radio-button__input{border-style:revert;outline:revert;outline-style:revert}.jkl-radio-button__input:active,.jkl-radio-button__input:focus,.jkl-radio-button__input:hover{outline:revert;outline-style:revert}}.jkl-radio-button__label{cursor:pointer;display:flex;font:var(--jkl-text-style-text-medium);transition-duration:var(--jkl-motion-timing-productive);transition-property:color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-radio-button__label:before{content:"radio_button_unchecked";-webkit-margin-end:.25em;display:inline-block;font-family:Jokul Icons,Jokul Icons Fallback,sans-serif;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:1.3em;font-variation-settings:"FILL" var(--jkl-icon-fill,0);font-weight:400;line-height:1;margin-inline-end:.25em;-webkit-font-smoothing:antialiased;transition-duration:var(--jkl-motion-timing-energetic);transition-property:font-variation-settings,transform;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-radio-button__input:focus-visible+.jkl-radio-button__label:before{border-radius:var(--jkl-border-radius-full);outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-radio-button__input:is(:hover,:active)+.jkl-radio-button__label,.jkl-radio-button__label:active,.jkl-radio-button__label:hover{--jkl-icon-weight:var(--jkl-font-weight-bold)}.jkl-radio-button__input:checked+.jkl-radio-button__label:before{content:"radio_button_checked"}.jkl-radio-button__input[aria-invalid=true]+.jkl-radio-button__label:before{color:var(--jkl-color-error-text-default)}.jkl-dormant-form-support-label+.jkl-radio-button,.jkl-form-support-label+.jkl-radio-button,.jkl-radio-button+.jkl-radio-button{margin-top:.75lh}.jkl-radio-button--inline{display:inline-flex;margin-right:var(--jkl-unit-30)}.jkl-dormant-form-support-label+.jkl-radio-button--inline,.jkl-form-support-label+.jkl-radio-button--inline,.jkl-radio-button--inline+.jkl-radio-button--inline{margin-top:0}.jkl-radio-button+.jkl-form-support-label{margin-bottom:var(--jkl-unit-10);margin-left:1.75em;margin-top:.25lh}}
1
+ @layer jokul.components{.jkl-radio-button{border-style:none;display:flex;outline:0;outline-style:none;position:relative}.jkl-radio-button:active,.jkl-radio-button:focus,.jkl-radio-button:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-radio-button{border-style:revert;outline:revert;outline-style:revert}.jkl-radio-button:active,.jkl-radio-button:focus,.jkl-radio-button:hover{outline:revert;outline-style:revert}}.jkl-radio-button__input{-webkit-appearance:none;appearance:none;background:transparent;block-size:1lh;border:0;border-style:none;cursor:pointer;inline-size:1lh;inset-block-start:0;inset-inline-start:0;margin:0;outline:0;outline-style:none;padding:0;position:absolute;z-index:1}.jkl-radio-button__input:active,.jkl-radio-button__input:focus,.jkl-radio-button__input:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-radio-button__input{border-style:revert;outline:revert;outline-style:revert}.jkl-radio-button__input:active,.jkl-radio-button__input:focus,.jkl-radio-button__input:hover{outline:revert;outline-style:revert}}.jkl-radio-button__label{cursor:pointer;display:flex;font:var(--jkl-text-style-text-medium);transition-duration:var(--jkl-motion-timing-productive);transition-property:color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-radio-button__label:before{content:"radio_button_unchecked";-webkit-margin-end:.25em;display:inline-block;font-family:Jokul Icons,Jokul Icons Fallback,sans-serif;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:1.3em;font-variation-settings:"FILL" var(--jkl-icon-fill,0);font-weight:400;line-height:1;margin-inline-end:.25em;-webkit-font-smoothing:antialiased;transition-duration:var(--jkl-motion-timing-energetic);transition-property:font-variation-settings,transform;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-radio-button__input:focus-visible+.jkl-radio-button__label:before{border-radius:var(--jkl-border-radius-full);outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-radio-button__input:is(:hover,:active)+.jkl-radio-button__label,.jkl-radio-button__label:active,.jkl-radio-button__label:hover{--jkl-icon-weight:var(--jkl-font-weight-bold)}.jkl-radio-button__input:checked+.jkl-radio-button__label:before{content:"radio_button_checked"}.jkl-radio-button__input[aria-invalid=true]+.jkl-radio-button__label:before{color:var(--jkl-color-error-background-contrast)}.jkl-dormant-form-support-label+.jkl-radio-button,.jkl-form-support-label+.jkl-radio-button,.jkl-radio-button+.jkl-radio-button{margin-top:.75lh}.jkl-radio-button--inline{display:inline-flex;margin-right:var(--jkl-unit-30)}.jkl-dormant-form-support-label+.jkl-radio-button--inline,.jkl-form-support-label+.jkl-radio-button--inline,.jkl-radio-button--inline+.jkl-radio-button--inline{margin-top:0}.jkl-radio-button+.jkl-form-support-label{margin-bottom:var(--jkl-unit-10);margin-left:1.75em;margin-top:.25lh}}
@@ -5,10 +5,6 @@
5
5
 
6
6
  @layer jokul.components {
7
7
  .jkl-radio-button {
8
- /* stylelint-disable declaration-block-no-duplicate-custom-properties -- fallback for browsers without light-dark() support */
9
- --jkl-radio-button-error-color: #ab2e43;
10
- --jkl-radio-button-error-color: light-dark(#ab2e43, #d79ba5);
11
- /* stylelint-enable declaration-block-no-duplicate-custom-properties */
12
8
  display: flex;
13
9
  position: relative;
14
10
 
@@ -51,7 +47,6 @@
51
47
 
52
48
  &__input:focus-visible + &__label::before {
53
49
  border-radius: var(--jkl-border-radius-full);
54
-
55
50
  @include jkl.focus-outline;
56
51
  }
57
52
 
@@ -66,7 +61,7 @@
66
61
  }
67
62
 
68
63
  &__input[aria-invalid="true"] + &__label::before {
69
- color: var(--jkl-color-error-text-default);
64
+ color: var(--jkl-color-error-background-contrast);
70
65
  }
71
66
 
72
67
  & + &,
@@ -94,4 +89,4 @@
94
89
  margin-bottom: jkl.$unit-10;
95
90
  }
96
91
  }
97
- }
92
+ }
@@ -76,7 +76,6 @@
76
76
  border: 0;
77
77
  height: 100%;
78
78
  padding: 0;
79
- cursor: pointer;
80
79
  color: var(--jkl-color-text-default);
81
80
  border-radius: 100%;
82
81
  }
@@ -1 +1 @@
1
- .jkl-search{--icon-size:var(--jkl-text-input-height);--border-radius:var(--jkl-border-radius-s);--border-width:1px;--border:var(--border-width) solid var(--jkl-color-border-default);font:var(--jkl-text-style-text-medium);width:100%}.jkl-search input[type=search]{-webkit-appearance:none;appearance:none;background-color:transparent;color:var(--jkl-color-text-default);grid-column:2/3;padding:0}.jkl-search input[type=search]{border-style:none;outline:0;outline-style:none}.jkl-search input[type=search]:active,.jkl-search input[type=search]:focus,.jkl-search input[type=search]:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-search input[type=search]{border-style:revert;outline:revert;outline-style:revert}.jkl-search input[type=search]:active,.jkl-search input[type=search]:focus,.jkl-search input[type=search]:hover{outline:revert;outline-style:revert}}.jkl-search input[type=search]{font:var(--jkl-text-style-text-medium)}.jkl-search input[type=search]::-webkit-calendar-picker-indicator,.jkl-search input[type=search]::-webkit-search-cancel-button,.jkl-search input[type=search]::-webkit-search-results-button{-webkit-appearance:none;appearance:none;display:none!important}.jkl-search .input-wrapper{border:var(--border);border-radius:var(--border-radius);box-sizing:border-box;display:grid;gap:.25em;grid-template-columns:1.3em 1fr;-webkit-padding-end:0;padding-inline-end:0;padding:calc(var(--jkl-unit-15) - var(--border-width))}.jkl-search .input-wrapper:before{align-items:center;content:attr(data-icon)/"";display:inline-flex;font-family:Jokul Icons,Jokul Icons Fallback,monospace;grid-column:1;height:100%;justify-content:center}.jkl-search .input-wrapper:has(.clear-button){grid-template-columns:1.3em 1fr 1.3em}.jkl-search:has(input:not(:valid),input:placeholder-shown) .clear-button{display:none}.jkl-search .clear-button{-webkit-appearance:none;appearance:none;background-color:transparent;border:0;border-radius:100%;color:var(--jkl-color-text-default);cursor:pointer;display:grid;height:100%;padding:0;position:relative}.jkl-search .clear-button:before{align-items:center;content:"close"/"";display:inline-grid;justify-content:center;place-self:center;align-self:center;display:inline-block;font-family:Jokul Icons,Jokul Icons Fallback,sans-serif;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:1.3em;font-variation-settings:"FILL" var(--jkl-icon-fill,0);font-weight:400;grid-column:1;grid-row:1;line-height:1;z-index:1;-webkit-font-smoothing:antialiased;transition-duration:var(--jkl-motion-timing-energetic);transition-property:font-variation-settings,transform;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-search .clear-button:after{--tap-size:1.25lh;background-color:var(--jkl-color-text-default);border-radius:inherit;content:"";inset:calc((var(--tap-size) - 100%)/2*-1);opacity:0;position:absolute;transition-duration:var(--jkl-motion-timing-productive);transition-property:opacity;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-search .clear-button:hover:after{opacity:.15}.jkl-search .clear-button:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}
1
+ .jkl-search{--icon-size:var(--jkl-text-input-height);--border-radius:var(--jkl-border-radius-s);--border-width:1px;--border:var(--border-width) solid var(--jkl-color-border-default);font:var(--jkl-text-style-text-medium);width:100%}.jkl-search input[type=search]{-webkit-appearance:none;appearance:none;background-color:transparent;color:var(--jkl-color-text-default);grid-column:2/3;padding:0}.jkl-search input[type=search]{border-style:none;outline:0;outline-style:none}.jkl-search input[type=search]:active,.jkl-search input[type=search]:focus,.jkl-search input[type=search]:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-search input[type=search]{border-style:revert;outline:revert;outline-style:revert}.jkl-search input[type=search]:active,.jkl-search input[type=search]:focus,.jkl-search input[type=search]:hover{outline:revert;outline-style:revert}}.jkl-search input[type=search]{font:var(--jkl-text-style-text-medium)}.jkl-search input[type=search]::-webkit-calendar-picker-indicator,.jkl-search input[type=search]::-webkit-search-cancel-button,.jkl-search input[type=search]::-webkit-search-results-button{-webkit-appearance:none;appearance:none;display:none!important}.jkl-search .input-wrapper{border:var(--border);border-radius:var(--border-radius);box-sizing:border-box;display:grid;gap:.25em;grid-template-columns:1.3em 1fr;-webkit-padding-end:0;padding-inline-end:0;padding:calc(var(--jkl-unit-15) - var(--border-width))}.jkl-search .input-wrapper:before{align-items:center;content:attr(data-icon)/"";display:inline-flex;font-family:Jokul Icons,Jokul Icons Fallback,monospace;grid-column:1;height:100%;justify-content:center}.jkl-search .input-wrapper:has(.clear-button){grid-template-columns:1.3em 1fr 1.3em}.jkl-search:has(input:not(:valid),input:placeholder-shown) .clear-button{display:none}.jkl-search .clear-button{-webkit-appearance:none;appearance:none;background-color:transparent;border:0;border-radius:100%;color:var(--jkl-color-text-default);display:grid;height:100%;padding:0;position:relative}.jkl-search .clear-button:before{align-items:center;content:"close"/"";display:inline-grid;justify-content:center;place-self:center;align-self:center;display:inline-block;font-family:Jokul Icons,Jokul Icons Fallback,sans-serif;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:1.3em;font-variation-settings:"FILL" var(--jkl-icon-fill,0);font-weight:400;grid-column:1;grid-row:1;line-height:1;z-index:1;-webkit-font-smoothing:antialiased;transition-duration:var(--jkl-motion-timing-energetic);transition-property:font-variation-settings,transform;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-search .clear-button:after{--tap-size:1.25lh;background-color:var(--jkl-color-text-default);border-radius:inherit;content:"";inset:calc((var(--tap-size) - 100%)/2*-1);opacity:0;position:absolute;transition-duration:var(--jkl-motion-timing-productive);transition-property:opacity;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-search .clear-button:hover:after{opacity:.15}.jkl-search .clear-button:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}
@@ -70,7 +70,6 @@
70
70
  border: 0;
71
71
  height: 100%;
72
72
  padding: 0;
73
- cursor: pointer;
74
73
  color: var(--jkl-color-text-default);
75
74
  border-radius: 100%;
76
75
 
@@ -3,10 +3,6 @@
3
3
  */
4
4
  @layer jokul.components {
5
5
  .jkl-radio-button {
6
- /* stylelint-disable declaration-block-no-duplicate-custom-properties -- fallback for browsers without light-dark() support */
7
- --jkl-radio-button-error-color: #ab2e43;
8
- --jkl-radio-button-error-color: light-dark(#ab2e43, #d79ba5);
9
- /* stylelint-enable declaration-block-no-duplicate-custom-properties */
10
6
  display: flex;
11
7
  position: relative;
12
8
  }
@@ -100,7 +96,7 @@
100
96
  content: "radio_button_checked";
101
97
  }
102
98
  .jkl-radio-button__input[aria-invalid=true] + .jkl-radio-button__label::before {
103
- color: var(--jkl-color-error-text-default);
99
+ color: var(--jkl-color-error-background-contrast);
104
100
  }
105
101
  .jkl-radio-button + .jkl-radio-button, .jkl-dormant-form-support-label + .jkl-radio-button, .jkl-form-support-label + .jkl-radio-button {
106
102
  margin-top: 0.75lh;
@@ -179,7 +175,7 @@
179
175
  --color: var(--jkl-color-text-default);
180
176
  }
181
177
  .jkl-form-support-label--error .jkl-form-support-label__icon, .jkl-form-support-label--warning .jkl-form-support-label__icon, .jkl-form-support-label--success .jkl-form-support-label__icon {
182
- animation: var(--jkl-motion-timing-lazy) cubic-bezier(0, 0, 0.3, 1) var(--jkl-motion-timing-expressive) jkl-support-icon-entrance-uh0wglx forwards;
178
+ animation: var(--jkl-motion-timing-lazy) cubic-bezier(0, 0, 0.3, 1) var(--jkl-motion-timing-expressive) jkl-support-icon-entrance-u8k36q8 forwards;
183
179
  }
184
180
  .jkl-form-support-label--sr-only {
185
181
  border: 0 !important;
@@ -233,7 +229,7 @@
233
229
  .jkl-label:has(+ .jkl-input-group-description) {
234
230
  margin-block-end: var(--jkl-spacing-4);
235
231
  }
236
- @keyframes jkl-support-icon-entrance-uh0wglx {
232
+ @keyframes jkl-support-icon-entrance-u8k36q8 {
237
233
  0% {
238
234
  margin-right: 0;
239
235
  opacity: 0;